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