summaryrefslogtreecommitdiffstats
path: root/src/modem.c
diff options
context:
space:
mode:
authorJeevaka Badrappan <jeevaka.badrappan@elektrobit.com>2011-03-31 09:18:30 -0700
committerDenis Kenzior <denkenz@gmail.com>2011-04-04 23:36:49 -0500
commit0bb95c1bd83cacb81740f98d25b0fa1cfc7e2adb (patch)
tree7e20b05dfb3826d2ee357c041949507b1a4bd7f2 /src/modem.c
parentc65eb67f48ce1598b00af6a45c51ad420af3e2f1 (diff)
downloadofono-0bb95c1bd83cacb81740f98d25b0fa1cfc7e2adb.tar.bz2
modem: restrict operations allowed in emergency
Diffstat (limited to 'src/modem.c')
-rw-r--r--src/modem.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/modem.c b/src/modem.c
index d1886c94..13c6e608 100644
--- a/src/modem.c
+++ b/src/modem.c
@@ -677,6 +677,9 @@ static DBusMessage *set_property_online(struct ofono_modem *modem,
if (modem->online == online)
return dbus_message_new_method_return(msg);
+ if (ofono_modem_get_emergency_mode(modem) == TRUE)
+ return __ofono_error_emergency_active(msg);
+
if (driver->set_online == NULL)
return __ofono_error_not_implemented(msg);
@@ -922,6 +925,9 @@ static DBusMessage *set_property_lockdown(struct ofono_modem *modem,
goto done;
}
+ if (ofono_modem_get_emergency_mode(modem) == TRUE)
+ return __ofono_error_emergency_active(msg);
+
modem->lock_owner = g_strdup(caller);
modem->lock_watch = g_dbus_add_disconnect_watch(conn,
@@ -1012,6 +1018,9 @@ static DBusMessage *modem_set_property(DBusConnection *conn,
if (modem->powered == powered)
return dbus_message_new_method_return(msg);
+ if (ofono_modem_get_emergency_mode(modem) == TRUE)
+ return __ofono_error_emergency_active(msg);
+
if (modem->lockdown)
return __ofono_error_access_denied(msg);