diff options
author | Hyunho Kang <hhstark.kang@samsung.com> | 2016-05-09 19:17:35 +0900 |
---|---|---|
committer | Hyunho Kang <hhstark.kang@samsung.com> | 2016-05-10 10:57:15 +0900 |
commit | 1fd07d712a009833e5bf2ae824b5ecb790ace900 (patch) | |
tree | 04088f24e9ef49dbdda691ef1dc18216c9c01820 /src | |
parent | 4b86737677afb69ad727b1de72813637246f845a (diff) | |
download | badge-1fd07d712a009833e5bf2ae824b5ecb790ace900.tar.gz badge-1fd07d712a009833e5bf2ae824b5ecb790ace900.tar.bz2 badge-1fd07d712a009833e5bf2ae824b5ecb790ace900.zip |
Add db create API and remove db create logic from .spec filesubmit/tizen/20160510.090610accepted/tizen/wearable/20160511.080458accepted/tizen/tv/20160511.080441accepted/tizen/mobile/20160511.080424accepted/tizen/ivi/20160511.080523accepted/tizen/common/20160511.141833
- data-provider-master will create notification db
Change-Id: Iaf9499890f3c9958fac416886012b6db99a8c44d
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
Diffstat (limited to 'src')
-rwxr-xr-x | src/badge_db.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/badge_db.c b/src/badge_db.c index 67da581..79e8cf9 100755 --- a/src/badge_db.c +++ b/src/badge_db.c @@ -20,15 +20,68 @@ * */ +#include <stdio.h> #include <stdlib.h> #include <stdarg.h> #include <sqlite3.h> +#include <tzplatform_config.h> +#include <db-util.h> #include "badge.h" #include "badge_log.h" #include "badge_error.h" #include "badge_internal.h" +#define BADGE_DB_NAME ".badge.db" +#define CREATE_BADGE_TABLE " \ +PRAGMA journal_mode = PERSIST; \ +create table if not exists badge_data ( \ + pkgname TEXT NOT NULL, \ + writable_pkgs TEXT, \ + badge INTEGER default 0, \ + rowid INTEGER PRIMARY KEY AUTOINCREMENT, \ + UNIQUE (pkgname) \ +); \ +create table if not exists badge_option ( \ + pkgname TEXT NOT NULL, \ + display INTEGER default 1, \ + UNIQUE (pkgname) \ +); " + +EXPORT_API +int badge_db_init() +{ + int r; + sqlite3 *db = NULL; + char *errmsg = NULL; + char defname[FILENAME_MAX]; + const char *db_path = tzplatform_getenv(TZ_SYS_DB); + if (db_path == NULL) { + ERR("fail to get db_path"); + return BADGE_ERROR_OUT_OF_MEMORY; + } + snprintf(defname, sizeof(defname), "%s/%s", db_path, BADGE_DB_NAME); + + DBG("db path : %s", defname); + r = sqlite3_open_v2(defname, &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL); + if (r) { + db_util_close(db); + ERR("fail to open notification db %d", r); + return BADGE_ERROR_IO_ERROR; + } + + r = sqlite3_exec(db, CREATE_BADGE_TABLE, NULL, NULL, &errmsg); + if (r != SQLITE_OK) { + ERR("query error(%d)(%s)", r, errmsg); + sqlite3_free(errmsg); + db_util_close(db); + return BADGE_ERROR_IO_ERROR; + } + + db_util_close(db); + return BADGE_ERROR_NONE; +} + EXPORT_API int badge_db_is_existing(const char *pkgname, bool *existing) { |