1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#ifndef INDICATE_LISTENER_H_INCLUDED__
#define INDICATE_LISTENER_H_INCLUDED__ 1
#include <glib.h>
#include <glib-object.h>
#include <dbus/dbus-glib.h>
#include "indicator.h"
#include "server.h"
G_BEGIN_DECLS
/* Boilerplate */
#define INDICATE_TYPE_LISTENER (indicate_listener_get_type ())
#define INDICATE_LISTENER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), INDICATE_TYPE_LISTENER, IndicateListener))
#define INDICATE_IS_LISTENER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), INDICATE_TYPE_LISTENER))
#define INDICATE_LISTENER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), INDICATE_TYPE_LISTENER, IndicateListenerClass))
#define INDICATE_IS_LISTENER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), INDICATE_TYPE_LISTENER))
#define INDICATE_LISTENER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), INDICATE_TYPE_LISTENER, IndicateListenerClass))
typedef gchar IndicateListenerServer;
typedef guint IndicateListenerIndicator;
typedef struct _IndicateListener IndicateListener;
struct _IndicateListener {
GObject parent;
DBusGConnection * session_bus;
DBusGConnection * system_bus;
DBusGProxy * dbus_proxy_session;
DBusGProxy * dbus_proxy_system;
GHashTable * proxies_working;
GHashTable * proxies_possible;
GArray * proxy_todo;
guint todo_idle;
};
typedef struct _IndicateListenerClass IndicateListenerClass;
struct _IndicateListenerClass {
GObjectClass parent;
/* Signals */
void (* indicator_added) (IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type);
void (* indicator_removed) (IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type);
void (* indicator_modified) (IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gchar * property);
void (* server_added) (IndicateListenerServer * server);
void (* server_removed) (IndicateListenerServer * server);
};
GType indicate_listener_get_type (void) G_GNUC_CONST;
/* Create a new listener */
IndicateListener * indicate_listener_new (void);
G_END_DECLS
#endif /* INDICATE_LISTENER_H_INCLUDED__ */
|