CamelDataWrapper

CamelDataWrapper —

Synopsis




struct      CamelDataWrapper;
CamelDataWrapper* camel_data_wrapper_new    (void);
ssize_t     camel_data_wrapper_write_to_stream
                                            (CamelDataWrapper *data_wrapper,
                                             CamelStream *stream);
ssize_t     camel_data_wrapper_decode_to_stream
                                            (CamelDataWrapper *data_wrapper,
                                             CamelStream *stream);
void        camel_data_wrapper_set_mime_type
                                            (CamelDataWrapper *data_wrapper,
                                             const char *mime_type);
char*       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);
int         camel_data_wrapper_construct_from_stream
                                            (CamelDataWrapper *data_wrapper,
                                             CamelStream *stream);
gboolean    camel_data_wrapper_is_offline   (CamelDataWrapper *data_wrapper);


Description

Details

struct CamelDataWrapper

struct CamelDataWrapper {
	CamelObject parent_object;
	struct _CamelDataWrapperPrivate *priv;
	
	CamelTransferEncoding encoding;
	
	CamelContentType *mime_type;
	CamelStream *stream;
	
	unsigned int offline:1;
};


camel_data_wrapper_new ()

CamelDataWrapper* camel_data_wrapper_new    (void);

Create a new CamelDataWrapper object.

Returns : a new CamelDataWrapper object

camel_data_wrapper_write_to_stream ()

ssize_t     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.

data_wrapper : a CamelDataWrapper object
stream : a CamelStream for output
Returns : the number of bytes written, or -1 on fail

camel_data_wrapper_decode_to_stream ()

ssize_t     camel_data_wrapper_decode_to_stream
                                            (CamelDataWrapper *data_wrapper,
                                             CamelStream *stream);

Writes the decoded data content to stream.

data_wrapper : a CamelDataWrapper object
stream : a CamelStream for decoded data to be written to
Returns : the number of bytes written, or -1 on fail

camel_data_wrapper_set_mime_type ()

void        camel_data_wrapper_set_mime_type
                                            (CamelDataWrapper *data_wrapper,
                                             const char *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.

data_wrapper : a CamelDataWrapper object
mime_type : a MIME type

camel_data_wrapper_get_mime_type ()

char*       camel_data_wrapper_get_mime_type
                                            (CamelDataWrapper *data_wrapper);

data_wrapper : a CamelDataWrapper object
Returns : the MIME type which must be freed by the caller

camel_data_wrapper_get_mime_type_field ()

CamelContentType* camel_data_wrapper_get_mime_type_field
                                            (CamelDataWrapper *data_wrapper);

data_wrapper : a CamelDataWrapper object
Returns : the parsed form of the data wrapper's MIME type

camel_data_wrapper_set_mime_type_field ()

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.

data_wrapper : a CamelDataWrapper object
mime_type : a CamelContentType

camel_data_wrapper_construct_from_stream ()

int         camel_data_wrapper_construct_from_stream
                                            (CamelDataWrapper *data_wrapper,
                                             CamelStream *stream);

Constructs the content of data_wrapper from the supplied stream.

data_wrapper : a CamelDataWrapper object
stream : an input CamelStream
Returns : 0 on success or -1 on fail

camel_data_wrapper_is_offline ()

gboolean    camel_data_wrapper_is_offline   (CamelDataWrapper *data_wrapper);

data_wrapper : a CamelDataWrapper object
Returns : whether data_wrapper is "offline" (data stored remotely) or not. Some optional code paths may choose to not operate on offline data.