merge with master
[framework/osp/net.git] / src / wifi / FNetWifi_WifiSystemMonitoringEvent.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
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.
16 //
17 // @file    FNetWifi_WifiSystemMonitoringEvent.cpp
18 // @brief   This is the implementation file for the _WifiSystemMonitoringEvent class.
19 //
20
21 #include <FBaseRtIEventListener.h>
22 #include <FBaseSysLog.h>
23 #include <FBaseRtIEventArg.h>
24 #include <FNetWifiWifiTypes.h>
25 #include <FNetWifiIWifiSystemMonitoringEventListener.h>
26 #include "FNetWifi_WifiSystemMonitoringEvent.h"
27 #include "FNetWifi_WifiSystemMonitoringEventArg.h"
28
29
30 namespace Tizen { namespace Net { namespace Wifi {
31
32 _WifiSystemMonitoringEvent::_WifiSystemMonitoringEvent(void)
33 {
34 }
35
36 _WifiSystemMonitoringEvent::~_WifiSystemMonitoringEvent(void)
37 {
38 }
39
40 result
41 _WifiSystemMonitoringEvent::Construct(void)
42 {
43         return _Event::Initialize();
44 }
45
46 void
47 _WifiSystemMonitoringEvent::FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg)
48 {
49         IWifiSystemMonitoringEventListener* pEventListener = dynamic_cast <IWifiSystemMonitoringEventListener*>(&listener);
50         SysTryReturnVoidResult(NID_NET_WIFI, pEventListener != null, E_INVALID_ARG,
51                         "[E_INVALID_ARG] The listener argument is invalid.");
52
53         const _WifiSystemMonitoringEventArg* pEventArg = dynamic_cast <const _WifiSystemMonitoringEventArg*>(&arg);
54         SysTryReturnVoidResult(NID_NET_WIFI, pEventArg != null, E_INVALID_ARG, "[E_INVALID_ARG] The event argument is invalid type.");
55
56         _WifiSystemMonitoringEventType eventType = pEventArg->GetEventType();
57
58         switch (eventType)
59         {
60         case _WIFI_SYSTEM_MONITORING_EVENT_CONNECTION_STATUS_CHANGED:
61                 SysLog(NID_NET_WIFI, "Firing Wi-Fi System Monitoring Event \
62                                 (Type: _WIFI_SYSTEM_MONITORING_EVENT_CONNECTION_STATUS_CHANGED)");
63                 pEventListener->OnWifiConnectionStateChanged(pEventArg->GetConnectionState());
64                 break;
65
66         case _WIFI_SYSTEM_MONITORING_EVENT_SCAN_RESULT_UPDATED:
67                 SysLog(NID_NET_WIFI, "Firing Wi-Fi System Monitoring Event (Type: _WIFI_SYSTEM_MONITORING_EVENT_SCAN_RESULT_UPDATED)");
68                 pEventListener->OnWifiSystemScanResultUpdated();
69                 break;
70
71         default:
72                 break;
73         }
74 }
75
76 } } } //Tizen::Net::Wifi