Do not update vconf data 73/187273/3
authorSeonah Moon <seonah1.moon@samsung.com>
Tue, 21 Aug 2018 10:49:35 +0000 (19:49 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Wed, 22 Aug 2018 06:00:35 +0000 (15:00 +0900)
vconf data will be updated on daemon side

Change-Id: Ia1d0ffa53ada8ca3c25b0f5d070d0d9a1d12b8dc

src/softap.c

index 70df9f79a5c4177238f870c82b8095c60718b63d..de4c7f6b84e859e06c699bcbf505e92555e9d92d 100755 (executable)
@@ -76,6 +76,7 @@ static __softap_sig_t sigs[] = {
 
 static int retry = 0;
 
+#if 0
 static void __send_dbus_signal(GDBusConnection *conn, const char *signal_name, const char *arg)
 {
        if (conn == NULL || signal_name == NULL)
@@ -96,6 +97,7 @@ static void __send_dbus_signal(GDBusConnection *conn, const char *signal_name, c
 //LCOV_EXCL_END
        }
 }
+#endif
 
 static int __get_common_ssid(char *ssid, unsigned int size)
 {
@@ -136,16 +138,6 @@ static softap_error_e __get_security_type(softap_security_type_e *security_type)
        return SOFTAP_ERROR_NONE;
 }
 
-static softap_error_e __set_visibility(bool visible)
-{
-       if (vconf_set_int(VCONFKEY_SOFTAP_HIDE, visible ? 0 : 1) < 0) {
-                       ERR("vconf_set_int is failed\n");
-                       return SOFTAP_ERROR_OPERATION_FAILED;
-               }
-
-               return SOFTAP_ERROR_NONE;
-}
-
 static softap_error_e __get_visibility(bool *visible)
 {
        if (visible == NULL) {
@@ -749,23 +741,6 @@ static void __disconnect_signals(softap_h softap)
        DBG("-");
 }
 
-static softap_error_e __set_security_type(const softap_security_type_e security_type)
-{
-       if (security_type != SOFTAP_SECURITY_TYPE_NONE &&
-                       security_type != SOFTAP_SECURITY_TYPE_WPA2_PSK &&
-                       security_type != SOFTAP_SECURITY_TYPE_WPS) {
-               ERR("Invalid param\n");
-               return SOFTAP_ERROR_INVALID_PARAMETER;
-       }
-
-       if (vconf_set_int(VCONFKEY_SOFTAP_SECURITY, security_type) < 0) {
-               ERR("vconf_set_int is failed\n");
-               return SOFTAP_ERROR_OPERATION_FAILED;
-       }
-
-       return SOFTAP_ERROR_NONE;
-}
-
 static bool __get_ssid_from_vconf(const char *path, char *ssid, unsigned int size)
 {
        if (path == NULL || ssid == NULL || size == 0)
@@ -775,7 +750,7 @@ static bool __get_ssid_from_vconf(const char *path, char *ssid, unsigned int siz
        char *ptr_tmp = NULL;
 
        ptr = vconf_get_str(path);
-       if (ptr == NULL)
+       if (ptr == NULL || strlen(ptr) == 0)
                return false;
 
        if (!g_utf8_validate(ptr, -1, (const char **)&ptr_tmp))
@@ -810,12 +785,15 @@ API int softap_create(softap_h *softap)
        sa->visibility = true;
        sa->sec_type = SOFTAP_SECURITY_TYPE_WPA2_PSK;
 
-       if (__get_common_ssid(ssid, sizeof(ssid)) != SOFTAP_ERROR_NONE) {
-//LCOV_EXCL_START
-               ERR("Fail to get default ssid!!");
-               free(sa);
-               return SOFTAP_ERROR_OPERATION_FAILED;
-//LCOV_EXCL_STOP
+       if (__get_ssid_from_vconf(VCONFKEY_SOFTAP_SSID, ssid, sizeof(ssid)) == false) {
+               if (__get_common_ssid(ssid, sizeof(ssid)) != SOFTAP_ERROR_NONE) {
+                       //LCOV_EXCL_START
+                       ERR("Fail to get default ssid!!");
+                       free(sa);
+                       return SOFTAP_ERROR_OPERATION_FAILED;
+                       //LCOV_EXCL_STOP
+               }
+
        }
 
        sa->ssid = g_strdup(ssid);
@@ -1569,30 +1547,17 @@ API int softap_set_security_type(softap_h softap, softap_security_type_e type)
        _retvm_if(softap == NULL, SOFTAP_ERROR_INVALID_PARAMETER,
                        "parameter(softap) is NULL\n");
 
-       __softap_h *sa = (__softap_h *) softap;
-       softap_error_e ret = SOFTAP_ERROR_NONE;
-       char *sec_str = NULL;
+       if (type != SOFTAP_SECURITY_TYPE_NONE &&
+                       type != SOFTAP_SECURITY_TYPE_WPA2_PSK &&
+                       type != SOFTAP_SECURITY_TYPE_WPS) {
+               ERR("Invalid param\n");
+               return SOFTAP_ERROR_INVALID_PARAMETER;
+       }
 
+       __softap_h *sa = (__softap_h *) softap;
        sa->sec_type = type;
 
-       switch (type) {
-       case SOFTAP_SECURITY_TYPE_NONE:
-               sec_str = SOFTAP_SECURITY_TYPE_OPEN_STR;
-               break;
-       case SOFTAP_SECURITY_TYPE_WPA2_PSK:
-               sec_str = SOFTAP_SECURITY_TYPE_WPA2_PSK_STR;
-               break;
-       case SOFTAP_SECURITY_TYPE_WPS:
-               sec_str = SOFTAP_SECURITY_TYPE_WPS_STR;
-               break;
-       }
-
-       ret = __set_security_type(type);
-       if (ret == SOFTAP_ERROR_NONE) {
-               __send_dbus_signal(sa->client_bus,
-                               SIGNAL_NAME_SECURITY_TYPE_CHANGED, sec_str);
-       }
-       return ret;
+       return SOFTAP_ERROR_NONE;
 }
 
 
@@ -1658,30 +1623,19 @@ API int softap_get_ssid(softap_h softap, char **ssid)
        __softap_h *sa = (__softap_h *) softap;
 
        char val[SOFTAP_SSID_MAX_LEN + 1] = {0, };
-       bool enable;
-
-       int ret = softap_is_enabled(softap, &enable);
-       if (ret != SOFTAP_ERROR_NONE)
-               enable = false;
-
-       if (!enable) {
-               if (sa->ssid != NULL) {
-                       DBG("Private SSID is set\n");
-                       *ssid = strdup(sa->ssid);
-               } else {
-                       if (__get_ssid_from_vconf(VCONFKEY_SETAPPL_DEVICE_NAME_STR,
-                                               val, sizeof(val)) == false) {
-                               return SOFTAP_ERROR_OPERATION_FAILED;
-                       }
-                       *ssid = strdup(val);
-               }
-       } else {
-               if (__get_ssid_from_vconf(VCONFKEY_SOFTAP_SSID,
-                                       val, sizeof(val)) == false) {
+
+       if (__get_ssid_from_vconf(VCONFKEY_SOFTAP_SSID, val, sizeof(val)) == false) {
+               if (__get_common_ssid(val, sizeof(val)) != SOFTAP_ERROR_NONE) {
+                       //LCOV_EXCL_START
+                       ERR("Fail to get default ssid!!");
+                       free(sa);
                        return SOFTAP_ERROR_OPERATION_FAILED;
+                       //LCOV_EXCL_STOP
                }
-               *ssid = strdup(val);
+
        }
+
+       *ssid = strdup(val);
        if (*ssid == NULL) {
                ERR("strdup is failed\n");
                return SOFTAP_ERROR_OUT_OF_MEMORY;
@@ -1700,18 +1654,9 @@ API int softap_set_ssid_visibility(softap_h softap, bool visible)
                        "parameter(softap) is NULL\n");
 
        __softap_h *sa = (__softap_h *) softap;
-       softap_error_e ret = SOFTAP_ERROR_NONE;
-
-       ret = __set_visibility(visible);
-       if (ret == SOFTAP_ERROR_NONE) {
-               sa->visibility = visible;
-               __send_dbus_signal(sa->client_bus,
-                               SIGNAL_NAME_SSID_VISIBILITY_CHANGED,
-                               visible ? SIGNAL_MSG_SSID_VISIBLE :
-                               SIGNAL_MSG_SSID_HIDE);
-       }
+       sa->visibility = visible;
 
-       return ret;
+       return SOFTAP_ERROR_NONE;
 }
 
 API int softap_get_ssid_visibility(softap_h softap, bool *visible)
@@ -1767,32 +1712,61 @@ API int softap_get_passphrase(softap_h softap, char **passphrase)
        _retvm_if(passphrase == NULL, SOFTAP_ERROR_INVALID_PARAMETER,
                        "parameter(passphrase) is NULL\n");
 
-       char val[SOFTAP_KEY_MAX_LEN + 1] = {0, };
+       __softap_h *sa = (__softap_h *)softap;
+       GDBusProxy *proxy = sa->client_bus_proxy;
+       GVariant *parameters = NULL;
+       GError *error = NULL;
+       int ret = SOFTAP_ERROR_NONE;
+
+       parameters = g_dbus_proxy_call_sync(proxy, "get_passphrase",
+                       NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
 
-       g_strlcpy(val, vconf_get_str(VCONFKEY_SOFTAP_KEY), sizeof(val));
-       *passphrase = strdup(val);
+       if (error) {
+               //LCOV_EXCL_START
+               ERR("g_dbus_proxy_call_sync failed because %s\n", error->message);
 
-       if (*passphrase == NULL) {
-               ERR("strdup is failed\n");
-               return SOFTAP_ERROR_OUT_OF_MEMORY;
+               if (error->code == G_DBUS_ERROR_ACCESS_DENIED)
+                       ret = SOFTAP_ERROR_PERMISSION_DENIED;
+               else
+                       ret = SOFTAP_ERROR_OPERATION_FAILED;
+
+               g_error_free(error);
+               return ret;
+               //LCOV_EXCL_STOP
        }
 
-       return SOFTAP_ERROR_NONE;
+       if (parameters != NULL) {
+               g_variant_get(parameters, "(su)", passphrase, &ret);
+               g_variant_unref(parameters);
+       }
+
+       DBG("-");
+
+       return ret;
 }
 
 API int softap_push_wps_button(softap_h softap)
 {
        CHECK_FEATURE_SUPPORTED(SUPPORTED_FEATURE_SOFTAP);
-       DBG("+");
-
        _retvm_if(softap == NULL, SOFTAP_ERROR_INVALID_PARAMETER,
                        "parameter(softap) is NULL");
+
+       DBG("+");
+
        __softap_h *sa = (__softap_h *)softap;
        GDBusProxy *proxy = sa->client_bus_proxy;
        GVariant *parameters = NULL;
        guint info;
-       int ret = 0;
        GError *error = NULL;
+       bool enabled;
+
+       int ret = softap_is_enabled(softap, &enabled);
+       _retvm_if(ret != SOFTAP_ERROR_NONE,
+                       SOFTAP_ERROR_OPERATION_FAILED,
+                       "Fail to check softap is enabled!!\n");
+       _retvm_if(enabled == false,
+                       SOFTAP_ERROR_NOT_PERMITTED,
+                       "Soft AP is not enabled\n");
 
        parameters = g_dbus_proxy_call_sync(proxy, "push_wps_button",
                        NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
@@ -1825,19 +1799,27 @@ API int softap_push_wps_button(softap_h softap)
 API int softap_set_wps_pin(softap_h softap, const char *wps_pin)
 {
        CHECK_FEATURE_SUPPORTED(SUPPORTED_FEATURE_SOFTAP);
-       DBG("+");
-
        _retvm_if(softap == NULL, SOFTAP_ERROR_INVALID_PARAMETER,
                        "parameter(softap) is NULL");
        _retvm_if(wps_pin == NULL, SOFTAP_ERROR_INVALID_PARAMETER,
                        "parameter(wps_pin) is NULL");
 
+       DBG("+");
+
        __softap_h *sa = (__softap_h *)softap;
        GDBusProxy *proxy = sa->client_bus_proxy;
        GVariant *parameters = NULL;
        guint info;
-       int ret = 0;
        GError *error = NULL;
+       bool enabled;
+
+       int ret = softap_is_enabled(softap, &enabled);
+       _retvm_if(ret != SOFTAP_ERROR_NONE,
+                       SOFTAP_ERROR_OPERATION_FAILED,
+                       "Fail to check softap is enabled!!\n");
+       _retvm_if(enabled == false,
+                       SOFTAP_ERROR_NOT_PERMITTED,
+                       "Soft AP is not enabled\n");
 
        parameters = g_dbus_proxy_call_sync(proxy, "set_wps_pin",
                        g_variant_new("(s)", wps_pin), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);