merge with master
[framework/osp/net.git] / src / inc / FNetWifi_IWifiDirectListener.h
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
18 /**
19  * @file                FNetWifiIWifiDirectDeviceListener.h
20  * @brief               This is the header file for the %IWifiDirectDeviceListener interface.
21  *
22  * This header file contains the declarations of the %IWifiDirectDeviceListener interface.
23  */
24
25 #ifndef _FNET_WIFI_INTERNAL_IWIFI_DIRECT_LISTENER_H_
26 #define _FNET_WIFI_INTERNAL_IWIFI_DIRECT_LISTENER_H_
27
28 #include <FBaseRtIEventListener.h>
29 #include <FNetWifiWifiTypes.h>
30 #include <FOspConfig.h>
31
32 namespace Tizen { namespace Net {       namespace Wifi
33 {
34 class _WifiDirectEventArg;
35
36 /**
37  * @interface   _IWifiDirectDeviceListener
38  * @brief       This interface implements listeners for the _WifiDirectDeviceImpl events.
39  * @since 2.1
40  *
41  *  This interface represents a listener to get the Wi-Fi Direct device status or information.
42  */
43
44 class _OSP_EXPORT_ _IWifiDirectListener
45     : public Tizen::Base::Runtime::IEventListener
46 {
47 public:
48     /**
49      * This polymorphic destructor should be overridden if required. This way, 
50      * the destructors of the derived classes are called when the destructor of this interface is called.
51      *
52      * @since 2.1
53      */
54     virtual ~_IWifiDirectListener(void) {}
55
56     /**
57      * @see IWifiDirectDeviceListener::OnWifiDirectDeviceActivated()
58      */
59     virtual void OnWifiDirectDeviceActivated(const _WifiDirectEventArg& arg, result r) = 0;
60
61     /**
62      * @see IWifiDirectDeviceListener::OnWifiDirectDeviceDeactivated()
63      */   
64     virtual void OnWifiDirectDeviceDeactivated(const _WifiDirectEventArg& arg, result r) = 0;
65     
66     /**
67      * @see IWifiDirectDeviceListener::OnWifiDirectGroupCreatedN()
68      */
69     virtual void OnWifiDirectGroupCreated(const _WifiDirectEventArg& arg, WifiDirectGroupMemberType wifiDirectMemberType, result r) = 0;
70
71     /**
72      * @see IWifiDirectDeviceListener::OnWifiDirectRemoteDeviceFound()
73      */
74     virtual void OnWifiDirectRemoteDeviceFound(const _WifiDirectEventArg& arg) = 0;
75
76     /**
77      * @see IWifiDirectDeviceListener::OnWifiDirectScanCompletedN()
78      */
79     virtual void OnWifiDirectScanCompleted(const _WifiDirectEventArg& arg, result r) = 0;
80
81     /**
82      * @see IWifiDirectDeviceListener::OnWifiDirectAssociationCompleted()
83      */
84     virtual void OnWifiDirectAssociationCompleted(const _WifiDirectEventArg& arg, result r) = 0;
85
86     /**
87      * @see IWifiDirectGroupOwnerListener::OnWifiDirectClientAssociated()
88      */  
89     virtual void OnWifiDirectClientAssociated(const _WifiDirectEventArg& arg) = 0;
90
91     /**
92      * @see IWifiDirectGroupOwnerListener::OnWifiDirectClientDisassociated()
93      */   
94     virtual void OnWifiDirectClientDisassociated(const _WifiDirectEventArg& arg, WifiDirectAssociationTerminationReason reason) = 0;
95     
96     /**
97      * @see IWifiDirectGroupOwnerListener::OnWifiDirectGroupDestroyed()
98      */
99     virtual void OnWifiDirectGroupDestroyed(const _WifiDirectEventArg& arg, result r) = 0;
100
101     /**
102      * @see IWifiDirectGroupClientListener::OnWifiDirectAssociationTerminated()
103      */
104     virtual void OnWifiDirectAssociationTerminated(const _WifiDirectEventArg& arg, result r) = 0;
105
106     /**
107      * @see IWifiDirectGroupClientListener::OnWifiDirectGroupOwnerInfoReceived()
108      */
109     virtual void OnWifiDirectGroupOwnerInfoReceived(const _WifiDirectEventArg& arg, result r) = 0;
110
111     /**
112      * @see IWifiDirectGroupClientListener::OnWifiDirectAllGroupMemberInfoReceivedN()
113      */
114     virtual void OnWifiDirectAllGroupMemberInfoReceivedN(const _WifiDirectEventArg& arg, result r) = 0;
115
116     /**
117      * @see IWifiDirectGroupOwnerListener::OnWifiDirectConnected()
118      */
119     virtual void OnWifiDirectConnected(const _WifiDirectEventArg& arg, result r) = 0;
120
121     /**
122      * @see IWifiDirectGroupClientListener::OnWifiDirectDisconnected()
123      */
124     virtual void OnWifiDirectDisconnected(const _WifiDirectEventArg& arg, result r) = 0;
125
126     /**
127      * @see IWifiDirectGroupClientListener::OnWifiDirectGroupLeft()
128      */
129     virtual void OnWifiDirectGroupLeft(const _WifiDirectEventArg& arg, result r) = 0;
130
131     /**
132      * @see IWifiDirectGroupClientListener::OnWifiDirectAutonomousGroupCreated()
133      */
134     virtual void OnWifiDirectAutonomousGroupCreated(const _WifiDirectEventArg& arg, result r) = 0;
135
136 };
137
138 } } } //Tizen::Net::Wifi
139
140 #endif // _FNET_WIFI_INTERNAL_IWIFI_DIRECT_LISTENER_H_
141