diff options
Diffstat (limited to 'binding/telephony-binding.c')
-rw-r--r-- | binding/telephony-binding.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/binding/telephony-binding.c b/binding/telephony-binding.c index 2f96338..b2dc073 100644 --- a/binding/telephony-binding.c +++ b/binding/telephony-binding.c @@ -141,6 +141,24 @@ static void get_battery_level(afb_req_t request) return; } +static void get_network_registration(afb_req_t request) +{ + const gchar *device; + + device = ofono_manager_get_default_modem_path(); + if (!device) { + afb_req_fail(request, "failed", "No path find"); + return; + } + + json_object *result = ofono_get_property(device, OFONO_NetworkRegistration_INTERFACE, NULL, NULL); + if (!result) + afb_req_fail(request, "failed", "Can not find Network Registration object"); + else + afb_req_success(request, result, "OK"); + return; +} + static void subscribe(afb_req_t request) { const char *value = afb_req_value(request, "value"); @@ -397,6 +415,10 @@ static const afb_verb_t verbs[]= { .callback = get_battery_level, }, { + .verb = "get_network_registration", + .callback = get_network_registration, + }, + { .verb = "subscribe", .callback = subscribe, }, |