|  |  |  | GSF Reference Manual |  | 
|---|---|---|---|---|
enum GsfClipFormat; enum GsfClipFormatWindows; GsfClipData; GsfClipDataClass; GsfClipData* gsf_clip_data_new (GsfClipFormat format, GsfBlob *data_blob); GsfClipFormat gsf_clip_data_get_format (GsfClipData *clip_data); GsfBlob* gsf_clip_data_get_data_blob (GsfClipData *clip_data); GsfClipFormatWindows gsf_clip_data_get_windows_clipboard_format (GsfClipData *clip_data, GError **error); gconstpointer gsf_clip_data_peek_real_data (GsfClipData *clip_data, gsize *ret_size, GError **error);
typedef enum {
	GSF_CLIP_FORMAT_WINDOWS_CLIPBOARD = -1,
	GSF_CLIP_FORMAT_MACINTOSH_CLIPBOARD = -2,
	GSF_CLIP_FORMAT_GUID = -3,
	GSF_CLIP_FORMAT_NO_DATA = 0,
	GSF_CLIP_FORMAT_CLIPBOARD_FORMAT_NAME = 1, /* in the file it's actually any positive integer */
	GSF_CLIP_FORMAT_UNKNOWN /* this is our own value for unknown types or invalid data */
} GsfClipFormat;
typedef enum {
	GSF_CLIP_FORMAT_WINDOWS_ERROR = -1,		/* our own value */
	GSF_CLIP_FORMAT_WINDOWS_UNKNOWN = -2,		/* our own value */
	GSF_CLIP_FORMAT_WINDOWS_METAFILE = 3,		/* CF_METAFILEPICT */
	GSF_CLIP_FORMAT_WINDOWS_DIB = 8,		/* CF_DIB */
	GSF_CLIP_FORMAT_WINDOWS_ENHANCED_METAFILE = 14	/* CF_ENHMETAFILE */
} GsfClipFormatWindows;
GsfClipData* gsf_clip_data_new (GsfClipFormat format, GsfBlob *data_blob);
Creates a new GsfClipData object.  This function acquires a reference to the
data_blob, so you should unref the blob on your own if you no longer need it
directly.
| format: | Format for the data inside the data_blob | 
| data_blob: | Object which holds the binary contents for the GsfClipData | 
| Returns : | A newly-created GsfClipData. | 
GsfClipFormat gsf_clip_data_get_format (GsfClipData *clip_data);
Queries the clipboard data format of a GsfClipData.  The format refers to the data
blob inside the clip_data; use gsf_clip_data_get_data_blob() to get that data blob.
| clip_data: | A GsfClipData. | 
| Returns : | The format in which the GsfClipData's data blob is stored. | 
GsfBlob* gsf_clip_data_get_data_blob (GsfClipData *clip_data);
Queries the data blob that actually stores a GsfClipData's binary data.
| clip_data: | A GsfClipData. | 
| Returns : | A new reference to the GsfBlob that stores this clip_data's
binary data.  You must useg_object_unref()to dispose of that data blob when
you are done with it. | 
GsfClipFormatWindows gsf_clip_data_get_windows_clipboard_format (GsfClipData *clip_data, GError **error);
Queries the Windows clipboard data format for a GsfClipData.  The clip_data must
have been created with GSF_CLIP_FORMAT_WINDOWS_CLIPBOARD.
| clip_data: | A GsfClipData. | 
| error: | Location to store error, or NULL | 
| Returns : | A GsfClipFormatWindows value.
Possible errors: GSF_ERROR_INVALID_DATA if the data blob in the clip_datais
smaller than it should be; in this case GSF_CLIP_FORMAT_WINDOWS_ERROR will be returned. | 
gconstpointer gsf_clip_data_peek_real_data (GsfClipData *clip_data, gsize *ret_size, GError **error);
Queries a pointer directly to the clipboard data of a GsfClipData.  The
resulting pointer is not necessarily the same data pointer that was passed to
gsf_blob_new() prior to creating the clip_data.  For example, if the data is
in GSF_CLIP_FORMAT_WINDOWS_CLIPBOARD format, then it will have extra header
bytes in front of the actual metafile data.  This function will skip over
those header bytes if necessary and return a pointer to the "real" data.
| clip_data: | A GsfClipData. | 
| ret_size: | Location to return the size of the returned data buffer. | 
| error: | Location to store error, or NULL. | 
| Returns : | Pointer to the real clipboard data.  The size in bytes of this
buffer is returned in the ret_sizeargument. |