GsfBlob

GsfBlob

Synopsis




                    GsfBlob;
                    GsfBlobClass;
                    GsfStructuredBlob;
GsfBlob*            gsf_blob_new                        (gsize size,
                                                         gconstpointer data_to_copy,
                                                         GError **error);
gsize               gsf_blob_get_size                   (GsfBlob const *blob);
gconstpointer       gsf_blob_peek_data                  (GsfBlob const *blob);
gboolean            gsf_structured_blob_write           (GsfStructuredBlob *blob,
                                                         GsfOutfile *container);
GsfStructuredBlob*  gsf_structured_blob_read            (GsfInput *input);


Description

Details

GsfBlob

typedef struct _GsfBlob GsfBlob;


GsfBlobClass

typedef struct {
	GObjectClass parent_class;
} GsfBlobClass;


GsfStructuredBlob

typedef struct _GsfStructuredBlob GsfStructuredBlob;


gsf_blob_new ()

GsfBlob*            gsf_blob_new                        (gsize size,
                                                         gconstpointer data_to_copy,
                                                         GError **error);

Creates a new GsfBlob object to hold the specified data. The blob can then be used as a facility for reference-counting for the data. The data is copied internally, so the blob does not hold references to external chunks of memory.

size :

Size of the data in bytes.

data_to_copy :

Data which will be copied into the blob, or NULL if size is zero.

error :

location to store error, or NULL.

Returns :

A newly-created GsfBlob, or NULL if the data could not be copied. Error domain: GSF_ERROR Possible errors: GSF_ERROR_OUT_OF_MEMORY if the data_to_copy could not be copied.

gsf_blob_get_size ()

gsize               gsf_blob_get_size                   (GsfBlob const *blob);

Queries the size in bytes of the data stored in the blob.

blob :

A GsfBlob.

Returns :

Size in bytes, or 0 if the data is NULL.

gsf_blob_peek_data ()

gconstpointer       gsf_blob_peek_data                  (GsfBlob const *blob);

Queries a pointer to the data stored in the blob. This does not copy the data for you; it returns a pointer to the actual buffer which the blob uses internally, so you should not free this buffer on your own.

blob :

A GsfBlob.

Returns :

Pointer to the data stored in the blob, or NULL if the size of the data is zero.

gsf_structured_blob_write ()

gboolean            gsf_structured_blob_write           (GsfStructuredBlob *blob,
                                                         GsfOutfile *container);

Dumps structured blob blob onto the container. Will fail if the output is not an Outfile and blob has multiple streams.

blob :

container :

Returns :

TRUE on success.

gsf_structured_blob_read ()

GsfStructuredBlob*  gsf_structured_blob_read            (GsfInput *input);

input :

An input (potentially a GsfInfile) holding the blob

Returns :

a freshly created tree of blobs