merge with master
[framework/osp/net.git] / src / wifi / FNetWifi_WifiSystemMonitoringEvent.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        FNetWifi_WifiSystemMonitoringEvent.h
20  * @brief       This is the header file for the _WifiSystemMonitoringEvent Class.
21  *
22  * This header file contains the declarations of the _WifiSystemMonitoringEvent class.
23  * The _WifiSystemMonitoringEvent class can call a method of a listener (IWifiSystemMonitoringEventListener object).
24  * So, when a device event is occurred, listener instances can handle it appropriately.
25  */
26
27 #ifndef _FNET_WIFI_INTERNAL_WIFI_SYSTEM_MONITORING_EVENT_H_
28 #define _FNET_WIFI_INTERNAL_WIFI_SYSTEM_MONITORING_EVENT_H_
29
30 #include <FBaseRt_Event.h>
31
32 namespace Tizen { namespace Net { namespace Wifi
33 {
34
35 /**
36  * @class   _WifiSystemMonitoringEvent
37  * @brief   This class handles Wi-Fi background system monitoring events.
38  *
39  * When a Wi-Fi background system monitoring event occurs, the _WifiSystemMonitoringEvent object finds an
40  * IWifiSystemMonitoringEventListener object and calls an appropriate method of the listener.
41  */
42 class _WifiSystemMonitoringEvent:
43     public Tizen::Base::Runtime::_Event
44 {
45
46 public:
47         /**
48          * The object is not fully constructed after this constructor is called. For full construction,
49          * the Construct() method must be called right after calling this constructor.
50          */
51         _WifiSystemMonitoringEvent(void);
52
53         /**
54          * This destructor overrides Tizen::Base::Runtime::_Event::~_Event().
55          */
56         virtual ~_WifiSystemMonitoringEvent(void);
57
58         /**
59          * Initializes this instance.
60          */
61         result Construct(void);
62
63 protected:
64         /**
65          * Checks the arg and finds out the type of event. After that this method calls appropriate pListener's method.
66          *
67          * @param[in]   listener        It is a event listener related to this WifiManage       ent.
68          * @param[in]   arg             It is an argument-like instance of WifiManager event retransmitted to the listener's method
69          *                              as an argument.
70          * @exception   E_SUCCESS       The method is successful.
71          * @exception   E_INVALID_ARG   The argument passed to a method contains an invalid value.@n
72          * @exception   E_INVALID_ARG   The argument passed to a method is @c null.
73          */
74         void FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg);
75
76 private:
77         _WifiSystemMonitoringEvent(const _WifiSystemMonitoringEvent& rhs);
78         _WifiSystemMonitoringEvent& operator=(const _WifiSystemMonitoringEvent& rhs);
79
80 }; // _WifiSystemMonitoringEvent
81
82 } } } // Tizen::Net::Wifi
83
84 #endif // _FNET_WIFI_INTERNAL_WIFI_SYSTEM_MONITORING_EVENT_H_