2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
8 // http://www.apache.org/licenses/LICENSE-2.0
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.
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.
20 // @file FIo_IDbUserListener.h
21 // @brief This is the header file for the %_IDbUserFunctionListener,
22 // %_IDbUserAggregateListener, and %_IUserCollationCompareListener classes.
24 // This header file contains the declarations of the %_IDbUserFunctionListener
25 // %_IDbUserAggregateListener, and %_IUserCollationCompareListener classes.
27 #ifndef _FIO_INTERNAL_IDB_USER_LISTENER_H_
28 #define _FIO_INTERNAL_IDB_USER_LISTENER_H_
30 #include <FBaseRtIEventListener.h>
31 #include <FOspConfig.h>
32 #include <FIo_DbContextImpl.h>
34 namespace Tizen { namespace Io
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.
41 // @interface _IDbUserFunctionListener
42 // @brief This interface defines a listener for the user defined SQL function.
45 class _OSP_EXPORT_ _IDbUserFunctionListener
46 : public Tizen::Base::Runtime::IEventListener
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.
53 // Called when the user defined SQL function is executed.
56 // @param[in] context The database context
57 // @param[in] argumentCount The number of the user defined SQL function
58 // @see Tizen::Io::_DbContextImpl
60 virtual void OnDbUserFunction(_DbContextImpl& context, int argumentCount) = 0;
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.
67 // Following method is reserved and may change its name at any time without prior notice.
71 virtual void _IDbUserFunctionListener_Reserverd1(void) {}
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.
77 // Following method is reserved and may change its name at any time without prior notice.
81 virtual void _IDbUserFunctionListener_Reserverd2(void) {}
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.
87 // Following method is reserved and may change its name at any time without prior notice.
91 virtual void _IDbUserFunctionListener_Reserverd3(void) {}
93 }; // IDbUserFunctionListener
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.
99 // @interface _IDbUserAggregateListener
100 // @brief This interface defines a listener for the user defined SQL aggregate.
102 class _OSP_EXPORT_ _IDbUserAggregateListener
103 : public Tizen::Base::Runtime::IEventListener
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.
110 // Called when the user defined SQL aggregate is executed for each row in the result.
113 // @param[in] context The database context
114 // @param[in] argumentCount The number of the user defined SQL function
115 // @see Tizen::Io::_DbContextImpl
117 virtual void OnDbUserAggregateStep(_DbContextImpl& context, int argumentCount) = 0;
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.
123 // Called when the user defined SQL aggregate is executed at the end of the row in the result.
126 // @param[in] context The database context
127 // @see Tizen::Io::_DbContextImpl
129 virtual void OnDbUserAggregateFinal(_DbContextImpl& context) = 0;
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.
136 // Following method is reserved and may change its name at any time without prior notice.
140 virtual void _IDbUserAggregateListener_Reserved1(void) {}
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.
146 // Following method is reserved and may change its name at any time without prior notice.
150 virtual void _IDbUserAggregateListener_Reserved2(void) {}
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.
156 // Following method is reserved and may change its name at any time without prior notice.
160 virtual void _IDbUserAggregateListener_Reserved3(void) {}
162 }; // IDbUserAggregateListener
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.
168 // @interface _IDbUserCollationListener
169 // @brief This interface defines a listener for the user defined SQL collation.
172 class _OSP_EXPORT_ _IDbUserCollationListener
173 : public Tizen::Base::Runtime::IEventListener
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.
180 // Called when the user defined SQL collating function is executed.
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;
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.
195 // Following method is reserved and may change its name at any time without prior notice.
199 virtual void _IDbUserCollationListener_Reserved1(void) {}
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.
205 // Following method is reserved and may change its name at any time without prior notice.
209 virtual void _IDbUserCollationListener_Reserved2(void) {}
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.
215 // Following method is reserved and may change its name at any time without prior notice.
219 virtual void _IDbUserCollationListener_Reserved3(void) {}
221 }; // _IDbUserCollationListener
225 #endif // _FIO_INTERNAL_IDB_USER_LISTENER_H_