Fix for klockwork minor issues.
[platform/framework/native/uifw.git] / inc / FUiIAccessibilityListener.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        FUiIAccessibilityListener.h
20  * @brief       This is the header file for the %IAccessibilityListener interface.
21  *
22  * This header file contains the declarations of the %IAccessibilityListener interface.
23  */
24
25 #ifndef _FUI_IACCESSIBILITY_LISTENER_H_
26 #define _FUI_IACCESSIBILITY_LISTENER_H_
27
28 #include <FOspConfig.h>
29 #include <FBaseRtIEventListener.h>
30 #include <FUiAccessibilityTypes.h>
31
32 namespace Tizen { namespace Ui
33 {
34 class AccessibilityElement;
35 class Control;
36
37 /**
38 * @interface    IAccessibilityListener
39 * @brief This interface is the listener interface for accessibility screen reader.
40 *
41 * @since                2.0
42 *
43 * This %IAccessibilityListener interface defines methods for accessibility screen reader.
44 *
45 */
46 class _OSP_EXPORT_ IAccessibilityListener
47         : virtual public Tizen::Base::Runtime::IEventListener
48 {
49 public:
50         /**
51         * This polymorphic destructor should be overridden if required. @n
52         * This way, the destructors of the derived classes are called when the destructor of this interface is called.
53         *
54         * @since                2.0
55         */
56         virtual ~IAccessibilityListener(void) {}
57
58         /**
59         * Called when the accessibility element gets a focus.
60         *
61         * @since                2.0
62         * @param[in] control    The control that has an accessibility element
63         * @param[in] element    The element
64         */
65         virtual void OnAccessibilityFocusIn(const Control& control, const AccessibilityElement& element) = 0;
66
67         /**
68         * Called when the accessibility element losts a focus.
69         *
70         * @since                2.0
71         * @param[in] control    The control that has an accessibility element
72         * @param[in] element    The element
73         */
74         virtual void OnAccessibilityFocusOut(const Control& control, const AccessibilityElement& element) = 0;
75
76         /**
77         * Called when the accessibility element is operated.
78         *
79         * @since                2.0
80         * @param[in] control    The control that has an accessibility element
81         * @param[in] element    The element
82         */
83         virtual void OnAccessibilityActionPerformed(const Control& control, const AccessibilityElement& element) = 0;
84
85         /**
86         * Called when the accessibility screen status is changed.
87         *
88         * @since                2.0
89         * @param[in] control    The control that has an accessibility element
90         * @param[in] element    The focused element
91         * @param[in] status     The changed status
92         */
93         virtual void OnAccessibilityScreenReaderStatusChanged(const Control& control, const AccessibilityElement& element, AccessibilityScreenReaderStatus status) = 0;
94
95 protected:
96         //
97         // This method is for internal use only. Using this method can cause behavioral, security-related,
98         // and consistency-related issues in the application.
99         //
100         // Following method is reserved and may change its name at any time without
101         // prior notice.
102         //
103         virtual void IAccessibilityListener_Reserved1(void) {}
104
105         //
106         // This method is for internal use only. Using this method can cause behavioral, security-related,
107         // and consistency-related issues in the application.
108         //
109         // Following method is reserved and may change its name at any time without
110         // prior notice.
111         //
112         virtual void IAccessibilityListener_Reserved2(void) {}
113
114         //
115         // This method is for internal use only. Using this method can cause behavioral, security-related,
116         // and consistency-related issues in the application.
117         //
118         // Following method is reserved and may change its name at any time without
119         // prior notice.
120         //
121         virtual void IAccessibilityListener_Reserved3(void) {}
122
123         //
124         // This method is for internal use only. Using this method can cause behavioral, security-related,
125         // and consistency-related issues in the application.
126         //
127         // Following method is reserved and may change its name at any time without
128         // prior notice.
129         //
130         virtual void IAccessibilityListener_Reserved4(void) {}
131
132         //
133         // This method is for internal use only. Using this method can cause behavioral, security-related,
134         // and consistency-related issues in the application.
135         //
136         // Following method is reserved and may change its name at any time without
137         // prior notice.
138         //
139         virtual void IAccessibilityListener_Reserved5(void) {}
140 }; // IAccessibilityListener
141
142 }} // Tizen::Ui
143 #endif // _FUI_IACCESSIBILITY_LISTENER_H_