Modify the logic for WPS PIN connection 36/92436/1 accepted/tizen/3.0/ivi/20161028.123118 accepted/tizen/3.0/mobile/20161028.122439 accepted/tizen/3.0/tv/20161028.122603 accepted/tizen/3.0/wearable/20161028.122820 accepted/tizen/common/20161019.145719 accepted/tizen/ivi/20161021.062432 accepted/tizen/mobile/20161021.062325 accepted/tizen/tv/20161021.062345 accepted/tizen/wearable/20161021.062411 submit/tizen/20161019.063605 submit/tizen_3.0/20161028.062323 submit/tizen_3.0/20161028.082323 submit/tizen_3.0_common/20161104.104000
authorYu Jiung <jiung.yu@samsung.com>
Mon, 17 Oct 2016 04:39:40 +0000 (13:39 +0900)
committerYu Jiung <jiung.yu@samsung.com>
Mon, 17 Oct 2016 04:39:55 +0000 (13:39 +0900)
Change-Id: If019597fa2a4bc7b7c8a81f21182731f3d122317
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
packaging/capi-network-wifi-direct.spec
test/test-wifi-direct.c

index 00e210b..63d9258 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-network-wifi-direct
 Summary:    Network WiFi-Direct Library
-Version:    1.2.73
+Version:    1.2.74
 Release:    1
 Group:      Network & Connectivity/API
 License:    Apache-2.0
index eef3c38..bdfaf93 100644 (file)
@@ -849,7 +849,7 @@ void _cb_connection(int error_code, wifi_direct_connection_state_e connection_st
                int result;
 
                result = wifi_direct_get_local_wps_type(&wps_mode);
-               printf("wifi_direct_get__local_wps_type() result=[%d]\n", result);
+               printf("wifi_direct_get_local_wps_type() result=[%d]\n", result);
 
                /* BCMP2P_DISCOVER_ENTRY notification_data; */
                /* memcpy(&notification_data, pNotificationData, sizeof(notification_data)); */
@@ -858,7 +858,18 @@ void _cb_connection(int error_code, wifi_direct_connection_state_e connection_st
 
                } else if (wps_mode == WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY) {
                        printf("wps_config is WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY\n");
+                       char *pin = NULL;
+
+                       result = wifi_direct_get_wps_pin(&pin);
+                       printf("wifi_direct_get_wps_pin() result=[%d]\n", result);
+                       if (NULL != pin) {
+                               printf("WPS_PIN [%s]\n", pin);
+                               free(pin);
+                       } else
+                               printf("WPS_PIN is NULL !! \n");
 
+               } else if (wps_mode == WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD) {
+                       printf("wps_config is WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD\n");
                        char pin[9] = { 0, };
                        int result;
 
@@ -885,18 +896,6 @@ void _cb_connection(int error_code, wifi_direct_connection_state_e connection_st
                                printf("wifi_direct_accept_connection() result=[%d]\n", result);
                        } else
                                printf("wifi_direct_set_wps_pin Error [%d]\n", result);
-
-               } else if (wps_mode == WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD) {
-                       printf("wps_config is WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD\n");
-                       char *pin = NULL;
-
-                       result = wifi_direct_get_wps_pin(&pin);
-                       printf("wifi_direct_get_wps_pin() result=[%d]\n", result);
-                       if (NULL != pin) {
-                               printf("WPS_PIN [%s]\n", pin);
-                               free(pin);
-                       } else
-                               printf("WPS_PIN is NULL !! \n");
                } else
                        printf("wps_config is unknown!\n");
 
@@ -909,6 +908,7 @@ void _cb_connection(int error_code, wifi_direct_connection_state_e connection_st
                char incomming_peer_mac[18];
                wifi_direct_wps_type_e wps_mode;
                bool auto_connection_mode;
+               bool allow_connection = FALSE;
                int result;
 
                memset(incomming_peer_mac, 0, sizeof(incomming_peer_mac));
@@ -927,28 +927,39 @@ void _cb_connection(int error_code, wifi_direct_connection_state_e connection_st
                if (auto_connection_mode == TRUE) {
                        result = wifi_direct_accept_connection(incomming_peer_mac);
                        printf("wifi_direct_accept_connection() result=[%d]\n", result);
-               } else {
-                       if (wps_mode == WIFI_DIRECT_WPS_TYPE_PBC) {
-                               char pushbutton;
-                               printf("wps_config is WIFI_DIRECT_WPS_TYPE_PBC\n");
-                               printf("************\n");
-                               printf("Connect? (Y/N)\n");
-                               printf("*************\n");
-
-                               if (scanf(" %c", &pushbutton) < 1)
-                                       break;
+                       break;
+               }
 
-                               if ((pushbutton == 'Y') || (pushbutton == 'y')) {
-                                       result = wifi_direct_accept_connection(incomming_peer_mac);
-                                       printf("wifi_direct_accept_connection() result=[%d]\n", result);
-                               } else {
-                                       result = wifi_direct_reject_connection(incomming_peer_mac);
-                                       printf("wifi_direct_reject_connection() result=[%d]\n", result);
-                               }
-                       } else if (wps_mode == WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD) {
-                               printf("wps_config is WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD\n");
+               char pushbutton;
+               printf("************\n");
+               printf("Connect? (Y/N)\n");
+               printf("*************\n");
+               if (scanf(" %c", &pushbutton) < 1)
+                       break;
 
-                               char pin[9] = { 0, };
+               allow_connection = (pushbutton == 'Y') || (pushbutton == 'y');
+               if(!allow_connection) {
+                       result = wifi_direct_reject_connection(incomming_peer_mac);
+                       printf("wifi_direct_reject_connection() result=[%d]\n", result);
+                       break;
+               }
+
+               if (wps_mode == WIFI_DIRECT_WPS_TYPE_PBC) {
+                       printf("wps_config is WIFI_DIRECT_WPS_TYPE_PBC\n");
+               } else if (wps_mode == WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY) {
+                       char *pin = NULL;
+                       printf("wps_config is WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY\n");
+                       result = wifi_direct_get_wps_pin(&pin);
+                       printf("wifi_direct_get_wps_pin() result=[%d]\n", result);
+                       if (NULL != pin) {
+                               printf("WPS_PIN [%s]\n\n", pin);
+                               free(pin);
+                       } else
+                               printf("WPS_PIN is NULL !! \n");
+               } else if (wps_mode == WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD) {
+                       printf("wps_config is WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD\n");
+
+                       char pin[9] = { 0, };
 
                                memset(pin, 0x00, sizeof(pin));
                                printf("*********************\n");
@@ -962,16 +973,12 @@ void _cb_connection(int error_code, wifi_direct_connection_state_e connection_st
                                else
                                        printf("Invalid PIN number\n");
 
-
-                               if (result == WIFI_DIRECT_ERROR_NONE) {
-                                       result = wifi_direct_accept_connection(incomming_peer_mac);
-                                       printf("wifi_direct_accept_connection() result=[%d]\n", result);
-                               } else
-                                       printf("wifi_direct_set_wps_pin Error [%d]\n", result);
-
-                       } else
-                               printf("wps_config is unknown!\n");
+               } else {
+                       printf("wps_config is unknown!\n");
+                       break;
                }
+               result = wifi_direct_accept_connection(incomming_peer_mac);
+               printf("wifi_direct_accept_connection() result=[%d]\n", result);
        }
        break;