2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
17 // This method is for internal use only. The Tizen platform team is not
18 // responsible for any behavioral correctness, consistency, and
19 // security-related issues that might arise after using this method.
21 // @file FIo_IDbUserListener.h
22 // @brief This is the header file for the %_IDbUserFunctionListener,
23 // %_IDbUserAggregateListener, and %_IUserCollationCompareListener classes.
25 // This header file contains the declarations of the %_IDbUserFunctionListener
26 // %_IDbUserAggregateListener, and %_IUserCollationCompareListener classes.
28 #ifndef _FIO_INTERNAL_IDB_USER_LISTENER_H_
29 #define _FIO_INTERNAL_IDB_USER_LISTENER_H_
31 #include <FBaseRtIEventListener.h>
32 #include <FOspConfig.h>
33 #include <FIo_DbContextImpl.h>
35 namespace Tizen { namespace Io
38 // This method is for internal use only. The Tizen platform team is not
39 // responsible for any behavioral correctness, consistency, and
40 // security-related issues that might arise after using this method.
42 // @interface _IDbUserFunctionListener
43 // @brief This interface defines a listener for the user defined SQL function.
46 class _OSP_EXPORT_ _IDbUserFunctionListener
47 : public Tizen::Base::Runtime::IEventListener
50 // This method is for internal use only. The Tizen platform team is not
51 // responsible for any behavioral correctness, consistency, and
52 // security-related issues that might arise after using this method.
54 // Called when the user defined SQL function is executed.
57 // @param[in] context The database context
58 // @param[in] argumentCount The number of the user defined SQL function
59 // @see Tizen::Io::_DbContextImpl
61 virtual void OnDbUserFunction(_DbContextImpl& context, int argumentCount) = 0;
64 // This method is for internal use only. The Tizen platform team is not
65 // responsible for any behavioral correctness, consistency, and
66 // security-related issues that might arise after using this method.
68 // Following method is reserved and may change its name at any time without prior notice.
72 virtual void _IDbUserFunctionListener_Reserverd1(void) {}
74 // This method is for internal use only. The Tizen platform team is not
75 // responsible for any behavioral correctness, consistency, and
76 // security-related issues that might arise after using this method.
78 // Following method is reserved and may change its name at any time without prior notice.
82 virtual void _IDbUserFunctionListener_Reserverd2(void) {}
84 // This method is for internal use only. The Tizen platform team is not
85 // responsible for any behavioral correctness, consistency, and
86 // security-related issues that might arise after using this method.
88 // Following method is reserved and may change its name at any time without prior notice.
92 virtual void _IDbUserFunctionListener_Reserverd3(void) {}
94 }; // IDbUserFunctionListener
96 // This method is for internal use only. The Tizen platform team is not
97 // responsible for any behavioral correctness, consistency, and
98 // security-related issues that might arise after using this method.
100 // @interface _IDbUserAggregateListener
101 // @brief This interface defines a listener for the user defined SQL aggregate.
103 class _OSP_EXPORT_ _IDbUserAggregateListener
104 : public Tizen::Base::Runtime::IEventListener
107 // This method is for internal use only. The Tizen platform team is not
108 // responsible for any behavioral correctness, consistency, and
109 // security-related issues that might arise after using this method.
111 // Called when the user defined SQL aggregate is executed for each row in the result.
114 // @param[in] context The database context
115 // @param[in] argumentCount The number of the user defined SQL function
116 // @see Tizen::Io::_DbContextImpl
118 virtual void OnDbUserAggregateStep(_DbContextImpl& context, int argumentCount) = 0;
120 // This method is for internal use only. The Tizen platform team is not
121 // responsible for any behavioral correctness, consistency, and
122 // security-related issues that might arise after using this method.
124 // Called when the user defined SQL aggregate is executed at the end of the row in the result.
127 // @param[in] context The database context
128 // @see Tizen::Io::_DbContextImpl
130 virtual void OnDbUserAggregateFinal(_DbContextImpl& context) = 0;
133 // This method is for internal use only. The Tizen platform team is not
134 // responsible for any behavioral correctness, consistency, and
135 // security-related issues that might arise after using this method.
137 // Following method is reserved and may change its name at any time without prior notice.
141 virtual void _IDbUserAggregateListener_Reserved1(void) {}
143 // This method is for internal use only. The Tizen platform team is not
144 // responsible for any behavioral correctness, consistency, and
145 // security-related issues that might arise after using this method.
147 // Following method is reserved and may change its name at any time without prior notice.
151 virtual void _IDbUserAggregateListener_Reserved2(void) {}
153 // This method is for internal use only. The Tizen platform team is not
154 // responsible for any behavioral correctness, consistency, and
155 // security-related issues that might arise after using this method.
157 // Following method is reserved and may change its name at any time without prior notice.
161 virtual void _IDbUserAggregateListener_Reserved3(void) {}
163 }; // IDbUserAggregateListener
165 // This method is for internal use only. The Tizen platform team is not
166 // responsible for any behavioral correctness, consistency, and
167 // security-related issues that might arise after using this method.
169 // @interface _IDbUserCollationListener
170 // @brief This interface defines a listener for the user defined SQL collation.
173 class _OSP_EXPORT_ _IDbUserCollationListener
174 : public Tizen::Base::Runtime::IEventListener
177 // This method is for internal use only. The Tizen platform team is not
178 // responsible for any behavioral correctness, consistency, and
179 // security-related issues that might arise after using this method.
181 // Called when the user defined SQL collating function is executed.
184 // @return Negative, zero, positive if the first string is less than, equal to,
185 // or greater than the second string, respectively.
186 // @param[in] string1 The first Stirng value to be compared
187 // @param[in] string2 The second String value to be compared
188 // @param[in] pUserData User data passed from Database::CreateCollation()
189 virtual int OnDbUserCollation(const Tizen::Base::String& string1, const Tizen::Base::String& string2, void* pUserData) = 0;
192 // This method is for internal use only. The Tizen platform team is not
193 // responsible for any behavioral correctness, consistency, and
194 // security-related issues that might arise after using this method.
196 // Following method is reserved and may change its name at any time without prior notice.
200 virtual void _IDbUserCollationListener_Reserved1(void) {}
202 // This method is for internal use only. The Tizen platform team is not
203 // responsible for any behavioral correctness, consistency, and
204 // security-related issues that might arise after using this method.
206 // Following method is reserved and may change its name at any time without prior notice.
210 virtual void _IDbUserCollationListener_Reserved2(void) {}
212 // This method is for internal use only. The Tizen platform team is not
213 // responsible for any behavioral correctness, consistency, and
214 // security-related issues that might arise after using this method.
216 // Following method is reserved and may change its name at any time without prior notice.
220 virtual void _IDbUserCollationListener_Reserved3(void) {}
222 }; // _IDbUserCollationListener
226 #endif // _FIO_INTERNAL_IDB_USER_LISTENER_H_