![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties |
struct CamelStream; CamelStream * camel_stream_new (GIOStream *base_stream
); GIOStream * camel_stream_ref_base_stream (CamelStream *stream
); void camel_stream_set_base_stream (CamelStream *stream
,GIOStream *base_stream
); gssize camel_stream_read (CamelStream *stream
,gchar *buffer
,gsize n
,GCancellable *cancellable
,GError **error
); gssize camel_stream_write (CamelStream *stream
,const gchar *buffer
,gsize n
,GCancellable *cancellable
,GError **error
); gint camel_stream_flush (CamelStream *stream
,GCancellable *cancellable
,GError **error
); gint camel_stream_close (CamelStream *stream
,GCancellable *cancellable
,GError **error
); gboolean camel_stream_eos (CamelStream *stream
); gssize camel_stream_write_string (CamelStream *stream
,const gchar *string
,GCancellable *cancellable
,GError **error
); gssize camel_stream_write_to_stream (CamelStream *stream
,CamelStream *output_stream
,GCancellable *cancellable
,GError **error
);
GObject +----CamelObject +----CamelStream +----CamelIMAPXStream +----CamelStreamBuffer +----CamelStreamFilter +----CamelStreamFs +----CamelStreamMem +----CamelStreamNull +----CamelStreamProcess
CamelStream * camel_stream_new (GIOStream *base_stream
);
Creates a CamelStream as a thin wrapper for base_stream
.
|
a GIOStream |
Returns : |
a CamelStream |
Since 3.12
GIOStream * camel_stream_ref_base_stream (CamelStream *stream
);
Returns the GIOStream for stream
. This is only valid if stream
was
created with camel_stream_new()
. For all other CamelStream subclasses
this function returns NULL
.
The returned GIOStream is referenced for thread-safety and should be
unreferenced with g_object_unref()
when finished with it.
|
a CamelStream |
Returns : |
a GIOStream, or NULL
|
Since 3.12
void camel_stream_set_base_stream (CamelStream *stream
,GIOStream *base_stream
);
Replaces the GIOStream passed to camel_stream_new()
with base_stream
.
The new base_stream
should wrap the original GIOStream, such as when
adding Transport Layer Security after issuing a STARTTLS command.
|
a CamelStream |
|
a GIOStream |
Since 3.12
gssize camel_stream_read (CamelStream *stream
,gchar *buffer
,gsize n
,GCancellable *cancellable
,GError **error
);
Attempts to read up to len
bytes from stream
into buf
.
|
a CamelStream object. |
|
output buffer |
|
max number of bytes to read. |
|
optional GCancellable object, or NULL
|
|
return location for a GError, or NULL
|
Returns : |
the number of bytes actually read, or -1 on error and set
errno. |
gssize camel_stream_write (CamelStream *stream
,const gchar *buffer
,gsize n
,GCancellable *cancellable
,GError **error
);
Attempts to write up to n
bytes of buffer
into stream
.
|
a CamelStream object |
|
buffer to write. |
|
number of bytes to write |
|
optional GCancellable object, or NULL
|
|
return location for a GError, or NULL
|
Returns : |
the number of bytes written to the stream, or -1 on error
along with setting errno. |
gint camel_stream_flush (CamelStream *stream
,GCancellable *cancellable
,GError **error
);
Flushes any buffered data to the stream's backing store. Only meaningful for writable streams.
|
a CamelStream object |
|
optional GCancellable object, or NULL
|
|
return location for a GError, or NULL
|
Returns : |
0 on success or -1 on fail along with setting error
|
gint camel_stream_close (CamelStream *stream
,GCancellable *cancellable
,GError **error
);
Closes the stream.
|
a CamelStream object |
|
optional GCancellable object, or NULL
|
|
return location for a GError, or NULL
|
Returns : |
0 on success or -1 on error. |
gboolean camel_stream_eos (CamelStream *stream
);
Tests if there are bytes left to read on the stream
object.
|
a CamelStream object |
Returns : |
TRUE on EOS or FALSE otherwise. |
gssize camel_stream_write_string (CamelStream *stream
,const gchar *string
,GCancellable *cancellable
,GError **error
);
Writes the string to the stream.
|
a CamelStream object |
|
a string |
|
return location for a GError, or NULL
|
Returns : |
the number of characters written or -1 on error. |
gssize camel_stream_write_to_stream (CamelStream *stream
,CamelStream *output_stream
,GCancellable *cancellable
,GError **error
);
Write all of a stream (until eos) into another stream, in a blocking fashion.
|
source CamelStream object |
|
destination CamelStream object |
|
optional GCancellable object, or NULL
|
|
return location for a GError, or NULL
|
Returns : |
-1 on error, or the number of bytes succesfully
copied across streams. |