diff options
author | Jeevaka Badrappan <jeevaka.badrappan@elektrobit.com> | 2011-03-31 09:18:30 -0700 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-04-04 23:36:49 -0500 |
commit | 0bb95c1bd83cacb81740f98d25b0fa1cfc7e2adb (patch) | |
tree | 7e20b05dfb3826d2ee357c041949507b1a4bd7f2 /src/modem.c | |
parent | c65eb67f48ce1598b00af6a45c51ad420af3e2f1 (diff) | |
download | ofono-0bb95c1bd83cacb81740f98d25b0fa1cfc7e2adb.tar.bz2 |
modem: restrict operations allowed in emergency
Diffstat (limited to 'src/modem.c')
-rw-r--r-- | src/modem.c | 9 |
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); |