Initial revision
[platform/core/uifw/at-spi2-atk.git] / libspi / desktop.h
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 #ifndef DESKTOP_H_
3 #define DESKTOP_H_
4
5 #ifdef __cplusplus
6 extern "C" {
7 #endif /* __cplusplus */
8
9 #include <bonobo/bonobo-xobject.h>
10 #include <atk/atkobject.h>
11 #include <atksimpleobject.h>
12 #include <accessible.h>
13 #include <application.h>
14 #include <Desktop.h>
15
16 #define DESKTOP_TYPE        (desktop_get_type ())
17 #define DESKTOP(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), DESKTOP_TYPE, Desktop))
18 #define DESKTOP_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST((k), DESKTOP_TYPE, DesktopClass))
19 #define IS_DESKTOP(o)       (G_TYPE_CHECK__INSTANCE_TYPE ((o), DESKTOP_TYPE))
20 #define IS_DESKTOP_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), DESKTOP_TYPE))
21
22 typedef struct {
23         Accessible parent;
24         GList *applications; /* TODO: maybe change this so it's generated on-demand ? */
25 } Desktop;
26
27 typedef struct {
28         AccessibleClass parent_class;
29         POA_Accessibility_Desktop__epv epv;
30 } DesktopClass;
31
32 GType               desktop_get_type           (void);
33 void                desktop_add_application    (Application *app);
34 void                desktop_remove_application (Application *app);
35 Desktop             *desktop_new               (void);
36
37 #ifdef __cplusplus
38 }
39 #endif /* __cplusplus */
40
41 #endif /* DESKTOP_H_ */