|  |  |  | Camel Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
struct CamelDataWrapper; CamelDataWrapper * camel_data_wrapper_new (void); gssize camel_data_wrapper_write_to_stream (CamelDataWrapper *data_wrapper, CamelStream *stream); gssize camel_data_wrapper_decode_to_stream (CamelDataWrapper *data_wrapper, CamelStream *stream); void camel_data_wrapper_set_mime_type (CamelDataWrapper *data_wrapper, const gchar *mime_type); gchar * camel_data_wrapper_get_mime_type (CamelDataWrapper *data_wrapper); CamelContentType * camel_data_wrapper_get_mime_type_field (CamelDataWrapper *data_wrapper); void camel_data_wrapper_set_mime_type_field (CamelDataWrapper *data_wrapper, CamelContentType *mime_type); gint camel_data_wrapper_construct_from_stream (CamelDataWrapper *data_wrapper, CamelStream *stream); gboolean camel_data_wrapper_is_offline (CamelDataWrapper *data_wrapper);
struct CamelDataWrapper {
	CamelObject parent_object;
	struct _CamelDataWrapperPrivate *priv;
	CamelTransferEncoding encoding;
	CamelContentType *mime_type;
	CamelStream *stream;
	guint offline:1;
};
CamelDataWrapper * camel_data_wrapper_new (void);
Create a new CamelDataWrapper object.
| Returns : | a new CamelDataWrapper object | 
gssize camel_data_wrapper_write_to_stream (CamelDataWrapper *data_wrapper, CamelStream *stream);
Writes the content of data_wrapper to stream in a machine-independent
format appropriate for the data. It should be possible to construct an
equivalent data wrapper object later by passing this stream to
camel_data_wrapper_construct_from_stream.
| 
 | a CamelDataWrapper object | 
| 
 | a CamelStream for output | 
| Returns : | the number of bytes written, or -1on fail | 
gssize camel_data_wrapper_decode_to_stream (CamelDataWrapper *data_wrapper, CamelStream *stream);
Writes the decoded data content to stream.
| 
 | a CamelDataWrapper object | 
| 
 | a CamelStream for decoded data to be written to | 
| Returns : | the number of bytes written, or -1on fail | 
void camel_data_wrapper_set_mime_type (CamelDataWrapper *data_wrapper, const gchar *mime_type);
This sets the data wrapper's MIME type.
It might fail, but you won't know. It will allow you to set Content-Type parameters on the data wrapper, which are meaningless. You should not be allowed to change the MIME type of a data wrapper that contains data, or at least, if you do, it should invalidate the data.
| 
 | a CamelDataWrapper object | 
| 
 | a MIME type | 
gchar * camel_data_wrapper_get_mime_type (CamelDataWrapper *data_wrapper);
| 
 | a CamelDataWrapper object | 
| Returns : | the MIME type which must be freed by the caller | 
CamelContentType * camel_data_wrapper_get_mime_type_field (CamelDataWrapper *data_wrapper);
| 
 | a CamelDataWrapper object | 
| Returns : | the parsed form of the data wrapper's MIME type | 
void                camel_data_wrapper_set_mime_type_field
                                                        (CamelDataWrapper *data_wrapper,
                                                         CamelContentType *mime_type);
This sets the data wrapper's MIME type. It suffers from the same flaws as camel_data_wrapper_set_mime_type.
| 
 | a CamelDataWrapper object | 
| 
 | a CamelContentType | 
gint camel_data_wrapper_construct_from_stream (CamelDataWrapper *data_wrapper, CamelStream *stream);
Constructs the content of data_wrapper from the supplied stream.
| 
 | a CamelDataWrapper object | 
| 
 | an input CamelStream | 
| Returns : | 0on success or-1on fail | 
gboolean camel_data_wrapper_is_offline (CamelDataWrapper *data_wrapper);
| 
 | a CamelDataWrapper object | 
| Returns : | whether data_wrapperis "offline" (data stored
remotely) or not. Some optional code paths may choose to not
operate on offline data. |