Fork for IVI: mesa fixing
[profile/ivi/uifw.git] / src / ui / FUi_EflUiEventManager.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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                FUi_EflUiEventManager.h
19  * @brief               This is the header file for the _EflUiEventManager class.
20  *
21  * This header file contains the declarations of the _EflUiEventManager class. @n
22  */
23 #ifndef _FUI_INTERNAL_EFL_UI_EVENT_MANAGER_H_
24 #define _FUI_INTERNAL_EFL_UI_EVENT_MANAGER_H_
25
26 #include <unique_ptr.h>
27 #include <Ecore.h>
28 #include "FUi_IUiEventManager.h"
29
30 namespace Tizen { namespace Ui
31 {
32
33 /**
34  * This is internal. If used in an application, the application can get rejected during the certification process.
35  * @class       FUi_EflUiEventManager
36  * @brief       This class impliments _EflUiEventManager and
37  * fire the Window Event object of a Ui Control.
38  */
39 class _EflUiEventManager
40         : public _IUiEventManager
41 {
42 public:
43         /**
44          * This is the default class constructor.
45          *
46          */
47         _EflUiEventManager(void);
48
49         /**
50          * This is the default class destructor.
51          *
52          */
53         virtual ~_EflUiEventManager(void);
54
55 private:
56         _EflUiEventManager(const _EflUiEventManager& rhs);
57         _EflUiEventManager& operator =(const _EflUiEventManager& rhs);
58
59         virtual result RegisterKeyEventHandler(const _Control& control);
60         virtual result RegisterTouchEventHandler(const _Control& control);
61         virtual result UnregisterKeyEventHandler(const _Control& control);
62         virtual result UnregisterTouchEventHandler(const _Control& control);
63         virtual result PostEvent(const _UiEvent& event);
64
65         virtual void SetKeyCapture(const _Control& control, _KeyCode keyCode);
66         virtual void ReleaseKeyCapture(const _Control& control, _KeyCode keyCode);
67
68 private:
69         int __notificaitonEventType;
70         std::unique_ptr<Tizen::Base::Collection::LinkedListT<Ecore_Event_Handler*> > __pEventHandlers;
71 }; // _EflUiEventManager
72
73 }} // Tizen::Ui
74
75 #endif //_FUI_INTERNAL_EFL_UI_EVENT_MANAGER_H_