aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-10-16 12:20:43 -0500
committerTed Gould <ted@canonical.com>2009-10-16 12:20:43 -0500
commit664bc74b6f0b3eb6ca30539628e2350ed3a2e20c (patch)
treec04625cef42f15f8b66cac9855596c8577d33dd4
parente265e46176c6c8633849b3a5d65b7f86bda47318 (diff)
parentafd1d1747e91db94c370ea4a3400906fe4227e09 (diff)
downloadayatana-indicator-application-664bc74b6f0b3eb6ca30539628e2350ed3a2e20c.tar.gz
ayatana-indicator-application-664bc74b6f0b3eb6ca30539628e2350ed3a2e20c.tar.bz2
ayatana-indicator-application-664bc74b6f0b3eb6ca30539628e2350ed3a2e20c.zip
Adding in the DBus interface files and building of those.
-rw-r--r--.bzrignore4
-rw-r--r--Makefile.am14
-rw-r--r--src/Makefile.am38
-rw-r--r--src/custom-service.c9
-rw-r--r--src/notification-item.xml26
-rw-r--r--src/notification-watcher.xml38
6 files changed, 126 insertions, 3 deletions
diff --git a/.bzrignore b/.bzrignore
index a33f7f0..5d5b9c7 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -5,3 +5,7 @@ m4/
src/indicator-custom-service
src/libcustom.la
src/libcustom_la-indicator-custom.lo
+src/notification-item-client.h
+src/notification-item-server.h
+src/notification-watcher-client.h
+src/notification-watcher-server.h
diff --git a/Makefile.am b/Makefile.am
index 1d1ff09..fb738a5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,3 +2,17 @@ SUBDIRS = data \
src
DISTCHECK_CONFIGURE_FLAGS = --enable-localinstall
+
+dist-hook:
+ @if test -d "$(top_srcdir)/.bzr"; \
+ then \
+ echo Creating ChangeLog && \
+ ( cd "$(top_srcdir)" && \
+ echo '# Generated by Makefile. Do not edit.'; echo; \
+ $(top_srcdir)/missing --run bzr log --gnu-changelog ) > ChangeLog.tmp \
+ && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
+ || (rm -f ChangeLog.tmp; \
+ echo Failed to generate ChangeLog >&2 ); \
+ else \
+ echo Failed to generate ChangeLog: not a branch >&2; \
+ fi
diff --git a/src/Makefile.am b/src/Makefile.am
index 63f0c64..2139b62 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,4 @@
-libexec_PROGRAMS = indicator-custom-service
-
##################################
# Indicator
##################################
@@ -22,10 +20,44 @@ libcustom_la_LDFLAGS = -module -avoid-version
# Service
##################################
+libexec_PROGRAMS = indicator-custom-service
+
indicator_custom_service_SOURCES = \
- custom-service.c
+ custom-service.c \
+ notification-item-client.h \
+ notification-watcher-server.h
indicator_custom_service_CFLAGS = \
$(INDICATOR_CFLAGS) \
-Wall -Werror
indicator_custom_service_LDADD = \
$(INDICATOR_LIBS)
+
+##################################
+# DBus Specs
+##################################
+
+DBUS_SPECS = \
+ notification-item.xml \
+ notification-watcher.xml
+
+%-client.h: %.xml
+ dbus-binding-tool \
+ --prefix=_$(subst -,_,$(<:.xml=))_client \
+ --mode=glib-client \
+ --output=$@ \
+ $<
+
+%-server.h: %.xml
+ dbus-binding-tool \
+ --prefix=_$(subst -,_,$(<:.xml=))_server \
+ --mode=glib-server \
+ --output=$@ \
+ $<
+
+BUILT_SOURCES = \
+ $(DBUS_SPECS:.xml=-client.h) \
+ $(DBUS_SPECS:.xml=-server.h)
+
+CLEANFILES = $(BUILT_SOURCES)
+
+EXTRA_DIST = $(DBUS_SPECS)
diff --git a/src/custom-service.c b/src/custom-service.c
index 63590c7..d96a9de 100644
--- a/src/custom-service.c
+++ b/src/custom-service.c
@@ -1,4 +1,13 @@
+#include "notification-item-client.h"
+void _notification_watcher_server_register_service (void) { };
+void _notification_watcher_server_registered_services (void) { };
+void _notification_watcher_server_protocol_version (void) { };
+void _notification_watcher_server_register_notification_host (void) { };
+void _notification_watcher_server_is_notification_host_registered (void) { };
+
+#include "notification-watcher-server.h"
+
int
main (int argc, char ** argv)
{
diff --git a/src/notification-item.xml b/src/notification-item.xml
new file mode 100644
index 0000000..f3a4792
--- /dev/null
+++ b/src/notification-item.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/">
+ <interface name="org.ayatana.indicator.custom.NotificationItem">
+
+<!-- Properties -->
+ <property name="Id" type="s" access="read" />
+ <property name="Category" type="s" access="read" />
+ <property name="Status" type="s" access="read" />
+ <property name="IconName" type="s" access="read" />
+ <property name="AttentionIconName" type="s" access="read" />
+ <property name="Menu" type="o" access="read" />
+
+<!-- Methods -->
+ <!-- None currently -->
+
+<!-- Signals -->
+ <signal name="NewIcon">
+ </signal>
+ <signal name="NewAttentionIcon">
+ </signal>
+ <signal name="NewStatus">
+ <arg type="s" name="status" direction="out" />
+ </signal>
+
+ </interface>
+</node>
diff --git a/src/notification-watcher.xml b/src/notification-watcher.xml
new file mode 100644
index 0000000..93acf74
--- /dev/null
+++ b/src/notification-watcher.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/">
+ <interface name="org.ayatana.indicator.custom.NotificationWatcher">
+
+<!-- Properties -->
+ <!-- None currently -->
+
+<!-- Methods -->
+ <method name="RegisterService">
+ <arg type="s" name="service" direction="in" />
+ </method>
+ <method name="RegisteredServices">
+ <arg type="as" name="services" direction="out" />
+ </method>
+ <method name="ProtocolVersion">
+ <arg type="s" name="version" direction="out" />
+ </method>
+ <method name="RegisterNotificationHost">
+ <arg type="s" name="service" direction="in" />
+ </method>
+ <method name="IsNotificationHostRegistered">
+ <arg type="b" name="hasHost" direction="out" />
+ </method>
+
+<!-- Signals -->
+ <signal name="ServiceRegistered">
+ <arg type="s" name="service" direction="out" />
+ </signal>
+ <signal name="ServiceUnregistered">
+ <arg type="s" name="service" direction="out" />
+ </signal>
+ <signal name="NotificationHostRegistered">
+ </signal>
+ <signal name="NotificationHostUnegistered">
+ </signal>
+
+ </interface>
+</node>