Merge "Unchecked GetCharacter func when index is over string length" into tizen_2.2
[platform/framework/native/uifw.git] / inc / FUiTouchEventManager.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                FUiTouchEventManager.h
20  * @brief               This is the header file for the %TouchEventManager class.
21  *
22  * This header file contains the declarations of the %TouchEventManager class.
23  *
24  */
25
26 #ifndef _FUI_TOUCH_EVENT_MANAGER_H_
27 #define _FUI_TOUCH_EVENT_MANAGER_H_
28
29 #include <FBaseColIListT.h>
30 #include <FBaseObject.h>
31 #include <FUiTouchEventInfo.h>
32 #include <FUiControl.h>
33
34 namespace Tizen { namespace Ui
35 {
36
37 class _TouchEventManagerImpl;
38 /**
39  * @class               TouchEventManager
40  * @brief               This class stores the information of each touch events.
41  *
42  * @since 2.0
43  *
44  * @final       This class is not intended for extension.
45  *
46  * The %TouchEventManager class provides the touch event information: touch position, status, ID, and so on.
47  * @see                 TouchEventInfo
48  *
49  */
50 class _OSP_EXPORT_ TouchEventManager
51         : public Tizen::Base::Object
52 {
53 public:
54         /**
55         * Gets the instance of %TouchEventManager.
56         *
57         * @since 2.0
58         * @return               An instance of %TouchEventManager
59         * @exception            E_SUCCESS The method is successful.
60         * @exception            E_OUT_OF_MEMORY The memory is insufficient.
61         * @remarks              This method provides a global point of access to the TouchEventManager. The specific error code can be accessed using the
62         *                               GetLastResult() method.
63         */
64         static TouchEventManager* GetInstance(void);
65
66         /**
67          * Gets the list of the multi-point touches, each represented by TouchEventInfo.
68          *
69          * @since 2.0
70          * @return              A list of TouchEventInfo
71          * @see                 Tizen::Ui::TouchEventInfo
72          *
73          */
74         Tizen::Base::Collection::IListT<TouchEventInfo*>* GetTouchInfoListN(void) const;
75
76 private:
77         //
78         // This default constructor is intentionally declared as private to implement the Singleton semantic.
79         //
80         TouchEventManager(void);
81
82         //
83         // This destructor is intentionally declared as private to implement the Singleton semantic.
84         //
85         virtual ~TouchEventManager(void);
86
87         //
88         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
89         //
90         TouchEventManager(const TouchEventManager& rhs);
91
92         //
93         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
94         //
95         TouchEventManager& operator =(const TouchEventManager& rhs);
96
97 private:
98         _TouchEventManagerImpl* __pTouchEventManagerImpl;
99 }; // TouchEventManager
100
101 } } //Tizen::Ui
102
103 #endif // _FUI_TOUCH_EVENT_MANAGER_H_