[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 ]
