diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2011-10-25 17:27:30 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-15 14:14:21 +0100 |
commit | 07640b0c741292bba5138110caeb8961a2e82896 (patch) | |
tree | 1bd609a05c8d5397a3cbbabc61d07c0daf691ee3 | |
parent | 0cc17ed82f8a2c3b5b12158bf138007459ef289f (diff) |
manager: make it export the Object Manager interface
-rw-r--r-- | src/mm-manager.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/mm-manager.c b/src/mm-manager.c index ad348bf9..b1a3b8ab 100644 --- a/src/mm-manager.c +++ b/src/mm-manager.c @@ -54,14 +54,18 @@ enum { }; struct _MMManagerPrivate { + /* The connection to the system bus */ GDBusConnection *connection; + /* The UDev client */ GUdevClient *udev; - GHashTable *modems; - + /* The authentication provider */ MMAuthProvider *authp; - /* The Plugin Manager object */ MMPluginManager *plugin_manager; + /* The container of currently available modems */ + GHashTable *modems; + /* DBus The Object Manager server */ + GDBusObjectManagerServer *object_manager; }; typedef struct { @@ -830,6 +834,9 @@ mm_manager_init (MMManager *manager) priv->udev = g_udev_client_new (subsys); g_signal_connect (priv->udev, "uevent", G_CALLBACK (handle_uevent), manager); + /* Setup Object Manager Server */ + priv->object_manager = g_dbus_object_manager_server_new (MM_DBUS_PATH); + /* Enable processing of input DBus messages */ g_signal_connect (manager, "handle-set-logging", @@ -860,6 +867,10 @@ initable_init (GInitable *initable, error)) return FALSE; + /* Export the Object Manager interface */ + g_dbus_object_manager_server_set_connection (priv->object_manager, + priv->connection); + /* All good */ return TRUE; } @@ -879,6 +890,9 @@ finalize (GObject *object) if (priv->plugin_manager) g_object_unref (priv->plugin_manager); + if (priv->object_manager) + g_object_unref (priv->object_manager); + if (priv->connection) g_object_unref (priv->connection); |