diff options
author | Jeevaka Badrappan <jeevaka.badrappan@elektrobit.com> | 2011-03-31 09:18:28 -0700 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-04-04 23:36:49 -0500 |
commit | aa6e379ee3e35cbc70ef2a7f564b9acdc0313f03 (patch) | |
tree | ddc469c83c12954875d904320e7f24e81c1b6216 /src/modem.c | |
parent | c6cd422f253bef94bede3e1b76f2c2942caa84b7 (diff) | |
download | ofono-aa6e379ee3e35cbc70ef2a7f564b9acdc0313f03.tar.bz2 |
modem: add increment/decrement emergency mode api
Diffstat (limited to 'src/modem.c')
-rw-r--r-- | src/modem.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/modem.c b/src/modem.c index a7bf4f56..d1886c94 100644 --- a/src/modem.c +++ b/src/modem.c @@ -2102,3 +2102,39 @@ ofono_bool_t ofono_modem_get_emergency_mode(struct ofono_modem *modem) { return modem->emergency != 0; } + +void __ofono_modem_inc_emergency_mode(struct ofono_modem *modem) +{ + DBusConnection *conn = ofono_dbus_get_connection(); + dbus_bool_t emergency = TRUE; + + if (++modem->emergency > 1) + return; + + ofono_dbus_signal_property_changed(conn, modem->path, + OFONO_MODEM_INTERFACE, + "Emergency", DBUS_TYPE_BOOLEAN, + &emergency); +} + +void __ofono_modem_dec_emergency_mode(struct ofono_modem *modem) +{ + DBusConnection *conn = ofono_dbus_get_connection(); + dbus_bool_t emergency = FALSE; + + if (modem->emergency == 0) { + ofono_error("emergency mode is already deactivated!!!"); + return; + } + + if (modem->emergency > 1) + goto out; + + ofono_dbus_signal_property_changed(conn, modem->path, + OFONO_MODEM_INTERFACE, + "Emergency", DBUS_TYPE_BOOLEAN, + &emergency); + +out: + modem->emergency--; +} |