Tizen 2.1 base
[platform/core/appfw/ail.git] / src / ail_db.h
1 /*
2  * ail
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22
23
24
25 #ifndef __AIL_DB_H__
26 #define __AIL_DB_H__
27
28 #include <sqlite3.h>
29 #include "ail.h"
30
31 #define AIL_SQL_QUERY_MAX_LEN   2048
32
33 typedef enum {
34         DB_OPEN_RO = 0x0001,
35         DB_OPEN_RW = 0x0002,
36 } db_open_mode;
37 typedef int (*sqlite_query_callback)(void *data, int ncols, char **coltxt, char **colname);
38
39 ail_error_e db_open(db_open_mode mode);
40 ail_error_e db_prepare(const char *query, sqlite3_stmt **stmt);
41
42 ail_error_e db_bind_bool(sqlite3_stmt *stmt, int idx, bool value);
43 ail_error_e db_bind_int(sqlite3_stmt *stmt, int idx, int value);
44
45 ail_error_e db_step(sqlite3_stmt *stmt);
46
47 ail_error_e db_column_bool(sqlite3_stmt *stmt, int index, bool *value);
48 ail_error_e db_column_int(sqlite3_stmt *stmt, int index, int *value);
49 ail_error_e db_column_str(sqlite3_stmt *stmt, int index, char **str);
50
51 ail_error_e db_reset(sqlite3_stmt *stmt);
52 ail_error_e db_finalize(sqlite3_stmt *stmt);
53
54
55 ail_error_e db_exec(const char *query);
56 ail_error_e db_close(void);
57 int db_exec_sqlite_query(char *query, sqlite_query_callback callback, void *data);
58 #endif
59 // End of file