Merge "Revert "Fix N_SE-46938 for tz list."" into devel_3.0_main
[platform/framework/native/appfw.git] / src / io / inc / FIo_IDbUserListener.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 // This method is for internal use only. The Tizen platform team is not
17 // responsible for any behavioral correctness, consistency, and
18 // security-related issues that might arise after using this method.
19 //
20 // @file                FIo_IDbUserListener.h
21 // @brief       This is the header file for the %_IDbUserFunctionListener,
22 //           %_IDbUserAggregateListener, and %_IUserCollationCompareListener classes.
23 //
24 // This header file contains the declarations of the %_IDbUserFunctionListener
25 // %_IDbUserAggregateListener, and %_IUserCollationCompareListener classes.
26
27 #ifndef _FIO_INTERNAL_IDB_USER_LISTENER_H_
28 #define _FIO_INTERNAL_IDB_USER_LISTENER_H_
29
30 #include <FBaseRtIEventListener.h>
31 #include <FOspConfig.h>
32 #include <FIo_DbContextImpl.h>
33
34 namespace Tizen { namespace Io
35 {
36
37 // This method is for internal use only. The Tizen platform team is not
38 // responsible for any behavioral correctness, consistency, and
39 // security-related issues that might arise after using this method.
40 //
41 // @interface    _IDbUserFunctionListener
42 // @brief        This interface defines a listener for the user defined SQL function.
43 // @since 2.1
44
45 class _OSP_EXPORT_ _IDbUserFunctionListener
46         : public Tizen::Base::Runtime::IEventListener
47 {
48 public:
49         // This method is for internal use only. The Tizen platform team is not
50         // responsible for any behavioral correctness, consistency, and
51         // security-related issues that might arise after using this method.
52         //
53         // Called when the user defined SQL function is executed.
54         //
55         // @since 2.1
56         // @param[in]   context        The database context
57         // @param[in]   argumentCount  The number of the user defined SQL function
58         // @see          Tizen::Io::_DbContextImpl
59         //
60         virtual void OnDbUserFunction(_DbContextImpl& context, int argumentCount) = 0;
61
62 protected:
63         // This method is for internal use only. The Tizen platform team is not
64         // responsible for any behavioral correctness, consistency, and
65         // security-related issues that might arise after using this method.
66         //
67         // Following method is reserved and may change its name at any time without prior notice.
68         //
69         // @since 2.1
70         //
71         virtual void _IDbUserFunctionListener_Reserverd1(void) {}
72
73         // This method is for internal use only. The Tizen platform team is not
74         // responsible for any behavioral correctness, consistency, and
75         // security-related issues that might arise after using this method.
76         //
77         // Following method is reserved and may change its name at any time without prior notice.
78         //
79         // @since 2.1
80         //
81         virtual void _IDbUserFunctionListener_Reserverd2(void) {}
82
83         // This method is for internal use only. The Tizen platform team is not
84         // responsible for any behavioral correctness, consistency, and
85         // security-related issues that might arise after using this method.
86         //
87         // Following method is reserved and may change its name at any time without prior notice.
88         //
89         // @since 2.1
90         //
91         virtual void _IDbUserFunctionListener_Reserverd3(void) {}
92
93 }; // IDbUserFunctionListener
94
95 // This method is for internal use only. The Tizen platform team is not
96 // responsible for any behavioral correctness, consistency, and
97 // security-related issues that might arise after using this method.
98 //
99 // @interface    _IDbUserAggregateListener
100 // @brief        This interface defines a listener for the user defined SQL aggregate.
101 // @since 2.1
102 class _OSP_EXPORT_ _IDbUserAggregateListener
103         : public Tizen::Base::Runtime::IEventListener
104 {
105 public:
106         // This method is for internal use only. The Tizen platform team is not
107         // responsible for any behavioral correctness, consistency, and
108         // security-related issues that might arise after using this method.
109         //
110         // Called when the user defined SQL aggregate is executed for each row in the result.
111         //
112         // @since 2.1
113         // @param[in]    context        The database context
114         // @param[in]    argumentCount  The number of the user defined SQL function
115         // @see          Tizen::Io::_DbContextImpl
116         //
117         virtual void OnDbUserAggregateStep(_DbContextImpl& context, int argumentCount) = 0;
118
119         // This method is for internal use only. The Tizen platform team is not
120         // responsible for any behavioral correctness, consistency, and
121         // security-related issues that might arise after using this method.
122         //
123         // Called when the user defined SQL aggregate is executed at the end of the row in the result.
124         //
125         // @since 2.1
126         // @param[in]    context     The database context
127         // @see          Tizen::Io::_DbContextImpl
128         //
129         virtual void OnDbUserAggregateFinal(_DbContextImpl& context) = 0;
130
131 protected:
132         // This method is for internal use only. The Tizen platform team is not
133         // responsible for any behavioral correctness, consistency, and
134         // security-related issues that might arise after using this method.
135         //
136         // Following method is reserved and may change its name at any time without prior notice.
137         //
138         // @since 2.1
139         //
140         virtual void _IDbUserAggregateListener_Reserved1(void) {}
141
142         // This method is for internal use only. The Tizen platform team is not
143         // responsible for any behavioral correctness, consistency, and
144         // security-related issues that might arise after using this method.
145         //
146         // Following method is reserved and may change its name at any time without prior notice.
147         //
148         // @since 2.1
149         //
150         virtual void _IDbUserAggregateListener_Reserved2(void) {}
151
152         // This method is for internal use only. The Tizen platform team is not
153         // responsible for any behavioral correctness, consistency, and
154         // security-related issues that might arise after using this method.
155         //
156         // Following method is reserved and may change its name at any time without prior notice.
157         //
158         // @since 2.1
159         //
160         virtual void _IDbUserAggregateListener_Reserved3(void) {}
161
162 }; // IDbUserAggregateListener
163
164 // This method is for internal use only. The Tizen platform team is not
165 // responsible for any behavioral correctness, consistency, and
166 // security-related issues that might arise after using this method.
167 //
168 // @interface    _IDbUserCollationListener
169 // @brief        This interface defines a listener for the user defined SQL collation.
170 // @since 2.1
171
172 class _OSP_EXPORT_ _IDbUserCollationListener
173         : public Tizen::Base::Runtime::IEventListener
174 {
175 public:
176         // This method is for internal use only. The Tizen platform team is not
177         // responsible for any behavioral correctness, consistency, and
178         // security-related issues that might arise after using this method.
179         //
180         // Called when the user defined SQL collating function is executed.
181         //
182         // @since 2.1
183         // @return       Negative, zero, positive if the first string is less than, equal to,
184         //               or greater than the second string, respectively.
185         // @param[in]    string1     The first Stirng value to be compared
186         // @param[in]    string2                The second String value to be compared
187         // @param[in]    pUserData   User data passed from Database::CreateCollation()
188         virtual int OnDbUserCollation(const Tizen::Base::String& string1, const Tizen::Base::String& string2, void* pUserData) = 0;
189
190 protected:
191         // This method is for internal use only. The Tizen platform team is not
192         // responsible for any behavioral correctness, consistency, and
193         // security-related issues that might arise after using this method.
194         //
195         // Following method is reserved and may change its name at any time without prior notice.
196         //
197         // @since 2.1
198         //
199         virtual void _IDbUserCollationListener_Reserved1(void) {}
200
201         // This method is for internal use only. The Tizen platform team is not
202         // responsible for any behavioral correctness, consistency, and
203         // security-related issues that might arise after using this method.
204         //
205         // Following method is reserved and may change its name at any time without prior notice.
206         //
207         // @since 2.1
208         //
209         virtual void _IDbUserCollationListener_Reserved2(void) {}
210
211         // This method is for internal use only. The Tizen platform team is not
212         // responsible for any behavioral correctness, consistency, and
213         // security-related issues that might arise after using this method.
214         //
215         // Following method is reserved and may change its name at any time without prior notice.
216         //
217         // @since 2.1
218         //
219         virtual void _IDbUserCollationListener_Reserved3(void) {}
220
221 }; // _IDbUserCollationListener
222
223 }} // Tizen::Io
224
225 #endif // _FIO_INTERNAL_IDB_USER_LISTENER_H_
226