diff --git a/ChangeLog b/ChangeLog index 74633f078..fb31a8fb5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +2008-03-07 Dan Williams + + Change manager's StateChange signal to StateChanged for consistency. + + * introspection/nm-manager.xml + - Add 'StateChanged' signal + - Move 'StateChange' down to the deprecated section + + * src/nm-hal-manager.c + - (nm_hal_manager_new): connect to 'state-changed' instead + + * src/NetworkManagerPolicy.c + - (nm_policy_new): connect to 'state-changed' instead + + * src/nm-manager.c + src/nm-manager.h + - (nm_manager_update_state): emit both 'state-changed' and 'state-change' + - (nm_manager_class_init): add 'state-changed' and not the deprecation + of 'state-change' + + * libnm-glib/nm-client.c + libnm-glib/nm-client.h + - (constructor, nm_client_class_init, client_state_changed_proxy): + track and proxy 'state-changed' instead of 'state-change' + 2008-03-07 Dan Williams First pass of multiple active device support. Expect bugs. diff --git a/introspection/nm-manager.xml b/introspection/nm-manager.xml index a2bb0804e..d6f11be7e 100644 --- a/introspection/nm-manager.xml +++ b/introspection/nm-manager.xml @@ -107,7 +107,7 @@ - + NetworkManager's state changed. @@ -210,6 +210,17 @@ + + + DEPRECATED. NetworkManager's state changed. Use the 'StateChanged' signal instead. + + + + The new state of NetworkManager. + + + + DEPRECATED. Control the NetworkManager daemon's sleep state. When asleep, all interfaces that it manages are deactivated. diff --git a/libnm-glib/nm-client.c b/libnm-glib/nm-client.c index bcdc18acf..cfb47d9b6 100644 --- a/libnm-glib/nm-client.c +++ b/libnm-glib/nm-client.c @@ -41,7 +41,7 @@ enum { MANAGER_RUNNING, DEVICE_ADDED, DEVICE_REMOVED, - STATE_CHANGE, + STATE_CHANGED, LAST_SIGNAL }; @@ -54,7 +54,7 @@ static void proxy_name_owner_changed (DBusGProxy *proxy, const char *new_owner, gpointer user_data); -static void client_state_change_proxy (DBusGProxy *proxy, guint state, gpointer user_data); +static void client_state_changed_proxy (DBusGProxy *proxy, guint state, gpointer user_data); static void client_device_added_proxy (DBusGProxy *proxy, char *path, gpointer user_data); static void client_device_removed_proxy (DBusGProxy *proxy, char *path, gpointer user_data); @@ -108,10 +108,10 @@ constructor (GType type, nm_object_get_path (object), NM_DBUS_INTERFACE); - dbus_g_proxy_add_signal (priv->client_proxy, "StateChange", G_TYPE_UINT, G_TYPE_INVALID); + dbus_g_proxy_add_signal (priv->client_proxy, "StateChanged", G_TYPE_UINT, G_TYPE_INVALID); dbus_g_proxy_connect_signal (priv->client_proxy, - "StateChange", - G_CALLBACK (client_state_change_proxy), + "StateChanged", + G_CALLBACK (client_state_changed_proxy), object, NULL); @@ -299,11 +299,11 @@ nm_client_class_init (NMClientClass *client_class) G_TYPE_NONE, 1, G_TYPE_OBJECT); - signals[STATE_CHANGE] = - g_signal_new ("state-change", + signals[STATE_CHANGED] = + g_signal_new ("state-changed", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (NMClientClass, state_change), + G_STRUCT_OFFSET (NMClientClass, state_changed), NULL, NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, @@ -358,14 +358,14 @@ proxy_name_owner_changed (DBusGProxy *proxy, } static void -client_state_change_proxy (DBusGProxy *proxy, guint state, gpointer user_data) +client_state_changed_proxy (DBusGProxy *proxy, guint state, gpointer user_data) { NMClient *client = NM_CLIENT (user_data); NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (client); if (priv->state != state) { priv->state = state; - g_signal_emit (client, signals[STATE_CHANGE], 0, state); + g_signal_emit (client, signals[STATE_CHANGED], 0, state); } } diff --git a/libnm-glib/nm-client.h b/libnm-glib/nm-client.h index 8d7920d51..5fc99cf89 100644 --- a/libnm-glib/nm-client.h +++ b/libnm-glib/nm-client.h @@ -33,7 +33,7 @@ typedef struct { void (*manager_running) (NMClient *client, gboolean running); void (*device_added) (NMClient *client, NMDevice *device); void (*device_removed) (NMClient *client, NMDevice *device); - void (*state_change) (NMClient *client, NMState state); + void (*state_changed) (NMClient *client, NMState state); } NMClientClass; GType nm_client_get_type (void); diff --git a/src/NetworkManagerPolicy.c b/src/NetworkManagerPolicy.c index 5d72fec60..546e9b3b6 100644 --- a/src/NetworkManagerPolicy.c +++ b/src/NetworkManagerPolicy.c @@ -469,7 +469,7 @@ nm_policy_new (NMManager *manager) policy->manager = g_object_ref (manager); policy->update_state_id = 0; - id = g_signal_connect (manager, "state-change", + id = g_signal_connect (manager, "state-changed", G_CALLBACK (global_state_changed), policy); policy->signal_ids = g_slist_append (policy->signal_ids, (gpointer) id); diff --git a/src/nm-hal-manager.c b/src/nm-hal-manager.c index 9aee42b74..6efab2782 100644 --- a/src/nm-hal-manager.c +++ b/src/nm-hal-manager.c @@ -748,7 +748,7 @@ nm_hal_manager_new (NMManager *nm_manager) manager); g_signal_connect (nm_manager, - "state-change", + "state-changed", G_CALLBACK (nm_manager_state_changed), manager); diff --git a/src/nm-manager.c b/src/nm-manager.c index e22f973bb..422fbbc72 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -83,7 +83,8 @@ G_DEFINE_TYPE (NMManager, nm_manager, G_TYPE_OBJECT) enum { DEVICE_ADDED, DEVICE_REMOVED, - STATE_CHANGE, + STATE_CHANGED, + STATE_CHANGE, /* DEPRECATED */ PROPERTIES_CHANGED, CONNECTIONS_ADDED, CONNECTION_ADDED, @@ -214,6 +215,9 @@ nm_manager_update_state (NMManager *manager) if (priv->state != new_state) { priv->state = new_state; + g_signal_emit (manager, signals[STATE_CHANGED], 0, priv->state); + + /* Emit StateChange too for backwards compatibility */ g_signal_emit (manager, signals[STATE_CHANGE], 0, priv->state); } } @@ -365,11 +369,11 @@ nm_manager_class_init (NMManagerClass *manager_class) G_TYPE_NONE, 1, G_TYPE_OBJECT); - signals[STATE_CHANGE] = - g_signal_new ("state-change", + signals[STATE_CHANGED] = + g_signal_new ("state-changed", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (NMManagerClass, state_change), + G_STRUCT_OFFSET (NMManagerClass, state_changed), NULL, NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, @@ -419,6 +423,17 @@ nm_manager_class_init (NMManagerClass *manager_class) G_TYPE_NONE, 2, G_TYPE_OBJECT, G_TYPE_UINT); + /* StateChange is DEPRECATED */ + signals[STATE_CHANGE] = + g_signal_new ("state-change", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, NULL, NULL, + g_cclosure_marshal_VOID__UINT, + G_TYPE_NONE, 1, + G_TYPE_UINT); + + dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (manager_class), &dbus_glib_nm_manager_object_info); diff --git a/src/nm-manager.h b/src/nm-manager.h index 05eb3f433..6190dd040 100644 --- a/src/nm-manager.h +++ b/src/nm-manager.h @@ -31,7 +31,7 @@ typedef struct { /* Signals */ void (*device_added) (NMManager *manager, NMDevice *device); void (*device_removed) (NMManager *manager, NMDevice *device); - void (*state_change) (NMManager *manager, guint state); + void (*state_changed) (NMManager *manager, guint state); void (*properties_changed) (NMManager *manager, GHashTable *properties); void (*connections_added) (NMManager *manager, NMConnectionScope scope);