merge with master
[framework/osp/net.git] / inc / FNetWifiIWifiSystemMonitoringEventListener.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  * @file        FNetWifiIWifiSystemMonitoringEventListener.h
19  * @brief       This is the header file for the %IWifiSyWifiSystemMonitoringntListener interface.
20  *
21  * This header file contains the declarations of the %IWifiSystemMonitoringEventListener interface.
22  *
23  */
24 #ifndef _FNET_WIFI_IWIFI_SYSTEM_MONITORING_EVENT_LISTENER_H_
25 #define _FNET_WIFI_IWIFI_SYSTEM_MONITORING_EVENT_LISTENER_H_
26
27 #include <FBaseRtIEventListener.h>
28 #include <FNetWifiWifiTypes.h>
29
30 namespace Tizen { namespace Net { namespace Wifi
31 {
32 /**
33  * @interface   IWifiSystemMonitoringEventListener
34  * @brief       This interface provides the listeners for monitoring the Wi-Fi underlying system.
35  *
36  * @since 2.0
37  *
38  * The IWifiSystemMonitoringEventListener interface specifies the methods used for creating notifications about the different
39  * kinds of Wi-Fi system monitoring events. When a Wi-Fi system monitoring event is generated, one of these methods is called.
40  */
41 class _OSP_EXPORT_ IWifiSystemMonitoringEventListener
42         : virtual public Tizen::Base::Runtime::IEventListener
43 {
44 public:
45     /**
46      * This polymorphic destructor should be overridden if required.
47      * This way, the destructors of the derived classes are called when the destructor of this interface is called.
48      *
49      * @since 2.0
50      */
51     virtual ~IWifiSystemMonitoringEventListener(void) {}
52
53     /**
54      * Called to notify the application that the state of local Wi-Fi connection is changed.
55      *
56      * @since 2.0
57          *
58      * @param[in]   state               The state of the Wi-Fi current connection
59      * @remark      When the local device is connected with a particular access point,
60      *              IWifiManagerEventListener::OnWifiConnected() as well as this method with @c WIFI_CONN_STATE_CONNECTED
61      *              are called. Therefore, be careful to manipulate only one of those methods. So are the cases of
62      *              IWifiManagerEventListener::OnWifiDisconnected() and this method with @c WIFI_CONN_STATE_NOT_CONNECTED.
63      */
64     virtual void OnWifiConnectionStateChanged(WifiConnectionState state) = 0;
65
66     /**
67      * Called to notify the application that the scan result of Wi-Fi system on background is updated.
68      *
69      * @since 2.0
70          *
71      * @remark      Call WifiManager::GetSystemScanResultN() for checking the content of this update.
72      */
73     virtual void OnWifiSystemScanResultUpdated(void) = 0;
74
75 protected:
76     //
77     // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related
78     // issues in the application.
79     //
80     // This method is reserved and may change its name at any time without prior notice.
81     //
82     // @since 2.0
83     //
84     virtual void IWifiSystemMonitoringEventListener_Reserved1(void) {}
85
86     //
87     // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related
88     // issues in the application.
89     //
90     // This method is reserved and may change its name at any time without prior notice.
91     //
92     // @since 2.0
93     //
94     virtual void IWifiSystemMonitoringEventListener_Reserved2(void) {}
95
96     //
97     // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related
98     // issues in the application.
99     //
100     // This method is reserved and may change its name at any time without prior notice.
101     //
102     // @since 2.0
103     //
104     virtual void IWifiSystemMonitoringEventListener_Reserved3(void) {}
105
106 }; // IWifiSystemMonitoringEventListener
107
108 } } } // Tizen::Net::Wifi
109 #endif // _FNET_WIFI_IWIFI_SYSTEM_MONITORING_EVENT_LISTENER_H_