From 84c1b5e7e24db193b7eb3c2cbd801b6e22d0c68c Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sun, 22 Feb 2009 22:52:55 -0600 Subject: Adding information on how the server was added, but not really using it for anything yet. I'm not sure that we can -- bother. --- libindicate/listener.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'libindicate') diff --git a/libindicate/listener.c b/libindicate/listener.c index d8926f1..6feb6d7 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -81,6 +81,7 @@ typedef struct { typedef struct { DBusGConnection * bus; gchar * name; + gboolean startup; } proxy_todo_t; G_DEFINE_TYPE (IndicateListener, indicate_listener, G_TYPE_OBJECT); @@ -90,7 +91,7 @@ static void indicate_listener_finalize (GObject * obj); static void dbus_owner_change (DBusGProxy * proxy, const gchar * name, const gchar * prev, const gchar * new, IndicateListener * listener); static void proxy_struct_destroy (gpointer data); static void build_todo_list_cb (DBusGProxy * proxy, char ** names, GError * error, void * data); -static void todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener); +static void todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener, gboolean startup); static gboolean todo_idle (gpointer data); void get_type_cb (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data); static void proxy_server_added (DBusGProxy * proxy, const gchar * type, proxy_t * proxyt); @@ -286,7 +287,7 @@ dbus_owner_change (DBusGProxy * proxy, const gchar * name, const gchar * prev, c /* g_debug("Name change on %s bus: '%s' from '%s' to '%s'", bus_name, name, prev, new); */ if (prev != NULL && prev[0] == '\0') { - todo_list_add(name, proxy, listener); + todo_list_add(name, proxy, listener, false); } if (new != NULL && new[0] == '\0') { proxy_t * proxyt; @@ -369,14 +370,14 @@ build_todo_list_cb (DBusGProxy * proxy, char ** names, GError * error, void * da guint i = 0; for (i = 0; names[i] != NULL; i++) { - todo_list_add(names[i], proxy, listener); + todo_list_add(names[i], proxy, listener, true); } return; } static void -todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener) +todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener, gboolean startup) { if (name == NULL || name[0] != ':') { return; @@ -398,6 +399,7 @@ todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listen proxy_todo_t todo; todo.name = g_strdup(name); todo.bus = bus; + todo.startup = startup; g_array_append_val(priv->proxy_todo, todo); @@ -455,6 +457,12 @@ todo_idle (gpointer data) g_hash_table_insert(priv->proxies_possible, proxyt->name, proxyt); + /* I think that we need to have this as there is a race + * condition here. If someone comes on the bus and we get + * that message, but before we set up the handler for the ServerShow + * signal it gets sent, we wouldn't get it. So then we would + * miss an indicator server coming on the bus. I'd like to not + * generate a warning in every app with DBus though. */ indicate_listener_server_get_type(listener, (IndicateListenerServer *)proxyt->name, get_type_cb, proxyt); return TRUE; -- cgit v1.2.3 From 13881cb68f4047572f1ebba7571f7a633e71ff4b Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sun, 22 Feb 2009 22:59:44 -0600 Subject: An interface to get the list of servers from another listener --- libindicate/indicate-listener.xml | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 libindicate/indicate-listener.xml (limited to 'libindicate') diff --git a/libindicate/indicate-listener.xml b/libindicate/indicate-listener.xml new file mode 100644 index 0000000..c834489 --- /dev/null +++ b/libindicate/indicate-listener.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + -- cgit v1.2.3 From 97133c820cf5b702de072c7382203eb38d723b71 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 11:16:51 -0600 Subject: releasing version 0.1.1-0ubuntu3~ppa1 --- libindicate/Makefile.am | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'libindicate') diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 707d297..a0f3957 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -76,28 +76,28 @@ listener-marshal.c: $(srcdir)/listener-marshal.list pkgconfig_DATA = indicate.pc pkgconfigdir = $(libdir)/pkgconfig -#gobjectintrospection_gir_DATA = \ -# Indicate-0.1.gir -#gobjectintrospection_girdir = $(datadir)/gir -# -#gobjectintrospection_type_DATA = \ -# Indicate-0.1.typelib -#gobjectintrospection_typedir = $(libdir)/girepository -# -#irscanner_headers = $(patsubst %,$(srcdir)/%,$(indicate_headers)) -#Indicate-0.1.gir: $(irscanner_headers) -# $(G_IR_SCANNER) \ -# -v --namespace Indicate \ -# --nsversion=0.1 \ -# --add-include-path=$(srcdir) \ -# --include=GObject-2.0 \ -# --include=GLib-2.0 \ -# --include=GdkPixbuf-2.0 \ -# --library=indicate --pkg indicate \ -# --output Indicate-0.1.gir $(irscanner_headers) -# -#Indicate-0.1.typelib: Indicate-0.1.gir -# $(G_IR_COMPILER) \ -# --includedir=$(srcdir) Indicate-0.1.gir \ -# -o Indicate-0.1.typelib +gobjectintrospection_gir_DATA = \ + Indicate-0.1.gir +gobjectintrospection_girdir = $(datadir)/gir + +gobjectintrospection_type_DATA = \ + Indicate-0.1.typelib +gobjectintrospection_typedir = $(libdir)/girepository + +irscanner_headers = $(patsubst %,$(srcdir)/%,$(indicate_headers)) +Indicate-0.1.gir: $(irscanner_headers) + $(G_IR_SCANNER) \ + -v --namespace Indicate \ + --nsversion=0.1 \ + --add-include-path=$(srcdir) \ + --include=GObject-2.0 \ + --include=GLib-2.0 \ + --include=GdkPixbuf-2.0 \ + --library=indicate --pkg indicate \ + --output Indicate-0.1.gir $(irscanner_headers) + +Indicate-0.1.typelib: Indicate-0.1.gir + $(G_IR_COMPILER) \ + --includedir=$(srcdir) Indicate-0.1.gir \ + -o Indicate-0.1.typelib -- cgit v1.2.3 From 903ce0999a565f9f16106deaf497bc8de47735f3 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 14:35:56 -0600 Subject: Adding back in the GIR files and some distclean improvements to get back to NULL. --- libindicate/Makefile.am | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libindicate') diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index a0f3957..fdbda8a 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -101,3 +101,7 @@ Indicate-0.1.typelib: Indicate-0.1.gir --includedir=$(srcdir) Indicate-0.1.gir \ -o Indicate-0.1.typelib +DISTCLEANFILES = \ + Indicate-0.1.gir \ + Indicate-0.1.typelib + -- cgit v1.2.3 From 22ccedb4270f202065ce6e51a849c38b6c7645cc Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 14:58:19 -0600 Subject: Adding in the listeners interface --- libindicate/Makefile.am | 1 + 1 file changed, 1 insertion(+) (limited to 'libindicate') diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 707d297..a086fa5 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -4,6 +4,7 @@ INCLUDES= \ EXTRA_DIST = \ indicate-interface.xml \ + indicate-listener.xml \ listener-marshal.list \ indicate.pc.in -- cgit v1.2.3 From 87a945852017be0f31e6fce5ae3f2a1166a84b8f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 15:14:07 -0600 Subject: Adding build instructions for the listener interface --- libindicate/Makefile.am | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libindicate') diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 5d50352..380687a 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -64,6 +64,20 @@ dbus-indicate-client.h: indicate-interface.xml --output=dbus-indicate-client.h \ $(srcdir)/indicate-interface.xml +dbus-listener-server.h: indicate-listener.xml + dbus-binding-tool \ + --prefix=indicate_listener \ + --mode=glib-server \ + --output=dbus-listener-server.h \ + $(srcdir)/indicate-listener.xml + +dbus-listener-client.h: indicate-listener.xml + dbus-binding-tool \ + --prefix=indicate_listener \ + --mode=glib-client \ + --output=dbus-listener-client.h \ + $(srcdir)/indicate-listener.xml + listener-marshal.h: $(srcdir)/listener-marshal.list glib-genmarshal --header \ --prefix=indicate_listener_marshal $(srcdir)/listener-marshal.list \ -- cgit v1.2.3 From e792f8a058235bdff3d6646342c91abeadeb9819 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 15:14:26 -0600 Subject: true is TRUE --- libindicate/listener.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libindicate') diff --git a/libindicate/listener.c b/libindicate/listener.c index 6feb6d7..747c9f8 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -287,7 +287,7 @@ dbus_owner_change (DBusGProxy * proxy, const gchar * name, const gchar * prev, c /* g_debug("Name change on %s bus: '%s' from '%s' to '%s'", bus_name, name, prev, new); */ if (prev != NULL && prev[0] == '\0') { - todo_list_add(name, proxy, listener, false); + todo_list_add(name, proxy, listener, FALSE); } if (new != NULL && new[0] == '\0') { proxy_t * proxyt; @@ -370,7 +370,7 @@ build_todo_list_cb (DBusGProxy * proxy, char ** names, GError * error, void * da guint i = 0; for (i = 0; names[i] != NULL; i++) { - todo_list_add(names[i], proxy, listener, true); + todo_list_add(names[i], proxy, listener, TRUE); } return; -- cgit v1.2.3 From cb288de59d9cbbbcb80744ca6c5ff1390a5305c3 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 15:33:12 -0600 Subject: Forgot to put these in built sources --- libindicate/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libindicate') diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 380687a..5528d1d 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -11,6 +11,8 @@ EXTRA_DIST = \ BUILT_SOURCES = \ dbus-indicate-server.h \ dbus-indicate-client.h \ + dbus-listener-server.h \ + dbus-listener-client.h \ listener-marshal.c \ listener-marshal.h -- cgit v1.2.3 From d5ba977e05b34e40115a976febd47e14d0f1afd1 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 15:33:32 -0600 Subject: Linking in the build interfaces, needed a temporary function to get linking right --- libindicate/listener.c | 9 +++++++++ libindicate/listener.h | 1 + 2 files changed, 10 insertions(+) (limited to 'libindicate') diff --git a/libindicate/listener.c b/libindicate/listener.c index 747c9f8..b786552 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -31,6 +31,8 @@ License version 3 and version 2.1 along with this program. If not, see #include "listener-marshal.h" #include #include "dbus-indicate-client.h" +#include "dbus-listener-client.h" +#include "dbus-listener-server.h" /* Errors */ enum { @@ -791,6 +793,13 @@ indicate_listener_get_property_icon (IndicateListener * listener, IndicateListen return get_property_helper(listener, server, indicator, property, G_CALLBACK(callback), data, PROPERTY_TYPE_ICON); } +gboolean +indicate_listener_get_indicator_servers (IndicateListener * listener, GList * servers) +{ + + +} + static void listener_display_cb (DBusGProxy *proxy, GError *error, gpointer userdata) { diff --git a/libindicate/listener.h b/libindicate/listener.h index ed40630..f931b04 100644 --- a/libindicate/listener.h +++ b/libindicate/listener.h @@ -109,6 +109,7 @@ void indicate_listener_get_property_icon (IndicateListener * l void indicate_listener_display (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator); +gboolean indicate_listener_get_indicator_servers (IndicateListener * listener, GList * servers); void indicate_listener_server_get_type (IndicateListener * listener, IndicateListenerServer * server, indicate_listener_get_server_property_cb callback, -- cgit v1.2.3 From c1663bcfddcb90cb434a7bef06ac3d25ae35c675 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 9 Mar 2009 17:02:47 +0200 Subject: Fix doubling of prototypes, patch from Eitan --- libindicate/indicator.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'libindicate') diff --git a/libindicate/indicator.h b/libindicate/indicator.h index 5faea3c..8af5568 100644 --- a/libindicate/indicator.h +++ b/libindicate/indicator.h @@ -78,9 +78,6 @@ GType indicate_indicator_get_type(void) G_GNUC_CONST; IndicateIndicator * indicate_indicator_new (void); -/* Should these just be GObject properties? */ -void indicate_indicator_set_property (IndicateIndicator * indicator, const gchar * property_name, const gchar * property_value); - /* Show and hide this indicator */ void indicate_indicator_show (IndicateIndicator * indicator); void indicate_indicator_hide (IndicateIndicator * indicator); -- cgit v1.2.3 From cad75161c3193652507cba2cafec732a0757ae03 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 12 Mar 2009 19:21:22 +0200 Subject: Fixes for distcheck --- libindicate/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libindicate') diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 5528d1d..b851919 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -34,6 +34,8 @@ libindicate_la_SOURCES = \ $(indicate_headers) \ dbus-indicate-server.h \ dbus-indicate-client.h \ + dbus-listener-server.h \ + dbus-listener-client.h \ server.c \ listener.c \ listener-marshal.c \ -- cgit v1.2.3