diff --git a/dongle_infrastructure.c b/dongle_infrastructure.c index 76d9c5dc06070f593952b19c75e776c05554901c..c2632ce128daacf58f66fe40948b785729af94cb 100644 --- a/dongle_infrastructure.c +++ b/dongle_infrastructure.c @@ -297,6 +297,21 @@ fail_unknown: return UBUS_STATUS_UNKNOWN_ERROR; } +int get_pin_status(struct ubus_context *ctx, struct ubus_object *obj, + struct ubus_request_data *req, const char *method, + struct blob_attr *msg) +{ + struct json_object *response; + + response = mobile_get_pin_status(global_dev); + if (!response) + goto fail_unknown; + + return print_to_ubus(response, ctx, req); +fail_unknown: + return UBUS_STATUS_UNKNOWN_ERROR; +} + int unlock_sim(struct ubus_context *ctx, struct ubus_object *obj, struct ubus_request_data *req, const char *method, struct blob_attr *msg) @@ -587,13 +602,14 @@ struct ubus_method dynamic_object_methods[] = { UBUS_METHOD("enable_pin", enable_pin, pin_policy), UBUS_METHOD("verify_pin", verify_pin, pin_policy), UBUS_METHOD_NOARG("remaining_tries", remaining_tries), + UBUS_METHOD_NOARG("pin_status", get_pin_status), UBUS_METHOD("unlock_sim", unlock_sim, unlock_policy), - UBUS_METHOD_NOARG("list_apn_profiles", list_apn_profiles), //apn + UBUS_METHOD_NOARG("list_apn_profiles", list_apn_profiles), //apn UBUS_METHOD("create_apn_profiles", create_apn_profile, create_apn_policy), UBUS_METHOD("delete_apn_profile", delete_apn_profile, apn_policy), UBUS_METHOD("set_apn_profile", set_apn_profile, apn_policy), UBUS_METHOD_NOARG("current_apn_profile", show_current_apn), - UBUS_METHOD_NOARG("signal_strength", get_signal_strength), //network.. + UBUS_METHOD_NOARG("signal_strength", get_signal_strength), //network.. UBUS_METHOD_NOARG("connect_network", connect_network), UBUS_METHOD_NOARG("disconnect_network", disconnect_network), UBUS_METHOD_NOARG("modem_state", modem_state),