src/exiv2-glib.h (1211B) - raw
1 /*
2 * xmpedit
3 * Copyright 2010 Dan Callaghan <djc@djc.id.au>
4 * Released under GPLv2
5 */
6
7 #ifndef _EXIV2_GLIB
8 #define _EXIV2_GLIB
9
10 #include <glib-object.h>
11
12 G_BEGIN_DECLS
13
14 #define EXIV2_TYPE_IMAGE exiv2_image_get_type()
15
16 #define EXIV2_IMAGE(obj) \
17 (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXIV2_TYPE_IMAGE, Exiv2Image))
18
19 #define EXIV2_IMAGE_CLASS(klass) \
20 (G_TYPE_CHECK_CLASS_CAST ((klass), EXIV2_TYPE_IMAGE, Exiv2ImageClass))
21
22 #define EXIV2_IS_IMAGE(obj) \
23 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXIV2_TYPE_IMAGE))
24
25 #define EXIV2_IS_IMAGE_CLASS(klass) \
26 (G_TYPE_CHECK_CLASS_TYPE ((klass), EXIV2_TYPE_IMAGE))
27
28 #define EXIV2_IMAGE_GET_CLASS(obj) \
29 (G_TYPE_INSTANCE_GET_CLASS ((obj), EXIV2_TYPE_IMAGE, Exiv2ImageClass))
30
31 typedef struct {
32 GObject parent;
33 } Exiv2Image;
34
35 typedef struct {
36 GObjectClass parent_class;
37 } Exiv2ImageClass;
38
39 GType exiv2_image_get_type(void);
40
41 Exiv2Image *exiv2_image_new_from_path(gchar *path);
42
43 void exiv2_image_read_metadata(Exiv2Image *self);
44 void exiv2_image_write_metadata(Exiv2Image *self);
45
46 const gchar *exiv2_image_get_xmp_packet(Exiv2Image *self);
47 void exiv2_image_set_xmp_packet(Exiv2Image *self, const gchar *xmp_packet);
48
49 G_END_DECLS
50
51 #endif /* inclusion guard */
52