2007-10-17 Dan Williams <dcbw@redhat.com>

* src/nm-manager.h
	  src/nm-manager.c
	  src/nm-hal-manager.c
		- (device_removed, finalize, nm_manager_remove_device,
		   nm_manager_sleep): add a 'deactivate' argument to 
		   nm_manager_remove_device() to fully deactivate devices when necessary
		   (ie, always except when waking up)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2985 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Dan Williams 2007-10-17 11:36:33 +00:00
parent 8ea008c55c
commit 7d424355e2
4 changed files with 17 additions and 5 deletions

View file

@ -1,3 +1,13 @@
2007-10-17 Dan Williams <dcbw@redhat.com>
* src/nm-manager.h
src/nm-manager.c
src/nm-hal-manager.c
- (device_removed, finalize, nm_manager_remove_device,
nm_manager_sleep): add a 'deactivate' argument to
nm_manager_remove_device() to fully deactivate devices when necessary
(ie, always except when waking up)
2007-10-16 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting.c

View file

@ -254,7 +254,7 @@ device_removed (LibHalContext *ctx, const char *udi)
// nm_debug ("Device removed (hal udi is '%s').", udi );
if ((dev = nm_manager_get_device_by_udi (manager->nm_manager, udi)))
nm_manager_remove_device (manager->nm_manager, dev);
nm_manager_remove_device (manager->nm_manager, dev, TRUE);
}
static void

View file

@ -194,7 +194,7 @@ finalize (GObject *object)
priv->system_connections = NULL;
while (g_slist_length (priv->devices))
nm_manager_remove_device (manager, NM_DEVICE (priv->devices->data));
nm_manager_remove_device (manager, NM_DEVICE (priv->devices->data), TRUE);
G_OBJECT_CLASS (nm_manager_parent_class)->finalize (object);
}
@ -997,7 +997,7 @@ manager_device_removed (NMManager *manager, NMDevice *device)
}
void
nm_manager_remove_device (NMManager *manager, NMDevice *device)
nm_manager_remove_device (NMManager *manager, NMDevice *device, gboolean deactivate)
{
NMManagerPrivate *priv;
GSList *iter;
@ -1012,6 +1012,8 @@ nm_manager_remove_device (NMManager *manager, NMDevice *device)
priv->devices = g_slist_delete_link (priv->devices, iter);
nm_device_bring_down (device, FALSE);
if (deactivate)
nm_device_interface_deactivate (NM_DEVICE_INTERFACE (device));
g_signal_handlers_disconnect_by_func (device, manager_device_state_changed, manager);
@ -1468,7 +1470,7 @@ nm_manager_sleep (NMManager *manager, gboolean sleep)
nm_info ("Waking up from sleep.");
while (g_slist_length (priv->devices))
nm_manager_remove_device (manager, NM_DEVICE (priv->devices->data));
nm_manager_remove_device (manager, NM_DEVICE (priv->devices->data), FALSE);
priv->devices = NULL;
}

View file

@ -62,7 +62,7 @@ NMManager *nm_manager_new (void);
/* Device handling */
void nm_manager_add_device (NMManager *manager, NMDevice *device);
void nm_manager_remove_device (NMManager *manager, NMDevice *device);
void nm_manager_remove_device (NMManager *manager, NMDevice *device, gboolean deactivate);
GSList *nm_manager_get_devices (NMManager *manager);
NMDevice *nm_manager_get_device_by_path (NMManager *manager, const char *path);
NMDevice *nm_manager_get_device_by_udi (NMManager *manager, const char *udi);