summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHyunho Kang <hhstark.kang@samsung.com>2016-05-09 19:17:35 +0900
committerHyunho Kang <hhstark.kang@samsung.com>2016-05-10 10:57:15 +0900
commit1fd07d712a009833e5bf2ae824b5ecb790ace900 (patch)
tree04088f24e9ef49dbdda691ef1dc18216c9c01820 /src
parent4b86737677afb69ad727b1de72813637246f845a (diff)
downloadbadge-1fd07d712a009833e5bf2ae824b5ecb790ace900.tar.gz
badge-1fd07d712a009833e5bf2ae824b5ecb790ace900.tar.bz2
badge-1fd07d712a009833e5bf2ae824b5ecb790ace900.zip
- 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-xsrc/badge_db.c53
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)
{