Add DBus Activation
authorJavier Jardón <javier.jardon@codethink.co.uk>
Fri, 10 Jun 2011 18:09:51 +0000 (19:09 +0100)
committerJavier Jardón <javier.jardon@codethink.co.uk>
Fri, 10 Jun 2011 19:35:34 +0000 (20:35 +0100)
So the moonshot ui will be called when a client program request the
dbus service. Ie, It's not necessary a instance of the moonshot ui
running always in the system.

Makefile.am
org.janet.Moonshot.service.in [new file with mode: 0644]
src/dbus-client.vala

index 402113c..b0c8ece 100644 (file)
@@ -71,6 +71,15 @@ else
 
 # IPC_DBUS
 
+# DBus service file
+dbusservicedir = $(datadir)/dbus-1/services
+dbusservice_in_files = org.janet.Moonshot.service.in
+dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
+
+# Rule to make the service file with bindir expanded
+$(dbusservice_DATA): $(dbusservice_in_files) Makefile
+       @sed -e "s|\@bindir\@|$(bindir)|" $< > $@
+
 AM_VALAFLAGS += \
        --pkg dbus-glib-1
        --define=IPC_DBUS
@@ -85,6 +94,9 @@ src_dbus_client_SOURCES = \
 src_dbus_client_LDADD = \
         $(moonshot_LIBS)
 
+CLEANFILES = $(dbusservice_DATA)
+EXTRA_DIST = $(dbusservice_in_files)
+
 endif
 
 
diff --git a/org.janet.Moonshot.service.in b/org.janet.Moonshot.service.in
new file mode 100644 (file)
index 0000000..c613f4c
--- /dev/null
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=org.janet.Moonshot
+Exec=@bindir@/moonshot
index ed34f8b..0dfcfdd 100644 (file)
@@ -10,7 +10,7 @@ void main () {
 
         var conn = DBus.Bus.get (DBus.BusType.SESSION);
         var demo = (Moonshot) conn.get_object ("org.janet.Moonshot",
-                                               "/org/janet/moonshot");
+                                               "/org/janet/Moonshot");
 
         if (demo.get_identity ("username@issuer", "pass", "service", out nai_out, out password_out, out certificate_out))
         {