Tizen 2.1 base
[framework/osp/uifw.git] / inc / FUiIAccessibilityListener.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 /**
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 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. This way, the destructors of the derived classes are called when the destructor of this interface is called.
52          *
53          * @since               2.0
54          */
55         virtual ~IAccessibilityListener(void) {}
56
57         /**
58          * Notifies when the accessibility element gets a focus.
59          *
60          * @since               2.0
61          * @param[in] control   The control that has a accessibility element.
62          * @param[in] element   The element.
63          */
64         virtual void OnAccessibilityFocusIn(const Control& control, const AccessibilityElement& element) = 0;
65
66         /**
67          * Notifies when the accessibility element losts a focus.
68          *
69          * @since               2.0
70          * @param[in] control   The control that has a accessibility element.
71          * @param[in] element   The element.
72          */
73          virtual void OnAccessibilityFocusOut(const Control& control, const AccessibilityElement& element) = 0;
74
75         /**
76          * Notifies when the accessibility element is operated.
77          *
78          * @since               2.0
79          * @param[in] control   The control that has a accessibility element.
80          * @param[in] element   The element.
81          */
82         virtual void OnAccessibilityActionPerformed(const Control& control, const AccessibilityElement& element) = 0;
83
84         /**
85          * Notifies when the accessibility screen status is changed.
86          *
87          * @since               2.0
88          * @param[in] control   The control that has a accessibility element.
89          * @param[in] element   The focused element.
90          * @param[in] status    The changed status.
91          */
92         virtual void OnAccessibilityScreenReaderStatusChanged(const Control& control, const AccessibilityElement& element, AccessibilityScreenReaderStatus status) = 0;
93
94 protected:
95         //
96         // This method is for internal use only. Using this method can cause behavioral, security-related,
97         // and consistency-related issues in the application.
98         //
99         // Following method is reserved and may change its name at any time without
100         // prior notice.
101         //
102         virtual void IAccessibilityListener_Reserved1(void) {}
103
104         //
105         // This method is for internal use only. Using this method can cause behavioral, security-related,
106         // and consistency-related issues in the application.
107         //
108         // Following method is reserved and may change its name at any time without
109         // prior notice.
110         //
111         virtual void IAccessibilityListener_Reserved2(void) {}
112
113         //
114         // This method is for internal use only. Using this method can cause behavioral, security-related,
115         // and consistency-related issues in the application.
116         //
117         // Following method is reserved and may change its name at any time without
118         // prior notice.
119         //
120         virtual void IAccessibilityListener_Reserved3(void) {}
121
122         //
123         // This method is for internal use only. Using this method can cause behavioral, security-related,
124         // and consistency-related issues in the application.
125         //
126         // Following method is reserved and may change its name at any time without
127         // prior notice.
128         //
129         virtual void IAccessibilityListener_Reserved4(void) {}
130
131         //
132         // This method is for internal use only. Using this method can cause behavioral, security-related,
133         // and consistency-related issues in the application.
134         //
135         // Following method is reserved and may change its name at any time without
136         // prior notice.
137         //
138         virtual void IAccessibilityListener_Reserved5(void) {}
139 }; // IAccessibilityListener
140
141 }} // Tizen::Ui
142 #endif // _FUI_IACCESSIBILITY_LISTENER_H_