Class
GioOutputStream
Description
abstract class Gio.OutputStream : GObject.Object
{
/* No available fields */
}
GOutputStream
has functions to write to a stream (g_output_stream_write()),
to close a stream (g_output_stream_close()) and to flush pending writes (g_output_stream_flush()).
To copy the content of an input stream to an output stream without manually handling the reads and writes, use g_output_stream_splice().
See the documentation for GIOStream
for details of thread safety of
streaming APIs.
All of these functions have async variants too.
Instance methods
g_output_stream_close_async
Requests an asynchronous close of the stream, releasing resources
related to it. When the operation is finished callback
will be
called. You can then call g_output_stream_close_finish()
to get
the result of the operation.
g_output_stream_flush
Forces a write of all user-space buffered data for the given
stream
. Will block during the operation. Closing the stream will
implicitly cause a flush.
g_output_stream_flush_async
Forces an asynchronous write of all user-space buffered data for
the given stream
.
For behaviour details see g_output_stream_flush().
g_output_stream_is_closing
Checks if an output stream is being closed. This can be used inside e.g. a flush implementation to see if the flush (or other i/o operation) is called from within the closing operation.
since: 2.24
g_output_stream_printf
This is a utility function around g_output_stream_write_all(). It
uses g_strdup_vprintf()
to turn format
and @… into a string that
is then written to stream
.
since: 2.40
g_output_stream_set_pending
Sets stream
to have actions pending. If the pending flag is
already set or stream
is closed, it will return FALSE
and set
error
.
g_output_stream_splice_async
Splices a stream asynchronously.
When the operation is finished callback
will be called.
You can then call g_output_stream_splice_finish()
to get the
result of the operation.
g_output_stream_vprintf
This is a utility function around g_output_stream_write_all(). It
uses g_strdup_vprintf()
to turn format
and args
into a string that
is then written to stream
.
since: 2.40
g_output_stream_write
Tries to write count
bytes from buffer
into the stream. Will block
during the operation.
g_output_stream_write_all
Tries to write count
bytes from buffer
into the stream. Will block
during the operation.
g_output_stream_write_all_async
Request an asynchronous write of count
bytes from buffer
into
the stream. When the operation is finished callback
will be called.
You can then call g_output_stream_write_all_finish()
to get the result of the operation.
since: 2.44
g_output_stream_write_all_finish
Finishes an asynchronous stream write operation started with g_output_stream_write_all_async().
since: 2.44
g_output_stream_write_async
Request an asynchronous write of count
bytes from buffer
into
the stream. When the operation is finished callback
will be called.
You can then call g_output_stream_write_finish()
to get the result of the operation.
g_output_stream_write_bytes
A wrapper function for g_output_stream_write()
which takes a
GBytes
as input. This can be more convenient for use by language
bindings or in other cases where the refcounted nature of GBytes
is helpful over a bare pointer interface.
g_output_stream_write_bytes_async
This function is similar to g_output_stream_write_async(), but
takes a GBytes
as input. Due to the refcounted nature of GBytes
,
this allows the stream to avoid taking a copy of the data.
g_output_stream_writev
Tries to write the bytes contained in the n_vectors
vectors
into the
stream. Will block during the operation.
since: 2.60
g_output_stream_writev_all
Tries to write the bytes contained in the n_vectors
vectors
into the
stream. Will block during the operation.
since: 2.60
g_output_stream_writev_all_async
Request an asynchronous write of the bytes contained in the n_vectors
vectors
into
the stream. When the operation is finished callback
will be called.
You can then call g_output_stream_writev_all_finish()
to get the result of the operation.
since: 2.60
g_output_stream_writev_all_finish
Finishes an asynchronous stream write operation started with g_output_stream_writev_all_async().
since: 2.60
g_output_stream_writev_async
Request an asynchronous write of the bytes contained in n_vectors
vectors
into
the stream. When the operation is finished callback
will be called.
You can then call g_output_stream_writev_finish()
to get the result of the operation.
since: 2.60
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct GioOutputStreamClass {
GObjectClass parent_class;
gssize (* write_fn) (
GOutputStream* stream,
void* buffer,
gsize count,
GCancellable* cancellable,
GError** error
);
gssize (* splice) (
GOutputStream* stream,
GInputStream* source,
GOutputStreamSpliceFlags flags,
GCancellable* cancellable,
GError** error
);
gboolean (* flush) (
GOutputStream* stream,
GCancellable* cancellable,
GError** error
);
gboolean (* close_fn) (
GOutputStream* stream,
GCancellable* cancellable,
GError** error
);
void (* write_async) (
GOutputStream* stream,
void* buffer,
gsize count,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gssize (* write_finish) (
GOutputStream* stream,
GAsyncResult* result,
GError** error
);
void (* splice_async) (
GOutputStream* stream,
GInputStream* source,
GOutputStreamSpliceFlags flags,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gssize (* splice_finish) (
GOutputStream* stream,
GAsyncResult* result,
GError** error
);
void (* flush_async) (
GOutputStream* stream,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gboolean (* flush_finish) (
GOutputStream* stream,
GAsyncResult* result,
GError** error
);
void (* close_async) (
GOutputStream* stream,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gboolean (* close_finish) (
GOutputStream* stream,
GAsyncResult* result,
GError** error
);
gboolean (* writev_fn) (
GOutputStream* stream,
const GOutputVector* vectors,
gsize n_vectors,
gsize* bytes_written,
GCancellable* cancellable,
GError** error
);
void (* writev_async) (
GOutputStream* stream,
const GOutputVector* vectors,
gsize n_vectors,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gboolean (* writev_finish) (
GOutputStream* stream,
GAsyncResult* result,
gsize* bytes_written,
GError** error
);
void (* _g_reserved4) (
void
);
void (* _g_reserved5) (
void
);
void (* _g_reserved6) (
void
);
void (* _g_reserved7) (
void
);
void (* _g_reserved8) (
void
);
}
Class members
parent_class: GObjectClass
- No description available.
write_fn: gssize (* write_fn) ( GOutputStream* stream, void* buffer, gsize count, GCancellable* cancellable, GError** error )
- No description available.
splice: gssize (* splice) ( GOutputStream* stream, GInputStream* source, GOutputStreamSpliceFlags flags, GCancellable* cancellable, GError** error )
- No description available.
flush: gboolean (* flush) ( GOutputStream* stream, GCancellable* cancellable, GError** error )
- No description available.
close_fn: gboolean (* close_fn) ( GOutputStream* stream, GCancellable* cancellable, GError** error )
- No description available.
write_async: void (* write_async) ( GOutputStream* stream, void* buffer, gsize count, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
- No description available.
write_finish: gssize (* write_finish) ( GOutputStream* stream, GAsyncResult* result, GError** error )
- No description available.
splice_async: void (* splice_async) ( GOutputStream* stream, GInputStream* source, GOutputStreamSpliceFlags flags, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
- No description available.
splice_finish: gssize (* splice_finish) ( GOutputStream* stream, GAsyncResult* result, GError** error )
- No description available.
flush_async: void (* flush_async) ( GOutputStream* stream, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
- No description available.
flush_finish: gboolean (* flush_finish) ( GOutputStream* stream, GAsyncResult* result, GError** error )
- No description available.
close_async: void (* close_async) ( GOutputStream* stream, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
- No description available.
close_finish: gboolean (* close_finish) ( GOutputStream* stream, GAsyncResult* result, GError** error )
- No description available.
writev_fn: gboolean (* writev_fn) ( GOutputStream* stream, const GOutputVector* vectors, gsize n_vectors, gsize* bytes_written, GCancellable* cancellable, GError** error )
- No description available.
writev_async: void (* writev_async) ( GOutputStream* stream, const GOutputVector* vectors, gsize n_vectors, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
- No description available.
writev_finish: gboolean (* writev_finish) ( GOutputStream* stream, GAsyncResult* result, gsize* bytes_written, GError** error )
- No description available.
_g_reserved4: void (* _g_reserved4) ( void )
- No description available.
_g_reserved5: void (* _g_reserved5) ( void )
- No description available.
_g_reserved6: void (* _g_reserved6) ( void )
- No description available.
_g_reserved7: void (* _g_reserved7) ( void )
- No description available.
_g_reserved8: void (* _g_reserved8) ( void )
- No description available.
Virtual methods
Gio.OutputStreamClass.close_async
Requests an asynchronous close of the stream, releasing resources
related to it. When the operation is finished callback
will be
called. You can then call g_output_stream_close_finish()
to get
the result of the operation.
Gio.OutputStreamClass.flush
Forces a write of all user-space buffered data for the given
stream
. Will block during the operation. Closing the stream will
implicitly cause a flush.
Gio.OutputStreamClass.flush_async
Forces an asynchronous write of all user-space buffered data for
the given stream
.
For behaviour details see g_output_stream_flush().
Gio.OutputStreamClass.splice_async
Splices a stream asynchronously.
When the operation is finished callback
will be called.
You can then call g_output_stream_splice_finish()
to get the
result of the operation.
Gio.OutputStreamClass.write_async
Request an asynchronous write of count
bytes from buffer
into
the stream. When the operation is finished callback
will be called.
You can then call g_output_stream_write_finish()
to get the result of the operation.
Gio.OutputStreamClass.write_fn
Tries to write count
bytes from buffer
into the stream. Will block
during the operation.
Gio.OutputStreamClass.writev_async
Request an asynchronous write of the bytes contained in n_vectors
vectors
into
the stream. When the operation is finished callback
will be called.
You can then call g_output_stream_writev_finish()
to get the result of the operation.
since: 2.60
Gio.OutputStreamClass.writev_fn
Tries to write the bytes contained in the n_vectors
vectors
into the
stream. Will block during the operation.
since: 2.60