mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-10-15 12:34:55 +00:00
2008-08-04 Dan Williams <dcbw@redhat.com>
Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk> * src/NetworkManager.c src/nm-manager.c src/nm-manager.h - More explicitly make the NMManager a singleton git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3896 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
parent
fb74207755
commit
2f3820c624
|
@ -1,3 +1,12 @@
|
||||||
|
2008-08-04 Dan Williams <dcbw@redhat.com>
|
||||||
|
|
||||||
|
Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
|
||||||
|
|
||||||
|
* src/NetworkManager.c
|
||||||
|
src/nm-manager.c
|
||||||
|
src/nm-manager.h
|
||||||
|
- More explicitly make the NMManager a singleton
|
||||||
|
|
||||||
2008-08-04 Dan Williams <dcbw@redhat.com>
|
2008-08-04 Dan Williams <dcbw@redhat.com>
|
||||||
|
|
||||||
* libnm-util/nm-connection.c
|
* libnm-util/nm-connection.c
|
||||||
|
|
|
@ -303,7 +303,7 @@ main (int argc, char *argv[])
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
manager = nm_manager_new ();
|
manager = nm_manager_get ();
|
||||||
if (manager == NULL) {
|
if (manager == NULL) {
|
||||||
nm_error ("Failed to initialize the network manager.");
|
nm_error ("Failed to initialize the network manager.");
|
||||||
goto done;
|
goto done;
|
||||||
|
|
|
@ -1353,49 +1353,54 @@ deferred_sync_devices (gpointer user_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
NMManager *
|
NMManager *
|
||||||
nm_manager_new (void)
|
nm_manager_get (void)
|
||||||
{
|
{
|
||||||
GObject *object;
|
static NMManager *singleton = NULL;
|
||||||
NMManagerPrivate *priv;
|
NMManagerPrivate *priv;
|
||||||
|
|
||||||
object = g_object_new (NM_TYPE_MANAGER, NULL);
|
if (singleton)
|
||||||
priv = NM_MANAGER_GET_PRIVATE (object);
|
return g_object_ref (singleton);
|
||||||
|
|
||||||
|
singleton = (NMManager *) g_object_new (NM_TYPE_MANAGER, NULL);
|
||||||
|
g_assert (singleton);
|
||||||
|
|
||||||
|
priv = NM_MANAGER_GET_PRIVATE (singleton);
|
||||||
|
|
||||||
dbus_g_connection_register_g_object (nm_dbus_manager_get_connection (priv->dbus_mgr),
|
dbus_g_connection_register_g_object (nm_dbus_manager_get_connection (priv->dbus_mgr),
|
||||||
NM_DBUS_PATH,
|
NM_DBUS_PATH,
|
||||||
object);
|
G_OBJECT (singleton));
|
||||||
|
|
||||||
g_signal_connect (priv->dbus_mgr,
|
g_signal_connect (priv->dbus_mgr,
|
||||||
"name-owner-changed",
|
"name-owner-changed",
|
||||||
G_CALLBACK (nm_manager_name_owner_changed),
|
G_CALLBACK (nm_manager_name_owner_changed),
|
||||||
NM_MANAGER (object));
|
singleton);
|
||||||
|
|
||||||
g_idle_add ((GSourceFunc) initial_get_connections, NM_MANAGER (object));
|
g_idle_add ((GSourceFunc) initial_get_connections, singleton);
|
||||||
|
|
||||||
priv->hal_mgr = nm_hal_manager_new ();
|
priv->hal_mgr = nm_hal_manager_new ();
|
||||||
priv->sync_devices_id = g_idle_add (deferred_sync_devices, object);
|
priv->sync_devices_id = g_idle_add (deferred_sync_devices, singleton);
|
||||||
|
|
||||||
g_signal_connect (priv->hal_mgr,
|
g_signal_connect (priv->hal_mgr,
|
||||||
"udi-added",
|
"udi-added",
|
||||||
G_CALLBACK (hal_manager_udi_added_cb),
|
G_CALLBACK (hal_manager_udi_added_cb),
|
||||||
NM_MANAGER (object));
|
singleton);
|
||||||
|
|
||||||
g_signal_connect (priv->hal_mgr,
|
g_signal_connect (priv->hal_mgr,
|
||||||
"udi-removed",
|
"udi-removed",
|
||||||
G_CALLBACK (hal_manager_udi_removed_cb),
|
G_CALLBACK (hal_manager_udi_removed_cb),
|
||||||
NM_MANAGER (object));
|
singleton);
|
||||||
|
|
||||||
g_signal_connect (priv->hal_mgr,
|
g_signal_connect (priv->hal_mgr,
|
||||||
"rfkill-changed",
|
"rfkill-changed",
|
||||||
G_CALLBACK (hal_manager_rfkill_changed_cb),
|
G_CALLBACK (hal_manager_rfkill_changed_cb),
|
||||||
NM_MANAGER (object));
|
singleton);
|
||||||
|
|
||||||
g_signal_connect (priv->hal_mgr,
|
g_signal_connect (priv->hal_mgr,
|
||||||
"hal-reappeared",
|
"hal-reappeared",
|
||||||
G_CALLBACK (hal_manager_hal_reappeared_cb),
|
G_CALLBACK (hal_manager_hal_reappeared_cb),
|
||||||
NM_MANAGER (object));
|
singleton);
|
||||||
|
|
||||||
return NM_MANAGER (object);
|
return singleton;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -52,7 +52,7 @@ typedef struct {
|
||||||
|
|
||||||
GType nm_manager_get_type (void);
|
GType nm_manager_get_type (void);
|
||||||
|
|
||||||
NMManager *nm_manager_new (void);
|
NMManager *nm_manager_get (void);
|
||||||
|
|
||||||
/* Device handling */
|
/* Device handling */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue