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