fix TC-1516
[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 char* ail_get_icon_path(uid_t uid);
40 char* al_get_desktop_path(uid_t uid);
41 ail_error_e db_open(db_open_mode mode, uid_t uid);
42 ail_error_e db_prepare(const char *query, sqlite3_stmt **stmt);
43 ail_error_e db_prepare_globalro(const char *query, sqlite3_stmt **stmt);
44 ail_error_e db_prepare_rw(const char *query, sqlite3_stmt **stmt);
45 ail_error_e db_prepare_globalrw(const char *query, sqlite3_stmt **stmt);
46
47 ail_error_e db_bind_bool(sqlite3_stmt *stmt, int idx, bool value);
48 ail_error_e db_bind_int(sqlite3_stmt *stmt, int idx, int value);
49 ail_error_e db_bind_text(sqlite3_stmt *stmt, int idx, char* value);
50
51 ail_error_e db_step(sqlite3_stmt *stmt);
52
53 ail_error_e db_column_bool(sqlite3_stmt *stmt, int index, bool *value);
54 ail_error_e db_column_int(sqlite3_stmt *stmt, int index, int *value);
55 ail_error_e db_column_str(sqlite3_stmt *stmt, int index, char **str);
56
57 ail_error_e db_reset(sqlite3_stmt *stmt);
58 ail_error_e db_finalize(sqlite3_stmt *stmt);
59
60 ail_error_e do_db_exec(const char *query,sqlite3 * fileSQL);
61 ail_error_e db_exec_usr_rw(const char *query);
62 ail_error_e db_exec_usr_ro(const char *query);
63 ail_error_e db_close(void);
64 int db_exec_sqlite_query(char *query, sqlite_query_callback callback, void *data);
65 #endif
66 // End of file