diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-02-09 23:15:52 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-02-10 00:27:01 -0600 |
commit | 458fe585a0c8fc344fe987beb81bad59eb29da34 (patch) | |
tree | 65a0b91819ffa07a9abe6745f9202ee9115038cb | |
parent | 2b50146a21a0382e1fb68374b8f92d02358e1555 (diff) | |
download | ofono-458fe585a0c8fc344fe987beb81bad59eb29da34.tar.bz2 |
modem: Fix up previous commit
-rw-r--r-- | src/modem.c | 10 | ||||
-rw-r--r-- | src/ofono.h | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/modem.c b/src/modem.c index b195970c..18d9bbe0 100644 --- a/src/modem.c +++ b/src/modem.c @@ -759,13 +759,12 @@ static int set_powered(struct ofono_modem *modem, ofono_bool_t powered) err = driver->disable(modem); } - if (err == 0) + if (err == 0) { modem->powered = powered; - else if (err != -EINPROGRESS) + notify_powered_watches(modem); + } else if (err != -EINPROGRESS) modem->powered_pending = modem->powered; - notify_powered_watches(modem); - return err; } @@ -797,6 +796,8 @@ static gboolean set_powered_timeout(gpointer user) dbus_bool_t powered = FALSE; modem->powered = FALSE; + notify_powered_watches(modem); + ofono_dbus_signal_property_changed(conn, modem->path, OFONO_MODEM_INTERFACE, "Powered", DBUS_TYPE_BOOLEAN, @@ -1034,6 +1035,7 @@ void ofono_modem_set_powered(struct ofono_modem *modem, ofono_bool_t powered) goto out; modem->powered = powered; + notify_powered_watches(modem); if (modem->lockdown) ofono_dbus_signal_property_changed(conn, modem->path, diff --git a/src/ofono.h b/src/ofono.h index 328213c6..517edfb7 100644 --- a/src/ofono.h +++ b/src/ofono.h @@ -188,7 +188,9 @@ unsigned int __ofono_modem_add_online_watch(struct ofono_modem *modem, void __ofono_modem_remove_online_watch(struct ofono_modem *modem, unsigned int id); -typedef void (*ofono_modem_powered_notify_func)(ofono_bool_t powered, void *data); +typedef void (*ofono_modem_powered_notify_func)(ofono_bool_t powered, + void *data); + unsigned int __ofono_modem_add_powered_watch(struct ofono_modem *modem, ofono_modem_online_notify_func notify, void *data, ofono_destroy_func destroy); |