diff --git a/ChangeLog b/ChangeLog index 5c37084d99..d8e58548ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-10-22 Dan Williams + + * include/NetworkManager.h + introspection/nm-device.xml + - Add device state change reason for carrier changes + + * src/nm-device-ethernet.c + - (set_carrier): use the carrier change reason when changing device + state in response to carrier changes + 2008-10-21 Dan Williams * src/NetworkManagerPolicy.c diff --git a/include/NetworkManager.h b/include/NetworkManager.h index 05f717ccd8..6700145e3e 100644 --- a/include/NetworkManager.h +++ b/include/NetworkManager.h @@ -337,6 +337,9 @@ typedef enum { /* Device disconnected by user or client */ NM_DEVICE_STATE_REASON_USER_REQUESTED, + /* Carrier/link changed */ + NM_DEVICE_STATE_REASON_CARRIER, + /* Unused */ NM_DEVICE_STATE_REASON_LAST = 0xFFFF } NMDeviceStateReason; diff --git a/introspection/nm-device.xml b/introspection/nm-device.xml index ec7b0606d2..8671cd3598 100644 --- a/introspection/nm-device.xml +++ b/introspection/nm-device.xml @@ -339,6 +339,11 @@ A user or client requested the disconnection. + + + + The device's carrier/link changed. + diff --git a/src/nm-device-ethernet.c b/src/nm-device-ethernet.c index 0634bc50f0..db25dc1a22 100644 --- a/src/nm-device-ethernet.c +++ b/src/nm-device-ethernet.c @@ -190,10 +190,10 @@ set_carrier (NMDeviceEthernet *self, const gboolean carrier) nm_info ("(%s): carrier now %s (device state %d)", nm_device_get_iface (NM_DEVICE (self)), carrier ? "ON" : "OFF", state); if (state == NM_DEVICE_STATE_UNAVAILABLE) { if (carrier) - nm_device_state_changed (NM_DEVICE (self), NM_DEVICE_STATE_DISCONNECTED, NM_DEVICE_STATE_REASON_NONE); + nm_device_state_changed (NM_DEVICE (self), NM_DEVICE_STATE_DISCONNECTED, NM_DEVICE_STATE_REASON_CARRIER); } else if (state >= NM_DEVICE_STATE_DISCONNECTED) { if (!carrier) - nm_device_state_changed (NM_DEVICE (self), NM_DEVICE_STATE_UNAVAILABLE, NM_DEVICE_STATE_REASON_NONE); + nm_device_state_changed (NM_DEVICE (self), NM_DEVICE_STATE_UNAVAILABLE, NM_DEVICE_STATE_REASON_CARRIER); } }