[maemo-commits] [maemo-commits] r16038 - projects/haf/branches/hildon-thumbnail/daemonize/daemon
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Sep 5 16:35:27 EEST 2008
- Previous message: [maemo-commits] r16037 - in projects/haf/branches/hildon-thumbnail/daemonize: . daemon daemon/plugins
- Next message: [maemo-commits] r16039 - projects/haf/branches/hildon-thumbnail/daemonize/daemon
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: pvanhoof Date: 2008-09-05 16:35:26 +0300 (Fri, 05 Sep 2008) New Revision: 16038 Modified: projects/haf/branches/hildon-thumbnail/daemonize/daemon/manager.c projects/haf/branches/hildon-thumbnail/daemonize/daemon/plugin-runner.c Log: Dynamic registery for plugin runner Modified: projects/haf/branches/hildon-thumbnail/daemonize/daemon/manager.c =================================================================== --- projects/haf/branches/hildon-thumbnail/daemonize/daemon/manager.c 2008-09-05 13:29:06 UTC (rev 16037) +++ projects/haf/branches/hildon-thumbnail/daemonize/daemon/manager.c 2008-09-05 13:35:26 UTC (rev 16038) @@ -242,6 +242,8 @@ g_mutex_lock (priv->mutex); + /* This only happens for not-activable ones */ + g_hash_table_foreach_remove (priv->handlers, do_remove_or_not, proxy); @@ -249,6 +251,9 @@ g_mutex_unlock (priv->mutex); } +/* This is a custom spec addition, for dynamic registration of thumbnailers. + * Consult manager.xml for more information about this custom spec addition. */ + void manager_register (Manager *object, gchar *mime_type, DBusGMethodInvocation *context) { @@ -281,6 +286,8 @@ g_free (sender); + /* This is not necessary for activatable ones */ + g_signal_connect (mime_proxy, "destroy", G_CALLBACK (service_gone), object); Modified: projects/haf/branches/hildon-thumbnail/daemonize/daemon/plugin-runner.c =================================================================== --- projects/haf/branches/hildon-thumbnail/daemonize/daemon/plugin-runner.c 2008-09-05 13:29:06 UTC (rev 16037) +++ projects/haf/branches/hildon-thumbnail/daemonize/daemon/plugin-runner.c 2008-09-05 13:35:26 UTC (rev 16038) @@ -184,7 +184,7 @@ } static void -daemon_start (Daemon *object) +daemon_start (Daemon *object, gboolean do_register) { GError *error = NULL; DaemonPrivate *priv = DAEMON_GET_PRIVATE (object); @@ -200,21 +200,23 @@ hildon_thumbnail_plugin_do_init (module, &error); - supported = hildon_thumbnail_plugin_get_supported (module); + if (!error && do_register) { + supported = hildon_thumbnail_plugin_get_supported (module); - if (supported) { - while (supported[i] != NULL) { - GError *nerror = NULL; - dbus_g_proxy_call (manager_proxy, "Register", - &nerror, G_TYPE_STRING, - supported[i], - G_TYPE_INVALID, - G_TYPE_INVALID); - if (nerror) { - g_critical ("Failed to init: %s\n", nerror->message); - g_error_free (nerror); + if (supported) { + while (supported[i] != NULL) { + GError *nerror = NULL; + dbus_g_proxy_call (manager_proxy, "Register", + &nerror, G_TYPE_STRING, + supported[i], + G_TYPE_INVALID, + G_TYPE_INVALID); + if (nerror) { + g_critical ("Failed to init: %s\n", nerror->message); + g_error_free (nerror); + } + i++; } - i++; } } @@ -243,8 +245,8 @@ if (!g_thread_supported ()) g_thread_init (NULL); - if (argc != 2) { - g_print ("Usage: %s MODULE\n", argv[0]); + if (argc < 2) { + g_print ("Usage: %s MODULE [yes|no]\n - yes/no is for 'do a dynamic register'", argv[0]); return 0; } @@ -266,7 +268,7 @@ "module", module, NULL); - daemon_start (DAEMON (object)); + daemon_start (DAEMON (object), argc > 2); dbus_g_object_type_install_info (G_OBJECT_TYPE (object), &dbus_glib_plugin_runner_object_info);
- Previous message: [maemo-commits] r16037 - in projects/haf/branches/hildon-thumbnail/daemonize: . daemon daemon/plugins
- Next message: [maemo-commits] r16039 - projects/haf/branches/hildon-thumbnail/daemonize/daemon
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]