Fix Prevent and remove compile warning messages
[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 #ifndef __AIL_DB_H__
23 #define __AIL_DB_H__
24
25 #include <sqlite3.h>
26 #include "ail.h"
27
28 #define AIL_SQL_QUERY_MAX_LEN   2048
29
30 typedef enum {
31         DB_OPEN_RO = 0x0001,
32         DB_OPEN_RW = 0x0002,
33 } db_open_mode;
34 typedef int (*sqlite_query_callback)(void *data, int ncols, char **coltxt, char **colname);
35
36 char* ail_get_icon_path(uid_t uid);
37 char* ail_get_app_DB_journal(uid_t uid);
38 char* ail_get_app_DB(uid_t uid);
39 char* ail_get_desktop_path(uid_t uid);
40 ail_error_e db_open(db_open_mode mode, uid_t uid);
41 ail_error_e db_prepare(const char *query, sqlite3_stmt **stmt);
42 ail_error_e db_prepare_globalro(const char *query, sqlite3_stmt **stmt);
43 ail_error_e db_prepare_rw(const char *query, sqlite3_stmt **stmt);
44 ail_error_e db_prepare_globalrw(const char *query, sqlite3_stmt **stmt);
45
46 ail_error_e db_bind_bool(sqlite3_stmt *stmt, int idx, bool value);
47 ail_error_e db_bind_int(sqlite3_stmt *stmt, int idx, int value);
48 ail_error_e db_bind_text(sqlite3_stmt *stmt, int idx, const char *value);
49
50 ail_error_e db_step(sqlite3_stmt *stmt);
51
52 ail_error_e db_column_bool(sqlite3_stmt *stmt, int index, bool *value);
53 ail_error_e db_column_int(sqlite3_stmt *stmt, int index, int *value);
54 ail_error_e db_column_str(sqlite3_stmt *stmt, int index, char **str);
55
56 ail_error_e db_reset(sqlite3_stmt *stmt);
57 ail_error_e db_finalize(sqlite3_stmt *stmt);
58
59 ail_error_e do_db_exec(const char *query, sqlite3 *fileSQL);
60 ail_error_e db_exec_usr_rw(const char *query);
61 ail_error_e db_exec_usr_ro(const char *query);
62 ail_error_e db_exec_glo_rw(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
66 #endif /* __AIL_DB_H__ */