tizen 2.4 release
[framework/context/context-common.git] / include / db_listener_iface.h
1 /*
2  * Copyright (c) 2015 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
17 #ifndef __CONTEXT_DATABASE_LISTENER_INTERFACE_H__
18 #define __CONTEXT_DATABASE_LISTENER_INTERFACE_H__
19
20 #include <vector>
21
22 namespace ctx {
23         /* Forward Declaration */
24         class json;
25
26         class db_listener_iface {
27                 public:
28                         virtual ~db_listener_iface() {}
29
30                         /**
31                          * @brief       Called when a table creation is done.
32                          * @param[in]   query_id        The query id passed through ctx::db_manager::create_table().
33                          * @param[in]   error           Error code. If success, 0. Otherwise, a negative value.
34                          */
35                         virtual void on_creation_result_received(unsigned int query_id, int error) = 0;
36
37                         /**
38                          * @brief       Called when a record insertion is done.
39                          * @param[in]   query_id        The query id passed through ctx::db_manager::insert().
40                          * @param[in]   error           Error code. If success, 0. Otherwise, a negative value.
41                          * @param[in]   row_id          The row id of the inserted record.
42                          */
43                         virtual void on_insertion_result_received(unsigned int query_id, int error, int64_t row_id) = 0;
44
45                         /**
46                          * @brief       Called when a query execution is done.
47                          * @param[in]   query_id        The query id passed through ctx::db_manager::execute().
48                          * @param[in]   error           Error code. If success, 0. Otherwise, a negative value.
49                          * @param[in]   records         Data records retreived.
50                          */
51                         virtual void on_query_result_received(unsigned int query_id, int error, std::vector<json>& records) = 0;
52         };
53
54 }       /* namespace ctx */
55
56 #endif  /* End of __CONTEXT_DATABASE_LISTENER_INTERFACE_H__ */