manager: make it export the Object Manager interface
This commit is contained in:
@@ -54,14 +54,18 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct _MMManagerPrivate {
|
struct _MMManagerPrivate {
|
||||||
|
/* The connection to the system bus */
|
||||||
GDBusConnection *connection;
|
GDBusConnection *connection;
|
||||||
|
/* The UDev client */
|
||||||
GUdevClient *udev;
|
GUdevClient *udev;
|
||||||
GHashTable *modems;
|
/* The authentication provider */
|
||||||
|
|
||||||
MMAuthProvider *authp;
|
MMAuthProvider *authp;
|
||||||
|
|
||||||
/* The Plugin Manager object */
|
/* The Plugin Manager object */
|
||||||
MMPluginManager *plugin_manager;
|
MMPluginManager *plugin_manager;
|
||||||
|
/* The container of currently available modems */
|
||||||
|
GHashTable *modems;
|
||||||
|
/* DBus The Object Manager server */
|
||||||
|
GDBusObjectManagerServer *object_manager;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@@ -830,6 +834,9 @@ mm_manager_init (MMManager *manager)
|
|||||||
priv->udev = g_udev_client_new (subsys);
|
priv->udev = g_udev_client_new (subsys);
|
||||||
g_signal_connect (priv->udev, "uevent", G_CALLBACK (handle_uevent), manager);
|
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 */
|
/* Enable processing of input DBus messages */
|
||||||
g_signal_connect (manager,
|
g_signal_connect (manager,
|
||||||
"handle-set-logging",
|
"handle-set-logging",
|
||||||
@@ -860,6 +867,10 @@ initable_init (GInitable *initable,
|
|||||||
error))
|
error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
/* Export the Object Manager interface */
|
||||||
|
g_dbus_object_manager_server_set_connection (priv->object_manager,
|
||||||
|
priv->connection);
|
||||||
|
|
||||||
/* All good */
|
/* All good */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@@ -879,6 +890,9 @@ finalize (GObject *object)
|
|||||||
if (priv->plugin_manager)
|
if (priv->plugin_manager)
|
||||||
g_object_unref (priv->plugin_manager);
|
g_object_unref (priv->plugin_manager);
|
||||||
|
|
||||||
|
if (priv->object_manager)
|
||||||
|
g_object_unref (priv->object_manager);
|
||||||
|
|
||||||
if (priv->connection)
|
if (priv->connection)
|
||||||
g_object_unref (priv->connection);
|
g_object_unref (priv->connection);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user