| GSF Reference Manual | ||||
|---|---|---|---|---|
GsfBlob;
GsfBlobClass;
GsfBlob* gsf_blob_new (gsize size,
gconstpointer data_to_copy,
GError **error);
gsize gsf_blob_get_size (GsfBlob *blob);
gconstpointer gsf_blob_peek_data (GsfBlob *blob);
Some libgsf functions, in particular the metadata functions, can generate
unstructured blocks of data, or blobs.
Libgsf represents these blobs using a
GsfBlob object.
typedef struct _GsfBlob GsfBlob;
Represents an unstructured block of binary data, that is, a sequence of bytes and an integer specifying the size of the sequence.
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.
|
gsize gsf_blob_get_size (GsfBlob *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.
|
gconstpointer gsf_blob_peek_data (GsfBlob *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.
|