merge with master
[platform/framework/native/telephony.git] / src / FTel_NetworkManagerEvent.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    FTel_NetworkManagerEvent.h
20  * @brief   This is the header file for the _NetworkManagerEvent class.
21  *
22  * This header file contains declarations of the _NetworkManagerEvent class.
23  */
24
25 #ifndef _FTEL_INTERNAL_NETWORK_MANAGER_EVENT_H_
26 #define _FTEL_INTERNAL_NETWORK_MANAGER_EVENT_H_
27
28 // Includes
29 #include <FBaseResult.h>
30 #include <FBaseRt_Event.h>
31
32 namespace Tizen { namespace Base { namespace Runtime
33 {
34 class IEventListener;
35 class IEventArg;
36 }}}
37
38 namespace Tizen { namespace Telephony
39 {
40
41 /**
42  * @class   _NetworkManagerEvent
43  * @brief   This class handles NetworkManager events.
44  *
45  * When a NetworkManagerEvent event occurs, the _NetworkManagerEvent object finds a ITelephonyNetworkEventListener object
46  * which is registered for the Device object and calls an appropriate method of the listener.
47  */
48
49 class _NetworkManagerEvent
50     : public Tizen::Base::Runtime::_Event
51 {
52 // Lifecycle
53 public:
54     /**
55      * This is the default constructor for this class.
56      */
57     _NetworkManagerEvent();
58
59     /**
60      * This is the class destructor.
61      */
62     virtual ~_NetworkManagerEvent(void);
63
64
65     /**
66      * Initializes a new instance of the  class
67      *
68      */
69     result Construct(void);
70
71 // Operation
72 protected:
73     /**
74      * Checks the arg and finds out the type of event. After that this method calls appropriate pListener's method.
75      *
76      * @return      A result code.
77      * @param[in]   listener               It is a event listener related to this WifiDirectDevice event.
78      * @param[in]   arg                     It is an argument-like instance of WifiDirectDevice event retransmitted to the listener's method as an argument.
79      * @exception   E_SUCCESS               The method is successful.
80      * @exception   E_INVALID_ARG           The argument passed to a method contains an invalid value.@n
81      */
82     void FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg);
83
84
85 private:
86     _NetworkManagerEvent(const _NetworkManagerEvent& rhs);
87     _NetworkManagerEvent& operator =(const _NetworkManagerEvent& rhs);
88
89 }; // _NetworkManagerEvent
90
91 }} // Tizen::Telephony
92 #endif // _FTEL_INTERNAL_NETWORK_MANAGER_EVENT_H_