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.
18 * @file FNetWifiIWifiDirectGroupClientListener.h
19 * @brief This is the header file for the %IWifiDirectGroupClientListener interface.
21 * This header file contains the declarations of the %IWifiDirectGroupClientListener interface.
23 #ifndef _FNET_WIFI_IWIFI_DIRECT_GROUP_CLIENT_LISTENER_H_
24 #define _FNET_WIFI_IWIFI_DIRECT_GROUP_CLIENT_LISTENER_H_
26 #include <FBaseRtIEventListener.h>
27 #include <FNetWifiWifiTypes.h>
29 namespace Tizen { namespace Base { namespace Collection
32 } } } // Tizen::Base::Collection
34 namespace Tizen { namespace Net { namespace Wifi
36 class WifiDirectDeviceInfo;
40 * @interface IWifiDirectGroupClientListener
41 * @brief <i> [Deprecated] </i> This interface implements listeners for the WifiDirectGroupClient events.
42 * @deprecated The WifiDirectGroupClient class is deprecated, therefore, this interface is also deprecated. @n
43 * Earlier, the Wi-Fi Direct APIs were strictly provided depending on the role(for example, group owner,
44 * group client, and so on) and so it was necessary to use these APIs. @n
45 * The Wi-Fi Direct APIs have now been revised to allow the use of APIs with ease irrespective of the
46 * role. Now the APIs have been integrated into the IWifiDirectDeviceListener interface. @n
47 * Instead of using the %IWifiDirectGroupClientListener interface, use the %IWifiDirectDeviceListener
52 * The %IWifiDirectGroupClientListener interface represents a listener that is used to obtain the Wi-Fi Direct client
53 * status or information.
55 * For more information on the class features, see
56 * <a href="../org.tizen.native.appprogramming/html/guide/net/wi-fi_direct_connectivity.htm">Wi-Fi Direct Connectivity</a>.
60 class _OSP_EXPORT_ IWifiDirectGroupClientListener
61 : virtual public Tizen::Base::Runtime::IEventListener
66 * This polymorphic destructor should be overridden if required. This way,
67 * the destructors of the derived classes are called when the destructor of this interface is called.
69 * @brief <i> [Deprecated] </i>
70 * @deprecated The WifiDirectGroupClient class is deprecated, therefore, this destructor is also deprecated. @n
71 * Earlier, the Wi-Fi Direct APIs were strictly provided depending on the role(for example, group
72 * owner, group client, and so on) and so it was necessary to use these APIs. @n
73 * However, now the Wi-Fi Direct APIs have been revised to allow the use of APIs with ease
74 * irrespective of the role.
79 virtual ~IWifiDirectGroupClientListener(void) {}
83 * Called to notify the application when the connection to a Wi-Fi Direct group owner is terminated.
85 * @brief <i> [Deprecated] </i>
86 * @deprecated The WifiDirectGroupClient class is deprecated, therefore, this method is also deprecated. @n
87 * Earlier, the Wi-Fi Direct APIs were strictly provided depending on the role(for example, group
88 * owner, group client, and so on) and so it was necessary to use these APIs. @n
89 * Now the Wi-Fi Direct APIs have been revised to allow the use of APIs with ease irrespective of the
91 * As these APIs have now been integrated into the IWifiDirectDeviceListener interface, use
92 * IWifiDirectDeviceListener::OnWifiDirectDisconnected() method instead.
96 * @param[in] localDeviceId An ID for a Wi-Fi Direct device
97 * @param[in] reason The reason to terminate this association
98 * @param[in] r An error code
99 * @exception E_SUCCESS The disassociation is successful.
100 * @exception E_SYSTEM A system error has occurred.
101 * @exception E_NOT_RESPONDING The target is not responding.
102 * @remarks When a device is disconnected by itself using WifiDirectGroupClient::Disassociate() method, this
103 * event is invoked with Wifi::WIFI_DIRECT_ASSOCIATION_TERMINATION_REASON_SELF_INITIATED. @n
104 * When a device is disconnected by a group owner using WifiDirectGroupOwner::Disconnect() method, due
105 * to no range, or due to abrupt connection loss to the group owner, this event is invoked with
106 * Wifi::WIFI_DIRECT_ASSOCIATION_TERMINATION_REASON_DISCONNECTED.
107 * @see WifiDirectGroupClient::Disassociate()
110 virtual void OnWifiDirectAssociationTerminated(WifiDirectDeviceId localDeviceId,
111 WifiDirectAssociationTerminationReason reason, result r) = 0;
115 * Called to notify the application when the request to acquire the WifiDirectDeviceInfo from a Wi-Fi Direct group
118 * @brief <i> [Deprecated] </i>
119 * @deprecated The WifiDirectGroupClient class is deprecated, therefore, this method is also deprecated. @n
120 * Earlier, the Wi-Fi Direct APIs were strictly provided depending on the role(for example, group
121 * owner, group client, and so on) and so it was necessary to use these APIs. @n
122 * Now the Wi-Fi Direct APIs have been revised to allow the use of APIs with ease irrespective of the
124 * So the APIs have been integrated into the WifiDirectDevice class. Hence, use the
125 * WifiDirectDevice::GetGroupOwnerInfoN() method instead.
129 * @param[in] localDeviceId An ID for a Wi-Fi Direct device
130 * @param[in] wifiDirectGroupOwnerDeviceInfo The WifiDirectDeviceInfo instance of the Wi-Fi Direct group owner
131 * @param[in] r An error code
132 * @exception E_SUCCESS The request for acquiring group owner information is successful.
133 * @exception E_SYSTEM A system error has occurred.
134 * @exception E_ALREADY_BOUND The specified port number is already in use.
135 * @exception E_OUT_OF_MEMORY The memory is insufficient.
136 * @exception E_NOT_RESPONDING The target is not responding.
137 * @see WifiDirectGroupClient::RequestGroupOwnerInfo()
140 virtual void OnWifiDirectGroupOwnerInfoReceived(WifiDirectDeviceId localDeviceId,
141 const WifiDirectDeviceInfo& wifiDirectGroupOwnerDeviceInfo, result r) = 0;
145 * Called to notify the application that the WifiDirectDeviceInfo list of group members has been received.
147 * @brief <i> [Deprecated] </i>
148 * @deprecated The WifiDirectGroupClient class is deprecated, therefore, this method is also deprecated. @n
149 * Earlier, the Wi-Fi Direct APIs were strictly provided depending on the role(for example, group
150 * owner, group client, and so on) and so it was necessary to use these APIs. @n
151 * This is because the Wi-Fi Direct APIs have been revised to allow the use of APIs with ease
152 * irrespective of the role. @n
156 * @param[in] localDeviceId An ID for a Wi-Fi Direct device
157 * @param[in] pWifiDirectDeviceInfoList The list of WifiDirectDeviceInfo, @n
158 * else @c null if it fails
159 * @param[in] r An error code
160 * @exception E_SUCCESS The response has been received successfully.
161 * @exception E_SYSTEM A system error has occurred.
162 * @exception E_ALREADY_BOUND The specified port number is already in use.
163 * @exception E_OUT_OF_MEMORY The memory is insufficient.
164 * @exception E_NOT_RESPONDING The group owner is not reachable.
165 * @see WifiDirectGroupClient::RequestAllGroupMemberInfo()
168 virtual void OnWifiDirectAllGroupMemberInfoReceivedN(WifiDirectDeviceId localDeviceId,
169 Tizen::Base::Collection::IList* pWifiDirectDeviceInfoList, result r) = 0;
173 // This method is for internal use only. Using this method can cause behavioral, security-related,
174 // and consistency-related issues in the application.
176 // This method is reserved and may change its name at any time without prior notice.
180 virtual void OnWifiDirectGroupClientListener_Reserved1(void) {}
183 // This method is for internal use only. Using this method can cause behavioral, security-related,
184 // and consistency-related issues in the application.
186 // This method is reserved and may change its name at any time without prior notice.
190 virtual void OnWifiDirectGroupClientListener_Reserved2(void) {}
193 // This method is for internal use only. Using this method can cause behavioral, security-related,
194 // and consistency-related issues in the application.
196 // This method is reserved and may change its name at any time without prior notice.
200 virtual void OnWifiDirectGroupClientListener_Reserved3(void) {}
203 // This method is for internal use only. Using this method can cause behavioral, security-related,
204 // and consistency-related issues in the application.
206 // This method is reserved and may change its name at any time without prior notice.
210 virtual void OnWifiDirectGroupClientListener_Reserved4(void) {}
213 // This method is for internal use only. Using this method can cause behavioral, security-related,
214 // and consistency-related issues in the application.
216 // This method is reserved and may change its name at any time without prior notice.
220 virtual void OnWifiDirectGroupClientListener_Reserved5(void) {}
221 }; // IWifiDirectGroupClientListener
223 } } } //Tizen::Net::Wifi
224 #endif // _FNET_WIFI_IWIFI_DIRECT_GROUP_CLIENT_LISTENER_H_