merge with master
[framework/osp/net.git] / src / wifi / FNetWifi_WifiDirectDeviceImpl.cpp
index 96ba0c5..b5aed26 100644 (file)
@@ -969,7 +969,7 @@ _WifiDirectDeviceImpl::OnWifiDirectDeviceDeactivated(const _WifiDirectEventArg&
 }
 
 void
-_WifiDirectDeviceImpl::OnWifiDirectGroupCreatedN(const _WifiDirectEventArg& arg,
+_WifiDirectDeviceImpl::OnWifiDirectGroupCreated(const _WifiDirectEventArg& arg,
                                                                                                        WifiDirectGroupMemberType wifiDirectMemberType, result r)
 {
        SysLog(NID_NET_WIFI, "Enter, [DeviceState:%s], [ScanState:%s], [result:%s]",
@@ -1027,20 +1027,31 @@ _WifiDirectDeviceImpl::OnWifiDirectGroupCreatedN(const _WifiDirectEventArg& arg,
 }
 
 void
-_WifiDirectDeviceImpl::OnWifiDirectScanCompletedN(const _WifiDirectEventArg& arg, result r)
+_WifiDirectDeviceImpl::OnWifiDirectRemoteDeviceFound(const _WifiDirectEventArg& arg)
 {
-       SysLog(NID_NET_WIFI, "Enter, [DeviceState:%s], [ScanState:%s], [result:%s]",
-                                       GetStringOfCurrentState(), GetStringOfScanState(), GetErrorMessage(r));
+    if (__scanState == WIFI_DIRECT_SCAN_INTERNAL_SCANNING)
+    {
+        _WifiDirectEventArg* pNewArg = new (std::nothrow) _WifiDirectEventArg(arg);
+        SysTryReturnVoidResult(NID_NET_WIFI, pNewArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+        __pWifiDirectDeviceEvent->FireAsync(*pNewArg);
+    }
+}
+
+void
+_WifiDirectDeviceImpl::OnWifiDirectScanCompleted(const _WifiDirectEventArg& arg, result r)
+{
+    SysLog(NID_NET_WIFI, "Enter, [DeviceState:%s], [ScanState:%s], [result:%s]",
+                    GetStringOfCurrentState(), GetStringOfScanState(), GetErrorMessage(r));
 
        bool isFired = false;
 
-    __stateMutex.Acquire();
+       __stateMutex.Acquire();
        if (__scanState != WIFI_DIRECT_SCAN_INTERNAL_IDLE)
        {
-               isFired = true;
+               isFired = true;
                __scanState = WIFI_DIRECT_SCAN_INTERNAL_IDLE;
        }
-    __stateMutex.Release();
+       __stateMutex.Release();
 
        if (isFired)
        {
@@ -1051,7 +1062,7 @@ _WifiDirectDeviceImpl::OnWifiDirectScanCompletedN(const _WifiDirectEventArg& arg
 
        SysLog(NID_NET_WIFI, "[SCANCOMPLETED_Event:%s]", isFired ? "Fired" : "NotFired");
        SysLog(NID_NET_WIFI, "Exit, [DeviceState:%s], [ScanState:%s], [result:%s]",
-                                       GetStringOfCurrentState(), GetStringOfScanState(), GetErrorMessage(r));
+                           GetStringOfCurrentState(), GetStringOfScanState(), GetErrorMessage(r));
 }
 
 void
@@ -1726,13 +1737,22 @@ _WifiDirectDeviceImpl_DeleteWifiDirectDevice(Tizen::Net::Wifi::WifiDirectDevice*
 {
     SysTryReturnVoidResult(NID_NET_WIFI, pWifiDirectDevice != null, E_INVALID_ARG, "[E_INVALID_ARG] WifiDirectDevice is null.");
 
-    pWifiDirectDevice->RemoveWifiDirectGroupClientListener(*pClientListener);
-    pWifiDirectDevice->RemoveWifiDirectGroupOwnerListener(*pOwnerListener);
-    pWifiDirectDevice->RemoveWifiDirectDeviceListener(*pDeviceListener);
+    if (pClientListener != null)
+    {
+        pWifiDirectDevice->RemoveWifiDirectGroupClientListener(*pClientListener);
+    }
 
-    delete pWifiDirectDevice;
+    if (pOwnerListener != null)
+    {
+        pWifiDirectDevice->RemoveWifiDirectGroupOwnerListener(*pOwnerListener);
+    }
+
+    if (pDeviceListener != null)
+    {
+        pWifiDirectDevice->RemoveWifiDirectDeviceListener(*pDeviceListener);
+    }
 
-    return;
+    delete pWifiDirectDevice;
 }
 
 _OSP_EXPORT_ result