MemoryInputStream

gio.memory_input_stream.MemoryInputStream is a class for using arbitrary memory chunks as input for GIO streaming input operations.

As of GLib 2.34, gio.memory_input_stream.MemoryInputStream implements gio.pollable_input_stream.PollableInputStream.

Constructors

this
this()

Creates a new empty #GMemoryInputStream.

Members

Functions

addBytes
void addBytes(glib.bytes.Bytes bytes)

Appends bytes to data that can be read from the input stream.

Static functions

newFromBytes
gio.memory_input_stream.MemoryInputStream newFromBytes(glib.bytes.Bytes bytes)

Creates a new #GMemoryInputStream with data from the given bytes.

Mixed In Members

From mixin PollableInputStreamT!()

canPoll
bool canPoll()

Checks if stream is actually pollable. Some classes may implement #GPollableInputStream but have only certain instances of that class be pollable. If this method returns false, then the behavior of other #GPollableInputStream methods is undefined.

createSource
glib.source.Source createSource(gio.cancellable.Cancellable cancellable)

Creates a #GSource that triggers when stream can be read, or cancellable is triggered or an error occurs. The callback on the source is of the #GPollableSourceFunc type.

isReadable
bool isReadable()

Checks if stream can be read.

readNonblocking
ptrdiff_t readNonblocking(ubyte[] buffer, gio.cancellable.Cancellable cancellable)

Attempts to read up to count bytes from stream into buffer, as with gio.input_stream.InputStream.read. If stream is not currently readable, this will immediately return gio.types.IOErrorEnum.WouldBlock, and you can use gio.pollable_input_stream.PollableInputStream.createSource to create a #GSource that will be triggered when stream is readable.

From mixin SeekableT!()

canSeek
bool canSeek()

Tests if the stream supports the #GSeekableIface.

canTruncate
bool canTruncate()

Tests if the length of the stream can be adjusted with gio.seekable.Seekable.truncate.

seek
bool seek(long offset, glib.types.SeekType type, gio.cancellable.Cancellable cancellable)

Seeks in the stream by the given offset, modified by type.

tell
long tell()

Tells the current position within the stream.

truncate
bool truncate(long offset, gio.cancellable.Cancellable cancellable)

Sets the length of the stream to offset. If the stream was previously larger than offset, the extra data is discarded. If the stream was previously shorter than offset, it is extended with NUL ('\0') bytes.

Inherited Members

From InputStream

clearPending
void clearPending()

Clears the pending flag on stream.

close
bool close(gio.cancellable.Cancellable cancellable)

Closes the stream, releasing resources related to it.

closeAsync
void closeAsync(int ioPriority, gio.cancellable.Cancellable cancellable, gio.types.AsyncReadyCallback callback)

Requests an asynchronous closes of the stream, releasing resources related to it. When the operation is finished callback will be called. You can then call gio.input_stream.InputStream.closeFinish to get the result of the operation.

closeFinish
bool closeFinish(gio.async_result.AsyncResult result)

Finishes closing a stream asynchronously, started from gio.input_stream.InputStream.closeAsync.

hasPending
bool hasPending()

Checks if an input stream has pending actions.

isClosed
bool isClosed()

Checks if an input stream is closed.

read
ptrdiff_t read(ubyte[] buffer, gio.cancellable.Cancellable cancellable)

Tries to read count bytes from the stream into the buffer starting at buffer. Will block during this read.

readAll
bool readAll(ubyte[] buffer, size_t bytesRead, gio.cancellable.Cancellable cancellable)

Tries to read count bytes from the stream into the buffer starting at buffer. Will block during this read.

readAllAsync
void readAllAsync(ubyte[] buffer, int ioPriority, gio.cancellable.Cancellable cancellable, gio.types.AsyncReadyCallback callback)

Request an asynchronous read of count bytes from the stream into the buffer starting at buffer.

readAllFinish
bool readAllFinish(gio.async_result.AsyncResult result, size_t bytesRead)

Finishes an asynchronous stream read operation started with gio.input_stream.InputStream.readAllAsync.

readAsync
void readAsync(ubyte[] buffer, int ioPriority, gio.cancellable.Cancellable cancellable, gio.types.AsyncReadyCallback callback)

Request an asynchronous read of count bytes from the stream into the buffer starting at buffer. When the operation is finished callback will be called. You can then call gio.input_stream.InputStream.readFinish to get the result of the operation.

readBytes
glib.bytes.Bytes readBytes(size_t count, gio.cancellable.Cancellable cancellable)

Like gio.input_stream.InputStream.read, this tries to read count bytes from the stream in a blocking fashion. However, rather than reading into a user-supplied buffer, this will create a new #GBytes containing the data that was read. This may be easier to use from language bindings.

readBytesAsync
void readBytesAsync(size_t count, int ioPriority, gio.cancellable.Cancellable cancellable, gio.types.AsyncReadyCallback callback)

Request an asynchronous read of count bytes from the stream into a new #GBytes. When the operation is finished callback will be called. You can then call gio.input_stream.InputStream.readBytesFinish to get the result of the operation.

readBytesFinish
glib.bytes.Bytes readBytesFinish(gio.async_result.AsyncResult result)

Finishes an asynchronous stream read-into-#GBytes operation.

readFinish
ptrdiff_t readFinish(gio.async_result.AsyncResult result)

Finishes an asynchronous stream read operation.

setPending
bool setPending()

Sets stream to have actions pending. If the pending flag is already set or stream is closed, it will return false and set error.

skip
ptrdiff_t skip(size_t count, gio.cancellable.Cancellable cancellable)

Tries to skip count bytes from the stream. Will block during the operation.

skipAsync
void skipAsync(size_t count, int ioPriority, gio.cancellable.Cancellable cancellable, gio.types.AsyncReadyCallback callback)

Request an asynchronous skip of count bytes from the stream. When the operation is finished callback will be called. You can then call gio.input_stream.InputStream.skipFinish to get the result of the operation.

skipFinish
ptrdiff_t skipFinish(gio.async_result.AsyncResult result)

Finishes a stream skip operation.

From PollableInputStream

canPoll
bool canPoll()

Checks if stream is actually pollable. Some classes may implement #GPollableInputStream but have only certain instances of that class be pollable. If this method returns false, then the behavior of other #GPollableInputStream methods is undefined.

createSource
glib.source.Source createSource(gio.cancellable.Cancellable cancellable)

Creates a #GSource that triggers when stream can be read, or cancellable is triggered or an error occurs. The callback on the source is of the #GPollableSourceFunc type.

isReadable
bool isReadable()

Checks if stream can be read.

readNonblocking
ptrdiff_t readNonblocking(ubyte[] buffer, gio.cancellable.Cancellable cancellable)

Attempts to read up to count bytes from stream into buffer, as with gio.input_stream.InputStream.read. If stream is not currently readable, this will immediately return gio.types.IOErrorEnum.WouldBlock, and you can use gio.pollable_input_stream.PollableInputStream.createSource to create a #GSource that will be triggered when stream is readable.

From Seekable

canSeek
bool canSeek()

Tests if the stream supports the #GSeekableIface.

canTruncate
bool canTruncate()

Tests if the length of the stream can be adjusted with gio.seekable.Seekable.truncate.

seek
bool seek(long offset, glib.types.SeekType type, gio.cancellable.Cancellable cancellable)

Seeks in the stream by the given offset, modified by type.

tell
long tell()

Tells the current position within the stream.

truncate
bool truncate(long offset, gio.cancellable.Cancellable cancellable)

Sets the length of the stream to offset. If the stream was previously larger than offset, the extra data is discarded. If the stream was previously shorter than offset, it is extended with NUL ('\0') bytes.