1 #ifndef GSF_BLOB_H
2 #define GSF_BLOB_H
3 
4 #include <gsf/gsf-fwd.h>
5 
6 G_BEGIN_DECLS
7 
8 #define GSF_BLOB_TYPE			(gsf_blob_get_type ())
9 #define GSF_BLOB(obj)		  	(G_TYPE_CHECK_INSTANCE_CAST ((obj), GSF_BLOB_TYPE, GsfBlob))
10 #define GSF_BLOB_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), GSF_BLOB_TYPE, GsfBlobClass))
11 #define GSF_IS_BLOB(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSF_BLOB_TYPE))
12 #define GSF_IS_BLOB_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), GSF_BLOB_TYPE))
13 #define GSF_BLOB_GET_CLASS(obj)         (G_TYPE_INSTANCE_GET_CLASS ((obj), GSF_BLOB_TYPE, GsfBlobClass))
14 
15 /* Deprecated old typo */
16 #define GSF_TYPE_BLOB			(gsf_blob_get_type ())
17 
18 typedef struct _GsfBlobClass GsfBlobClass;
19 typedef struct _GsfBlobPrivate GsfBlobPrivate;
20 
21 struct _GsfBlob {
22 	GObject object;
23 	GsfBlobPrivate *priv;
24 };
25 
26 GType gsf_blob_get_type (void);
27 /* void  gsf_blob_register_type (GTypeModule *module); glib dynamic types are not thread safe */
28 
29 GsfBlob *gsf_blob_new (gsize size,
30 		       gconstpointer data_to_copy,
31 		       GError **error);
32 
33 gsize gsf_blob_get_size (GsfBlob const *blob);
34 
35 gconstpointer gsf_blob_peek_data (GsfBlob const *blob);
36 
37 G_END_DECLS
38 
39 #endif
40