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 FNetWifiWifiDirectDeviceEvent.cpp
20 * @brief This is the implementation file for the _WifiDirectEvent Class.
22 * This header file contains implementation of the _WifiDirectEvent Class.
24 #include <FBaseRtIEventListener.h>
25 #include <FNetWifiWifiDirectGroupMember.h>
26 #include <FNetWifi_IWifiDirectListener.h>
27 #include <FBaseSysLog.h>
28 #include "FNetWifi_WifiDirectEvent.h"
29 #include "FNetWifi_WifiDirectEventArg.h"
31 using namespace Tizen::Base::Collection;
33 namespace Tizen { namespace Net { namespace Wifi
36 ////////////////////////////////////////////////////////////////////////////
38 _WifiDirectEvent::_WifiDirectEvent(void)
42 _WifiDirectEvent::~_WifiDirectEvent(void)
48 _WifiDirectEvent::Construct(void)
50 return _Event::Initialize();
53 ////////////////////////////////////////////////////////////////////////////////
54 /// Operation : Protected
57 _WifiDirectEvent::FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg)
59 _WifiDirectEventArg* pArg = const_cast< _WifiDirectEventArg* >(dynamic_cast< const _WifiDirectEventArg* >(&arg));
60 SysTryReturnVoidResult(NID_NET_WIFI, pArg != null, E_INVALID_ARG, "[E_INVALID_ARG] The argument is a null pointer.");
62 _IWifiDirectListener* pInternalListener = dynamic_cast< _IWifiDirectListener* >(&listener);
63 SysTryReturnVoidResult(NID_NET_WIFI, pInternalListener != null, E_INVALID_ARG,
64 "[E_INVALID_ARG] The result of a dynamic_cast operation is null for internal listener.");
66 _WifiDirectEventType eventType = pArg->GetEventType();
67 result r = pArg->GetError();
71 case WIFI_DIRECT_DEVICE_EVENT_ACTIVATED:
72 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_ACTIVATED) : %s", GetErrorMessage(r));
73 pInternalListener->OnWifiDirectDeviceActivated(*pArg, r);
76 case WIFI_DIRECT_DEVICE_EVENT_DEACTIVATED:
77 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_DEACTIVATED) : %s", GetErrorMessage(r));
78 pInternalListener->OnWifiDirectDeviceDeactivated(*pArg, r);
81 case WIFI_DIRECT_DEVICE_EVENT_GROUP_CREATED:
82 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_GROUP_CREATED) : %s", GetErrorMessage(r));
83 pInternalListener->OnWifiDirectGroupCreated(*pArg, pArg->GetGroupMemberType(), r);
86 case WIFI_DIRECT_DEVICE_EVENT_SCAN_FOUND:
87 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_SCAN_FOUND)");
88 pInternalListener->OnWifiDirectRemoteDeviceFound(*pArg);
91 case WIFI_DIRECT_DEVICE_EVENT_SCAN_COMPLETED:
92 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_SCAN_COMPLETED) : %s", GetErrorMessage(r));
93 pInternalListener->OnWifiDirectScanCompleted(*pArg, r);
96 case WIFI_DIRECT_DEVICE_EVENT_ASSOCIATED:
97 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_ASSOCIATED) : %s", GetErrorMessage(r));
98 pInternalListener->OnWifiDirectAssociationCompleted(*pArg, r);
101 case WIFI_DIRECT_GO_EVENT_CLIENT_ASSOCIATED:
102 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_GO_EVENT_CLIENT_ASSOCIATED) : %s", GetErrorMessage(r));
103 pInternalListener->OnWifiDirectClientAssociated(*pArg);
106 case WIFI_DIRECT_GO_EVENT_CLIENT_DISASSOCIATED:
107 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_GO_EVENT_CLIENT_DISASSOCIATED) : %s", GetErrorMessage(r));
109 WifiDirectAssociationTerminationReason reason = pArg->GetDisassociationReason();
110 pInternalListener->OnWifiDirectClientDisassociated(*pArg, reason);
114 case WIFI_DIRECT_GO_EVENT_GROUP_DESTROYED:
115 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_GO_EVENT_GROUP_DESTROYED) : %s", GetErrorMessage(r));
116 pInternalListener->OnWifiDirectGroupDestroyed(*pArg, r);
119 case WIFI_DIRECT_GC_EVENT_DISASSOCIATED:
120 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_GC_EVENT_DISASSOCIATED) : %s", GetErrorMessage(r));
121 pInternalListener->OnWifiDirectAssociationTerminated(*pArg, r);
124 case WIFI_DIRECT_DEVICE_EVENT_CONNECTED:
125 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_CONNECTED) : %s", GetErrorMessage(r));
126 pInternalListener->OnWifiDirectConnected(*pArg, r);
129 case WIFI_DIRECT_DEVICE_EVENT_DISCONNECTED:
130 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_DISCONNECTED) : %s", GetErrorMessage(r));
131 pInternalListener->OnWifiDirectDisconnected(*pArg, r);
134 case WIFI_DIRECT_DEVICE_EVENT_AUTONOMOS_GROUP_CREATED:
135 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_AUTONOMOS_GROUP_CREATED) : %s", GetErrorMessage(r));
136 pInternalListener->OnWifiDirectAutonomousGroupCreated(*pArg, r);
139 case WIFI_DIRECT_DEVICE_EVENT_GROUP_LEFT:
140 SysLog(NID_NET_WIFI, "Firing Internal Event (Type: WIFI_DIRECT_DEVICE_EVENT_GROUP_LEFT) : %s", GetErrorMessage(r));
141 pInternalListener->OnWifiDirectGroupLeft(*pArg, r);
145 SysLog(NID_NET_WIFI, "An undefined internal WifiDirectDevice event occurs. (Type: %d)", eventType);
151 } } } // Tizen::Net::Wifi