| Top |
gboolean (*GPollableSourceFunc) (GObject *pollable_stream,gpointer user_data);
This is the function type of the callback used for the GSource
returned by g_pollable_input_stream_create_source() and
g_pollable_output_stream_create_source().
Since: 2.28
GSource *
g_pollable_source_new (GObject *pollable_stream);
Utility method for GPollableInputStream and GPollableOutputStream
implementations. Creates a new GSource that expects a callback of
type GPollableSourceFunc. The new source does not actually do
anything on its own; use g_source_add_child_source() to add other
sources to it to cause it to trigger.
Since: 2.28
GSource * g_pollable_source_new_full (gpointer pollable_stream,GSource *child_source,GCancellable *cancellable);
Utility method for GPollableInputStream and GPollableOutputStream
implementations. Creates a new GSource, as with
g_pollable_source_new(), but also attaching child_source
(with a
dummy callback), and cancellable
, if they are non-NULL.
pollable_stream |
the stream associated with the new source. |
[type GObject] |
child_source |
optional child source to attach. |
[nullable] |
cancellable |
optional GCancellable to attach. |
[nullable] |
Since: 2.34
gssize g_pollable_stream_read (GInputStream *stream,void *buffer,gsize count,gboolean blocking,GCancellable *cancellable,GError **error);
Tries to read from stream
, as with g_input_stream_read() (if
blocking
is TRUE) or g_pollable_input_stream_read_nonblocking()
(if blocking
is FALSE). This can be used to more easily share
code between blocking and non-blocking implementations of a method.
If blocking
is FALSE, then stream
must be a
GPollableInputStream for which g_pollable_input_stream_can_poll()
returns TRUE, or else the behavior is undefined. If blocking
is
TRUE, then stream
does not need to be a GPollableInputStream.
stream |
||
buffer |
a buffer to read data into. |
[array length=count][element-type guint8] |
count |
the number of bytes to read |
|
blocking |
whether to do blocking I/O |
|
cancellable |
optional GCancellable object, |
[nullable] |
error |
location to store the error occurring, or |
Since: 2.34
gssize g_pollable_stream_write (GOutputStream *stream,const void *buffer,gsize count,gboolean blocking,GCancellable *cancellable,GError **error);
Tries to write to stream
, as with g_output_stream_write() (if
blocking
is TRUE) or g_pollable_output_stream_write_nonblocking()
(if blocking
is FALSE). This can be used to more easily share
code between blocking and non-blocking implementations of a method.
If blocking
is FALSE, then stream
must be a
GPollableOutputStream for which
g_pollable_output_stream_can_poll() returns TRUE or else the
behavior is undefined. If blocking
is TRUE, then stream
does not
need to be a GPollableOutputStream.
stream |
||
buffer |
the buffer containing the data to write. |
[array length=count][element-type guint8] |
count |
the number of bytes to write |
|
blocking |
whether to do blocking I/O |
|
cancellable |
optional GCancellable object, |
[nullable] |
error |
location to store the error occurring, or |
Since: 2.34
gboolean g_pollable_stream_write_all (GOutputStream *stream,const void *buffer,gsize count,gboolean blocking,gsize *bytes_written,GCancellable *cancellable,GError **error);
Tries to write count
bytes to stream
, as with
g_output_stream_write_all(), but using g_pollable_stream_write()
rather than g_output_stream_write().
On a successful write of count
bytes, TRUE is returned, and
bytes_written
is set to count
.
If there is an error during the operation (including
G_IO_ERROR_WOULD_BLOCK in the non-blocking case), FALSE is
returned and error
is set to indicate the error status,
bytes_written
is updated to contain the number of bytes written
into the stream before the error occurred.
As with g_pollable_stream_write(), if blocking
is FALSE, then
stream
must be a GPollableOutputStream for which
g_pollable_output_stream_can_poll() returns TRUE or else the
behavior is undefined. If blocking
is TRUE, then stream
does not
need to be a GPollableOutputStream.
stream |
||
buffer |
the buffer containing the data to write. |
[array length=count][element-type guint8] |
count |
the number of bytes to write |
|
blocking |
whether to do blocking I/O |
|
bytes_written |
location to store the number of bytes that was written to the stream. |
[out] |
cancellable |
optional GCancellable object, |
[nullable] |
error |
location to store the error occurring, or |
Since: 2.34
Return value for various IO operations that signal errors via the return value and not necessarily via a GError.
This enum exists to be able to return errors to callers without having to
allocate a GError. Allocating GErrors can be quite expensive for
regularly happening errors like G_IO_ERROR_WOULD_BLOCK.
In case of G_POLLABLE_RETURN_FAILED a GError should be set for the
operation to give details about the error that happened.
Since: 2.60