1 #ifndef INKSCAPE_EXTENSION_APPLICATION_INTERFACE_H_
2 #define INKSCAPE_EXTENSION_APPLICATION_INTERFACE_H_
4 #include <glib.h>
5 #include <dbus/dbus-glib.h>
6 #include <dbus/dbus-glib-bindings.h>
7 #include <dbus/dbus-glib-lowlevel.h>
9 #define DBUS_APPLICATION_INTERFACE_PATH "/org/inkscape/application"
11 #define TYPE_APPLICATION_INTERFACE (application_interface_get_type ())
12 #define APPLICATION_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), TYPE_APPLICATION_INTERFACE, ApplicationInterface))
13 #define APPLICATION_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION_INTERFACE, ApplicationInterfaceClass))
14 #define IS_APPLICATION_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), TYPE_APPLICATION_INTERFACE))
15 #define IS_APPLICATION_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION_INTERFACE))
16 #define APPLICATION_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION_INTERFACE, ApplicationInterfaceClass))
18 G_BEGIN_DECLS
20 typedef struct _ApplicationInterface ApplicationInterface;
21 typedef struct _ApplicationInterfaceClass ApplicationInterfaceClass;
23 struct _ApplicationInterface {
24 GObject parent;
25 };
27 struct _ApplicationInterfaceClass {
28 GObjectClass parent;
29 };
31 /****************************************************************************
32 DESKTOP FUNCTIONS
33 ****************************************************************************/
35 gchar*
36 application_interface_desktop_new (ApplicationInterface *object,
37 GError **error);
39 gchar**
40 application_interface_get_desktop_list (ApplicationInterface *object);
42 gchar*
43 application_interface_get_active_desktop (ApplicationInterface *object,
44 GError **error);
46 gboolean
47 application_interface_set_active_desktop (ApplicationInterface *object,
48 gchar* document_name,
49 GError **error);
51 gboolean
52 application_interface_desktop_close_all (ApplicationInterface *object,
53 GError **error);
55 gboolean
56 application_interface_exit (ApplicationInterface *object, GError **error);
58 /****************************************************************************
59 DOCUMENT FUNCTIONS
60 ****************************************************************************/
62 gchar*
63 application_interface_document_new (ApplicationInterface *object,
64 GError **error);
66 gchar**
67 application_interface_get_document_list (ApplicationInterface *object);
69 gboolean
70 application_interface_document_close_all (ApplicationInterface *object,
71 GError **error);
74 /****************************************************************************
75 SETUP
76 ****************************************************************************/
78 ApplicationInterface *application_interface_new (void);
79 GType application_interface_get_type (void);
82 G_END_DECLS
84 #endif // INKSCAPE_EXTENSION_APPLICATION_INTERFACE_H_