diff options
43 files changed, 1035 insertions, 1020 deletions
@@ -1,33 +1,33 @@ -data/indicator-custom.service +data/indicator-application.service compile -indicator-custom-[0-9].[0-9].[0-9].tar.gz +indicator-application-[0-9].[0-9].[0-9].tar.gz m4/ -src/indicator-custom-service -src/libcustom.la -src/libcustom_la-indicator-custom.lo +src/indicator-application-service +src/libappindicator.la +src/libappindicator_la-indicator-application.lo src/notification-item-client.h src/notification-item-server.h src/notification-watcher-client.h src/notification-watcher-server.h -src/libcustomindicator.la -src/libcustomindicator_la-custom-indicator.lo -src/libcustomindicator/custom-indicator-enum-types.h -src/libcustomindicator/custom-indicator-enum-types.c +src/libappindicator.la +src/libappindicator_la-application-indicator.lo +src/libappindicatorindicator/application-indicator-enum-types.h +src/libappindicatorindicator/application-indicator-enum-types.c src/stamp-enum-types -src/libcustomindicator_la-custom-indicator-enum-types.lo +src/libappindicator_la-application-indicator-enum-types.lo tests/.deps tests/.libs -tests/libcustomindicator-check-results.xml -tests/libcustomindicator-check-results.html -tests/test-libcustomindicator -tests/test-libcustomindicator-dbus-client -tests/test-libcustomindicator-dbus-server -tests/libcustomindicator-tests -tests/test-libcustomindicator-dbus -src/custom-service-client.h -src/custom-service-server.h -src/custom-service-marshal.c -src/custom-service-marshal.h +tests/libappindicator-check-results.xml +tests/libappindicator-check-results.html +tests/test-libappindicator +tests/test-libappindicator-dbus-client +tests/test-libappindicator-dbus-server +tests/libappindicator-tests +tests/test-libappindicator-dbus +src/application-service-client.h +src/application-service-server.h +src/application-service-marshal.c +src/application-service-marshal.h src/stamp-marshal src/dbus-properties-client.h src/dbus-properties-server.h @@ -35,5 +35,12 @@ tests/test-simple-app example/.deps example/.libs example/simple-client -src/libcustom_la-custom-service-marshal.lo -tests/libcustomindicator-tests-gtester +src/libappindicator_la-application-service-marshal.lo +tests/libappindicator-tests-gtester +src/libappindicator_la-app-indicator-enum-types.lo +src/libappindicator_la-app-indicator.lo +src/libapplication.la +src/libapplication_la-application-service-marshal.lo +src/libapplication_la-indicator-application.lo +src/libappindicator/app-indicator-enum-types.c +src/libappindicator/app-indicator-enum-types.h @@ -1,6 +1,6 @@ #!/bin/sh -PKG_NAME="indicator-custom" +PKG_NAME="indicator-application" which gnome-autogen.sh || { echo "You need gnome-common from GNOME SVN" diff --git a/configure.ac b/configure.ac index d76aec8..2783f85 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,11 @@ -AC_INIT(indicator-custom, 0.0.1, ted@canonical.com) +AC_INIT(indicator-application, 0.0.1, ted@canonical.com) AC_COPYRIGHT([Copyright 2009 Canonical]) AC_PREREQ(2.53) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(indicator-custom, 0.0.1) +AM_INIT_AUTOMAKE(indicator-application, 0.0.1) AM_MAINTAINER_MODE @@ -90,7 +90,7 @@ example/Makefile AC_MSG_NOTICE([ -Custom Indicator Configuration: +Application Indicator Configuration: Prefix: $prefix Indicator Dir: $INDICATORDIR diff --git a/data/Makefile.am b/data/Makefile.am index e93e589..cc1961b 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,11 +1,11 @@ dbus_servicesdir = $(DBUSSERVICEDIR) -dbus_services_DATA = indicator-custom.service +dbus_services_DATA = indicator-application.service %.service: %.service.in sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ -EXTRA_DIST = indicator-custom.service.in +EXTRA_DIST = indicator-application.service.in -CLEANFILES = indicator-custom.service +CLEANFILES = indicator-application.service diff --git a/data/indicator-application.service.in b/data/indicator-application.service.in new file mode 100644 index 0000000..83e430a --- /dev/null +++ b/data/indicator-application.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=org.ayatana.indicator.application +Exec=@libexecdir@/indicator-application-service diff --git a/data/indicator-custom.service.in b/data/indicator-custom.service.in deleted file mode 100644 index be64983..0000000 --- a/data/indicator-custom.service.in +++ /dev/null @@ -1,3 +0,0 @@ -[D-BUS Service] -Name=org.ayatana.indicator.custom -Exec=@libexecdir@/indicator-custom-service diff --git a/debian/changelog b/debian/changelog index 6b4e9ae..d7508ef 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,28 +1,36 @@ -indicator-custom (0.0.1-0ubuntu3~ppa2) karmic; urgency=low +indicator-application (0.0.1-0ubuntu3~ppa3) UNRELEASED; urgency=low + + * Massive name change. + * debian/* changing packaging to not be "custom" anymore and now + everything is "application" + + -- Ted Gould <ted@ubuntu.com> Wed, 02 Dec 2009 12:05:07 -0600 + +indicator-application (0.0.1-0ubuntu3~ppa2) karmic; urgency=low * Implementing the service and having the indicator and app library start using it. -- Ted Gould <ted@ubuntu.com> Wed, 02 Dec 2009 11:58:08 -0600 -indicator-custom (0.0.1-0ubuntu3~ppa1) karmic; urgency=low +indicator-application (0.0.1-0ubuntu3~ppa1) karmic; urgency=low * Flesh out the library to have stuff working. * Updating test suite to run under dbus-test-runner. -- Ted Gould <ted@ubuntu.com> Tue, 01 Dec 2009 09:17:24 -0600 -indicator-custom (0.0.1-0ubuntu2) karmic; urgency=low +indicator-application (0.0.1-0ubuntu2) karmic; urgency=low - * debian/control: Splitting out libcustomindicator - * Adding debian/libcustomindicator0.install, - debian/libcustomindicator-dev.install, - debian/indicator-custom.install + * debian/control: Splitting out libappindicator + * Adding debian/libappindicator0.install, + debian/libappindicator-dev.install, + debian/indicator-application.install to make all the different packages. -- Ted Gould <ted@ubuntu.com> Mon, 02 Nov 2009 21:41:20 -0600 -indicator-custom (0.0.1-0ubuntu1) karmic; urgency=low +indicator-application (0.0.1-0ubuntu1) karmic; urgency=low * Development packaging edition. diff --git a/debian/control b/debian/control index 92bb538..a6f0473 100644 --- a/debian/control +++ b/debian/control @@ -1,4 +1,4 @@ -Source: indicator-custom +Source: indicator-application Section: gnome Priority: optional Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> @@ -18,14 +18,14 @@ Standards-Version: 3.8.0 Homepage: https://launchpad.net/cape-girardeau Vcs-Bzr: http://bazaar.launchpa.net/~canonical-dx-team/cape-girardeau/karmic -Package: indicator-custom +Package: indicator-application Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: cape-girardeau project . This package is the cape-girardeau project -Package: libcustomindicator0 +Package: libappindicator0 Section: libs Architecture: any Depends: ${shlibs:Depends}, @@ -34,7 +34,7 @@ Description: cape-girardeau project . This package is the cape-girardeau project -Package: libcustomindicator-dev +Package: libappindicator-dev Section: libdevel Architecture: any Depends: ${shlibs:Depends}, diff --git a/debian/indicator-application.install b/debian/indicator-application.install new file mode 100644 index 0000000..4429197 --- /dev/null +++ b/debian/indicator-application.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/indicators/* +debian/tmp/usr/lib/indicator-application/indicator-application-service +debian/tmp/usr/share/dbus-1/services/indicator-application.service diff --git a/debian/indicator-custom.install b/debian/indicator-custom.install deleted file mode 100644 index a4eeb0b..0000000 --- a/debian/indicator-custom.install +++ /dev/null @@ -1,3 +0,0 @@ -debian/tmp/usr/lib/indicators/* -debian/tmp/usr/lib/indicator-custom/indicator-custom-service -debian/tmp/usr/share/dbus-1/services/indicator-custom.service diff --git a/debian/libcustomindicator-dev.install b/debian/libcustomindicator-dev.install index 0f13680..ff27124 100644 --- a/debian/libcustomindicator-dev.install +++ b/debian/libcustomindicator-dev.install @@ -1,4 +1,4 @@ -debian/tmp/usr/include/libcustomindicator-0.1/* -debian/tmp/usr/lib/libcustomindicator.so -debian/tmp/usr/lib/libcustomindicator.a -debian/tmp/usr/lib/libcustomindicator.la +debian/tmp/usr/include/libappindicator-0.1/* +debian/tmp/usr/lib/libappindicator.so +debian/tmp/usr/lib/libappindicator.a +debian/tmp/usr/lib/libappindicator.la diff --git a/debian/libcustomindicator0.install b/debian/libcustomindicator0.install index 20b62d5..a0b5976 100644 --- a/debian/libcustomindicator0.install +++ b/debian/libcustomindicator0.install @@ -1 +1 @@ -debian/tmp/usr/lib/libcustomindicator.so.* +debian/tmp/usr/lib/libappindicator.so.* diff --git a/debian/watch b/debian/watch index f0f23d1..4d56068 100644 --- a/debian/watch +++ b/debian/watch @@ -1,2 +1,2 @@ version=3 -http://launchpad.net/cape-girardeau/+download .*/indicator-custom-([0-9.]+)\.tar\.gz +http://launchpad.net/cape-girardeau/+download .*/indicator-application-([0-9.]+)\.tar\.gz diff --git a/example/Makefile.am b/example/Makefile.am index 954b04e..f4f2ab2 100644 --- a/example/Makefile.am +++ b/example/Makefile.am @@ -16,4 +16,4 @@ simple_client_CFLAGS = \ simple_client_LDADD = \ $(INDICATOR_LIBS) \ - $(top_builddir)/src/libcustomindicator.la + $(top_builddir)/src/libappindicator.la diff --git a/example/simple-client.c b/example/simple-client.c index f1f53e1..8103082 100644 --- a/example/simple-client.c +++ b/example/simple-client.c @@ -1,5 +1,5 @@ -#include "libcustomindicator/custom-indicator.h" +#include "libappindicator/app-indicator.h" #include "libdbusmenu-glib/server.h" #include "libdbusmenu-glib/menuitem.h" @@ -10,14 +10,14 @@ main (int argc, char ** argv) { g_type_init(); - CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, NULL)); + AppIndicator * ci = APP_INDICATOR(g_object_new(APP_INDICATOR_TYPE, NULL)); g_assert(ci != NULL); - custom_indicator_set_id(ci, "example-simple-client"); - custom_indicator_set_category(ci, CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS); - custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_ACTIVE); - custom_indicator_set_icon(ci, "indicator-messages"); - custom_indicator_set_attention_icon(ci, "indicator-messages-new"); + app_indicator_set_id(ci, "example-simple-client"); + app_indicator_set_category(ci, APP_INDICATOR_CATEGORY_APPLICATION_STATUS); + app_indicator_set_status(ci, APP_INDICATOR_STATUS_ACTIVE); + app_indicator_set_icon(ci, "indicator-messages"); + app_indicator_set_attention_icon(ci, "indicator-messages-new"); DbusmenuMenuitem * root = dbusmenu_menuitem_new(); @@ -32,7 +32,7 @@ main (int argc, char ** argv) DbusmenuServer * menuservice = dbusmenu_server_new ("/need/a/menu/path"); dbusmenu_server_set_root(menuservice, root); - custom_indicator_set_menu(ci, menuservice); + app_indicator_set_menu(ci, menuservice); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); diff --git a/src/Makefile.am b/src/Makefile.am index 102804e..1c19d91 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -10,86 +10,86 @@ include $(top_srcdir)/Makefile.am.marshal # Indicator ################################## -customlibdir = $(INDICATORDIR) -customlib_LTLIBRARIES = libcustom.la -libcustom_la_SOURCES = \ - custom-service-marshal.c \ +applicationlibdir = $(INDICATORDIR) +applicationlib_LTLIBRARIES = libapplication.la +libapplication_la_SOURCES = \ + application-service-marshal.c \ dbus-shared.h \ - indicator-custom.c -libcustom_la_CFLAGS = $(INDICATOR_CFLAGS) \ + indicator-application.c +libapplication_la_CFLAGS = $(INDICATOR_CFLAGS) \ -Wall \ -Wl,-Bsymbolic-functions \ -Wl,-z,defs \ -Wl,--as-needed \ -Werror -libcustom_la_LIBADD = $(INDICATOR_LIBS) -libcustom_la_LDFLAGS = -module -avoid-version +libapplication_la_LIBADD = $(INDICATOR_LIBS) +libapplication_la_LDFLAGS = -module -avoid-version ################################## # Service ################################## -libexec_PROGRAMS = indicator-custom-service - -indicator_custom_service_SOURCES = \ - custom-service.c \ - custom-service-appstore.h \ - custom-service-appstore.c \ - custom-service-marshal.h \ - custom-service-marshal.c \ - custom-service-server.h \ - custom-service-watcher.h \ - custom-service-watcher.c \ +libexec_PROGRAMS = indicator-application-service + +indicator_application_service_SOURCES = \ + application-service.c \ + application-service-appstore.h \ + application-service-appstore.c \ + application-service-marshal.h \ + application-service-marshal.c \ + application-service-server.h \ + application-service-watcher.h \ + application-service-watcher.c \ dbus-properties-client.h \ dbus-shared.h \ notification-item-client.h \ notification-watcher-server.h -indicator_custom_service_CFLAGS = \ +indicator_application_service_CFLAGS = \ $(INDICATOR_CFLAGS) \ -Wall -Werror -indicator_custom_service_LDADD = \ +indicator_application_service_LDADD = \ $(INDICATOR_LIBS) -glib_marshal_list = custom-service-marshal.list -glib_marshal_prefix = _custom_service_marshal +glib_marshal_list = application-service-marshal.list +glib_marshal_prefix = _application_service_marshal ################################## # Library ################################## -glib_enum_h = libcustomindicator/custom-indicator-enum-types.h -glib_enum_c = libcustomindicator/custom-indicator-enum-types.c -glib_enum_headers = $(libcustomindicator_headers) +glib_enum_h = libappindicator/app-indicator-enum-types.h +glib_enum_c = libappindicator/app-indicator-enum-types.c +glib_enum_headers = $(libappindicator_headers) lib_LTLIBRARIES = \ - libcustomindicator.la + libappindicator.la -libcustomindicatorincludedir=$(includedir)/libcustomindicator-0.1/libcustomindicator +libappindicatorincludedir=$(includedir)/libappindicator-0.1/libappindicator -libcustomindicator_headers = \ - $(srcdir)/libcustomindicator/custom-indicator.h +libappindicator_headers = \ + $(srcdir)/libappindicator/app-indicator.h -libcustomindicatorinclude_HEADERS = \ - $(libcustomindicator_headers) \ +libappindicatorinclude_HEADERS = \ + $(libappindicator_headers) \ $(glib_enum_h) -libcustomindicator_la_SOURCES = \ - $(libcustomindicator_headers) \ +libappindicator_la_SOURCES = \ + $(libappindicator_headers) \ $(glib_enum_c) \ notification-watcher-client.h \ notification-item-server.h \ - libcustomindicator/custom-indicator.c + libappindicator/app-indicator.c -libcustomindicator_la_LDFLAGS = \ +libappindicator_la_LDFLAGS = \ -version-info 0:0:0 \ -no-undefined \ -export-symbols-regex "^[^_d].*" -libcustomindicator_la_CFLAGS = \ +libappindicator_la_CFLAGS = \ $(INDICATOR_CFLAGS) \ -Wall -Werror -libcustomindicator_la_LIBADD = \ +libappindicator_la_LIBADD = \ $(INDICATOR_LIBS) ################################## @@ -97,7 +97,7 @@ libcustomindicator_la_LIBADD = \ ################################## DBUS_SPECS = \ - custom-service.xml \ + application-service.xml \ dbus-properties.xml \ notification-item.xml \ notification-watcher.xml diff --git a/src/custom-service-appstore.c b/src/application-service-appstore.c index bdf8ffb..db07e7d 100644 --- a/src/custom-service-appstore.c +++ b/src/application-service-appstore.c @@ -3,15 +3,15 @@ #endif #include <dbus/dbus-glib.h> -#include "custom-service-appstore.h" -#include "custom-service-marshal.h" +#include "application-service-appstore.h" +#include "application-service-marshal.h" #include "dbus-properties-client.h" #include "dbus-shared.h" /* DBus Prototypes */ -static gboolean _custom_service_server_get_applications (CustomServiceAppstore * appstore, GArray ** apps); +static gboolean _application_service_server_get_applications (ApplicationServiceAppstore * appstore, GArray ** apps); -#include "custom-service-server.h" +#include "application-service-server.h" #define NOTIFICATION_ITEM_PROP_ID "Id" #define NOTIFICATION_ITEM_PROP_CATEGORY "Category" @@ -21,8 +21,8 @@ static gboolean _custom_service_server_get_applications (CustomServiceAppstore * #define NOTIFICATION_ITEM_PROP_MENU "Menu" /* Private Stuff */ -typedef struct _CustomServiceAppstorePrivate CustomServiceAppstorePrivate; -struct _CustomServiceAppstorePrivate { +typedef struct _ApplicationServiceAppstorePrivate ApplicationServiceAppstorePrivate; +struct _ApplicationServiceAppstorePrivate { DBusGConnection * bus; GList * applications; }; @@ -31,13 +31,13 @@ typedef struct _Application Application; struct _Application { gchar * dbus_name; gchar * dbus_object; - CustomServiceAppstore * appstore; /* not ref'd */ + ApplicationServiceAppstore * appstore; /* not ref'd */ DBusGProxy * dbus_proxy; DBusGProxy * prop_proxy; }; -#define CUSTOM_SERVICE_APPSTORE_GET_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), CUSTOM_SERVICE_APPSTORE_TYPE, CustomServiceAppstorePrivate)) +#define APPLICATION_SERVICE_APPSTORE_GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), APPLICATION_SERVICE_APPSTORE_TYPE, ApplicationServiceAppstorePrivate)) /* Signals Stuff */ enum { @@ -49,49 +49,49 @@ enum { static guint signals[LAST_SIGNAL] = { 0 }; /* GObject stuff */ -static void custom_service_appstore_class_init (CustomServiceAppstoreClass *klass); -static void custom_service_appstore_init (CustomServiceAppstore *self); -static void custom_service_appstore_dispose (GObject *object); -static void custom_service_appstore_finalize (GObject *object); +static void application_service_appstore_class_init (ApplicationServiceAppstoreClass *klass); +static void application_service_appstore_init (ApplicationServiceAppstore *self); +static void application_service_appstore_dispose (GObject *object); +static void application_service_appstore_finalize (GObject *object); -G_DEFINE_TYPE (CustomServiceAppstore, custom_service_appstore, G_TYPE_OBJECT); +G_DEFINE_TYPE (ApplicationServiceAppstore, application_service_appstore, G_TYPE_OBJECT); static void -custom_service_appstore_class_init (CustomServiceAppstoreClass *klass) +application_service_appstore_class_init (ApplicationServiceAppstoreClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - g_type_class_add_private (klass, sizeof (CustomServiceAppstorePrivate)); + g_type_class_add_private (klass, sizeof (ApplicationServiceAppstorePrivate)); - object_class->dispose = custom_service_appstore_dispose; - object_class->finalize = custom_service_appstore_finalize; + object_class->dispose = application_service_appstore_dispose; + object_class->finalize = application_service_appstore_finalize; signals[APPLICATION_ADDED] = g_signal_new ("application-added", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomServiceAppstore, application_added), + G_STRUCT_OFFSET (ApplicationServiceAppstore, application_added), NULL, NULL, - _custom_service_marshal_VOID__STRING_INT_STRING_STRING, + _application_service_marshal_VOID__STRING_INT_STRING_STRING, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_NONE); signals[APPLICATION_REMOVED] = g_signal_new ("application-removed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomServiceAppstore, application_removed), + G_STRUCT_OFFSET (ApplicationServiceAppstore, application_removed), NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT, G_TYPE_NONE); - dbus_g_object_type_install_info(CUSTOM_SERVICE_APPSTORE_TYPE, - &dbus_glib__custom_service_server_object_info); + dbus_g_object_type_install_info(APPLICATION_SERVICE_APPSTORE_TYPE, + &dbus_glib__application_service_server_object_info); return; } static void -custom_service_appstore_init (CustomServiceAppstore *self) +application_service_appstore_init (ApplicationServiceAppstore *self) { - CustomServiceAppstorePrivate * priv = CUSTOM_SERVICE_APPSTORE_GET_PRIVATE(self); + ApplicationServiceAppstorePrivate * priv = APPLICATION_SERVICE_APPSTORE_GET_PRIVATE(self); priv->applications = NULL; @@ -104,32 +104,32 @@ custom_service_appstore_init (CustomServiceAppstore *self) } dbus_g_connection_register_g_object(priv->bus, - INDICATOR_CUSTOM_DBUS_OBJ, + INDICATOR_APPLICATION_DBUS_OBJ, G_OBJECT(self)); return; } static void -custom_service_appstore_dispose (GObject *object) +application_service_appstore_dispose (GObject *object) { - CustomServiceAppstorePrivate * priv = CUSTOM_SERVICE_APPSTORE_GET_PRIVATE(object); + ApplicationServiceAppstorePrivate * priv = APPLICATION_SERVICE_APPSTORE_GET_PRIVATE(object); while (priv->applications != NULL) { - custom_service_appstore_application_remove(CUSTOM_SERVICE_APPSTORE(object), + application_service_appstore_application_remove(APPLICATION_SERVICE_APPSTORE(object), ((Application *)priv->applications->data)->dbus_name, ((Application *)priv->applications->data)->dbus_object); } - G_OBJECT_CLASS (custom_service_appstore_parent_class)->dispose (object); + G_OBJECT_CLASS (application_service_appstore_parent_class)->dispose (object); return; } static void -custom_service_appstore_finalize (GObject *object) +application_service_appstore_finalize (GObject *object) { - G_OBJECT_CLASS (custom_service_appstore_parent_class)->finalize (object); + G_OBJECT_CLASS (application_service_appstore_parent_class)->finalize (object); return; } @@ -150,7 +150,7 @@ get_all_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError * err return; } - CustomServiceAppstorePrivate * priv = CUSTOM_SERVICE_APPSTORE_GET_PRIVATE(app->appstore); + ApplicationServiceAppstorePrivate * priv = APPLICATION_SERVICE_APPSTORE_GET_PRIVATE(app->appstore); priv->applications = g_list_prepend(priv->applications, app); /* TODO: We need to have the position determined better. This @@ -192,8 +192,8 @@ static void application_removed_cb (DBusGProxy * proxy, gpointer userdata) { Application * app = (Application *)userdata; - CustomServiceAppstore * appstore = app->appstore; - CustomServiceAppstorePrivate * priv = CUSTOM_SERVICE_APPSTORE_GET_PRIVATE(appstore); + ApplicationServiceAppstore * appstore = app->appstore; + ApplicationServiceAppstorePrivate * priv = APPLICATION_SERVICE_APPSTORE_GET_PRIVATE(appstore); GList * applistitem = g_list_find(priv->applications, app); if (applistitem == NULL) { @@ -217,15 +217,15 @@ application_removed_cb (DBusGProxy * proxy, gpointer userdata) appstore. First, we need to get the information on it though. */ void -custom_service_appstore_application_add (CustomServiceAppstore * appstore, const gchar * dbus_name, const gchar * dbus_object) +application_service_appstore_application_add (ApplicationServiceAppstore * appstore, const gchar * dbus_name, const gchar * dbus_object) { g_debug("Adding new application: %s:%s", dbus_name, dbus_object); /* Make sure we got a sensible request */ - g_return_if_fail(IS_CUSTOM_SERVICE_APPSTORE(appstore)); + g_return_if_fail(IS_APPLICATION_SERVICE_APPSTORE(appstore)); g_return_if_fail(dbus_name != NULL && dbus_name[0] != '\0'); g_return_if_fail(dbus_object != NULL && dbus_object[0] != '\0'); - CustomServiceAppstorePrivate * priv = CUSTOM_SERVICE_APPSTORE_GET_PRIVATE(appstore); + ApplicationServiceAppstorePrivate * priv = APPLICATION_SERVICE_APPSTORE_GET_PRIVATE(appstore); /* Build the application entry. This will be carried along until we're sure we've got everything. */ @@ -280,9 +280,9 @@ custom_service_appstore_application_add (CustomServiceAppstore * appstore, const } void -custom_service_appstore_application_remove (CustomServiceAppstore * appstore, const gchar * dbus_name, const gchar * dbus_object) +application_service_appstore_application_remove (ApplicationServiceAppstore * appstore, const gchar * dbus_name, const gchar * dbus_object) { - g_return_if_fail(IS_CUSTOM_SERVICE_APPSTORE(appstore)); + g_return_if_fail(IS_APPLICATION_SERVICE_APPSTORE(appstore)); g_return_if_fail(dbus_name != NULL && dbus_name[0] != '\0'); g_return_if_fail(dbus_object != NULL && dbus_object[0] != '\0'); @@ -292,7 +292,7 @@ custom_service_appstore_application_remove (CustomServiceAppstore * appstore, co /* DBus Interface */ static gboolean -_custom_service_server_get_applications (CustomServiceAppstore * appstore, GArray ** apps) +_application_service_server_get_applications (ApplicationServiceAppstore * appstore, GArray ** apps) { return FALSE; diff --git a/src/application-service-appstore.h b/src/application-service-appstore.h new file mode 100644 index 0000000..6a03f80 --- /dev/null +++ b/src/application-service-appstore.h @@ -0,0 +1,40 @@ +#ifndef __APPLICATION_SERVICE_APPSTORE_H__ +#define __APPLICATION_SERVICE_APPSTORE_H__ + +#include <glib.h> +#include <glib-object.h> + +G_BEGIN_DECLS + +#define APPLICATION_SERVICE_APPSTORE_TYPE (application_service_appstore_get_type ()) +#define APPLICATION_SERVICE_APPSTORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), APPLICATION_SERVICE_APPSTORE_TYPE, ApplicationServiceAppstore)) +#define APPLICATION_SERVICE_APPSTORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), APPLICATION_SERVICE_APPSTORE_TYPE, ApplicationServiceAppstoreClass)) +#define IS_APPLICATION_SERVICE_APPSTORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), APPLICATION_SERVICE_APPSTORE_TYPE)) +#define IS_APPLICATION_SERVICE_APPSTORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), APPLICATION_SERVICE_APPSTORE_TYPE)) +#define APPLICATION_SERVICE_APPSTORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), APPLICATION_SERVICE_APPSTORE_TYPE, ApplicationServiceAppstoreClass)) + +typedef struct _ApplicationServiceAppstore ApplicationServiceAppstore; +typedef struct _ApplicationServiceAppstoreClass ApplicationServiceAppstoreClass; + +struct _ApplicationServiceAppstoreClass { + GObjectClass parent_class; +}; + +struct _ApplicationServiceAppstore { + GObject parent; + + void (*application_added) (ApplicationServiceAppstore * appstore, gchar *, gint, gchar *, gchar *, gpointer); + void (*application_removed) (ApplicationServiceAppstore * appstore, gint, gpointer); +}; + +GType application_service_appstore_get_type (void); +void application_service_appstore_application_add (ApplicationServiceAppstore * appstore, + const gchar * dbus_name, + const gchar * dbus_object); +void application_service_appstore_application_remove (ApplicationServiceAppstore * appstore, + const gchar * dbus_name, + const gchar * dbus_object); + +G_END_DECLS + +#endif diff --git a/src/custom-service-marshal.list b/src/application-service-marshal.list index 4056f53..4056f53 100644 --- a/src/custom-service-marshal.list +++ b/src/application-service-marshal.list diff --git a/src/application-service-watcher.c b/src/application-service-watcher.c new file mode 100644 index 0000000..b077e6a --- /dev/null +++ b/src/application-service-watcher.c @@ -0,0 +1,183 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <dbus/dbus-glib.h> +#include <dbus/dbus-glib-lowlevel.h> +#include "application-service-watcher.h" +#include "dbus-shared.h" + +static gboolean _notification_watcher_server_register_service (ApplicationServiceWatcher * appwatcher, const gchar * service, DBusGMethodInvocation * method); +static gboolean _notification_watcher_server_registered_services (ApplicationServiceWatcher * appwatcher, GArray ** apps); +static gboolean _notification_watcher_server_protocol_version (ApplicationServiceWatcher * appwatcher, char ** version); +static gboolean _notification_watcher_server_register_notification_host (ApplicationServiceWatcher * appwatcher, const gchar * host); +static gboolean _notification_watcher_server_is_notification_host_registered (ApplicationServiceWatcher * appwatcher, gboolean * haveHost); + +#include "notification-watcher-server.h" + +/* Private Stuff */ +typedef struct _ApplicationServiceWatcherPrivate ApplicationServiceWatcherPrivate; +struct _ApplicationServiceWatcherPrivate { + ApplicationServiceAppstore * appstore; +}; + +#define APPLICATION_SERVICE_WATCHER_GET_PRIVATE(o) \ +(G_TYPE_INSTANCE_GET_PRIVATE ((o), APPLICATION_SERVICE_WATCHER_TYPE, ApplicationServiceWatcherPrivate)) + +/* Signals Stuff */ +enum { + SERVICE_REGISTERED, + SERVICE_UNREGISTERED, + NOTIFICATION_HOST_REGISTERED, + NOTIFICATION_HOST_UNREGISTERED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +/* GObject stuff */ +static void application_service_watcher_class_init (ApplicationServiceWatcherClass *klass); +static void application_service_watcher_init (ApplicationServiceWatcher *self); +static void application_service_watcher_dispose (GObject *object); +static void application_service_watcher_finalize (GObject *object); + +G_DEFINE_TYPE (ApplicationServiceWatcher, application_service_watcher, G_TYPE_OBJECT); + +static void +application_service_watcher_class_init (ApplicationServiceWatcherClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + g_type_class_add_private (klass, sizeof (ApplicationServiceWatcherPrivate)); + + object_class->dispose = application_service_watcher_dispose; + object_class->finalize = application_service_watcher_finalize; + + signals[SERVICE_REGISTERED] = g_signal_new ("service-registered", + G_TYPE_FROM_CLASS(klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (ApplicationServiceWatcherClass, service_registered), + NULL, NULL, + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, 1, G_TYPE_STRING, G_TYPE_NONE); + signals[SERVICE_UNREGISTERED] = g_signal_new ("service-unregistered", + G_TYPE_FROM_CLASS(klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (ApplicationServiceWatcherClass, service_unregistered), + NULL, NULL, + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, 1, G_TYPE_STRING, G_TYPE_NONE); + signals[NOTIFICATION_HOST_REGISTERED] = g_signal_new ("notification-host-registered", + G_TYPE_FROM_CLASS(klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (ApplicationServiceWatcherClass, notification_host_registered), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0, G_TYPE_NONE); + signals[NOTIFICATION_HOST_UNREGISTERED] = g_signal_new ("notification-host-unregistered", + G_TYPE_FROM_CLASS(klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (ApplicationServiceWatcherClass, notification_host_unregistered), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0, G_TYPE_NONE); + + dbus_g_object_type_install_info(APPLICATION_SERVICE_WATCHER_TYPE, + &dbus_glib__notification_watcher_server_object_info); + + return; +} + +static void +application_service_watcher_init (ApplicationServiceWatcher *self) +{ + ApplicationServiceWatcherPrivate * priv = APPLICATION_SERVICE_WATCHER_GET_PRIVATE(self); + + priv->appstore = NULL; + + GError * error = NULL; + DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error); + if (error != NULL) { + g_error("Unable to get session bus: %s", error->message); + g_error_free(error); + return; + } + + dbus_g_connection_register_g_object(session_bus, + NOTIFICATION_WATCHER_DBUS_OBJ, + G_OBJECT(self)); + + return; +} + +static void +application_service_watcher_dispose (GObject *object) +{ + ApplicationServiceWatcherPrivate * priv = APPLICATION_SERVICE_WATCHER_GET_PRIVATE(object); + + if (priv->appstore != NULL) { + g_object_unref(G_OBJECT(priv->appstore)); + priv->appstore = NULL; + } + + G_OBJECT_CLASS (application_service_watcher_parent_class)->dispose (object); + return; +} + +static void +application_service_watcher_finalize (GObject *object) +{ + + G_OBJECT_CLASS (application_service_watcher_parent_class)->finalize (object); + return; +} + +ApplicationServiceWatcher * +application_service_watcher_new (ApplicationServiceAppstore * appstore) +{ + GObject * obj = g_object_new(APPLICATION_SERVICE_WATCHER_TYPE, NULL); + ApplicationServiceWatcherPrivate * priv = APPLICATION_SERVICE_WATCHER_GET_PRIVATE(obj); + priv->appstore = appstore; + g_object_ref(G_OBJECT(priv->appstore)); + return APPLICATION_SERVICE_WATCHER(obj); +} + +static gboolean +_notification_watcher_server_register_service (ApplicationServiceWatcher * appwatcher, const gchar * service, DBusGMethodInvocation * method) +{ + ApplicationServiceWatcherPrivate * priv = APPLICATION_SERVICE_WATCHER_GET_PRIVATE(appwatcher); + + application_service_appstore_application_add(priv->appstore, dbus_g_method_get_sender(method), service); + + dbus_g_method_return(method, G_TYPE_NONE); + return TRUE; +} + +static gboolean +_notification_watcher_server_registered_services (ApplicationServiceWatcher * appwatcher, GArray ** apps) +{ + + return FALSE; +} + +static gboolean +_notification_watcher_server_protocol_version (ApplicationServiceWatcher * appwatcher, char ** version) +{ + *version = g_strdup("Ayatana Version 1"); + return TRUE; +} + +static gboolean +_notification_watcher_server_register_notification_host (ApplicationServiceWatcher * appwatcher, const gchar * host) +{ + + return FALSE; +} + +static gboolean +_notification_watcher_server_is_notification_host_registered (ApplicationServiceWatcher * appwatcher, gboolean * haveHost) +{ + *haveHost = TRUE; + return TRUE; +} + diff --git a/src/application-service-watcher.h b/src/application-service-watcher.h new file mode 100644 index 0000000..e8263f5 --- /dev/null +++ b/src/application-service-watcher.h @@ -0,0 +1,40 @@ +#ifndef __APPLICATION_SERVICE_WATCHER_H__ +#define __APPLICATION_SERVICE_WATCHER_H__ + +#include <glib.h> +#include <glib-object.h> + +#include "application-service-appstore.h" + +G_BEGIN_DECLS + +#define APPLICATION_SERVICE_WATCHER_TYPE (application_service_watcher_get_type ()) +#define APPLICATION_SERVICE_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), APPLICATION_SERVICE_WATCHER_TYPE, ApplicationServiceWatcher)) +#define APPLICATION_SERVICE_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), APPLICATION_SERVICE_WATCHER_TYPE, ApplicationServiceWatcherClass)) +#define IS_APPLICATION_SERVICE_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), APPLICATION_SERVICE_WATCHER_TYPE)) +#define IS_APPLICATION_SERVICE_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), APPLICATION_SERVICE_WATCHER_TYPE)) +#define APPLICATION_SERVICE_WATCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), APPLICATION_SERVICE_WATCHER_TYPE, ApplicationServiceWatcherClass)) + +typedef struct _ApplicationServiceWatcher ApplicationServiceWatcher; +typedef struct _ApplicationServiceWatcherClass ApplicationServiceWatcherClass; + +struct _ApplicationServiceWatcherClass { + GObjectClass parent_class; + + /* Signals */ + void (*service_registered) (ApplicationServiceWatcher * watcher, gchar * object, gpointer data); + void (*service_unregistered) (ApplicationServiceWatcher * watcher, gchar * object, gpointer data); + void (*notification_host_registered) (ApplicationServiceWatcher * watcher, gpointer data); + void (*notification_host_unregistered) (ApplicationServiceWatcher * watcher, gpointer data); +}; + +struct _ApplicationServiceWatcher { + GObject parent; +}; + +GType application_service_watcher_get_type (void); +ApplicationServiceWatcher * application_service_watcher_new (ApplicationServiceAppstore * appstore); + +G_END_DECLS + +#endif diff --git a/src/custom-service.c b/src/application-service.c index 5bd9b96..56e3e80 100644 --- a/src/custom-service.c +++ b/src/application-service.c @@ -1,16 +1,16 @@ #include "libindicator/indicator-service.h" #include "notification-item-client.h" -#include "custom-service-appstore.h" -#include "custom-service-watcher.h" +#include "application-service-appstore.h" +#include "application-service-watcher.h" #include "dbus-shared.h" /* The base main loop */ static GMainLoop * mainloop = NULL; /* Where the application registry lives */ -static CustomServiceAppstore * appstore = NULL; +static ApplicationServiceAppstore * appstore = NULL; /* Interface for applications */ -static CustomServiceWatcher * watcher = NULL; +static ApplicationServiceWatcher * watcher = NULL; /* The service management interface */ static IndicatorService * service = NULL; @@ -34,14 +34,14 @@ main (int argc, char ** argv) g_type_init(); /* Bring us up as a basic indicator service */ - service = indicator_service_new(INDICATOR_CUSTOM_DBUS_ADDR); + service = indicator_service_new(INDICATOR_APPLICATION_DBUS_ADDR); g_signal_connect(G_OBJECT(service), "disconnected", G_CALLBACK(service_disconnected), NULL); /* Building our app store */ - appstore = CUSTOM_SERVICE_APPSTORE(g_object_new(CUSTOM_SERVICE_APPSTORE_TYPE, NULL)); + appstore = APPLICATION_SERVICE_APPSTORE(g_object_new(APPLICATION_SERVICE_APPSTORE_TYPE, NULL)); /* Adding a watcher for the Apps coming up */ - watcher = custom_service_watcher_new(appstore); + watcher = application_service_watcher_new(appstore); /* Building and executing our main loop */ mainloop = g_main_loop_new(NULL, FALSE); diff --git a/src/custom-service.xml b/src/application-service.xml index 3d943a2..ec96297 100644 --- a/src/custom-service.xml +++ b/src/application-service.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <node name="/"> - <interface name="org.ayatana.indicator.custom.service"> + <interface name="org.ayatana.indicator.application.service"> <!-- Properties --> <!-- None currently --> diff --git a/src/custom-service-appstore.h b/src/custom-service-appstore.h deleted file mode 100644 index 7263617..0000000 --- a/src/custom-service-appstore.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef __CUSTOM_SERVICE_APPSTORE_H__ -#define __CUSTOM_SERVICE_APPSTORE_H__ - -#include <glib.h> -#include <glib-object.h> - -G_BEGIN_DECLS - -#define CUSTOM_SERVICE_APPSTORE_TYPE (custom_service_appstore_get_type ()) -#define CUSTOM_SERVICE_APPSTORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CUSTOM_SERVICE_APPSTORE_TYPE, CustomServiceAppstore)) -#define CUSTOM_SERVICE_APPSTORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CUSTOM_SERVICE_APPSTORE_TYPE, CustomServiceAppstoreClass)) -#define IS_CUSTOM_SERVICE_APPSTORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CUSTOM_SERVICE_APPSTORE_TYPE)) -#define IS_CUSTOM_SERVICE_APPSTORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CUSTOM_SERVICE_APPSTORE_TYPE)) -#define CUSTOM_SERVICE_APPSTORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CUSTOM_SERVICE_APPSTORE_TYPE, CustomServiceAppstoreClass)) - -typedef struct _CustomServiceAppstore CustomServiceAppstore; -typedef struct _CustomServiceAppstoreClass CustomServiceAppstoreClass; - -struct _CustomServiceAppstoreClass { - GObjectClass parent_class; -}; - -struct _CustomServiceAppstore { - GObject parent; - - void (*application_added) (CustomServiceAppstore * appstore, gchar *, gint, gchar *, gchar *, gpointer); - void (*application_removed) (CustomServiceAppstore * appstore, gint, gpointer); -}; - -GType custom_service_appstore_get_type (void); -void custom_service_appstore_application_add (CustomServiceAppstore * appstore, - const gchar * dbus_name, - const gchar * dbus_object); -void custom_service_appstore_application_remove (CustomServiceAppstore * appstore, - const gchar * dbus_name, - const gchar * dbus_object); - -G_END_DECLS - -#endif diff --git a/src/custom-service-watcher.c b/src/custom-service-watcher.c deleted file mode 100644 index 7cc15ee..0000000 --- a/src/custom-service-watcher.c +++ /dev/null @@ -1,183 +0,0 @@ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <dbus/dbus-glib.h> -#include <dbus/dbus-glib-lowlevel.h> -#include "custom-service-watcher.h" -#include "dbus-shared.h" - -static gboolean _notification_watcher_server_register_service (CustomServiceWatcher * appwatcher, const gchar * service, DBusGMethodInvocation * method); -static gboolean _notification_watcher_server_registered_services (CustomServiceWatcher * appwatcher, GArray ** apps); -static gboolean _notification_watcher_server_protocol_version (CustomServiceWatcher * appwatcher, char ** version); -static gboolean _notification_watcher_server_register_notification_host (CustomServiceWatcher * appwatcher, const gchar * host); -static gboolean _notification_watcher_server_is_notification_host_registered (CustomServiceWatcher * appwatcher, gboolean * haveHost); - -#include "notification-watcher-server.h" - -/* Private Stuff */ -typedef struct _CustomServiceWatcherPrivate CustomServiceWatcherPrivate; -struct _CustomServiceWatcherPrivate { - CustomServiceAppstore * appstore; -}; - -#define CUSTOM_SERVICE_WATCHER_GET_PRIVATE(o) \ -(G_TYPE_INSTANCE_GET_PRIVATE ((o), CUSTOM_SERVICE_WATCHER_TYPE, CustomServiceWatcherPrivate)) - -/* Signals Stuff */ -enum { - SERVICE_REGISTERED, - SERVICE_UNREGISTERED, - NOTIFICATION_HOST_REGISTERED, - NOTIFICATION_HOST_UNREGISTERED, - LAST_SIGNAL -}; - -static guint signals[LAST_SIGNAL] = { 0 }; - -/* GObject stuff */ -static void custom_service_watcher_class_init (CustomServiceWatcherClass *klass); -static void custom_service_watcher_init (CustomServiceWatcher *self); -static void custom_service_watcher_dispose (GObject *object); -static void custom_service_watcher_finalize (GObject *object); - -G_DEFINE_TYPE (CustomServiceWatcher, custom_service_watcher, G_TYPE_OBJECT); - -static void -custom_service_watcher_class_init (CustomServiceWatcherClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - g_type_class_add_private (klass, sizeof (CustomServiceWatcherPrivate)); - - object_class->dispose = custom_service_watcher_dispose; - object_class->finalize = custom_service_watcher_finalize; - - signals[SERVICE_REGISTERED] = g_signal_new ("service-registered", - G_TYPE_FROM_CLASS(klass), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomServiceWatcherClass, service_registered), - NULL, NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, 1, G_TYPE_STRING, G_TYPE_NONE); - signals[SERVICE_UNREGISTERED] = g_signal_new ("service-unregistered", - G_TYPE_FROM_CLASS(klass), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomServiceWatcherClass, service_unregistered), - NULL, NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, 1, G_TYPE_STRING, G_TYPE_NONE); - signals[NOTIFICATION_HOST_REGISTERED] = g_signal_new ("notification-host-registered", - G_TYPE_FROM_CLASS(klass), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomServiceWatcherClass, notification_host_registered), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0, G_TYPE_NONE); - signals[NOTIFICATION_HOST_UNREGISTERED] = g_signal_new ("notification-host-unregistered", - G_TYPE_FROM_CLASS(klass), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomServiceWatcherClass, notification_host_unregistered), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0, G_TYPE_NONE); - - dbus_g_object_type_install_info(CUSTOM_SERVICE_WATCHER_TYPE, - &dbus_glib__notification_watcher_server_object_info); - - return; -} - -static void -custom_service_watcher_init (CustomServiceWatcher *self) -{ - CustomServiceWatcherPrivate * priv = CUSTOM_SERVICE_WATCHER_GET_PRIVATE(self); - - priv->appstore = NULL; - - GError * error = NULL; - DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error); - if (error != NULL) { - g_error("Unable to get session bus: %s", error->message); - g_error_free(error); - return; - } - - dbus_g_connection_register_g_object(session_bus, - NOTIFICATION_WATCHER_DBUS_OBJ, - G_OBJECT(self)); - - return; -} - -static void -custom_service_watcher_dispose (GObject *object) -{ - CustomServiceWatcherPrivate * priv = CUSTOM_SERVICE_WATCHER_GET_PRIVATE(object); - - if (priv->appstore != NULL) { - g_object_unref(G_OBJECT(priv->appstore)); - priv->appstore = NULL; - } - - G_OBJECT_CLASS (custom_service_watcher_parent_class)->dispose (object); - return; -} - -static void -custom_service_watcher_finalize (GObject *object) -{ - - G_OBJECT_CLASS (custom_service_watcher_parent_class)->finalize (object); - return; -} - -CustomServiceWatcher * -custom_service_watcher_new (CustomServiceAppstore * appstore) -{ - GObject * obj = g_object_new(CUSTOM_SERVICE_WATCHER_TYPE, NULL); - CustomServiceWatcherPrivate * priv = CUSTOM_SERVICE_WATCHER_GET_PRIVATE(obj); - priv->appstore = appstore; - g_object_ref(G_OBJECT(priv->appstore)); - return CUSTOM_SERVICE_WATCHER(obj); -} - -static gboolean -_notification_watcher_server_register_service (CustomServiceWatcher * appwatcher, const gchar * service, DBusGMethodInvocation * method) -{ - CustomServiceWatcherPrivate * priv = CUSTOM_SERVICE_WATCHER_GET_PRIVATE(appwatcher); - - custom_service_appstore_application_add(priv->appstore, dbus_g_method_get_sender(method), service); - - dbus_g_method_return(method, G_TYPE_NONE); - return TRUE; -} - -static gboolean -_notification_watcher_server_registered_services (CustomServiceWatcher * appwatcher, GArray ** apps) -{ - - return FALSE; -} - -static gboolean -_notification_watcher_server_protocol_version (CustomServiceWatcher * appwatcher, char ** version) -{ - *version = g_strdup("Ayatana Version 1"); - return TRUE; -} - -static gboolean -_notification_watcher_server_register_notification_host (CustomServiceWatcher * appwatcher, const gchar * host) -{ - - return FALSE; -} - -static gboolean -_notification_watcher_server_is_notification_host_registered (CustomServiceWatcher * appwatcher, gboolean * haveHost) -{ - *haveHost = TRUE; - return TRUE; -} - diff --git a/src/custom-service-watcher.h b/src/custom-service-watcher.h deleted file mode 100644 index 1a037be..0000000 --- a/src/custom-service-watcher.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef __CUSTOM_SERVICE_WATCHER_H__ -#define __CUSTOM_SERVICE_WATCHER_H__ - -#include <glib.h> -#include <glib-object.h> - -#include "custom-service-appstore.h" - -G_BEGIN_DECLS - -#define CUSTOM_SERVICE_WATCHER_TYPE (custom_service_watcher_get_type ()) -#define CUSTOM_SERVICE_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CUSTOM_SERVICE_WATCHER_TYPE, CustomServiceWatcher)) -#define CUSTOM_SERVICE_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CUSTOM_SERVICE_WATCHER_TYPE, CustomServiceWatcherClass)) -#define IS_CUSTOM_SERVICE_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CUSTOM_SERVICE_WATCHER_TYPE)) -#define IS_CUSTOM_SERVICE_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CUSTOM_SERVICE_WATCHER_TYPE)) -#define CUSTOM_SERVICE_WATCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CUSTOM_SERVICE_WATCHER_TYPE, CustomServiceWatcherClass)) - -typedef struct _CustomServiceWatcher CustomServiceWatcher; -typedef struct _CustomServiceWatcherClass CustomServiceWatcherClass; - -struct _CustomServiceWatcherClass { - GObjectClass parent_class; - - /* Signals */ - void (*service_registered) (CustomServiceWatcher * watcher, gchar * object, gpointer data); - void (*service_unregistered) (CustomServiceWatcher * watcher, gchar * object, gpointer data); - void (*notification_host_registered) (CustomServiceWatcher * watcher, gpointer data); - void (*notification_host_unregistered) (CustomServiceWatcher * watcher, gpointer data); -}; - -struct _CustomServiceWatcher { - GObject parent; -}; - -GType custom_service_watcher_get_type (void); -CustomServiceWatcher * custom_service_watcher_new (CustomServiceAppstore * appstore); - -G_END_DECLS - -#endif diff --git a/src/dbus-shared.h b/src/dbus-shared.h index 364ac46..f8e7cce 100644 --- a/src/dbus-shared.h +++ b/src/dbus-shared.h @@ -1,10 +1,10 @@ -#define INDICATOR_CUSTOM_DBUS_ADDR "org.ayatana.indicator.custom" -#define INDICATOR_CUSTOM_DBUS_OBJ "/org/ayatana/indicator/custom/service" -#define INDICATOR_CUSTOM_DBUS_IFACE "org.ayatana.indicator.custom.service" +#define INDICATOR_APPLICATION_DBUS_ADDR "org.ayatana.indicator.application" +#define INDICATOR_APPLICATION_DBUS_OBJ "/org/ayatana/indicator/application/service" +#define INDICATOR_APPLICATION_DBUS_IFACE "org.ayatana.indicator.application.service" -#define NOTIFICATION_WATCHER_DBUS_OBJ "/org/ayatana/indicator/custom/NotificationWatcher" -#define NOTIFICATION_WATCHER_DBUS_IFACE "org.ayatana.indicator.custom.NotificationWatcher" +#define NOTIFICATION_WATCHER_DBUS_OBJ "/org/ayatana/indicator/application/NotificationWatcher" +#define NOTIFICATION_WATCHER_DBUS_IFACE "org.ayatana.indicator.application.NotificationWatcher" -#define NOTIFICATION_ITEM_DBUS_IFACE "org.ayatana.indicator.custom.NotificationItem" +#define NOTIFICATION_ITEM_DBUS_IFACE "org.ayatana.indicator.application.NotificationItem" diff --git a/src/indicator-custom.c b/src/indicator-application.c index da89c30..df45d13 100644 --- a/src/indicator-custom.c +++ b/src/indicator-application.c @@ -15,39 +15,39 @@ /* Local Stuff */ #include "dbus-shared.h" -#include "custom-service-client.h" -#include "custom-service-marshal.h" +#include "application-service-client.h" +#include "application-service-marshal.h" -#define INDICATOR_CUSTOM_TYPE (indicator_custom_get_type ()) -#define INDICATOR_CUSTOM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), INDICATOR_CUSTOM_TYPE, IndicatorCustom)) -#define INDICATOR_CUSTOM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INDICATOR_CUSTOM_TYPE, IndicatorCustomClass)) -#define IS_INDICATOR_CUSTOM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INDICATOR_CUSTOM_TYPE)) -#define IS_INDICATOR_CUSTOM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDICATOR_CUSTOM_TYPE)) -#define INDICATOR_CUSTOM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDICATOR_CUSTOM_TYPE, IndicatorCustomClass)) +#define INDICATOR_APPLICATION_TYPE (indicator_application_get_type ()) +#define INDICATOR_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), INDICATOR_APPLICATION_TYPE, IndicatorApplication)) +#define INDICATOR_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INDICATOR_APPLICATION_TYPE, IndicatorApplicationClass)) +#define IS_INDICATOR_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INDICATOR_APPLICATION_TYPE)) +#define IS_INDICATOR_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDICATOR_APPLICATION_TYPE)) +#define INDICATOR_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDICATOR_APPLICATION_TYPE, IndicatorApplicationClass)) -typedef struct _IndicatorCustom IndicatorCustom; -typedef struct _IndicatorCustomClass IndicatorCustomClass; +typedef struct _IndicatorApplication IndicatorApplication; +typedef struct _IndicatorApplicationClass IndicatorApplicationClass; -struct _IndicatorCustomClass { +struct _IndicatorApplicationClass { IndicatorObjectClass parent_class; }; -struct _IndicatorCustom { +struct _IndicatorApplication { IndicatorObject parent; }; -GType indicator_custom_get_type (void); +GType indicator_application_get_type (void); INDICATOR_SET_VERSION -INDICATOR_SET_TYPE(INDICATOR_CUSTOM_TYPE) +INDICATOR_SET_TYPE(INDICATOR_APPLICATION_TYPE) #ifdef HAVE_CONFIG_H #include "config.h" #endif -typedef struct _IndicatorCustomPrivate IndicatorCustomPrivate; -struct _IndicatorCustomPrivate { +typedef struct _IndicatorApplicationPrivate IndicatorApplicationPrivate; +struct _IndicatorApplicationPrivate { IndicatorServiceManager * sm; DBusGConnection * bus; DBusGProxy * service_proxy; @@ -59,36 +59,36 @@ struct _ApplicationEntry { IndicatorObjectEntry entry; }; -#define INDICATOR_CUSTOM_GET_PRIVATE(o) \ -(G_TYPE_INSTANCE_GET_PRIVATE ((o), INDICATOR_CUSTOM_TYPE, IndicatorCustomPrivate)) +#define INDICATOR_APPLICATION_GET_PRIVATE(o) \ +(G_TYPE_INSTANCE_GET_PRIVATE ((o), INDICATOR_APPLICATION_TYPE, IndicatorApplicationPrivate)) -static void indicator_custom_class_init (IndicatorCustomClass *klass); -static void indicator_custom_init (IndicatorCustom *self); -static void indicator_custom_dispose (GObject *object); -static void indicator_custom_finalize (GObject *object); +static void indicator_application_class_init (IndicatorApplicationClass *klass); +static void indicator_application_init (IndicatorApplication *self); +static void indicator_application_dispose (GObject *object); +static void indicator_application_finalize (GObject *object); static GList * get_entries (IndicatorObject * io); -static void connected (IndicatorServiceManager * sm, gboolean connected, IndicatorCustom * custom); -static void application_added (DBusGProxy * proxy, const gchar * iconname, gint position, const gchar * dbusaddress, const gchar * dbusobject, IndicatorCustom * custom); -static void application_removed (DBusGProxy * proxy, gint position , IndicatorCustom * custom); +static void connected (IndicatorServiceManager * sm, gboolean connected, IndicatorApplication * application); +static void application_added (DBusGProxy * proxy, const gchar * iconname, gint position, const gchar * dbusaddress, const gchar * dbusobject, IndicatorApplication * application); +static void application_removed (DBusGProxy * proxy, gint position , IndicatorApplication * application); static void get_applications (DBusGProxy *proxy, GPtrArray *OUT_applications, GError *error, gpointer userdata); -G_DEFINE_TYPE (IndicatorCustom, indicator_custom, INDICATOR_OBJECT_TYPE); +G_DEFINE_TYPE (IndicatorApplication, indicator_application, INDICATOR_OBJECT_TYPE); static void -indicator_custom_class_init (IndicatorCustomClass *klass) +indicator_application_class_init (IndicatorApplicationClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - g_type_class_add_private (klass, sizeof (IndicatorCustomPrivate)); + g_type_class_add_private (klass, sizeof (IndicatorApplicationPrivate)); - object_class->dispose = indicator_custom_dispose; - object_class->finalize = indicator_custom_finalize; + object_class->dispose = indicator_application_dispose; + object_class->finalize = indicator_application_finalize; IndicatorObjectClass * io_class = INDICATOR_OBJECT_CLASS(klass); io_class->get_entries = get_entries; - dbus_g_object_register_marshaller(_custom_service_marshal_VOID__STRING_INT_STRING_STRING, + dbus_g_object_register_marshaller(_application_service_marshal_VOID__STRING_INT_STRING_STRING, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_INT, @@ -100,15 +100,15 @@ indicator_custom_class_init (IndicatorCustomClass *klass) } static void -indicator_custom_init (IndicatorCustom *self) +indicator_application_init (IndicatorApplication *self) { - IndicatorCustomPrivate * priv = INDICATOR_CUSTOM_GET_PRIVATE(self); + IndicatorApplicationPrivate * priv = INDICATOR_APPLICATION_GET_PRIVATE(self); /* These are built in the connection phase */ priv->bus = NULL; priv->service_proxy = NULL; - priv->sm = indicator_service_manager_new(INDICATOR_CUSTOM_DBUS_ADDR); + priv->sm = indicator_service_manager_new(INDICATOR_APPLICATION_DBUS_ADDR); g_signal_connect(G_OBJECT(priv->sm), INDICATOR_SERVICE_MANAGER_SIGNAL_CONNECTION_CHANGE, G_CALLBACK(connected), self); priv->applications = NULL; @@ -117,14 +117,14 @@ indicator_custom_init (IndicatorCustom *self) } static void -indicator_custom_dispose (GObject *object) +indicator_application_dispose (GObject *object) { - IndicatorCustomPrivate * priv = INDICATOR_CUSTOM_GET_PRIVATE(object); + IndicatorApplicationPrivate * priv = INDICATOR_APPLICATION_GET_PRIVATE(object); while (priv->applications != NULL) { application_removed(priv->service_proxy, 0, - INDICATOR_CUSTOM(object)); + INDICATOR_APPLICATION(object)); } if (priv->sm != NULL) { @@ -142,23 +142,23 @@ indicator_custom_dispose (GObject *object) priv->service_proxy = NULL; } - G_OBJECT_CLASS (indicator_custom_parent_class)->dispose (object); + G_OBJECT_CLASS (indicator_application_parent_class)->dispose (object); return; } static void -indicator_custom_finalize (GObject *object) +indicator_application_finalize (GObject *object) { - G_OBJECT_CLASS (indicator_custom_parent_class)->finalize (object); + G_OBJECT_CLASS (indicator_application_parent_class)->finalize (object); return; } void -connected (IndicatorServiceManager * sm, gboolean connected, IndicatorCustom * custom) +connected (IndicatorServiceManager * sm, gboolean connected, IndicatorApplication * application) { - IndicatorCustomPrivate * priv = INDICATOR_CUSTOM_GET_PRIVATE(custom); - g_debug("Connected to Custom Indicator Service."); + IndicatorApplicationPrivate * priv = INDICATOR_APPLICATION_GET_PRIVATE(application); + g_debug("Connected to Application Indicator Service."); GError * error = NULL; @@ -175,9 +175,9 @@ connected (IndicatorServiceManager * sm, gboolean connected, IndicatorCustom * c /* Build the service proxy */ priv->service_proxy = dbus_g_proxy_new_for_name_owner(priv->bus, - INDICATOR_CUSTOM_DBUS_ADDR, - INDICATOR_CUSTOM_DBUS_OBJ, - INDICATOR_CUSTOM_DBUS_IFACE, + INDICATOR_APPLICATION_DBUS_ADDR, + INDICATOR_APPLICATION_DBUS_OBJ, + INDICATOR_APPLICATION_DBUS_IFACE, &error); /* Set up proxy signals */ @@ -199,19 +199,19 @@ connected (IndicatorServiceManager * sm, gboolean connected, IndicatorCustom * c dbus_g_proxy_connect_signal(priv->service_proxy, "ApplicationAdded", G_CALLBACK(application_added), - custom, + application, NULL /* Disconnection Signal */); dbus_g_proxy_connect_signal(priv->service_proxy, "ApplicationRemoved", G_CALLBACK(application_removed), - custom, + application, NULL /* Disconnection Signal */); /* Query it for existing applications */ g_debug("Request current apps"); - org_ayatana_indicator_custom_service_get_applications_async(priv->service_proxy, - get_applications, - custom); + org_ayatana_indicator_application_service_get_applications_async(priv->service_proxy, + get_applications, + application); return; } @@ -222,9 +222,9 @@ connected (IndicatorServiceManager * sm, gboolean connected, IndicatorCustom * c static GList * get_entries (IndicatorObject * io) { - g_return_val_if_fail(IS_INDICATOR_CUSTOM(io), NULL); + g_return_val_if_fail(IS_INDICATOR_APPLICATION(io), NULL); - IndicatorCustomPrivate * priv = INDICATOR_CUSTOM_GET_PRIVATE(io); + IndicatorApplicationPrivate * priv = INDICATOR_APPLICATION_GET_PRIVATE(io); GList * retval = NULL; GList * apppointer = NULL; @@ -244,10 +244,10 @@ get_entries (IndicatorObject * io) ApplicationEntry and signaling the indicator host that we've got a new indicator. */ static void -application_added (DBusGProxy * proxy, const gchar * iconname, gint position, const gchar * dbusaddress, const gchar * dbusobject, IndicatorCustom * custom) +application_added (DBusGProxy * proxy, const gchar * iconname, gint position, const gchar * dbusaddress, const gchar * dbusobject, IndicatorApplication * application) { g_debug("Building new application entry: %s with icon: %s", dbusaddress, iconname); - IndicatorCustomPrivate * priv = INDICATOR_CUSTOM_GET_PRIVATE(custom); + IndicatorApplicationPrivate * priv = INDICATOR_APPLICATION_GET_PRIVATE(application); ApplicationEntry * app = g_new(ApplicationEntry, 1); app->entry.image = GTK_IMAGE(gtk_image_new_from_icon_name(iconname, GTK_ICON_SIZE_MENU)); @@ -259,16 +259,16 @@ application_added (DBusGProxy * proxy, const gchar * iconname, gint position, co priv->applications = g_list_insert(priv->applications, app, position); /* TODO: Need to deal with position here somehow */ - g_signal_emit(G_OBJECT(custom), INDICATOR_OBJECT_SIGNAL_ENTRY_ADDED_ID, 0, &(app->entry), TRUE); + g_signal_emit(G_OBJECT(application), INDICATOR_OBJECT_SIGNAL_ENTRY_ADDED_ID, 0, &(app->entry), TRUE); return; } /* This removes the application from the list and free's all of the memory associated with it. */ static void -application_removed (DBusGProxy * proxy, gint position, IndicatorCustom * custom) +application_removed (DBusGProxy * proxy, gint position, IndicatorApplication * application) { - IndicatorCustomPrivate * priv = INDICATOR_CUSTOM_GET_PRIVATE(custom); + IndicatorApplicationPrivate * priv = INDICATOR_APPLICATION_GET_PRIVATE(application); ApplicationEntry * app = (ApplicationEntry *)g_list_nth_data(priv->applications, position); if (app == NULL) { @@ -277,7 +277,7 @@ application_removed (DBusGProxy * proxy, gint position, IndicatorCustom * custom } priv->applications = g_list_remove(priv->applications, app); - g_signal_emit(G_OBJECT(custom), INDICATOR_OBJECT_SIGNAL_ENTRY_REMOVED_ID, 0, &(app->entry), TRUE); + g_signal_emit(G_OBJECT(application), INDICATOR_OBJECT_SIGNAL_ENTRY_REMOVED_ID, 0, &(app->entry), TRUE); if (app->entry.image != NULL) { g_object_unref(G_OBJECT(app->entry.image)); diff --git a/src/libcustomindicator/custom-indicator-enum-types.c.in b/src/libappindicator/app-indicator-enum-types.c.in index 51512f6..19abc88 100644 --- a/src/libcustomindicator/custom-indicator-enum-types.c.in +++ b/src/libappindicator/app-indicator-enum-types.c.in @@ -1,5 +1,5 @@ /*** BEGIN file-header ***/ -#include "libcustomindicator/custom-indicator-enum-types.h" +#include "libappindicator/app-indicator-enum-types.h" /*** END file-header ***/ diff --git a/src/libcustomindicator/custom-indicator-enum-types.h.in b/src/libappindicator/app-indicator-enum-types.h.in index e037be7..b79446d 100644 --- a/src/libcustomindicator/custom-indicator-enum-types.h.in +++ b/src/libappindicator/app-indicator-enum-types.h.in @@ -1,6 +1,6 @@ /*** BEGIN file-header ***/ -#ifndef __CUSTOM_INDICATOR_ENUM_TYPES_H__ -#define __CUSTOM_INDICATOR_ENUM_TYPES_H__ +#ifndef __APP_INDICATOR_ENUM_TYPES_H__ +#define __APP_INDICATOR_ENUM_TYPES_H__ #include <glib-object.h> @@ -12,7 +12,7 @@ G_BEGIN_DECLS G_END_DECLS -#endif /* __CUSTOM_INDICATOR_ENUM_TYPES_H__ */ +#endif /* __APP_INDICATOR_ENUM_TYPES_H__ */ /*** END file-tail ***/ /*** BEGIN file-production ***/ @@ -28,6 +28,6 @@ G_END_DECLS Return value: A registered type for the enum */ GType @enum_name@_get_type (void) G_GNUC_CONST; -#define CUSTOM_INDICATOR_TYPE_@ENUMSHORT@ (@enum_name@_get_type()) +#define APP_INDICATOR_TYPE_@ENUMSHORT@ (@enum_name@_get_type()) /*** END value-header ***/ diff --git a/src/libcustomindicator/custom-indicator.c b/src/libappindicator/app-indicator.c index 8d6633a..89f77db 100644 --- a/src/libcustomindicator/custom-indicator.c +++ b/src/libappindicator/app-indicator.c @@ -5,8 +5,8 @@ #include <dbus/dbus-glib.h> #include <libdbusmenu-glib/server.h> -#include "libcustomindicator/custom-indicator.h" -#include "libcustomindicator/custom-indicator-enum-types.h" +#include "libappindicator/app-indicator.h" +#include "libappindicator/app-indicator-enum-types.h" #include "notification-item-server.h" #include "notification-watcher-client.h" @@ -14,24 +14,24 @@ #include "dbus-shared.h" /** - CustomIndicatorPrivate: - @id: The ID of the indicator. Maps to CustomIndicator::id. - @category: Which category the indicator is. Maps to CustomIndicator::category. - @status: The status of the indicator. Maps to CustomIndicator::status. - @icon_name: The name of the icon to use. Maps to CustomIndicator::icon-name. - @attention_icon_name: The name of the attention icon to use. Maps to CustomIndicator::attention-icon-name. - @menu: The menu for this indicator. Maps to CustomIndicator::menu + AppIndicatorPrivate: + @id: The ID of the indicator. Maps to AppIndicator::id. + @category: Which category the indicator is. Maps to AppIndicator::category. + @status: The status of the indicator. Maps to AppIndicator::status. + @icon_name: The name of the icon to use. Maps to AppIndicator::icon-name. + @attention_icon_name: The name of the attention icon to use. Maps to AppIndicator::attention-icon-name. + @menu: The menu for this indicator. Maps to AppIndicator::menu @watcher_proxy: The proxy connection to the watcher we're connected to. If we're not connected to one this will be #NULL. All of the private data in an instance of a - custom indicator. + application indicator. */ -typedef struct _CustomIndicatorPrivate CustomIndicatorPrivate; -struct _CustomIndicatorPrivate { +typedef struct _AppIndicatorPrivate AppIndicatorPrivate; +struct _AppIndicatorPrivate { /* Properties */ gchar * id; - CustomIndicatorCategory category; - CustomIndicatorStatus status; + AppIndicatorCategory category; + AppIndicatorStatus status; gchar * icon_name; gchar * attention_icon_name; DbusmenuServer * menu; @@ -81,38 +81,38 @@ enum { #define PROP_CONNECTED_S "connected" /* Private macro, shhhh! */ -#define CUSTOM_INDICATOR_GET_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), CUSTOM_INDICATOR_TYPE, CustomIndicatorPrivate)) +#define APP_INDICATOR_GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), APP_INDICATOR_TYPE, AppIndicatorPrivate)) /* Boiler plate */ -static void custom_indicator_class_init (CustomIndicatorClass *klass); -static void custom_indicator_init (CustomIndicator *self); -static void custom_indicator_dispose (GObject *object); -static void custom_indicator_finalize (GObject *object); +static void app_indicator_class_init (AppIndicatorClass *klass); +static void app_indicator_init (AppIndicator *self); +static void app_indicator_dispose (GObject *object); +static void app_indicator_finalize (GObject *object); /* Property functions */ -static void custom_indicator_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); -static void custom_indicator_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); +static void app_indicator_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); +static void app_indicator_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); /* Other stuff */ -static void check_connect (CustomIndicator * self); +static void check_connect (AppIndicator * self); static void register_service_cb (DBusGProxy * proxy, GError * error, gpointer data); /* GObject type */ -G_DEFINE_TYPE (CustomIndicator, custom_indicator, G_TYPE_OBJECT); +G_DEFINE_TYPE (AppIndicator, app_indicator, G_TYPE_OBJECT); static void -custom_indicator_class_init (CustomIndicatorClass *klass) +app_indicator_class_init (AppIndicatorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - g_type_class_add_private (klass, sizeof (CustomIndicatorPrivate)); + g_type_class_add_private (klass, sizeof (AppIndicatorPrivate)); /* Clean up */ - object_class->dispose = custom_indicator_dispose; - object_class->finalize = custom_indicator_finalize; + object_class->dispose = app_indicator_dispose; + object_class->finalize = app_indicator_finalize; /* Property funcs */ - object_class->set_property = custom_indicator_set_property; - object_class->get_property = custom_indicator_get_property; + object_class->set_property = app_indicator_set_property; + object_class->get_property = app_indicator_get_property; /* Properties */ g_object_class_install_property(object_class, PROP_ID, @@ -133,8 +133,8 @@ custom_indicator_class_init (CustomIndicatorClass *klass) g_param_spec_enum(PROP_CATEGORY_ENUM_S, "Indicator Category", "The type of indicator that this represents. Please don't use 'other'. Defaults to 'Application Status'.", - CUSTOM_INDICATOR_TYPE_INDICATOR_CATEGORY, - CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS, + APP_INDICATOR_TYPE_INDICATOR_CATEGORY, + APP_INDICATOR_CATEGORY_APPLICATION_STATUS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property(object_class, PROP_STATUS, @@ -148,8 +148,8 @@ custom_indicator_class_init (CustomIndicatorClass *klass) g_param_spec_enum(PROP_STATUS_ENUM_S, "Indicator Status", "Whether the indicator is shown or requests attention. Defaults to 'off'.", - CUSTOM_INDICATOR_TYPE_INDICATOR_STATUS, - CUSTOM_INDICATOR_STATUS_PASSIVE, + APP_INDICATOR_TYPE_INDICATOR_STATUS, + APP_INDICATOR_STATUS_PASSIVE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property(object_class, PROP_ICON_NAME, @@ -191,81 +191,81 @@ custom_indicator_class_init (CustomIndicatorClass *klass) /* Signals */ /** - CustomIndicator::new-icon: - @arg0: The #CustomIndicator object + AppIndicator::new-icon: + @arg0: The #AppIndicator object Signaled when there is a new icon set for the object. */ - signals[NEW_ICON] = g_signal_new (CUSTOM_INDICATOR_SIGNAL_NEW_ICON, + signals[NEW_ICON] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_ICON, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomIndicatorClass, new_icon), + G_STRUCT_OFFSET (AppIndicatorClass, new_icon), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0, G_TYPE_NONE); /** - CustomIndicator::new-attention-icon: - @arg0: The #CustomIndicator object + AppIndicator::new-attention-icon: + @arg0: The #AppIndicator object Signaled when there is a new attention icon set for the object. */ - signals[NEW_ATTENTION_ICON] = g_signal_new (CUSTOM_INDICATOR_SIGNAL_NEW_ATTENTION_ICON, + signals[NEW_ATTENTION_ICON] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomIndicatorClass, new_attention_icon), + G_STRUCT_OFFSET (AppIndicatorClass, new_attention_icon), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0, G_TYPE_NONE); /** - CustomIndicator::new-status: - @arg0: The #CustomIndicator object - @arg1: The string value of the #CustomIndicatorStatus enum. + AppIndicator::new-status: + @arg0: The #AppIndicator object + @arg1: The string value of the #AppIndicatorStatus enum. Signaled when the status of the indicator changes. */ - signals[NEW_STATUS] = g_signal_new (CUSTOM_INDICATOR_SIGNAL_NEW_STATUS, + signals[NEW_STATUS] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_STATUS, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomIndicatorClass, new_status), + G_STRUCT_OFFSET (AppIndicatorClass, new_status), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING, G_TYPE_NONE); /** - CustomIndicator::connection-changed: - @arg0: The #CustomIndicator object + AppIndicator::connection-changed: + @arg0: The #AppIndicator object @arg1: Whether we're connected or not Signaled when we connect to a watcher, or when it drops away. */ - signals[CONNECTION_CHANGED] = g_signal_new (CUSTOM_INDICATOR_SIGNAL_CONNECTION_CHANGED, + signals[CONNECTION_CHANGED] = g_signal_new (APP_INDICATOR_SIGNAL_CONNECTION_CHANGED, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CustomIndicatorClass, connection_changed), + G_STRUCT_OFFSET (AppIndicatorClass, connection_changed), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN, G_TYPE_NONE); /* Initialize the object as a DBus type */ - dbus_g_object_type_install_info(CUSTOM_INDICATOR_TYPE, + dbus_g_object_type_install_info(APP_INDICATOR_TYPE, &dbus_glib__notification_item_server_object_info); return; } static void -custom_indicator_init (CustomIndicator *self) +app_indicator_init (AppIndicator *self) { - CustomIndicatorPrivate * priv = CUSTOM_INDICATOR_GET_PRIVATE(self); + AppIndicatorPrivate * priv = APP_INDICATOR_GET_PRIVATE(self); priv->id = NULL; - priv->category = CUSTOM_INDICATOR_CATEGORY_OTHER; - priv->status = CUSTOM_INDICATOR_STATUS_PASSIVE; + priv->category = APP_INDICATOR_CATEGORY_OTHER; + priv->status = APP_INDICATOR_STATUS_PASSIVE; priv->icon_name = NULL; priv->attention_icon_name = NULL; priv->menu = NULL; @@ -277,7 +277,7 @@ custom_indicator_init (CustomIndicator *self) GError * error = NULL; priv->connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error); if (error != NULL) { - g_error("Unable to connect to the session bus when creating custom indicator: %s", error->message); + g_error("Unable to connect to the session bus when creating application indicator: %s", error->message); g_error_free(error); return; } @@ -292,15 +292,15 @@ custom_indicator_init (CustomIndicator *self) /* Free all objects, make sure that all the dbus signals are sent out before we shut this down. */ static void -custom_indicator_dispose (GObject *object) +app_indicator_dispose (GObject *object) { - CustomIndicator * self = CUSTOM_INDICATOR(object); + AppIndicator * self = APP_INDICATOR(object); g_return_if_fail(self != NULL); - CustomIndicatorPrivate * priv = CUSTOM_INDICATOR_GET_PRIVATE(self); + AppIndicatorPrivate * priv = APP_INDICATOR_GET_PRIVATE(self); - if (priv->status != CUSTOM_INDICATOR_STATUS_PASSIVE) { - custom_indicator_set_status(self, CUSTOM_INDICATOR_STATUS_PASSIVE); + if (priv->status != APP_INDICATOR_STATUS_PASSIVE) { + app_indicator_set_status(self, APP_INDICATOR_STATUS_PASSIVE); } if (priv->menu != NULL) { @@ -314,22 +314,22 @@ custom_indicator_dispose (GObject *object) priv->watcher_proxy = NULL; } - G_OBJECT_CLASS (custom_indicator_parent_class)->dispose (object); + G_OBJECT_CLASS (app_indicator_parent_class)->dispose (object); return; } /* Free all of the memory that we could be using in the object. */ static void -custom_indicator_finalize (GObject *object) +app_indicator_finalize (GObject *object) { - CustomIndicator * self = CUSTOM_INDICATOR(object); + AppIndicator * self = APP_INDICATOR(object); g_return_if_fail(self != NULL); - CustomIndicatorPrivate * priv = CUSTOM_INDICATOR_GET_PRIVATE(self); + AppIndicatorPrivate * priv = APP_INDICATOR_GET_PRIVATE(self); - if (priv->status != CUSTOM_INDICATOR_STATUS_PASSIVE) { - g_warning("Finalizing Custom Status with the status set to: %d", priv->status); + if (priv->status != APP_INDICATOR_STATUS_PASSIVE) { + g_warning("Finalizing Application Status with the status set to: %d", priv->status); } if (priv->id != NULL) { @@ -347,7 +347,7 @@ custom_indicator_finalize (GObject *object) priv->attention_icon_name = NULL; } - G_OBJECT_CLASS (custom_indicator_parent_class)->finalize (object); + G_OBJECT_CLASS (app_indicator_parent_class)->finalize (object); return; } @@ -355,12 +355,12 @@ custom_indicator_finalize (GObject *object) /* Set some properties */ static void -custom_indicator_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) +app_indicator_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { - CustomIndicator * self = CUSTOM_INDICATOR(object); + AppIndicator * self = APP_INDICATOR(object); g_return_if_fail(self != NULL); - CustomIndicatorPrivate * priv = CUSTOM_INDICATOR_GET_PRIVATE(self); + AppIndicatorPrivate * priv = APP_INDICATOR_GET_PRIVATE(self); switch (prop_id) { /* *********************** */ @@ -474,12 +474,12 @@ custom_indicator_set_property (GObject * object, guint prop_id, const GValue * v /* Function to fill our value with the property it's requesting. */ static void -custom_indicator_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec) +app_indicator_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec) { - CustomIndicator * self = CUSTOM_INDICATOR(object); + AppIndicator * self = APP_INDICATOR(object); g_return_if_fail(self != NULL); - CustomIndicatorPrivate * priv = CUSTOM_INDICATOR_GET_PRIVATE(self); + AppIndicatorPrivate * priv = APP_INDICATOR_GET_PRIVATE(self); switch (prop_id) { /* *********************** */ @@ -593,9 +593,9 @@ custom_indicator_get_property (GObject * object, guint prop_id, GValue * value, connect to things. If we do, and we're not connected, it connects for us. */ static void -check_connect (CustomIndicator * self) +check_connect (AppIndicator * self) { - CustomIndicatorPrivate * priv = CUSTOM_INDICATOR_GET_PRIVATE(self); + AppIndicatorPrivate * priv = APP_INDICATOR_GET_PRIVATE(self); /* We're alreadying connecting or trying to connect. */ if (priv->watcher_proxy != NULL) return; @@ -607,7 +607,7 @@ check_connect (CustomIndicator * self) GError * error = NULL; priv->watcher_proxy = dbus_g_proxy_new_for_name_owner(priv->connection, - INDICATOR_CUSTOM_DBUS_ADDR, + INDICATOR_APPLICATION_DBUS_ADDR, NOTIFICATION_WATCHER_DBUS_OBJ, NOTIFICATION_WATCHER_DBUS_IFACE, &error); @@ -618,7 +618,7 @@ check_connect (CustomIndicator * self) return; } - org_ayatana_indicator_custom_NotificationWatcher_register_service_async(priv->watcher_proxy, "/need/a/path", register_service_cb, self); + org_ayatana_indicator_application_NotificationWatcher_register_service_async(priv->watcher_proxy, "/need/a/path", register_service_cb, self); return; } @@ -626,7 +626,7 @@ check_connect (CustomIndicator * self) static void register_service_cb (DBusGProxy * proxy, GError * error, gpointer data) { - CustomIndicatorPrivate * priv = CUSTOM_INDICATOR_GET_PRIVATE(data); + AppIndicatorPrivate * priv = APP_INDICATOR_GET_PRIVATE(data); if (error != NULL) { g_warning("Unable to connect to the Notification Watcher: %s", error->message); @@ -642,14 +642,14 @@ register_service_cb (DBusGProxy * proxy, GError * error, gpointer data) /* ************************* */ /** - custom_indicator_set_id: - @ci: The #CustomIndicator object to use + app_indicator_set_id: + @ci: The #AppIndicator object to use @id: ID to set for this indicator - Wrapper function for property #CustomIndicator::id. + Wrapper function for property #AppIndicator::id. */ void -custom_indicator_set_id (CustomIndicator * ci, const gchar * id) +app_indicator_set_id (AppIndicator * ci, const gchar * id) { GValue value = {0}; g_value_init(&value, G_TYPE_STRING); @@ -659,47 +659,47 @@ custom_indicator_set_id (CustomIndicator * ci, const gchar * id) } /** - custom_indicator_set_category: - @ci: The #CustomIndicator object to use + app_indicator_set_category: + @ci: The #AppIndicator object to use @category: The category to set for this indicator - Wrapper function for property #CustomIndicator::category. + Wrapper function for property #AppIndicator::category. */ void -custom_indicator_set_category (CustomIndicator * ci, CustomIndicatorCategory category) +app_indicator_set_category (AppIndicator * ci, AppIndicatorCategory category) { GValue value = {0}; - g_value_init(&value, CUSTOM_INDICATOR_TYPE_INDICATOR_CATEGORY); + g_value_init(&value, APP_INDICATOR_TYPE_INDICATOR_CATEGORY); g_value_set_enum(&value, category); g_object_set_property(G_OBJECT(ci), PROP_CATEGORY_ENUM_S, &value); return; } /** - custom_indicator_set_status: - @ci: The #CustomIndicator object to use + app_indicator_set_status: + @ci: The #AppIndicator object to use @status: The status to set for this indicator - Wrapper function for property #CustomIndicator::status. + Wrapper function for property #AppIndicator::status. */ void -custom_indicator_set_status (CustomIndicator * ci, CustomIndicatorStatus status) +app_indicator_set_status (AppIndicator * ci, AppIndicatorStatus status) { GValue value = {0}; - g_value_init(&value, CUSTOM_INDICATOR_TYPE_INDICATOR_STATUS); + g_value_init(&value, APP_INDICATOR_TYPE_INDICATOR_STATUS); g_value_set_enum(&value, status); g_object_set_property(G_OBJECT(ci), PROP_STATUS_ENUM_S, &value); return; } /** - custom_indicator_set_icon: - @ci: The #CustomIndicator object to use + app_indicator_set_icon: + @ci: The #AppIndicator object to use @icon_name: The name of the icon to set for this indicator - Wrapper function for property #CustomIndicator::icon. + Wrapper function for property #AppIndicator::icon. */ -void custom_indicator_set_icon (CustomIndicator * ci, const gchar * icon_name) +void app_indicator_set_icon (AppIndicator * ci, const gchar * icon_name) { GValue value = {0}; g_value_init(&value, G_TYPE_STRING); @@ -709,14 +709,14 @@ void custom_indicator_set_icon (CustomIndicator * ci, const gchar * icon_name) } /** - custom_indicator_set_attention_icon: - @ci: The #CustomIndicator object to use + app_indicator_set_attention_icon: + @ci: The #AppIndicator object to use @icon_name: The name of the attention icon to set for this indicator - Wrapper function for property #CustomIndicator::attention-icon. + Wrapper function for property #AppIndicator::attention-icon. */ void -custom_indicator_set_attention_icon (CustomIndicator * ci, const gchar * icon_name) +app_indicator_set_attention_icon (AppIndicator * ci, const gchar * icon_name) { GValue value = {0}; g_value_init(&value, G_TYPE_STRING); @@ -726,14 +726,14 @@ custom_indicator_set_attention_icon (CustomIndicator * ci, const gchar * icon_na } /** - custom_indicator_set_menu: - @ci: The #CustomIndicator object to use + app_indicator_set_menu: + @ci: The #AppIndicator object to use @menu: The object with the menu for the indicator - Wrapper function for property #CustomIndicator::menu. + Wrapper function for property #AppIndicator::menu. */ void -custom_indicator_set_menu (CustomIndicator * ci, DbusmenuServer * menu) +app_indicator_set_menu (AppIndicator * ci, DbusmenuServer * menu) { GValue value = {0}; g_value_init(&value, G_TYPE_OBJECT); @@ -743,15 +743,15 @@ custom_indicator_set_menu (CustomIndicator * ci, DbusmenuServer * menu) } /** - custom_indicator_get_id: - @ci: The #CustomIndicator object to use + app_indicator_get_id: + @ci: The #AppIndicator object to use - Wrapper function for property #CustomIndicator::id. + Wrapper function for property #AppIndicator::id. Return value: The current ID */ const gchar * -custom_indicator_get_id (CustomIndicator * ci) +app_indicator_get_id (AppIndicator * ci) { GValue value = {0}; g_value_init(&value, G_TYPE_STRING); @@ -760,49 +760,49 @@ custom_indicator_get_id (CustomIndicator * ci) } /** - custom_indicator_get_category: - @ci: The #CustomIndicator object to use + app_indicator_get_category: + @ci: The #AppIndicator object to use - Wrapper function for property #CustomIndicator::category. + Wrapper function for property #AppIndicator::category. Return value: The current category. */ -CustomIndicatorCategory -custom_indicator_get_category (CustomIndicator * ci) +AppIndicatorCategory +app_indicator_get_category (AppIndicator * ci) { GValue value = {0}; - g_value_init(&value, CUSTOM_INDICATOR_TYPE_INDICATOR_CATEGORY); + g_value_init(&value, APP_INDICATOR_TYPE_INDICATOR_CATEGORY); g_object_get_property(G_OBJECT(ci), PROP_CATEGORY_ENUM_S, &value); return g_value_get_enum(&value); } /** - custom_indicator_get_status: - @ci: The #CustomIndicator object to use + app_indicator_get_status: + @ci: The #AppIndicator object to use - Wrapper function for property #CustomIndicator::status. + Wrapper function for property #AppIndicator::status. Return value: The current status. */ -CustomIndicatorStatus -custom_indicator_get_status (CustomIndicator * ci) +AppIndicatorStatus +app_indicator_get_status (AppIndicator * ci) { GValue value = {0}; - g_value_init(&value, CUSTOM_INDICATOR_TYPE_INDICATOR_STATUS); + g_value_init(&value, APP_INDICATOR_TYPE_INDICATOR_STATUS); g_object_get_property(G_OBJECT(ci), PROP_STATUS_ENUM_S, &value); return g_value_get_enum(&value); } /** - custom_indicator_get_icon: - @ci: The #CustomIndicator object to use + app_indicator_get_icon: + @ci: The #AppIndicator object to use - Wrapper function for property #CustomIndicator::icon-name. + Wrapper function for property #AppIndicator::icon-name. Return value: The current icon name. */ const gchar * -custom_indicator_get_icon (CustomIndicator * ci) +app_indicator_get_icon (AppIndicator * ci) { GValue value = {0}; g_value_init(&value, G_TYPE_STRING); @@ -811,15 +811,15 @@ custom_indicator_get_icon (CustomIndicator * ci) } /** - custom_indicator_get_attention_icon: - @ci: The #CustomIndicator object to use + app_indicator_get_attention_icon: + @ci: The #AppIndicator object to use - Wrapper function for property #CustomIndicator::attention-icon-name. + Wrapper function for property #AppIndicator::attention-icon-name. Return value: The current attention icon name. */ const gchar * -custom_indicator_get_attention_icon (CustomIndicator * ci) +app_indicator_get_attention_icon (AppIndicator * ci) { GValue value = {0}; g_value_init(&value, G_TYPE_STRING); @@ -828,15 +828,15 @@ custom_indicator_get_attention_icon (CustomIndicator * ci) } /** - custom_indicator_get_menu: - @ci: The #CustomIndicator object to use + app_indicator_get_menu: + @ci: The #AppIndicator object to use - Wrapper function for property #CustomIndicator::menu. + Wrapper function for property #AppIndicator::menu. Return value: The current menu being used. */ DbusmenuServer * -custom_indicator_get_menu (CustomIndicator * ci) +app_indicator_get_menu (AppIndicator * ci) { GValue value = {0}; g_value_init(&value, G_TYPE_OBJECT); diff --git a/src/libappindicator/app-indicator.h b/src/libappindicator/app-indicator.h new file mode 100644 index 0000000..c86d638 --- /dev/null +++ b/src/libappindicator/app-indicator.h @@ -0,0 +1,142 @@ +#ifndef __APP_INDICATOR_H__ +#define __APP_INDICATOR_H__ + +#include <glib.h> +#include <glib-object.h> +#include <libdbusmenu-glib/server.h> + +G_BEGIN_DECLS + +#define APP_INDICATOR_TYPE (app_indicator_get_type ()) +#define APP_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), APP_INDICATOR_TYPE, AppIndicator)) +#define APP_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), APP_INDICATOR_TYPE, AppIndicatorClass)) +#define IS_APP_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), APP_INDICATOR_TYPE)) +#define IS_APP_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), APP_INDICATOR_TYPE)) +#define APP_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), APP_INDICATOR_TYPE, AppIndicatorClass)) + +#define APP_INDICATOR_SIGNAL_NEW_ICON "new-icon" +#define APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON "new-attention-icon" +#define APP_INDICATOR_SIGNAL_NEW_STATUS "new-status" +#define APP_INDICATOR_SIGNAL_CONNECTION_CHANGED "connection-changed" + +/** + AppIndicatorCategory: + @APP_INDICATOR_CATEGORY_APPLICATION_STATUS: The indicator is used to display the status of the application. + @APP_INDICATOR_CATEGORY_COMMUNICATIONS: The application is used for communication with other people. + @APP_INDICATOR_CATEGORY_SYSTEM_SERVICES: A system indicator relating to something in the user's system. + @APP_INDICATOR_CATEGORY_HARDWARE: An indicator relating to the user's hardware. + @APP_INDICATOR_CATEGORY_OTHER: Something not defined in this enum, please don't use unless you really need it. + + The category provides grouping for the indicators so that + users can find indicators that are similar together. +*/ +typedef enum { /*< prefix=APP_INDICATOR_CATEGORY >*/ + APP_INDICATOR_CATEGORY_APPLICATION_STATUS, + APP_INDICATOR_CATEGORY_COMMUNICATIONS, + APP_INDICATOR_CATEGORY_SYSTEM_SERVICES, + APP_INDICATOR_CATEGORY_HARDWARE, + APP_INDICATOR_CATEGORY_OTHER +} AppIndicatorCategory; + +/** + AppIndicatorStatus: + @APP_INDICATOR_STATUS_PASSIVE: The indicator should not be shown to the user. + @APP_INDICATOR_STATUS_ACTIVE: The indicator should be shown in it's default state. + @APP_INDICATOR_STATUS_ATTENTION: The indicator should show it's attention icon. + + These are the states that the indicator can be on in + the user's panel. The indicator by default starts + in the state @APP_INDICATOR_STATUS_OFF and can be + shown by setting it to @APP_INDICATOR_STATUS_ON. +*/ +typedef enum { /*< prefix=APP_INDICATOR_STATUS >*/ + APP_INDICATOR_STATUS_PASSIVE, + APP_INDICATOR_STATUS_ACTIVE, + APP_INDICATOR_STATUS_ATTENTION +} AppIndicatorStatus; + +typedef struct _AppIndicator AppIndicator; +typedef struct _AppIndicatorClass AppIndicatorClass; + +/** + AppIndicatorClass: + @parent_class: Mia familia + @new_icon: Slot for #AppIndicator::new-icon. + @new_attention_icon: Slot for #AppIndicator::new-attention-icon. + @new_status: Slot for #AppIndicator::new-status. + @connection_changed: Slot for #AppIndicator::connection-changed. + @app_indicator_reserved_1: Reserved for future use. + @app_indicator_reserved_2: Reserved for future use. + @app_indicator_reserved_3: Reserved for future use. + @app_indicator_reserved_4: Reserved for future use. + + The signals and external functions that make up the #AppIndicator + class object. +*/ +struct _AppIndicatorClass { + /* Parent */ + GObjectClass parent_class; + + /* DBus Signals */ + void (* new_icon) (AppIndicator * indicator, + gpointer user_data); + void (* new_attention_icon) (AppIndicator * indicator, + gpointer user_data); + void (* new_status) (AppIndicator * indicator, + gchar * status_string, + gpointer user_data); + + /* Local Signals */ + void (* connection_changed) (AppIndicator * indicator, + gboolean connected, + gpointer user_data); + + /* Reserved */ + void (*app_indicator_reserved_1)(void); + void (*app_indicator_reserved_2)(void); + void (*app_indicator_reserved_3)(void); + void (*app_indicator_reserved_4)(void); +}; + +/** + AppIndicator: + @parent: Parent object. + + A application indicator represents the values that are needed to show a + unique status in the panel for an application. In general, applications + should try to fit in the other indicators that are available on the + panel before using this. But, sometimes it is necissary. +*/ +struct _AppIndicator { + GObject parent; + /* None. We're a very private object. */ +}; + +/* GObject Stuff */ +GType app_indicator_get_type (void); + +/* Set properties */ +void app_indicator_set_id (AppIndicator * ci, + const gchar * id); +void app_indicator_set_category (AppIndicator * ci, + AppIndicatorCategory category); +void app_indicator_set_status (AppIndicator * ci, + AppIndicatorStatus status); +void app_indicator_set_icon (AppIndicator * ci, + const gchar * icon_name); +void app_indicator_set_attention_icon (AppIndicator * ci, + const gchar * icon_name); +void app_indicator_set_menu (AppIndicator * ci, + DbusmenuServer * menu); + +/* Get properties */ +const gchar * app_indicator_get_id (AppIndicator * ci); +AppIndicatorCategory app_indicator_get_category (AppIndicator * ci); +AppIndicatorStatus app_indicator_get_status (AppIndicator * ci); +const gchar * app_indicator_get_icon (AppIndicator * ci); +const gchar * app_indicator_get_attention_icon (AppIndicator * ci); +DbusmenuServer * app_indicator_get_menu (AppIndicator * ci); + +G_END_DECLS + +#endif diff --git a/src/libcustomindicator/custom-indicator.h b/src/libcustomindicator/custom-indicator.h deleted file mode 100644 index 2e9045c..0000000 --- a/src/libcustomindicator/custom-indicator.h +++ /dev/null @@ -1,142 +0,0 @@ -#ifndef __CUSTOM_INDICATOR_H__ -#define __CUSTOM_INDICATOR_H__ - -#include <glib.h> -#include <glib-object.h> -#include <libdbusmenu-glib/server.h> - -G_BEGIN_DECLS - -#define CUSTOM_INDICATOR_TYPE (custom_indicator_get_type ()) -#define CUSTOM_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CUSTOM_INDICATOR_TYPE, CustomIndicator)) -#define CUSTOM_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CUSTOM_INDICATOR_TYPE, CustomIndicatorClass)) -#define IS_CUSTOM_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CUSTOM_INDICATOR_TYPE)) -#define IS_CUSTOM_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CUSTOM_INDICATOR_TYPE)) -#define CUSTOM_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CUSTOM_INDICATOR_TYPE, CustomIndicatorClass)) - -#define CUSTOM_INDICATOR_SIGNAL_NEW_ICON "new-icon" -#define CUSTOM_INDICATOR_SIGNAL_NEW_ATTENTION_ICON "new-attention-icon" -#define CUSTOM_INDICATOR_SIGNAL_NEW_STATUS "new-status" -#define CUSTOM_INDICATOR_SIGNAL_CONNECTION_CHANGED "connection-changed" - -/** - CustomIndicatorCategory: - @CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS: The indicator is used to display the status of the application. - @CUSTOM_INDICATOR_CATEGORY_COMMUNICATIONS: The application is used for communication with other people. - @CUSTOM_INDICATOR_CATEGORY_SYSTEM_SERVICES: A system indicator relating to something in the user's system. - @CUSTOM_INDICATOR_CATEGORY_HARDWARE: An indicator relating to the user's hardware. - @CUSTOM_INDICATOR_CATEGORY_OTHER: Something not defined in this enum, please don't use unless you really need it. - - The category provides grouping for the indicators so that - users can find indicators that are similar together. -*/ -typedef enum { /*< prefix=CUSTOM_INDICATOR_CATEGORY >*/ - CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS, - CUSTOM_INDICATOR_CATEGORY_COMMUNICATIONS, - CUSTOM_INDICATOR_CATEGORY_SYSTEM_SERVICES, - CUSTOM_INDICATOR_CATEGORY_HARDWARE, - CUSTOM_INDICATOR_CATEGORY_OTHER -} CustomIndicatorCategory; - -/** - CustomIndicatorStatus: - @CUSTOM_INDICATOR_STATUS_PASSIVE: The indicator should not be shown to the user. - @CUSTOM_INDICATOR_STATUS_ACTIVE: The indicator should be shown in it's default state. - @CUSTOM_INDICATOR_STATUS_ATTENTION: The indicator should show it's attention icon. - - These are the states that the indicator can be on in - the user's panel. The indicator by default starts - in the state @CUSTOM_INDICATOR_STATUS_OFF and can be - shown by setting it to @CUSTOM_INDICATOR_STATUS_ON. -*/ -typedef enum { /*< prefix=CUSTOM_INDICATOR_STATUS >*/ - CUSTOM_INDICATOR_STATUS_PASSIVE, - CUSTOM_INDICATOR_STATUS_ACTIVE, - CUSTOM_INDICATOR_STATUS_ATTENTION -} CustomIndicatorStatus; - -typedef struct _CustomIndicator CustomIndicator; -typedef struct _CustomIndicatorClass CustomIndicatorClass; - -/** - CustomIndicatorClass: - @parent_class: Mia familia - @new_icon: Slot for #CustomIndicator::new-icon. - @new_attention_icon: Slot for #CustomIndicator::new-attention-icon. - @new_status: Slot for #CustomIndicator::new-status. - @connection_changed: Slot for #CustomIndicator::connection-changed. - @custom_indicator_reserved_1: Reserved for future use. - @custom_indicator_reserved_2: Reserved for future use. - @custom_indicator_reserved_3: Reserved for future use. - @custom_indicator_reserved_4: Reserved for future use. - - The signals and external functions that make up the #CustomIndicator - class object. -*/ -struct _CustomIndicatorClass { - /* Parent */ - GObjectClass parent_class; - - /* DBus Signals */ - void (* new_icon) (CustomIndicator * indicator, - gpointer user_data); - void (* new_attention_icon) (CustomIndicator * indicator, - gpointer user_data); - void (* new_status) (CustomIndicator * indicator, - gchar * status_string, - gpointer user_data); - - /* Local Signals */ - void (* connection_changed) (CustomIndicator * indicator, - gboolean connected, - gpointer user_data); - - /* Reserved */ - void (*custom_indicator_reserved_1)(void); - void (*custom_indicator_reserved_2)(void); - void (*custom_indicator_reserved_3)(void); - void (*custom_indicator_reserved_4)(void); -}; - -/** - CustomIndicator: - @parent: Parent object. - - A custom indicator represents the values that are needed to show a - unique status in the panel for an application. In general, applications - should try to fit in the other indicators that are available on the - panel before using this. But, sometimes it is necissary. -*/ -struct _CustomIndicator { - GObject parent; - /* None. We're a very private object. */ -}; - -/* GObject Stuff */ -GType custom_indicator_get_type (void); - -/* Set properties */ -void custom_indicator_set_id (CustomIndicator * ci, - const gchar * id); -void custom_indicator_set_category (CustomIndicator * ci, - CustomIndicatorCategory category); -void custom_indicator_set_status (CustomIndicator * ci, - CustomIndicatorStatus status); -void custom_indicator_set_icon (CustomIndicator * ci, - const gchar * icon_name); -void custom_indicator_set_attention_icon (CustomIndicator * ci, - const gchar * icon_name); -void custom_indicator_set_menu (CustomIndicator * ci, - DbusmenuServer * menu); - -/* Get properties */ -const gchar * custom_indicator_get_id (CustomIndicator * ci); -CustomIndicatorCategory custom_indicator_get_category (CustomIndicator * ci); -CustomIndicatorStatus custom_indicator_get_status (CustomIndicator * ci); -const gchar * custom_indicator_get_icon (CustomIndicator * ci); -const gchar * custom_indicator_get_attention_icon (CustomIndicator * ci); -DbusmenuServer * custom_indicator_get_menu (CustomIndicator * ci); - -G_END_DECLS - -#endif diff --git a/src/notification-item.xml b/src/notification-item.xml index f3a4792..c28cc54 100644 --- a/src/notification-item.xml +++ b/src/notification-item.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <node name="/"> - <interface name="org.ayatana.indicator.custom.NotificationItem"> + <interface name="org.ayatana.indicator.application.NotificationItem"> <!-- Properties --> <property name="Id" type="s" access="read" /> diff --git a/src/notification-watcher.xml b/src/notification-watcher.xml index 7b034e7..2ef54a0 100644 --- a/src/notification-watcher.xml +++ b/src/notification-watcher.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <node name="/"> - <interface name="org.ayatana.indicator.custom.NotificationWatcher"> + <interface name="org.ayatana.indicator.application.NotificationWatcher"> <!-- Properties --> <!-- None currently --> diff --git a/tests/Makefile.am b/tests/Makefile.am index 0b771db..845b41c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,92 +1,92 @@ check_PROGRAMS = \ - test-libcustomindicator \ - test-libcustomindicator-dbus-client \ - test-libcustomindicator-dbus-server \ + test-libappindicator \ + test-libappindicator-dbus-client \ + test-libappindicator-dbus-server \ test-simple-app TESTS = DISTCLEANFILES = $(TESTS) ######################################### -## test-libcustomindicator +## test-libappindicator ######################################### -test_libcustomindicator_SOURCES = \ - test-libcustomindicator.c +test_libappindicator_SOURCES = \ + test-libappindicator.c -test_libcustomindicator_CFLAGS = \ +test_libappindicator_CFLAGS = \ $(INDICATOR_CFLAGS) \ -Wall -Werror \ -I$(top_srcdir)/src -test_libcustomindicator_LDADD = \ +test_libappindicator_LDADD = \ $(INDICATOR_LIBS) \ - $(top_builddir)/src/libcustomindicator.la + $(top_builddir)/src/libappindicator.la ######################################### -## test-libcustomindicator-dbus-client +## test-libappindicator-dbus-client ######################################### -test_libcustomindicator_dbus_client_SOURCES = \ +test_libappindicator_dbus_client_SOURCES = \ test-defines.h \ - test-libcustomindicator-dbus-client.c + test-libappindicator-dbus-client.c -test_libcustomindicator_dbus_client_CFLAGS = \ +test_libappindicator_dbus_client_CFLAGS = \ $(INDICATOR_CFLAGS) \ -Wall -Werror \ -I$(top_srcdir)/src -test_libcustomindicator_dbus_client_LDADD = \ +test_libappindicator_dbus_client_LDADD = \ $(INDICATOR_LIBS) \ - $(top_builddir)/src/libcustomindicator.la + $(top_builddir)/src/libappindicator.la ######################################### -## test-libcustomindicator-dbus-server +## test-libappindicator-dbus-server ######################################### -test_libcustomindicator_dbus_server_SOURCES = \ +test_libappindicator_dbus_server_SOURCES = \ test-defines.h \ - test-libcustomindicator-dbus-server.c + test-libappindicator-dbus-server.c -test_libcustomindicator_dbus_server_CFLAGS = \ +test_libappindicator_dbus_server_CFLAGS = \ $(INDICATOR_CFLAGS) \ -Wall -Werror \ -I$(top_srcdir)/src -test_libcustomindicator_dbus_server_LDADD = \ +test_libappindicator_dbus_server_LDADD = \ $(INDICATOR_LIBS) \ - $(top_builddir)/src/libcustomindicator.la + $(top_builddir)/src/libappindicator.la ######################################### ## Actual tests ######################################### -XML_REPORT = libcustomindicator-check-results.xml -HTML_REPORT = libcustomindicator-check-results.html +XML_REPORT = libappindicator-check-results.xml +HTML_REPORT = libappindicator-check-results.html -libcustomindicator-tests: libcustomindicator-tests-gtester Makefile.am +libappindicator-tests: libappindicator-tests-gtester Makefile.am @echo "#!/bin/sh" > $@ - @echo $(DBUS_RUNNER) --task ./libcustomindicator-tests-gtester >> $@ + @echo $(DBUS_RUNNER) --task ./libappindicator-tests-gtester >> $@ @chmod +x $@ -libcustomindicator-tests-gtester: test-libcustomindicator Makefile.am +libappindicator-tests-gtester: test-libappindicator Makefile.am @echo "#!/bin/sh" > $@ - @echo gtester -k --verbose -o=$(XML_REPORT) ./test-libcustomindicator >> $@ + @echo gtester -k --verbose -o=$(XML_REPORT) ./test-libappindicator >> $@ @chmod +x $@ -TESTS += libcustomindicator-tests -DISTCLEANFILES += $(XML_REPORT) $(HTML_REPORT) libcustomindicator-tests-gtester +TESTS += libappindicator-tests +DISTCLEANFILES += $(XML_REPORT) $(HTML_REPORT) libappindicator-tests-gtester DBUS_RUNNER=dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf -test-libcustomindicator-dbus: test-libcustomindicator-dbus-client test-libcustomindicator-dbus-server Makefile.am - @echo "#!/bin/sh" > test-libcustomindicator-dbus - @echo $(DBUS_RUNNER) --task ./test-libcustomindicator-dbus-client --task-name Client --task ./test-libcustomindicator-dbus-server --task-name Server --ignore-return >> test-libcustomindicator-dbus - @chmod +x test-libcustomindicator-dbus +test-libappindicator-dbus: test-libappindicator-dbus-client test-libappindicator-dbus-server Makefile.am + @echo "#!/bin/sh" > test-libappindicator-dbus + @echo $(DBUS_RUNNER) --task ./test-libappindicator-dbus-client --task-name Client --task ./test-libappindicator-dbus-server --task-name Server --ignore-return >> test-libappindicator-dbus + @chmod +x test-libappindicator-dbus -TESTS += test-libcustomindicator-dbus +TESTS += test-libappindicator-dbus ######################################### ## test-simple-app @@ -102,5 +102,5 @@ test_simple_app_CFLAGS = \ test_simple_app_LDADD = \ $(INDICATOR_LIBS) \ - $(top_builddir)/src/libcustomindicator.la + $(top_builddir)/src/libappindicator.la diff --git a/tests/test-defines.h b/tests/test-defines.h index 9d1fc26..11e7a24 100644 --- a/tests/test-defines.h +++ b/tests/test-defines.h @@ -2,9 +2,9 @@ #define TEST_ID "my-id" #define TEST_ICON_NAME "my-icon-name" #define TEST_ATTENTION_ICON_NAME "my-attention-icon-name" -#define TEST_STATE CUSTOM_INDICATOR_STATUS_ACTIVE +#define TEST_STATE APP_INDICATOR_STATUS_ACTIVE #define TEST_STATE_S "active" -#define TEST_CATEGORY CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS +#define TEST_CATEGORY APP_INDICATOR_CATEGORY_APPLICATION_STATUS #define TEST_CATEGORY_S "application-status" #define TEST_OBJECT "/an/object/path/to/use" diff --git a/tests/test-libcustomindicator-dbus-client.c b/tests/test-libappindicator-dbus-client.c index e0203c0..f8ed4b3 100644 --- a/tests/test-libcustomindicator-dbus-client.c +++ b/tests/test-libappindicator-dbus-client.c @@ -1,7 +1,7 @@ #include <glib.h> #include <dbus/dbus-glib.h> -#include <libcustomindicator/custom-indicator.h> +#include <libappindicator/app-indicator.h> #include "test-defines.h" static GMainLoop * mainloop = NULL; @@ -217,42 +217,42 @@ main (gint argc, gchar * argv[]) "Get", prop_id_cb, NULL, NULL, - G_TYPE_STRING, "org.ayatana.indicator.custom.NotificationItem", + G_TYPE_STRING, "org.ayatana.indicator.application.NotificationItem", G_TYPE_STRING, "Id", G_TYPE_INVALID); dbus_g_proxy_begin_call (props, "Get", prop_category_cb, NULL, NULL, - G_TYPE_STRING, "org.ayatana.indicator.custom.NotificationItem", + G_TYPE_STRING, "org.ayatana.indicator.application.NotificationItem", G_TYPE_STRING, "Category", G_TYPE_INVALID); dbus_g_proxy_begin_call (props, "Get", prop_status_cb, NULL, NULL, - G_TYPE_STRING, "org.ayatana.indicator.custom.NotificationItem", + G_TYPE_STRING, "org.ayatana.indicator.application.NotificationItem", G_TYPE_STRING, "Status", G_TYPE_INVALID); dbus_g_proxy_begin_call (props, "Get", prop_icon_name_cb, NULL, NULL, - G_TYPE_STRING, "org.ayatana.indicator.custom.NotificationItem", + G_TYPE_STRING, "org.ayatana.indicator.application.NotificationItem", G_TYPE_STRING, "IconName", G_TYPE_INVALID); dbus_g_proxy_begin_call (props, "Get", prop_attention_icon_name_cb, NULL, NULL, - G_TYPE_STRING, "org.ayatana.indicator.custom.NotificationItem", + G_TYPE_STRING, "org.ayatana.indicator.application.NotificationItem", G_TYPE_STRING, "AttentionIconName", G_TYPE_INVALID); dbus_g_proxy_begin_call (props, "Get", prop_menu_cb, NULL, NULL, - G_TYPE_STRING, "org.ayatana.indicator.custom.NotificationItem", + G_TYPE_STRING, "org.ayatana.indicator.application.NotificationItem", G_TYPE_STRING, "Menu", G_TYPE_INVALID); diff --git a/tests/test-libappindicator-dbus-server.c b/tests/test-libappindicator-dbus-server.c new file mode 100644 index 0000000..f7b8d9f --- /dev/null +++ b/tests/test-libappindicator-dbus-server.c @@ -0,0 +1,44 @@ + +#include <dbus/dbus-glib.h> +#include <dbus/dbus-glib-lowlevel.h> +#include <glib.h> +#include <libappindicator/app-indicator.h> +#include "test-defines.h" + +static GMainLoop * mainloop = NULL; + +gboolean +kill_func (gpointer userdata) +{ + g_main_loop_quit(mainloop); + return FALSE; +} + +gint +main (gint argc, gchar * argv[]) +{ + g_type_init(); + + g_debug("DBus ID: %s", dbus_connection_get_server_id(dbus_g_connection_get_connection(dbus_g_bus_get(DBUS_BUS_SESSION, NULL)))); + + DbusmenuServer * dms = dbusmenu_server_new(TEST_OBJECT); + + AppIndicator * ci = APP_INDICATOR(g_object_new(APP_INDICATOR_TYPE, + "id", TEST_ID, + "category-enum", TEST_CATEGORY, + "status-enum", TEST_STATE, + "icon-name", TEST_ICON_NAME, + "attention-icon-name", TEST_ATTENTION_ICON_NAME, + "menu-object", dms, + NULL)); + + g_timeout_add_seconds(2, kill_func, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + g_object_unref(G_OBJECT(ci)); + g_debug("Quiting"); + + return 0; +} diff --git a/tests/test-libappindicator.c b/tests/test-libappindicator.c new file mode 100644 index 0000000..1d7c920 --- /dev/null +++ b/tests/test-libappindicator.c @@ -0,0 +1,163 @@ + +#include <glib.h> +#include <glib-object.h> + +#include <libappindicator/app-indicator.h> + +void +test_libappindicator_prop_signals_status_helper (AppIndicator * ci, gchar * status, gboolean * signalactivated) +{ + *signalactivated = TRUE; + return; +} + +void +test_libappindicator_prop_signals_helper (AppIndicator * ci, gboolean * signalactivated) +{ + *signalactivated = TRUE; + return; +} + +void +test_libappindicator_prop_signals (void) +{ + AppIndicator * ci = APP_INDICATOR(g_object_new(APP_INDICATOR_TYPE, NULL)); + g_assert(ci != NULL); + + gboolean signaled = FALSE; + gulong handlerid; + + handlerid = 0; + handlerid = g_signal_connect(G_OBJECT(ci), "new-icon", G_CALLBACK(test_libappindicator_prop_signals_helper), &signaled); + g_assert(handlerid != 0); + + handlerid = 0; + handlerid = g_signal_connect(G_OBJECT(ci), "new-attention-icon", G_CALLBACK(test_libappindicator_prop_signals_helper), &signaled); + g_assert(handlerid != 0); + + handlerid = 0; + handlerid = g_signal_connect(G_OBJECT(ci), "new-status", G_CALLBACK(test_libappindicator_prop_signals_status_helper), &signaled); + g_assert(handlerid != 0); + + + signaled = FALSE; + app_indicator_set_icon(ci, "bob"); + g_assert(signaled); + + signaled = FALSE; + app_indicator_set_icon(ci, "bob"); + g_assert(!signaled); + + signaled = FALSE; + app_indicator_set_icon(ci, "al"); + g_assert(signaled); + + + signaled = FALSE; + app_indicator_set_attention_icon(ci, "bob"); + g_assert(signaled); + + signaled = FALSE; + app_indicator_set_attention_icon(ci, "bob"); + g_assert(!signaled); + + signaled = FALSE; + app_indicator_set_attention_icon(ci, "al"); + g_assert(signaled); + + + signaled = FALSE; + app_indicator_set_status(ci, APP_INDICATOR_STATUS_PASSIVE); + g_assert(!signaled); + + signaled = FALSE; + app_indicator_set_status(ci, APP_INDICATOR_STATUS_ACTIVE); + g_assert(signaled); + + signaled = FALSE; + app_indicator_set_status(ci, APP_INDICATOR_STATUS_ACTIVE); + g_assert(!signaled); + + signaled = FALSE; + app_indicator_set_status(ci, APP_INDICATOR_STATUS_ATTENTION); + g_assert(signaled); + + return; +} + +void +test_libappindicator_init_set_props (void) +{ + AppIndicator * ci = APP_INDICATOR(g_object_new(APP_INDICATOR_TYPE, NULL)); + g_assert(ci != NULL); + + app_indicator_set_id(ci, "my-id"); + app_indicator_set_category(ci, APP_INDICATOR_CATEGORY_APPLICATION_STATUS); + app_indicator_set_status(ci, APP_INDICATOR_STATUS_ACTIVE); + app_indicator_set_icon(ci, "my-name"); + app_indicator_set_attention_icon(ci, "my-attention-name"); + + g_assert(!g_strcmp0("my-id", app_indicator_get_id(ci))); + g_assert(!g_strcmp0("my-name", app_indicator_get_icon(ci))); + g_assert(!g_strcmp0("my-attention-name", app_indicator_get_attention_icon(ci))); + g_assert(app_indicator_get_status(ci) == APP_INDICATOR_STATUS_ACTIVE); + g_assert(app_indicator_get_category(ci) == APP_INDICATOR_CATEGORY_APPLICATION_STATUS); + + g_object_unref(G_OBJECT(ci)); + return; +} + +void +test_libappindicator_init_with_props (void) +{ + AppIndicator * ci = APP_INDICATOR(g_object_new(APP_INDICATOR_TYPE, + "id", "my-id", + "category-enum", APP_INDICATOR_CATEGORY_APPLICATION_STATUS, + "status-enum", APP_INDICATOR_STATUS_ACTIVE, + "icon-name", "my-name", + "attention-icon-name", "my-attention-name", + NULL)); + g_assert(ci != NULL); + + g_assert(!g_strcmp0("my-id", app_indicator_get_id(ci))); + g_assert(!g_strcmp0("my-name", app_indicator_get_icon(ci))); + g_assert(!g_strcmp0("my-attention-name", app_indicator_get_attention_icon(ci))); + g_assert(app_indicator_get_status(ci) == APP_INDICATOR_STATUS_ACTIVE); + g_assert(app_indicator_get_category(ci) == APP_INDICATOR_CATEGORY_APPLICATION_STATUS); + + g_object_unref(G_OBJECT(ci)); + return; +} + +void +test_libappindicator_init (void) +{ + AppIndicator * ci = APP_INDICATOR(g_object_new(APP_INDICATOR_TYPE, NULL)); + g_assert(ci != NULL); + g_object_unref(G_OBJECT(ci)); + return; +} + +void +test_libappindicator_props_suite (void) +{ + g_test_add_func ("/indicator-application/libappindicator/init", test_libappindicator_init); + g_test_add_func ("/indicator-application/libappindicator/init_props", test_libappindicator_init_with_props); + g_test_add_func ("/indicator-application/libappindicator/init_set_props", test_libappindicator_init_set_props); + g_test_add_func ("/indicator-application/libappindicator/prop_signals", test_libappindicator_prop_signals); + + return; +} + +gint +main (gint argc, gchar * argv[]) +{ + g_type_init(); + g_test_init(&argc, &argv, NULL); + + /* Test suites */ + test_libappindicator_props_suite(); + + + return g_test_run (); +} diff --git a/tests/test-libcustomindicator-dbus-server.c b/tests/test-libcustomindicator-dbus-server.c deleted file mode 100644 index 2d61776..0000000 --- a/tests/test-libcustomindicator-dbus-server.c +++ /dev/null @@ -1,44 +0,0 @@ - -#include <dbus/dbus-glib.h> -#include <dbus/dbus-glib-lowlevel.h> -#include <glib.h> -#include <libcustomindicator/custom-indicator.h> -#include "test-defines.h" - -static GMainLoop * mainloop = NULL; - -gboolean -kill_func (gpointer userdata) -{ - g_main_loop_quit(mainloop); - return FALSE; -} - -gint -main (gint argc, gchar * argv[]) -{ - g_type_init(); - - g_debug("DBus ID: %s", dbus_connection_get_server_id(dbus_g_connection_get_connection(dbus_g_bus_get(DBUS_BUS_SESSION, NULL)))); - - DbusmenuServer * dms = dbusmenu_server_new(TEST_OBJECT); - - CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, - "id", TEST_ID, - "category-enum", TEST_CATEGORY, - "status-enum", TEST_STATE, - "icon-name", TEST_ICON_NAME, - "attention-icon-name", TEST_ATTENTION_ICON_NAME, - "menu-object", dms, - NULL)); - - g_timeout_add_seconds(2, kill_func, NULL); - - mainloop = g_main_loop_new(NULL, FALSE); - g_main_loop_run(mainloop); - - g_object_unref(G_OBJECT(ci)); - g_debug("Quiting"); - - return 0; -} diff --git a/tests/test-libcustomindicator.c b/tests/test-libcustomindicator.c deleted file mode 100644 index c4342e8..0000000 --- a/tests/test-libcustomindicator.c +++ /dev/null @@ -1,163 +0,0 @@ - -#include <glib.h> -#include <glib-object.h> - -#include <libcustomindicator/custom-indicator.h> - -void -test_libcustomindicator_prop_signals_status_helper (CustomIndicator * ci, gchar * status, gboolean * signalactivated) -{ - *signalactivated = TRUE; - return; -} - -void -test_libcustomindicator_prop_signals_helper (CustomIndicator * ci, gboolean * signalactivated) -{ - *signalactivated = TRUE; - return; -} - -void -test_libcustomindicator_prop_signals (void) -{ - CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, NULL)); - g_assert(ci != NULL); - - gboolean signaled = FALSE; - gulong handlerid; - - handlerid = 0; - handlerid = g_signal_connect(G_OBJECT(ci), "new-icon", G_CALLBACK(test_libcustomindicator_prop_signals_helper), &signaled); - g_assert(handlerid != 0); - - handlerid = 0; - handlerid = g_signal_connect(G_OBJECT(ci), "new-attention-icon", G_CALLBACK(test_libcustomindicator_prop_signals_helper), &signaled); - g_assert(handlerid != 0); - - handlerid = 0; - handlerid = g_signal_connect(G_OBJECT(ci), "new-status", G_CALLBACK(test_libcustomindicator_prop_signals_status_helper), &signaled); - g_assert(handlerid != 0); - - - signaled = FALSE; - custom_indicator_set_icon(ci, "bob"); - g_assert(signaled); - - signaled = FALSE; - custom_indicator_set_icon(ci, "bob"); - g_assert(!signaled); - - signaled = FALSE; - custom_indicator_set_icon(ci, "al"); - g_assert(signaled); - - - signaled = FALSE; - custom_indicator_set_attention_icon(ci, "bob"); - g_assert(signaled); - - signaled = FALSE; - custom_indicator_set_attention_icon(ci, "bob"); - g_assert(!signaled); - - signaled = FALSE; - custom_indicator_set_attention_icon(ci, "al"); - g_assert(signaled); - - - signaled = FALSE; - custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_PASSIVE); - g_assert(!signaled); - - signaled = FALSE; - custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_ACTIVE); - g_assert(signaled); - - signaled = FALSE; - custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_ACTIVE); - g_assert(!signaled); - - signaled = FALSE; - custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_ATTENTION); - g_assert(signaled); - - return; -} - -void -test_libcustomindicator_init_set_props (void) -{ - CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, NULL)); - g_assert(ci != NULL); - - custom_indicator_set_id(ci, "my-id"); - custom_indicator_set_category(ci, CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS); - custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_ACTIVE); - custom_indicator_set_icon(ci, "my-name"); - custom_indicator_set_attention_icon(ci, "my-attention-name"); - - g_assert(!g_strcmp0("my-id", custom_indicator_get_id(ci))); - g_assert(!g_strcmp0("my-name", custom_indicator_get_icon(ci))); - g_assert(!g_strcmp0("my-attention-name", custom_indicator_get_attention_icon(ci))); - g_assert(custom_indicator_get_status(ci) == CUSTOM_INDICATOR_STATUS_ACTIVE); - g_assert(custom_indicator_get_category(ci) == CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS); - - g_object_unref(G_OBJECT(ci)); - return; -} - -void -test_libcustomindicator_init_with_props (void) -{ - CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, - "id", "my-id", - "category-enum", CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS, - "status-enum", CUSTOM_INDICATOR_STATUS_ACTIVE, - "icon-name", "my-name", - "attention-icon-name", "my-attention-name", - NULL)); - g_assert(ci != NULL); - - g_assert(!g_strcmp0("my-id", custom_indicator_get_id(ci))); - g_assert(!g_strcmp0("my-name", custom_indicator_get_icon(ci))); - g_assert(!g_strcmp0("my-attention-name", custom_indicator_get_attention_icon(ci))); - g_assert(custom_indicator_get_status(ci) == CUSTOM_INDICATOR_STATUS_ACTIVE); - g_assert(custom_indicator_get_category(ci) == CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS); - - g_object_unref(G_OBJECT(ci)); - return; -} - -void -test_libcustomindicator_init (void) -{ - CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, NULL)); - g_assert(ci != NULL); - g_object_unref(G_OBJECT(ci)); - return; -} - -void -test_libcustomindicator_props_suite (void) -{ - g_test_add_func ("/indicator-custom/libcustomindicator/init", test_libcustomindicator_init); - g_test_add_func ("/indicator-custom/libcustomindicator/init_props", test_libcustomindicator_init_with_props); - g_test_add_func ("/indicator-custom/libcustomindicator/init_set_props", test_libcustomindicator_init_set_props); - g_test_add_func ("/indicator-custom/libcustomindicator/prop_signals", test_libcustomindicator_prop_signals); - - return; -} - -gint -main (gint argc, gchar * argv[]) -{ - g_type_init(); - g_test_init(&argc, &argv, NULL); - - /* Test suites */ - test_libcustomindicator_props_suite(); - - - return g_test_run (); -} diff --git a/tests/test-simple-app.c b/tests/test-simple-app.c index 9e779ec..3484e9e 100644 --- a/tests/test-simple-app.c +++ b/tests/test-simple-app.c @@ -2,7 +2,7 @@ #include <dbus/dbus-glib.h> #include <dbus/dbus-glib-lowlevel.h> #include <glib.h> -#include <libcustomindicator/custom-indicator.h> +#include <libappindicator/app-indicator.h> static GMainLoop * mainloop = NULL; @@ -15,12 +15,12 @@ main (int argc, char ** argv) DbusmenuMenuitem * dmi = dbusmenu_menuitem_new(); dbusmenu_menuitem_property_set(dmi, "label", "Bob"); - CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, - "id", "test-application", - "status-enum", CUSTOM_INDICATOR_STATUS_ACTIVE, - "icon-name", "system-shutdown", - "menu-object", dms, - NULL)); + AppIndicator * ci = APP_INDICATOR(g_object_new(APP_INDICATOR_TYPE, + "id", "test-application", + "status-enum", APP_INDICATOR_STATUS_ACTIVE, + "icon-name", "system-shutdown", + "menu-object", dms, + NULL)); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); |