diff options
Diffstat (limited to 'libindicate')
-rw-r--r-- | libindicate/Makefile.am | 52 | ||||
-rw-r--r-- | libindicate/indicate-listener.xml | 41 | ||||
-rw-r--r-- | libindicate/listener.c | 16 |
3 files changed, 32 insertions, 77 deletions
diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 707d297..fdbda8a 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -76,28 +76,32 @@ 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 + +DISTCLEANFILES = \ + Indicate-0.1.gir \ + Indicate-0.1.typelib diff --git a/libindicate/indicate-listener.xml b/libindicate/indicate-listener.xml deleted file mode 100644 index c834489..0000000 --- a/libindicate/indicate-listener.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -A library to allow applictions to provide simple indications of -information to be displayed to users of the application through the -interface shell. - -Copyright 2009 Canonical Ltd. - -Authors: - Ted Gould <ted@canonical.com> - -This program is free software: you can redistribute it and/or modify it -under the terms of either or both of the following licenses: - -1) the GNU Lesser General Public License version 3, as published by the -Free Software Foundation; and/or -2) the GNU Lesser General Public License version 2.1, as published by -the Free Software Foundation. - -This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranties of -MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR -PURPOSE. See the applicable version of the GNU Lesser General Public -License for more details. - -You should have received a copy of both the GNU Lesser General Public -License version 3 and version 2.1 along with this program. If not, see -<http://www.gnu.org/licenses/> ---> -<node name="/"> - <interface name="org.freedesktop.indicator.listener"> - -<!-- Functions --> - <method name="GetIndicatorServers"> - <arg type="as" name="server_ids" direction="out" /> - </method> - -<!-- End of interesting stuff --> - - </interface> -</node> diff --git a/libindicate/listener.c b/libindicate/listener.c index 6feb6d7..d8926f1 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -81,7 +81,6 @@ typedef struct { typedef struct { DBusGConnection * bus; gchar * name; - gboolean startup; } proxy_todo_t; G_DEFINE_TYPE (IndicateListener, indicate_listener, G_TYPE_OBJECT); @@ -91,7 +90,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, gboolean startup); +static void todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener); 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); @@ -287,7 +286,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); } if (new != NULL && new[0] == '\0') { proxy_t * proxyt; @@ -370,14 +369,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, true); + todo_list_add(names[i], proxy, listener); } return; } static void -todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener, gboolean startup) +todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener) { if (name == NULL || name[0] != ':') { return; @@ -399,7 +398,6 @@ 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); @@ -457,12 +455,6 @@ 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; |