File indexing completed on 2025-01-18 09:59:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef __G_POLLABLE_OUTPUT_STREAM_H__
0022 #define __G_POLLABLE_OUTPUT_STREAM_H__
0023
0024 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
0025 #error "Only <gio/gio.h> can be included directly."
0026 #endif
0027
0028 #include <gio/gio.h>
0029
0030 G_BEGIN_DECLS
0031
0032 #define G_TYPE_POLLABLE_OUTPUT_STREAM (g_pollable_output_stream_get_type ())
0033 #define G_POLLABLE_OUTPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_POLLABLE_OUTPUT_STREAM, GPollableOutputStream))
0034 #define G_IS_POLLABLE_OUTPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_POLLABLE_OUTPUT_STREAM))
0035 #define G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_POLLABLE_OUTPUT_STREAM, GPollableOutputStreamInterface))
0036
0037 typedef struct _GPollableOutputStreamInterface GPollableOutputStreamInterface;
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069 struct _GPollableOutputStreamInterface
0070 {
0071 GTypeInterface g_iface;
0072
0073
0074 gboolean (*can_poll) (GPollableOutputStream *stream);
0075
0076 gboolean (*is_writable) (GPollableOutputStream *stream);
0077 GSource * (*create_source) (GPollableOutputStream *stream,
0078 GCancellable *cancellable);
0079 gssize (*write_nonblocking) (GPollableOutputStream *stream,
0080 const void *buffer,
0081 gsize count,
0082 GError **error);
0083 GPollableReturn (*writev_nonblocking) (GPollableOutputStream *stream,
0084 const GOutputVector *vectors,
0085 gsize n_vectors,
0086 gsize *bytes_written,
0087 GError **error);
0088 };
0089
0090 GIO_AVAILABLE_IN_ALL
0091 GType g_pollable_output_stream_get_type (void) G_GNUC_CONST;
0092
0093 GIO_AVAILABLE_IN_ALL
0094 gboolean g_pollable_output_stream_can_poll (GPollableOutputStream *stream);
0095
0096 GIO_AVAILABLE_IN_ALL
0097 gboolean g_pollable_output_stream_is_writable (GPollableOutputStream *stream);
0098 GIO_AVAILABLE_IN_ALL
0099 GSource *g_pollable_output_stream_create_source (GPollableOutputStream *stream,
0100 GCancellable *cancellable);
0101
0102 GIO_AVAILABLE_IN_ALL
0103 gssize g_pollable_output_stream_write_nonblocking (GPollableOutputStream *stream,
0104 const void *buffer,
0105 gsize count,
0106 GCancellable *cancellable,
0107 GError **error);
0108
0109 GIO_AVAILABLE_IN_2_60
0110 GPollableReturn g_pollable_output_stream_writev_nonblocking (GPollableOutputStream *stream,
0111 const GOutputVector *vectors,
0112 gsize n_vectors,
0113 gsize *bytes_written,
0114 GCancellable *cancellable,
0115 GError **error);
0116
0117 G_END_DECLS
0118
0119
0120 #endif