2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FNetWifi_WifiManagerImpl.cpp
20 * @brief This is the implementation file for the _WifiManagerImpl Class.
22 * This file contains the implementation of the _WifiManagerImpl Class.
24 #include <unique_ptr.h>
25 #include <FBaseSysLog.h>
26 #include <FNetWifiWifiManager.h>
27 #include <FNetWifiWifiBssInfo.h>
28 #include <FNetWifiIWifiManagerEventListener.h>
29 #include <FNetWifiIWifiSystemMonitoringEventListener.h>
30 #include "FNetWifi_WifiManagerImpl.h"
31 #include "FNetWifi_WifiSystemAdapter.h"
32 #include "FNetWifi_WifiIpcProxy.h"
33 #include "FNetWifi_WifiManagerEvent.h"
34 #include "FNetWifi_WifiManagerEventArg.h"
35 #include "FNetWifi_WifiSystemMonitoringEvent.h"
36 #include "FNetWifi_WifiSystemMonitoringEventArg.h"
37 #include "FNetWifi_WifiUtility.h"
40 using namespace Tizen::Base;
41 using namespace Tizen::Base::Runtime;
42 using namespace Tizen::Base::Collection;
44 namespace Tizen { namespace Net { namespace Wifi {
46 _WifiManagerImpl::_WifiManagerImpl(void)
47 : __pWifiSystemAdapter(null)
49 , __pMonitoringEvent(null)
50 , __pTargetApInfo(null)
52 , __currentState(WIFI_MANAGER_DEACTIVATED)
53 , __currentScanState(WIFI_SCAN_IDLE)
54 , __wasConnected(false)
58 _WifiManagerImpl::~_WifiManagerImpl(void)
60 if (__pWifiSystemAdapter != null)
62 __pWifiSystemAdapter->UnregisterManagerEventListener(*this);
67 _WifiManagerImpl::Construct(IWifiManagerEventListener& listener)
70 unique_ptr<_WifiSystemMonitoringEvent> pMonitoringEvent;
71 unique_ptr<_WifiManagerEvent> pMgrEvent;
73 SysAssertf(__pWifiSystemAdapter == null,
74 "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
76 r = __stateMutex.Create();
77 r = TransExceptionsExclusive(r, E_SYSTEM, E_OUT_OF_MEMORY);
78 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, r, "Failed to create mutex.");
80 __pWifiSystemAdapter = _WifiSystemAdapter::GetInstance();
81 SysTryReturnResult(NID_NET_WIFI, __pWifiSystemAdapter != null, E_OUT_OF_MEMORY, "Failed to get Wi-Fi System adapter instance");
83 pMonitoringEvent.reset(new (std::nothrow) _WifiSystemMonitoringEvent());
84 SysTryReturnResult(NID_NET_WIFI, pMonitoringEvent != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
85 r = pMonitoringEvent->Construct();
86 r = TransExceptionsExclusive(r, E_SYSTEM, E_OUT_OF_MEMORY);
87 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, r, "Failed to construct the system monitoring event.");
89 pMgrEvent.reset(new (std::nothrow) _WifiManagerEvent());
90 SysTryReturnResult(NID_NET_WIFI, pMgrEvent != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
91 r = pMgrEvent->Construct();
92 r = TransExceptionsExclusive(r, E_SYSTEM, E_OUT_OF_MEMORY);
93 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, E_SYSTEM, "Failed to construct the event.");
95 // add the IWifiManagerEventListener instance to a new created _WifiManagerEvent.
96 r = pMgrEvent->AddListener(listener, true);
97 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, E_SYSTEM,
98 "Failed to add the application listener for WifiManager event");
100 __pWifiSystemAdapter->RegisterManagerEventListener(*this);
101 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, E_SYSTEM,
102 "Failed to register the manager event listener to _WifiSystemAdapter.");
104 __stateMutex.Acquire();
106 if (__pWifiSystemAdapter->IsActivated())
108 if (__pWifiSystemAdapter->IsConnected())
110 __currentState = WIFI_MANAGER_CONNECTED;
111 __wasConnected = true;
115 __currentState = WIFI_MANAGER_ACTIVATED;
119 __stateMutex.Release();
121 __pMgrEvent = move(pMgrEvent);
122 __pMonitoringEvent = move(pMonitoringEvent);
128 _WifiManagerImpl::Activate(void)
130 result r = E_SUCCESS;
132 SysLog(NID_NET_WIFI, "Enter, [Current State : %s],[Scan State: %s]",
133 GetStringOfCurrentState(), GetStringOfCurrentScanState());
135 __stateMutex.Acquire();
137 switch (__currentState)
139 case WIFI_MANAGER_DEACTIVATED:
140 r = __pWifiSystemAdapter->Activate();
143 __currentState = WIFI_MANAGER_ACTIVATING;
145 else if (r == E_IN_PROGRESS)
147 __currentState = WIFI_MANAGER_ACTIVATING;
148 SysLog(NID_NET_WIFI, "SLP returned E_IN_PROGRESS, return E_SUCCESS (Same as 2.0)");
152 case WIFI_MANAGER_ACTIVATING:
156 r = E_INVALID_OPERATION;
160 __stateMutex.Release();
164 SysLogException(NID_NET_WIFI, r, "[%s] exception occurred on activating Wifi.", GetErrorMessage(r));
167 SysLog(NID_NET_WIFI, "Exit, [Current State : %s], [Scan State: %s], [Result : %s]",
168 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r));
174 _WifiManagerImpl::Deactivate(void)
176 result r = E_SUCCESS;
178 SysLog(NID_NET_WIFI, "Enter, [Current State : %s], [Scan State: %s]",
179 GetStringOfCurrentState(), GetStringOfCurrentScanState());
181 __stateMutex.Acquire();
183 switch (__currentState)
185 case WIFI_MANAGER_DEACTIVATED:
186 case WIFI_MANAGER_ACTIVATING:
187 r = E_INVALID_OPERATION;
189 case WIFI_MANAGER_DEACTIVATING:
193 r = __pWifiSystemAdapter->Deactivate();
196 __currentState = WIFI_MANAGER_DEACTIVATING;
198 else if (r == E_IN_PROGRESS)
200 __currentState = WIFI_MANAGER_DEACTIVATING;
201 SysLog(NID_NET_WIFI, "SLP returned E_IN_PROGRESS, return E_SUCCESS (Same as 2.0)");
207 __stateMutex.Release();
212 SysLogException(NID_NET_WIFI, r, "[%s] Propagating.", GetErrorMessage(r));
215 SysLog(NID_NET_WIFI, "Exit, [Current State : %s], [Scan State: %s], [Result : %s]",
216 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r));
222 _WifiManagerImpl::GetPowerStatus(void) const
224 WifiPowerStatus wifiPowerStatus = WIFI_POWER_STATUS_OFF;
226 if (__currentState != WIFI_MANAGER_DEACTIVATED)
228 wifiPowerStatus = WIFI_POWER_STATUS_ON;
231 return wifiPowerStatus;
235 _WifiManagerImpl::GetMacAddress(void) const
237 String macAddress(L"");
239 switch (__currentState)
241 case WIFI_MANAGER_DEACTIVATED:
242 case WIFI_MANAGER_ACTIVATING:
246 macAddress = __pWifiSystemAdapter->GetMacAddress();
254 _WifiManagerImpl::IsActivated(void) const
256 bool isActivated = false;
258 SysLog(NID_NET_WIFI, "Enter, [Current State : %s], [Scan State: %s]",
259 GetStringOfCurrentState(), GetStringOfCurrentScanState());
261 if ((__currentState != WIFI_MANAGER_DEACTIVATED) && (__currentState != WIFI_MANAGER_ACTIVATING))
274 _WifiManagerImpl::IsConnected(void) const
276 bool isConnected = false;
278 SysLog(NID_NET_WIFI, "Enter, [Current State : %s], [Scan State: %s]",
279 GetStringOfCurrentState(), GetStringOfCurrentScanState());
281 if (__currentState == WIFI_MANAGER_CONNECTED)
294 _WifiManagerImpl::Scan(void)
296 result r = E_SUCCESS;
298 SysLog(NID_NET_WIFI, "Enter, [Current State : %s], [Scan State: %s]",
299 GetStringOfCurrentState(), GetStringOfCurrentScanState());
301 __stateMutex.Acquire();
303 switch (__currentState)
305 case WIFI_MANAGER_DEACTIVATED:
306 case WIFI_MANAGER_ACTIVATING:
307 case WIFI_MANAGER_DEACTIVATING:
311 if (__currentScanState == WIFI_SCAN_IDLE)
313 r = __pWifiSystemAdapter->Scan();
316 __currentScanState = WIFI_SCAN_SCANNING;
318 else if (r == E_IN_PROGRESS)
320 SysLog(NID_NET_WIFI, "SLP returned E_IN_PROGRESS, return E_SUCCESS (Same as 2.0)");
321 __currentScanState = WIFI_SCAN_SCANNING;
328 SysLog(NID_NET_WIFI, "Current Scan request is not processed as scan is either in progress or canceling.");
333 __stateMutex.Release();
337 SysLogException(NID_NET_WIFI, r, "[%s] Propagating.", GetErrorMessage(r));
340 SysLog(NID_NET_WIFI, "Exit, [Current State : %s], [Scan State: %s], [Result : %s]",
341 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r));
346 _WifiManagerImpl::Connect(const WifiBssInfo& targetApInfo)
348 result r = E_SUCCESS;
350 SysLog(NID_NET_WIFI, "Enter, [Current State : %s], [Scan State: %s]",
351 GetStringOfCurrentState(), GetStringOfCurrentScanState());
353 __stateMutex.Acquire();
355 switch (__currentState)
357 case WIFI_MANAGER_DEACTIVATED:
358 case WIFI_MANAGER_ACTIVATING:
359 case WIFI_MANAGER_DEACTIVATING:
362 case WIFI_MANAGER_ACTIVATED:
363 case WIFI_MANAGER_CONNECTED:
364 if (targetApInfo.GetBssType() != WIFI_BSS_TYPE_INFRASTRUCTURE)
370 r = __pWifiSystemAdapter->Connect(targetApInfo);
373 __currentState = WIFI_MANAGER_CONNECTING;
377 case WIFI_MANAGER_CONNECTING:
382 __stateMutex.Release();
386 SysLogException(NID_NET_WIFI, r, "[%s] Propagating.", GetErrorMessage(r));
389 SysLog(NID_NET_WIFI, "Exit, [Current State : %s], [Scan State: %s], [Result : %s]",
390 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r));
396 _WifiManagerImpl::SetWifiSystemScanMode(WifiSystemScanMode mode)
398 result r = E_SUCCESS;
399 _WifiIpcProxy* pProxy = null;
401 pProxy = _WifiIpcProxy::GetInstance();
402 SysTryReturnResult(NID_NET_WIFI, pProxy != null, E_SYSTEM, "Failed to get _WifiIpcProxy instance.");
404 r = pProxy->SetWifiSystemScanMode(mode);
405 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, r, "Propagating.");
411 _WifiManagerImpl::AddSystemMonitoringEventListener(IWifiSystemMonitoringEventListener& listener)
413 result r = E_SUCCESS;
414 _WifiIpcProxy* pProxy = null;
416 pProxy = _WifiIpcProxy::GetInstance();
417 SysTryReturnResult(NID_NET_WIFI, pProxy != null, E_SYSTEM, "Failed to get _WifiIpcProxy instance.");
419 r = pProxy->CheckSystemSettingPrivilege();
420 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, r, "Propagating.");
422 // add the specified new IWifiSystemMonitoringEventListener instance to the _WifiSystemMonitoringEvent.
423 r = __pMonitoringEvent->AddListener(listener, true);
424 r = TransExceptionsExclusive(r, E_SYSTEM, E_OUT_OF_MEMORY, E_OBJ_ALREADY_EXIST);
425 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, r, "Failed to add the new listener.");
427 SysLog(NID_NET_WIFI, "Adding the new IWifiSystemMonitoringEventListener is successful.");
433 _WifiManagerImpl::RemoveSystemMonitoringEventListener(IWifiSystemMonitoringEventListener& listener)
435 result r = E_SUCCESS;
436 _WifiIpcProxy* pProxy = null;
438 pProxy = _WifiIpcProxy::GetInstance();
439 SysTryReturnResult(NID_NET_WIFI, pProxy != null, E_SYSTEM, "Failed to get _WifiIpcProxy instance.");
441 r = pProxy->CheckSystemSettingPrivilege();
442 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, r, "Propagating.");
444 // remove the previous IWifiSystemMonitoringEventListener instance from the _WifiSystemMonitoringEvent.
445 r = __pMonitoringEvent->RemoveListener(listener);
446 r = TransExceptionsExclusive(r, E_SYSTEM, E_OUT_OF_MEMORY, E_OBJ_NOT_FOUND);
447 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, r, "Failed to remove the previous listener.");
449 SysLog(NID_NET_WIFI, "Removing the previous IWifiSystemMonitoringEventListener is successful.");
455 _WifiManagerImpl::GetConnectionState(void) const
457 return __pWifiSystemAdapter->GetConnectionState();
461 _WifiManagerImpl::GetConnectionTargetInfoN(void) const
463 return __pWifiSystemAdapter->GetConnectionTargetInfoN();
467 _WifiManagerImpl::UpdateBssInfo(const WifiBssInfo& bssInfo)
469 result r = E_SUCCESS;
470 _WifiIpcProxy* pProxy = null;
472 pProxy = _WifiIpcProxy::GetInstance();
473 SysTryReturnResult(NID_NET_WIFI, pProxy != null, E_SYSTEM, "Failed to get _WifiIpcProxy instance.");
475 r = pProxy->UpdateBssInfo(bssInfo);
476 SysTryReturnResult(NID_NET_WIFI, r == E_SUCCESS, r, "Propagating.");
481 Tizen::Base::Collection::IList*
482 _WifiManagerImpl::GetSystemScanResultN(void) const
484 return __pWifiSystemAdapter->GetSystemScanResultN();
488 _WifiManagerImpl::OnWifiActivated(result r)
490 SysLog(NID_NET_WIFI, "Enter, [CurrentState:%s], [Scan State: %s], [result:%s]",
491 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r));
492 bool isFired = false;
494 __stateMutex.Acquire();
496 switch (__currentState)
498 case WIFI_MANAGER_DEACTIVATED:
501 __currentState = WIFI_MANAGER_ACTIVATED;
505 case WIFI_MANAGER_ACTIVATING:
508 __currentState = WIFI_MANAGER_ACTIVATED;
512 __currentState = WIFI_MANAGER_DEACTIVATED;
521 __stateMutex.Release();
525 _WifiManagerEventArg* pArg = new (std::nothrow) _WifiManagerEventArg(_WIFI_EVENT_ACTIVATED, r);
526 SysTryReturnVoidResult(NID_NET_WIFI, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
528 __pMgrEvent->FireAsync(*pArg);
531 if ((isFired) && (IsFailed(r)))
533 SysLogException(NID_NET_WIFI, r, "[%s] exception occurred on Wifi-activate callback.", GetErrorMessage(r));
536 SysLog(NID_NET_WIFI, "ExitPoint, [CurrentState:%s], [Scan State: %s], [result:%s], [ACTIVATED_Event:%s]",
537 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r), isFired ? "Fired" : "NotFired");
541 _WifiManagerImpl::OnWifiDeactivated(result r)
543 SysLog(NID_NET_WIFI, "Enter, [CurrentState:%s], [Scan State: %s], [result:%s]",
544 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r));
545 bool isFired = false;
547 __stateMutex.Acquire();
549 switch (__currentState)
551 case WIFI_MANAGER_DEACTIVATING:
554 __currentState = WIFI_MANAGER_DEACTIVATED;
555 __currentScanState = WIFI_SCAN_IDLE;
559 if (__pWifiSystemAdapter->IsConnected())
561 __currentState = WIFI_MANAGER_CONNECTED;
565 __currentState = WIFI_MANAGER_ACTIVATED;
571 case WIFI_MANAGER_ACTIVATED:
572 case WIFI_MANAGER_CONNECTING:
573 case WIFI_MANAGER_CONNECTED:
574 case WIFI_MANAGER_ACTIVATING:
577 __currentState = WIFI_MANAGER_DEACTIVATED;
578 __currentScanState = WIFI_SCAN_IDLE;
586 __stateMutex.Release();
590 __wasConnected = false;
595 _WifiManagerEventArg* pArg = new (std::nothrow) _WifiManagerEventArg(_WIFI_EVENT_DEACTIVATED, r);
596 SysTryReturnVoidResult(NID_NET_WIFI, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
598 __pMgrEvent->FireAsync(*pArg);
601 if ((isFired) && (IsFailed(r)))
603 SysLogException(NID_NET_WIFI, r, "[%s] exception occurred on Wifi-deactive callback.", GetErrorMessage(r));
606 SysLog(NID_NET_WIFI, "ExitPoint, [CurrentState:%s], [Scan State: %s] , [result:%s], [DEACTIVATED_Event:%s]",
607 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r), isFired ? "Fired" :"NotFired");
611 _WifiManagerImpl::OnWifiConnected(const Tizen::Base::String &ssid, result r)
613 SysLog(NID_NET_WIFI, "Enter, [CurrentState:%s], [Scan State: %s] , [result:%s]",
614 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r));
615 bool isFired = false;
617 __stateMutex.Acquire();
619 switch (__currentState)
621 case WIFI_MANAGER_DEACTIVATING:
624 __currentState = WIFI_MANAGER_CONNECTED;
625 __wasConnected = true;
633 case WIFI_MANAGER_ACTIVATED:
636 __currentState = WIFI_MANAGER_CONNECTED;
637 __wasConnected = true;
641 case WIFI_MANAGER_CONNECTING:
644 __currentState = WIFI_MANAGER_CONNECTED;
645 __wasConnected = true;
649 __currentState = WIFI_MANAGER_ACTIVATED;
658 __stateMutex.Release();
663 _WifiManagerEventArg* pArg = new (std::nothrow) _WifiManagerEventArg(_WIFI_EVENT_CONNECTED, ssid, r);
664 SysTryReturnVoidResult(NID_NET_WIFI, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
666 __pMgrEvent->FireAsync(*pArg);
669 if ((isFired) && (IsFailed(r)))
671 SysLogException(NID_NET_WIFI, r, "[%s] exception occurred on Wifi-connect callback.", GetErrorMessage(r));
674 SysLog(NID_NET_WIFI, "ExitPoint, [CurrentState:%s], [Scan State: %s] , [result:%s], [CONNECTED_Event:%s]",
675 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r), isFired ? "Fired" : "NotFired");
679 _WifiManagerImpl::OnWifiDisconnected(void)
681 SysLog(NID_NET_WIFI, "Enter, [CurrentState:%s], [Scan State: %s]", GetStringOfCurrentState(), GetStringOfCurrentScanState());
682 bool isFired = false;
684 __stateMutex.Acquire();
685 switch (__currentState)
687 case WIFI_MANAGER_DEACTIVATING:
688 if (__wasConnected == true)
694 case WIFI_MANAGER_CONNECTING:
695 __currentState = WIFI_MANAGER_ACTIVATED;
696 if (__wasConnected == true)
702 case WIFI_MANAGER_CONNECTED:
703 __currentState = WIFI_MANAGER_ACTIVATED;
709 __stateMutex.Release();
711 __wasConnected = false;
715 _WifiManagerEventArg* pArg = new (std::nothrow) _WifiManagerEventArg(_WIFI_EVENT_DISCONNECTED);
716 SysTryReturnVoidResult(NID_NET_WIFI, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
718 __pMgrEvent->FireAsync(*pArg);
721 SysLog(NID_NET_WIFI, "ExitPoint, [CurrentState:%s], [Scan State: %s], [DISCONNECTED_Event:%s]",
722 GetStringOfCurrentState(), GetStringOfCurrentScanState(), isFired ? "Fired" : "NotFired");
726 _WifiManagerImpl::OnWifiRssiChanged(long rssi)
728 SysLog(NID_NET_WIFI, "Enter, [CurrentState:%s], [Scan State: %s]",
729 GetStringOfCurrentState(), GetStringOfCurrentScanState());
731 if (__currentState == WIFI_MANAGER_CONNECTED)
733 _WifiManagerEventArg* pArg = new (std::nothrow) _WifiManagerEventArg(_WIFI_EVENT_RSSI_CHANGED, rssi);
734 SysTryReturnVoidResult(NID_NET_WIFI, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
736 __pMgrEvent->FireAsync(*pArg);
741 _WifiManagerImpl::OnWifiScanCompleted(Tizen::Base::Collection::IList* pWifiBssInfoList, result r)
743 IList* pBssInfoList = null;
744 bool isFired = false;
745 SysLog(NID_NET_WIFI, "Enter, [CurrentState:%s], [Scan State: %s], [result:%s]",
746 GetStringOfCurrentState(), GetStringOfCurrentScanState(), GetErrorMessage(r));
748 __stateMutex.Acquire();
750 if (__currentScanState == WIFI_SCAN_SCANNING)
753 __currentScanState = WIFI_SCAN_IDLE;
756 __stateMutex.Release();
760 pBssInfoList = _WifiUtility::GetWifiBssInfoListCloneN(pWifiBssInfoList);
761 _WifiManagerEventArg* pArg = new (std::nothrow) _WifiManagerEventArg(_WIFI_EVENT_SCAN_COMPLETED, pBssInfoList, r);
762 SysTryReturnVoidResult(NID_NET_WIFI, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
764 __pMgrEvent->FireAsync(*pArg);
767 SysLog(NID_NET_WIFI, "Exit, [CurrentState:%s], [Scan State: %s], [SCAN_COMPLETED_Event:%s]",
768 GetStringOfCurrentState(), GetStringOfCurrentScanState(), isFired ? "Fired" : "Not Fired");
772 _WifiManagerImpl::OnWifiConnectionStateChanged(WifiConnectionState state)
774 SysLog(NID_NET_WIFI, "Enter, [CurrentState:%s], [Connection State: %s]",
775 GetStringOfCurrentState(), GetStringOfConnectionState(state));
777 _WifiSystemMonitoringEventArg* pArg = new (std::nothrow) _WifiSystemMonitoringEventArg(state);
778 SysTryReturnVoidResult(NID_NET_WIFI, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
780 __pMonitoringEvent->FireAsync(*pArg);
782 SysLog(NID_NET_WIFI, "Exit, [CurrentState:%s], [CONN_STATE_Event:Fired]", GetStringOfCurrentState());
786 _WifiManagerImpl::OnWifiSystemScanResultUpdated(void)
788 SysLog(NID_NET_WIFI, "Enter, [CurrentState:%s]", GetStringOfCurrentState());
790 _WifiSystemMonitoringEventArg* pArg = new (std::nothrow) _WifiSystemMonitoringEventArg();
791 SysTryReturnVoidResult(NID_NET_WIFI, pArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
793 __pMonitoringEvent->FireAsync(*pArg);
795 SysLog(NID_NET_WIFI, "Exit, [CurrentState:%s], [BACKSCAN_RESULT_Event:Fired]", GetStringOfCurrentState());
799 _WifiManagerImpl::GetInstance(WifiManager& wifiManager)
801 return wifiManager.__pWifiManagerImpl;
804 const _WifiManagerImpl*
805 _WifiManagerImpl::GetInstance(const WifiManager& wifiManager)
807 return wifiManager.__pWifiManagerImpl;
811 _WifiManagerImpl::GetStringOfCurrentState(void) const
813 const char* pStateString = null;
815 switch (__currentState)
817 case WIFI_MANAGER_DEACTIVATED:
818 pStateString = "__WIFI_MANAGER_DEACTIVATED";
820 case WIFI_MANAGER_ACTIVATING:
821 pStateString = "__WIFI_MANAGER_ACTIVATING";
823 case WIFI_MANAGER_DEACTIVATING:
824 pStateString = "__WIFI_MANAGER_DEACTIVATING";
826 case WIFI_MANAGER_ACTIVATED:
827 pStateString = "__WIFI_MANAGER_ACTIVATED";
829 case WIFI_MANAGER_CONNECTING:
830 pStateString = "__WIFI_MANAGER_CONNECTING";
832 case WIFI_MANAGER_CONNECTED:
833 pStateString = "__WIFI_MANAGER_CONNECTED";
836 pStateString = "Unknown";
844 _WifiManagerImpl::GetStringOfCurrentScanState(void) const
846 const char* pStateString = null;
848 switch (__currentScanState)
851 pStateString = "__WIFI_SCAN_IDLE";
853 case WIFI_SCAN_SCANNING:
854 pStateString = "__WIFI_SCAN_SCANNING";
856 case WIFI_SCAN_CANCELLING:
857 pStateString = "__WIFI_SCAN_CANCELLING";
860 pStateString = "Unknown";
868 _WifiManagerImpl::GetStringOfConnectionState(WifiConnectionState state) const
870 const char* pStateString = null;
874 case WIFI_CONN_STATE_NOT_CONNECTED:
875 pStateString = "IDLE";
877 case WIFI_CONN_STATE_ASSOCIATING:
878 pStateString = "ASSOCIATING";
880 case WIFI_CONN_STATE_CONFIGURING:
881 pStateString = "CONFIGURING";
883 case WIFI_CONN_STATE_CONNECTED:
884 pStateString = "CONNECTED";
887 pStateString = "Unknown";
894 } } } // Tizen::Net::Wifi
903 _WifiManagerImpl_Activate(void)
905 Tizen::Net::Wifi::_WifiSystemAdapter* __pWifiSystemAdapter = Tizen::Net::Wifi::_WifiSystemAdapter::GetInstance();
906 SysTryReturnResult(NID_NET_WIFI, __pWifiSystemAdapter != null, E_OUT_OF_MEMORY, "Failed to get Wi-Fi System adapter instance");
908 return __pWifiSystemAdapter->Activate();
912 _WifiManagerImpl_Deactivate(void)
914 Tizen::Net::Wifi::_WifiSystemAdapter* __pWifiSystemAdapter = Tizen::Net::Wifi::_WifiSystemAdapter::GetInstance();
915 SysTryReturnResult(NID_NET_WIFI, __pWifiSystemAdapter != null, E_OUT_OF_MEMORY, "Failed to get Wi-Fi System adapter instance");
917 return __pWifiSystemAdapter->Deactivate();