diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2011-12-20 18:01:50 +0100 |
---|---|---|
committer | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2011-12-22 11:10:15 +0100 |
commit | 9b2e26a83210c2e29b65338dbc5fa491d6b7ba20 (patch) | |
tree | f418bf4487286aa721ba0ad98ce2b98df6f65583 /plugins | |
parent | 4b39cb4e0c353f91ec03cc9458f17f6299efd147 (diff) | |
download | connman-9b2e26a83210c2e29b65338dbc5fa491d6b7ba20.tar.gz |
ofono: Merge modem_set_un/powered()
Also follow the patternt that we have only a set function
with an argument for the value tos set.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/ofono.c | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/plugins/ofono.c b/plugins/ofono.c index 87b83c25..68fbaeb0 100644 --- a/plugins/ofono.c +++ b/plugins/ofono.c @@ -590,30 +590,24 @@ static int cm_set_powered(struct modem_data *modem, connman_bool_t powered) return err; } -static int modem_set_powered(struct modem_data *modem) +static int modem_set_powered(struct modem_data *modem, connman_bool_t powered) { - DBG("%s", modem->path); + int err; - modem->set_powered = TRUE; + DBG("%s powered %d", modem->path, powered); - return set_property(modem, modem->path, + modem->set_powered = powered; + + err = set_property(modem, modem->path, OFONO_MODEM_INTERFACE, "Powered", DBUS_TYPE_BOOLEAN, - &modem->set_powered, + &powered, NULL); -} - -static int modem_set_unpowered(struct modem_data *modem) -{ - DBG("%s", modem->path); - modem->set_powered = FALSE; + if (powered == FALSE && err == -EINPROGRESS) + return 0; - return set_property(modem, modem->path, - OFONO_MODEM_INTERFACE, - "Powered", DBUS_TYPE_BOOLEAN, - &modem->set_powered, - NULL); + return err; } static connman_bool_t has_interface(uint8_t interfaces, @@ -1886,7 +1880,7 @@ static gboolean modem_changed(DBusConnection *connection, DBusMessage *message, DBG("%s Powered %d", modem->path, modem->powered); if (modem->powered == FALSE) - modem_set_powered(modem); + modem_set_powered(modem, TRUE); } else if (g_str_equal(key, "Online") == TRUE) { dbus_message_iter_get_basic(&value, &modem->online); @@ -2021,7 +2015,7 @@ static void add_modem(const char *path, DBusMessageIter *prop) return; if (modem->powered == FALSE) - modem_set_powered(modem); + modem_set_powered(modem, TRUE); else if (has_interface(modem->interfaces, OFONO_API_SIM) == TRUE) sim_get_properties(modem); else @@ -2037,7 +2031,7 @@ static void modem_power_down(gpointer key, gpointer value, gpointer user_data) if (modem->ignore == TRUE) return; - modem_set_unpowered(modem); + modem_set_powered(modem, FALSE); } static void remove_modem(gpointer data) |