summaryrefslogtreecommitdiffstats
path: root/src/modem.c
diff options
context:
space:
mode:
authorJeevaka Badrappan <jeevaka.badrappan@elektrobit.com>2011-03-31 09:18:28 -0700
committerDenis Kenzior <denkenz@gmail.com>2011-04-04 23:36:49 -0500
commitaa6e379ee3e35cbc70ef2a7f564b9acdc0313f03 (patch)
treeddc469c83c12954875d904320e7f24e81c1b6216 /src/modem.c
parentc6cd422f253bef94bede3e1b76f2c2942caa84b7 (diff)
downloadofono-aa6e379ee3e35cbc70ef2a7f564b9acdc0313f03.tar.bz2
modem: add increment/decrement emergency mode api
Diffstat (limited to 'src/modem.c')
-rw-r--r--src/modem.c36
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--;
+}