Check if this CAPI has been initialized 31/35331/1 tizen_devel
authorChengyi Zhao <chengyi1.zhao@archermind.com>
Thu, 12 Feb 2015 07:06:18 +0000 (15:06 +0800)
committerChengyi Zhao <chengyi1.zhao@archermind.com>
Thu, 12 Feb 2015 07:46:58 +0000 (15:46 +0800)
Change-Id: Ia1d8a5cde9240b193900d963ab83ba836927927c
Signed-off-by: Chengyi Zhao <chengyi1.zhao@archermind.com>
src/include/wifi-internal.h
src/wifi-ap.c
src/wifi.c

index ce4597d2ff4a4b1f5181dd0bebb47ccff619b294..4846879d28c41a7a3b0c5b1da93df65e3fa129c6 100644 (file)
@@ -57,6 +57,7 @@
 extern "C" {
 #endif /* __cplusplus */
 
+bool _wifi_is_init(void);
 bool _wifi_libnet_init(void);
 bool _wifi_libnet_deinit(void);
 int _wifi_activate(wifi_activated_cb callback, void *user_data);
index 5fa934d6095d9bd3007c6d9302ef338826798bb7..2cae57747fcbfc507be4a0219ddf48e5d7fe3eeb 100755 (executable)
@@ -73,6 +73,11 @@ EXPORT_API int wifi_ap_create(const char* bssid, wifi_ap_h* ap)
                return WIFI_ERROR_INVALID_PARAMETER;
        }
 
+       if (_wifi_is_init() == false) {
+               WIFI_LOG(WIFI_ERROR, "Not initialized\n");
+               return WIFI_ERROR_INVALID_OPERATION;
+       }
+
        net_profile_info_t *ap_info =
                                g_try_malloc0(sizeof(net_profile_info_t));
        if (ap_info == NULL)
index 05073777988a5517b97080707d0f082750a298ca..66fb87894569a9a3919ae648da3f2dcd6be849e8 100755 (executable)
 
 static bool is_init = false;
 
+bool _wifi_is_init(void)
+{
+       return is_init;
+}
+
 EXPORT_API int wifi_initialize(void)
 {
        if (is_init) {
@@ -110,6 +115,11 @@ EXPORT_API int wifi_is_activated(bool* activated)
                return WIFI_ERROR_INVALID_PARAMETER;
        }
 
+       if (is_init == false) {
+               WIFI_LOG(WIFI_ERROR, "Not initialized\n");
+               return WIFI_ERROR_INVALID_OPERATION;
+       }
+
        if (_wifi_libnet_get_wifi_device_state(&device_state) == false) {
                return WIFI_ERROR_OPERATION_FAILED;
        } else {
@@ -131,6 +141,11 @@ EXPORT_API int wifi_get_connection_state(
                return WIFI_ERROR_INVALID_PARAMETER;
        }
 
+       if (is_init == false) {
+               WIFI_LOG(WIFI_ERROR, "Not initialized\n");
+               return WIFI_ERROR_INVALID_OPERATION;
+       }
+
        if (_wifi_libnet_get_wifi_state(connection_state) == false)
                return WIFI_ERROR_OPERATION_FAILED;
 
@@ -144,6 +159,11 @@ EXPORT_API int wifi_get_mac_address(char** mac_address)
                return WIFI_ERROR_INVALID_PARAMETER;
        }
 
+       if (is_init == false) {
+               WIFI_LOG(WIFI_ERROR, "Not initialized\n");
+               return WIFI_ERROR_INVALID_OPERATION;
+       }
+
        *mac_address = vconf_get_str(VCONFKEY_WIFI_BSSID_ADDRESS);
 
        if (*mac_address == NULL) {
@@ -163,6 +183,11 @@ EXPORT_API int wifi_get_network_interface_name(char** name)
                return WIFI_ERROR_INVALID_PARAMETER;
        }
 
+       if (is_init == false) {
+               WIFI_LOG(WIFI_ERROR, "Not initialized\n");
+               return WIFI_ERROR_INVALID_OPERATION;
+       }
+
        return _wifi_libnet_get_intf_name(name);
 }
 
@@ -219,6 +244,11 @@ EXPORT_API int wifi_get_connected_ap(wifi_ap_h* ap)
                return WIFI_ERROR_INVALID_PARAMETER;
        }
 
+       if (is_init == false) {
+               WIFI_LOG(WIFI_ERROR, "Not initialized\n");
+               return WIFI_ERROR_INVALID_OPERATION;
+       }
+
        rv = _wifi_libnet_get_connected_profile(ap);
        WIFI_LOG(WIFI_INFO, "Connected AP %p, rv %d\n", *ap, rv);
 
@@ -233,6 +263,11 @@ EXPORT_API int wifi_foreach_found_aps(wifi_found_ap_cb callback,
                return WIFI_ERROR_INVALID_PARAMETER;
        }
 
+       if (is_init == false) {
+               WIFI_LOG(WIFI_ERROR, "Not initialized\n");
+               return WIFI_ERROR_INVALID_OPERATION;
+       }
+
        if (_wifi_libnet_foreach_found_aps(callback, user_data) == false)
                return WIFI_ERROR_OPERATION_FAILED;
 
@@ -247,6 +282,11 @@ EXPORT_API int wifi_foreach_found_hidden_aps(wifi_found_ap_cb callback,
                return WIFI_ERROR_INVALID_PARAMETER;
        }
 
+       if (is_init == false) {
+               WIFI_LOG(WIFI_ERROR, "Not initialized\n");
+               return WIFI_ERROR_INVALID_OPERATION;
+       }
+
        if (_wifi_libnet_foreach_found_hidden_aps(callback, user_data) == false)
                return WIFI_ERROR_OPERATION_FAILED;