Adjust the position of the partial Frame
[platform/framework/native/uifw.git] / inc / FUiIDataBindingDataValidator.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        FUiIDataBindingDataValidator.h
20  * @brief       This is the header file for the %IDataBindingDataValidator interface.
21  *
22  * This header file contains the declarations of the %IDataBindingDataValidator interface.
23  */
24
25 #ifndef _FUI_IDATA_BINDING_DATA_VALIDATOR_H_
26 #define _FUI_IDATA_BINDING_DATA_VALIDATOR_H_
27
28 #include <FUiDataBindingTypes.h>
29
30 namespace Tizen { namespace Base
31 {
32 class String;
33 class Object;
34 }}
35
36 namespace Tizen { namespace Ui
37 {
38
39 /**
40 * @interface     IDataBindingDataValidator
41 * @brief             This interface defines methods for validating the value of transformed data that will be updated to the binding
42 *                        target or source.
43 *
44 * @since 2.0
45 *
46 * The %IDataBindingDataValidator interface defines methods for validating the value of transformed data that will be updated to the binding.
47 */
48 class _OSP_EXPORT_ IDataBindingDataValidator
49 {
50 public:
51         /**
52          * 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.
53          *
54          * @since 2.0
55          */
56         virtual ~IDataBindingDataValidator(void) {};
57
58         /**
59         * Validates the value of the transformed data that will be updated to the binding target.
60         *
61         * @since 2.0
62         * @return        @c true if the specified value is valid, @n
63         *                    else @c false
64         * @param[in]    bindingId            The binding ID to validate
65         * @param[in]    data     The data to validate
66         */
67         virtual bool ValidateDataToTarget(const Tizen::Base::String& bindingId, const Tizen::Base::Object& data) = 0;
68
69         /**
70         * Validates the value of the transformed data that will be updated to the binding source.
71         *
72         * @since 2.0
73         * @return        @c true if the specified value is valid, @n
74         *                    else @c false
75         * @param[in]    bindingId            The binding ID to validate
76         * @param[in]    data     The data to validate
77         */
78         virtual bool ValidateDataToSource( const Tizen::Base::String& bindingId, const Tizen::Base::Object& data) = 0;
79
80 protected:
81         //
82         // This method is for internal use only. Using this method can cause behavioral, security-related,
83         // and consistency-related issues in the application.
84         //
85         // This method is reserved and may change its name at any time without
86         // prior notice.
87         //
88         virtual void IDataBindingDataValidator_Reserved1(void) {}
89
90         //
91         // This method is for internal use only. Using this method can cause behavioral, security-related,
92         // and consistency-related issues in the application.
93         //
94         // This method is reserved and may change its name at any time without
95         // prior notice.
96         //
97         virtual void IDataBindingDataValidator_Reserved2(void) {}
98
99         //
100         // This method is for internal use only. Using this method can cause behavioral, security-related,
101         // and consistency-related issues in the application.
102         //
103         // This method is reserved and may change its name at any time without
104         // prior notice.
105         //
106         virtual void IDataBindingDataValidator_Reserved3(void) {}
107
108 }; // IDataBindingDataValidator
109
110 }} // Tizen::Ui
111 #endif // _FUI_IDATA_BINDING_DATA_VALIDATOR_H_