From fb0db75de85986adb349d2fd0e4e679595f6b7e1 Mon Sep 17 00:00:00 2001
From: Jakob Olsson <jakobols@kth.se>
Date: Tue, 12 Jun 2018 10:30:33 +0200
Subject: [PATCH] add pin_status method to ubus methods

---
 dongle_infrastructure.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/dongle_infrastructure.c b/dongle_infrastructure.c
index 76d9c5d..c2632ce 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),
-- 
GitLab