Fix the boiler plate codes
[platform/framework/native/appfw.git] / src / base / runtime / FBaseRt_EventImpl.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 /**
18  * @file        FBaseRt_EventImpl.h
19  * @brief       This is the header file for the %_EventImpl class.
20  *
21  * This file contains the declarations of the %_EventImpl class.
22  */
23
24 #ifndef _FBASE_RT_INTERNAL_EVENTIMPL_H_
25 #define _FBASE_RT_INTERNAL_EVENTIMPL_H_
26
27 #include "FBaseRt_Event.h"
28
29 namespace Tizen { namespace Base { namespace Runtime
30 {
31
32 class Event;
33 class IEventArg;
34 class IEventListener;
35
36 /**
37 * @class _EventImpl
38 * @brief This class provides methods for delivering an event with an argument synchronously and asynchronously.
39 * @since 2.0
40 */
41 class _EventImpl
42         : public Tizen::Base::Runtime::_Event
43 {
44 public:
45         /**
46          * This is the default constructor for this class.
47          *
48          * @since 2.0
49          */
50         _EventImpl(Event& event);
51
52         /**
53          * This is the destructor for this class.
54          *
55          * @since 2.0
56          */
57         virtual ~_EventImpl(void);
58
59 protected:
60         /**
61          * Implement to call the corresponding event listener's method.
62          *
63          * @since 2.0
64          *
65          * @param[in]    listener  The listener instance which is currently processing
66          * @param[in]    arg                 The event argument that is fired
67          *
68          * @remark A derived class must override this method.
69          */
70         virtual void FireImpl(IEventListener& listener, const IEventArg& arg);
71
72 private:
73         Event* __pEvent;
74
75 }; // _EventImpl
76
77 } } } // Tizen::Base::Runtime
78
79 #endif // _FBASE_RT_INTERNAL_EVENTIMPL_H_