aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-06-12 16:20:47 -0500
committerTed Gould <ted@canonical.com>2009-06-12 16:20:47 -0500
commitd9116a6713e4a7d5bdbf10ba96fc3d34caf4f5eb (patch)
tree82245ab9e74957af8293a226bdec197c20cf46b9 /src
parent922ee2a93ffaebb430d406d787abeb4687657b73 (diff)
downloadayatana-indicator-session-d9116a6713e4a7d5bdbf10ba96fc3d34caf4f5eb.tar.gz
ayatana-indicator-session-d9116a6713e4a7d5bdbf10ba96fc3d34caf4f5eb.tar.bz2
ayatana-indicator-session-d9116a6713e4a7d5bdbf10ba96fc3d34caf4f5eb.zip
Adding a DBus interface for the status specific stuff
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am33
-rw-r--r--src/status-service.xml23
2 files changed, 51 insertions, 5 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index a5380ac..a6ce265 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,14 +7,31 @@ libstatus_users_session_la_SOURCES = indicator-sus.c dbus-shared-names.h
libstatus_users_session_la_CFLAGS = $(APPLET_CFLAGS) -Wall -Werror
libstatus_users_session_la_LIBADD = $(APPLET_LIBS)
-indicator_status_service_SOURCES = status-service.c \
- status-provider.h \
- status-provider.c \
- status-provider-pidgin.h \
- status-provider-pidgin.c
+indicator_status_service_SOURCES = \
+ status-service.c \
+ status-service-client.h \
+ status-service-server.h \
+ status-provider.h \
+ status-provider.c \
+ status-provider-pidgin.h \
+ status-provider-pidgin.c
indicator_status_service_CFLAGS = $(STATUSSERVICE_CFLAGS)
indicator_status_service_LDADD = $(STATUSSERVICE_LIBS)
+status-service-client.h: status-service.xml
+ dbus-binding-tool \
+ --prefix=_status_service_client \
+ --mode=glib-client \
+ --output=status-service-client.h \
+ $(srcdir)/status-service.xml
+
+status-service-server.h: status-service.xml
+ dbus-binding-tool \
+ --prefix=_status_service_server \
+ --mode=glib-server \
+ --output=status-service-server.h \
+ $(srcdir)/status-service.xml
+
indicator_users_service_SOURCES = users-service.c
indicator_users_service_CFLAGS = $(USERSSERVICE_CFLAGS)
indicator_users_service_LDADD = $(USERSSERVICE_LIBS)
@@ -23,3 +40,9 @@ indicator_session_service_SOURCES = session-service.c
indicator_session_service_CFLAGS = $(SESSIONSERVICE_CFLAGS)
indicator_session_service_LDADD = $(SESSIONSERVICE_LIBS)
+BUILT_SOURCES = \
+ status-service-client.h \
+ status-service-server.h
+
+EXTRA_DIST = \
+ status-service.xml
diff --git a/src/status-service.xml b/src/status-service.xml
new file mode 100644
index 0000000..189df81
--- /dev/null
+++ b/src/status-service.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/">
+ <interface name="com.ubuntu.indicator.status">
+
+<!-- Properties -->
+ <property name="user" type="s" access="read" />
+ <property name="status" type="u" access="read" />
+
+<!-- Methods -->
+ <method name="Watch">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true" />
+ </method>
+
+<!-- Signals -->
+ <signal name="UserChanged">
+ <arg type="s" name="name" direction="out" />
+ </signal>
+ <signal name="StatusChanged">
+ <arg type="u" name="status" direction="out" />
+ </signal>
+
+ </interface>
+</node>