Blocking traversaltag setting on KeyRelease: Fix for N_SE-53471
[platform/framework/native/uifw.git] / inc / FUiIDataBindingListener.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        FUiIDataBindingListener.h
20  * @brief       This is the header file for the %IDataBindingListener interface.
21  *
22  * This header file contains the declarations of the %IDataBindingListener interface.
23  */
24
25 #ifndef _FUI_IDATA_BINDING_LISTENER_H_
26 #define _FUI_IDATA_BINDING_LISTENER_H_
27
28 #include <FBaseRtIEventListener.h>
29 #include <FUiDataBindingTypes.h>
30
31 namespace Tizen { namespace Ui
32 {
33
34 /**
35 * @interface            IDataBindingListener
36 * @brief                        This interface is the listener interface for receiving data binding-related events.
37 *
38 * @since 2.0
39 *
40 * The %IDataBindingListener interface defines methods for receiving data binding-related events.
41 */
42 class _OSP_EXPORT_ IDataBindingListener
43         : public Tizen::Base::Runtime::IEventListener
44 {
45 public:
46         /**
47          * 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.
48          *
49          * @since 2.0
50          */
51         virtual ~IDataBindingListener(void) {};
52
53         /**
54         * Called when the data transfer for source is completed by the data binding.
55         *
56         * @since 2.0
57         *
58         * @param[in]    bindingId        The binding ID
59         * @param[in]    controlName      The name of binding target control
60         * @param[in]    propertyName     The name of binding target property
61         */
62         virtual void OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
63                                                                                    , const Tizen::Base::String& propertyName) = 0;
64
65         /**
66         * Called when the data transfer for target is completed by the data binding.
67         *
68         * @since 2.0
69         *
70         * @param[in]    bindingId       The binding ID
71         * @param[in]    controlName     The name of binding target control
72         * @param[in]    propertyName    The name of binding target property
73         */
74         virtual void OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
75                                                                                    , const Tizen::Base::String& propertyName) = 0;
76
77
78         /**
79         * Called when a validation has failed during data transfer.
80         *
81         * @since 2.0
82         *
83         * @param[in]    bindingId       The binding ID
84         * @param[in]    controlName     The name of binding target control
85         * @param[in]    propertyName    The name of binding target property
86         * @param[in]    destType        The data binding destination type
87         */
88         virtual void OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
89                                                                                           , const Tizen::Base::String& propertyName, DataBindingDestinationType destType) = 0;
90
91 protected:
92         //
93         // This method is for internal use only. Using this method can cause behavioral, security-related,
94         // and consistency-related issues in the application.
95         //
96         // This method is reserved and may change its name at any time without
97         // prior notice.
98         //
99         virtual void IDataBindingListener_Reserved1(void) {}
100
101         //
102         // This method is for internal use only. Using this method can cause behavioral, security-related,
103         // and consistency-related issues in the application.
104         //
105         // This method is reserved and may change its name at any time without
106         // prior notice.
107         //
108         virtual void IDataBindingListener_Reserved2(void) {}
109
110         //
111         // This method is for internal use only. Using this method can cause behavioral, security-related,
112         // and consistency-related issues in the application.
113         //
114         // This method is reserved and may change its name at any time without
115         // prior notice.
116         //
117         virtual void IDataBindingListener_Reserved3(void) {}
118
119 }; // IDataBindingListener;
120
121 }} // Tizen::Ui
122 #endif // _FUI_IDATA_BINDING_LISTENER_H_