add cancel_connection function 89/14789/1
authorJiung Yu <jiung.yu@samsung.com>
Mon, 13 Jan 2014 04:35:52 +0000 (13:35 +0900)
committerJiung Yu <jiung.yu@samsung.com>
Mon, 13 Jan 2014 04:36:03 +0000 (13:36 +0900)
Change-Id: Ief183951bec3708abde515c90a18d19520fb1a7a
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
include/wifi-direct.h
packaging/libwifi-direct.changes
packaging/libwifi-direct.spec
src/wifi-direct-client-proxy.c

index e010203..c56d6ed 100644 (file)
@@ -1147,6 +1147,29 @@ int wifi_direct_foreach_discovered_peers(wifi_direct_discovered_peer_cb callback
  ******************************************************************************/
 int wifi_direct_connect(const char *mac_address);
 
+/**
+ * @brief Cancel the connection now in progress .
+ * @param[in] mac_address  The MAC address of rejected device.
+ * @retval #WIFI_DIRECT_ERROR_NONE  Successful
+ * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED  Operation failed
+ * @retval #WIFI_DIRECT_ERROR_COMMUNICATION_FAILED  Communication failed
+ * @retval #WIFI_DIRECT_ERROR_NOT_PERMITTED  Operation not permitted
+ * @retval #WIFI_DIRECT_ERROR_NOT_INITIALIZED  Not initialized
+ * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY  Device or resource busy
+ */
+int wifi_direct_cancel_connection(const char *mac_address);
+
+/**
+ * @brief Reject the connection request from other device now in progress.
+ * @param[in] mac_address  The MAC address of rejected device.
+ * @retval #WIFI_DIRECT_ERROR_NONE  Successful
+ * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED  Operation failed
+ * @retval #WIFI_DIRECT_ERROR_COMMUNICATION_FAILED  Communication failed
+ * @retval #WIFI_DIRECT_ERROR_NOT_PERMITTED  Operation not permitted
+ * @retval #WIFI_DIRECT_ERROR_NOT_INITIALIZED  Not initialized
+ * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY  Device or resource busy
+ */
+int wifi_direct_reject_connection(const char *mac_address);
 
 /*****************************************************************************************/
 /* wifi_direct_disconnect_all API function prototype
index 62bf2bb..332ea0c 100644 (file)
@@ -1,3 +1,6 @@
+* Fri, 10 Jan 2014 Jiung Yu <jiung.yu@samsung.com> (1.0.4)
+  - Add cancel_connection function
+
 * Fri, 10 Jan 2014 Jiung Yu <jiung.yu@samsung.com> (1.0.3)
   - Additonal Mutex lock applied
 
index c85ca79..fa89be6 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libwifi-direct
 Summary:    Wifi Direct Library
-Version:    1.0.3
+Version:    1.0.4
 Release:    1
 Group:      Network & Connectivity/Wireless 
 License:    Apache-2.0
index 625438f..a0b0769 100644 (file)
@@ -760,7 +760,6 @@ void __wfd_client_print_persistent_group_info(wfd_persistent_group_info_s *list,
        WDC_LOGD("------------------------------------------\n");
 }
 
-
 void __wfd_client_print_config_data(wfd_config_data_s *config)
 {
        if (config == NULL)
@@ -1463,6 +1462,41 @@ int wifi_direct_connect(const char *mac_address)
        return WIFI_DIRECT_ERROR_NONE;
 }
 
+int wifi_direct_cancel_connection(const char *mac_address)
+{
+       __WDC_LOG_FUNC_START__;
+       wifi_direct_client_info_s *client_info = __wfd_get_control();
+       wifi_direct_client_request_s req;
+       wifi_direct_client_response_s rsp;
+       int res = WIFI_DIRECT_ERROR_NONE;
+
+       if ((client_info->is_registered == false)
+               || (client_info->client_id == WFD_INVALID_ID))
+       {
+               WDC_LOGE("Client is NOT registered.");
+               __WDC_LOG_FUNC_END__;
+               return WIFI_DIRECT_ERROR_NOT_INITIALIZED;
+       }
+
+       memset(&req, 0, sizeof(wifi_direct_client_request_s));
+       memset(&rsp, 0, sizeof(wifi_direct_client_response_s));
+
+       req.cmd = WIFI_DIRECT_CMD_CANCEL_CONNECTION;
+       req.client_id = client_info->client_id;
+       macaddr_atoe(mac_address, req.data.mac_addr);
+
+       res = __wfd_client_send_request(client_info->sync_sockfd, &req, &rsp);
+       if (res != WIFI_DIRECT_ERROR_NONE) {
+               __WDC_LOG_FUNC_END__;
+               return res;
+       }
+       WDC_LOGD("wifi_direct_cancel_connect() SUCCESS");
+
+       __WDC_LOG_FUNC_END__;
+       return WIFI_DIRECT_ERROR_NONE;
+}
+
+
 int wifi_direct_reject_connection(const char *mac_address)
 {
        __WDC_LOG_FUNC_START__;