У меня есть FileStream (GLib.stdout действительно), и я хочу передать его функции, которая требует OutputStream (Vte.Terminal.write_contents). Как вы конвертируете между собой?Конвертировать из FileStream в OutputStream?
2
A
ответ
1
Создайте новый UnixOutputStream
, используя дескриптор файла из потока, который вы хотите. (, например, new UnixOutputStream(stdout.fileno(), false
)
+0
Любопытно, что 'UnixOutputStream' не указан как« известный подкласс »здесь: http://valadoc.org/#!api=gio-2.0/GLib.OutputStream –
+0
Также он не имеет диаграммы иерархии объектов. –
Вы можете использовать 'MemoryOutputStream' для вывода результатов в' uint8 [] '. –
Также вы можете получить собственный 'OutputStream', который записывается непосредственно в' FileStream', все, что вам нужно сделать, это реализовать 'write',' close' и 'flush'. –