Merge tizen 2.3 source into tizen branch 10/33110/4 accepted/tizen/common/20150302.080814 accepted/tizen/mobile/20150302.085152 accepted/tizen/tv/20150302.082414 accepted/tizen/wearable/20150302.084143 submit/Mobile/20150302.070136 submit/tizen/20150302.053735
authorHurnjoo Lee <hurnjoo.lee@samsung.com>
Tue, 6 Jan 2015 04:48:48 +0000 (13:48 +0900)
committerHurnjoo Lee <hurnjoo.lee@samsung.com>
Mon, 12 Jan 2015 11:51:50 +0000 (20:51 +0900)
Change-Id: I489ed0f58fc1b3f3e7875197dd50ad73d4c94f76
Signed-off-by: Hurnjoo Lee <hurnjoo.lee@samsung.com>
51 files changed:
.gitignore [new file with mode: 0644]
AUTHORS [deleted file]
CMakeLists.txt [changed mode: 0755->0644]
LICENSE [moved from LICENSE.APLv2.0 with 100% similarity]
NOTICE [deleted file]
TC/_export_env.sh [new file with mode: 0755]
TC/_export_target_env.sh [new file with mode: 0755]
TC/clean.sh [new file with mode: 0755]
TC/config [new file with mode: 0644]
TC/push.sh [new file with mode: 0755]
TC/run.sh [new file with mode: 0755]
TC/testcase/Makefile [new file with mode: 0644]
TC/testcase/tslist [new file with mode: 0644]
TC/testcase/utc_badge.c [new file with mode: 0644]
TC/testcase/utc_badge_setting.c [new file with mode: 0644]
TC/tet_scen [new file with mode: 0644]
TC/tetbuild.cfg [new file with mode: 0644]
TC/tetclean.cfg [new file with mode: 0644]
TC/tetexec.cfg [new file with mode: 0644]
badge-service.pc.in
badge.manifest [new file with mode: 0644]
badge.pc.in
badge.sql [deleted file]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/dirs [new file with mode: 0644]
debian/docs [new file with mode: 0644]
debian/libbadge-dev.install.in [new file with mode: 0644]
debian/libbadge.install.in [new file with mode: 0644]
debian/libbadge.postinst.in [new file with mode: 0644]
debian/rules [new file with mode: 0644]
doc/badge_doc.h [changed mode: 0755->0644]
doc/doxygen.conf [changed mode: 0755->0644]
include/badge.h [changed mode: 0755->0644]
include/badge_db.h [changed mode: 0755->0644]
include/badge_error.h [changed mode: 0755->0644]
include/badge_internal.h
include/badge_ipc.h [changed mode: 0755->0644]
include/badge_log.h
include/badge_setting.h [changed mode: 0755->0644]
include/badge_setting_service.h [changed mode: 0755->0644]
packaging/badge.changes [deleted file]
packaging/badge.manifest [deleted file]
packaging/badge.spec [changed mode: 0755->0644]
packaging/init_db.sh [deleted file]
src/badge.c [changed mode: 0755->0644]
src/badge_db.c [changed mode: 0755->0644]
src/badge_internal.c [changed mode: 0755->0644]
src/badge_ipc.c [changed mode: 0755->0644]
src/badge_setting.c [changed mode: 0755->0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..61ba439
--- /dev/null
@@ -0,0 +1,5 @@
+build.sh
+build-stamp
+cmake-tmp
+configure-stamp
+tmp
diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644 (file)
index 24aebc0..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,2 +0,0 @@
-youngsub ko <ys4610.ko at samsung dot com>
-seung taek jung <seungtaek.chung at samsung dot com>
old mode 100755 (executable)
new mode 100644 (file)
index 29ef9ba..8fd76fd
@@ -6,6 +6,9 @@ SET(EXEC_PREFIX "\${prefix}")
 SET(PROJECT_NAME "${PROJECT_NAME}")
 SET(LIBDIR ${LIB_INSTALL_DIR})
 SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
+SET(DBDIR "/opt/dbspace")
+SET(DBFILE ".${PROJECT_NAME}.db")
+SET(DBPATH "${DBDIR}/${DBFILE}")
 SET(VERSION_MAJOR 0)
 SET(VERSION "${VERSION_MAJOR}.0.1")
 
@@ -13,8 +16,8 @@ SET(CMAKE_SKIP_BUILD_RPATH true)
 
 SET(INSTALL_HEADERS_DEVEL
        badge.h
-       badge_setting.h
        badge_error.h
+       badge_internal.h
 )
 
 SET(INSTALL_HEADERS_SERVICE_DEVEL
@@ -47,32 +50,36 @@ pkg_check_modules(pkgs REQUIRED
        dbus-glib-1
        vconf
        com-core
-       libtzplatform-config
+       capi-appfw-package-manager
+       db-util
 )
 
 FOREACH(flag ${pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
 ENDFOREACH(flag)
 
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS}")
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -g -Wall -O2")
 
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
 
 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
 ADD_DEFINITIONS("-DBADGE_USE_DLOG")
+ADD_DEFINITIONS("-DDBDIR=\"${DBDIR}\"")
+ADD_DEFINITIONS("-DDBFILE=\"${DBFILE}\"")
+ADD_DEFINITIONS("-DBADGE_DB_PATH=\"${DBPATH}\"")
 
 FOREACH(lib_file ${SUBMODULES_SO})
        ADD_LIBRARY(${lib_file} SHARED ${SRCS})
        TARGET_LINK_LIBRARIES(${lib_file} ${pkgs_LDFLAGS})
        SET_TARGET_PROPERTIES(${lib_file} PROPERTIES SOVERSION ${VERSION_MAJOR})
        SET_TARGET_PROPERTIES(${lib_file} PROPERTIES VERSION ${VERSION})
-    INSTALL(TARGETS ${lib_file} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+    INSTALL(TARGETS ${lib_file} DESTINATION ${LIBDIR} COMPONENT RuntimeLibraries)
 ENDFOREACH(lib_file)
 
 FOREACH(pcfile ${SUBMODULES_DEVEL})
        CONFIGURE_FILE(${pcfile}.pc.in ${pcfile}.pc @ONLY)
        SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${pcfile}.pc")
-    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${pcfile}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${pcfile}.pc DESTINATION ${LIBDIR}/pkgconfig)
 ENDFOREACH(pcfile)
 
 FOREACH(hfile ${INSTALL_HEADERS_DEVEL})
similarity index 100%
rename from LICENSE.APLv2.0
rename to LICENSE
diff --git a/NOTICE b/NOTICE
deleted file mode 100644 (file)
index ccdad52..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,3 +0,0 @@
-Copyright (c) Samsung Electronics Co., Ltd. All rights reserved.
-Except as noted, this software is licensed under Apache License, Version 2.
-Please, see the LICENSE file for Apache License terms and conditions.
diff --git a/TC/_export_env.sh b/TC/_export_env.sh
new file mode 100755 (executable)
index 0000000..7a317f8
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+source ./config
+
+export TET_INSTALL_PATH=$TET_INSTALL_HOST_PATH # tetware root path
+#export TET_TARGET_PATH=$TET_INSTALL_PATH/tetware-simulator # tetware target path
+export TET_TARGET_PATH=$TET_INSTALL_PATH/tetware-target # tetware target path
+export PATH=$TET_TARGET_PATH/bin:$PATH
+export LD_LIBRARY_PATH=$TET_TARGET_PATH/lib/tet3:$LD_LIBRARY_PATH
+export TET_ROOT=$TET_TARGET_PATH
diff --git a/TC/_export_target_env.sh b/TC/_export_target_env.sh
new file mode 100755 (executable)
index 0000000..5e005cf
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+. ./config
+
+export TET_INSTALL_PATH=$TET_INSTALL_TARGET_PATH # path to path
+#export TET_TARGET_PATH=$TET_INSTALL_PATH/tetware-simulator
+export TET_TARGET_PATH=$TET_INSTALL_PATH/tetware-target
+export PATH=$TET_TARGET_PATH/bin:$PATH
+export LD_LIBRARY_PATH=$TET_TARGET_PATH/lib/tet3:$LD_LIBRARY_PATH
+export TET_ROOT=$TET_TARGET_PATH
diff --git a/TC/clean.sh b/TC/clean.sh
new file mode 100755 (executable)
index 0000000..29743e0
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+. ./_export_env.sh                              # setting environment variables
+
+export TET_SUITE_ROOT=`pwd`
+RESULT_DIR=results
+
+tcc -c -p ./                                # executing tcc, with clean option (-c)
+rm -r $RESULT_DIR
+rm -r tet_tmp_dir
+rm testcase/tet_captured
diff --git a/TC/config b/TC/config
new file mode 100644 (file)
index 0000000..e31ce9b
--- /dev/null
+++ b/TC/config
@@ -0,0 +1,3 @@
+PKG_NAME=badge
+TET_INSTALL_HOST_PATH=/var/tmp/dts_fw/TC/TETware
+TET_INSTALL_TARGET_PATH=/opt/home/$PKG_NAME/TETware
diff --git a/TC/push.sh b/TC/push.sh
new file mode 100755 (executable)
index 0000000..5eb9510
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+. ./config
+
+TC_PATH=/opt/home/$PKG_NAME
+
+echo $TC_PATH
+
+sdb shell "mkdir -p $TC_PATH"
+
+sdb push . $TC_PATH
+
+
diff --git a/TC/run.sh b/TC/run.sh
new file mode 100755 (executable)
index 0000000..cec5778
--- /dev/null
+++ b/TC/run.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+source ./_export_target_env.sh
+
+export TET_SUITE_ROOT=`pwd`
+FILE_NAME_EXTENSION=`date +%s`
+
+RESULT_DIR=results
+HTML_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.html
+JOURNAL_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.journal
+
+mkdir -p $RESULT_DIR
+
+tcc -e -j $JOURNAL_RESULT -p ./
+grw -c 7 -f chtml -o $HTML_RESULT $JOURNAL_RESULT
diff --git a/TC/testcase/Makefile b/TC/testcase/Makefile
new file mode 100644 (file)
index 0000000..2f5ca3d
--- /dev/null
@@ -0,0 +1,26 @@
+include ../config
+
+CC ?= gcc
+
+C_FILES = $(shell ls *.c)
+
+PKGS = $(PKG_NAME)
+PKGS += glib-2.0
+LDFLAGS = `pkg-config --libs $(PKGS)`
+LDFLAGS += $(TET_ROOT)/lib/tet3/tcm_s.o
+LDFLAGS += -L$(TET_ROOT)/lib/tet3 -ltcm_s
+LDFLAGS += -L$(TET_ROOT)/lib/tet3 -lapi_s
+
+CFLAGS = -I. `pkg-config --cflags $(PKGS)`
+CFLAGS += -I$(TET_ROOT)/inc/tet3
+CFLAGS += -Wall
+
+TCS := $(shell ls -1 *.c | cut -d. -f1)
+
+all: $(TCS)
+
+%: %.c
+       $(CC) -o $@ $< $(CFLAGS) $(LDFLAGS)
+
+clean:
+       rm -f $(TCS)
diff --git a/TC/testcase/tslist b/TC/testcase/tslist
new file mode 100644 (file)
index 0000000..dc99875
--- /dev/null
@@ -0,0 +1,2 @@
+/testcase/utc_badge
+/testcase/utc_badge_setting
\ No newline at end of file
diff --git a/TC/testcase/utc_badge.c b/TC/testcase/utc_badge.c
new file mode 100644 (file)
index 0000000..b3667d2
--- /dev/null
@@ -0,0 +1,384 @@
+/*
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <libintl.h>
+#include <tet_api.h>
+#include <badge.h>
+
+#define TEST_PKG "org.tizen.tetware"
+
+enum {
+       POSITIVE_TC_IDX = 0x01,
+       NEGATIVE_TC_IDX,
+};
+
+static void startup(void);
+static void cleanup(void);
+
+static void utc_badge_create_n(void);
+static void utc_badge_create_p(void);
+static void utc_badge_remove_n(void);
+static void utc_badge_remove_p(void);
+static void utc_badge_set_count_n(void);
+static void utc_badge_set_count_p(void);
+static void utc_badge_get_count_n(void);
+static void utc_badge_get_count_p(void);
+static void utc_badge_set_display_n(void);
+static void utc_badge_set_display_p(void);
+static void utc_badge_get_display_n(void);
+static void utc_badge_get_display_p(void);
+static void utc_badge_is_existing_n(void);
+static void utc_badge_is_existing_p(void);
+static void utc_badge_foreach_existed_n(void);
+static void utc_badge_foreach_existed_p(void);
+static void utc_badge_register_changed_cb_n(void);
+static void utc_badge_register_changed_cb_p(void);
+static void utc_badge_unregister_changed_n(void);
+static void utc_badge_unregister_changed_p(void);
+
+#define TEST_PKG "org.tizen.tetware"
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+struct tet_testlist tet_testlist[] = {
+       {utc_badge_create_n , NEGATIVE_TC_IDX},
+       {utc_badge_create_p, POSITIVE_TC_IDX},
+       {utc_badge_remove_n , NEGATIVE_TC_IDX},
+       {utc_badge_remove_p, POSITIVE_TC_IDX},
+       {utc_badge_set_count_n , NEGATIVE_TC_IDX},
+       {utc_badge_set_count_p, POSITIVE_TC_IDX},
+       {utc_badge_get_count_n , NEGATIVE_TC_IDX},
+       {utc_badge_get_count_p, POSITIVE_TC_IDX},
+       {utc_badge_set_display_n , NEGATIVE_TC_IDX},
+       {utc_badge_set_display_p, POSITIVE_TC_IDX},
+       {utc_badge_get_display_n , NEGATIVE_TC_IDX},
+       {utc_badge_get_display_p, POSITIVE_TC_IDX},
+       {utc_badge_is_existing_n , NEGATIVE_TC_IDX},
+       {utc_badge_is_existing_p, POSITIVE_TC_IDX},
+       {utc_badge_foreach_existed_n , NEGATIVE_TC_IDX},
+       {utc_badge_foreach_existed_p, POSITIVE_TC_IDX},
+       {utc_badge_register_changed_cb_n , NEGATIVE_TC_IDX},
+       {utc_badge_register_changed_cb_p, POSITIVE_TC_IDX},
+       {utc_badge_unregister_changed_n , NEGATIVE_TC_IDX},
+       {utc_badge_unregister_changed_p, POSITIVE_TC_IDX},
+       { NULL, 0 },
+};
+
+static void _badge_foreach_cb(const char *pkgname, unsigned int count, void *data) {
+
+}
+
+static void _badge_changed_cb(unsigned int action, const char *pkgname,
+                       unsigned int count, void *data) {
+
+}
+
+static void startup(void)
+{
+       /* start of TC */
+       tet_printf("\n TC start");
+       badge_remove(TEST_PKG);
+}
+
+
+static void cleanup(void)
+{
+       /* end of TC */
+       tet_printf("\n TC end");
+}
+
+/**
+ * @brief Negative test case of badge_create()
+ */
+static void utc_badge_create_n(void)
+{
+       int ret;
+
+       ret = badge_create(NULL, NULL);
+
+       dts_check_eq("badge_create", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_create()
+ */
+static void utc_badge_create_p(void)
+{
+       int ret;
+
+       ret = badge_create(TEST_PKG, TEST_PKG);
+
+       dts_check_eq("badge_create", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
+
+
+/**
+ * @brief Negative test case of badge_remove()
+ */
+static void utc_badge_remove_n(void)
+{
+       int ret;
+
+       ret = badge_remove(NULL);
+
+       dts_check_eq("badge_remove", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_remove()
+ */
+static void utc_badge_remove_p(void)
+{
+       int ret;
+
+       ret = badge_create(TEST_PKG, TEST_PKG);
+       ret = badge_remove(TEST_PKG);
+
+       dts_check_eq("badge_create", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
+
+/**
+ * @brief Negative test case of badge_set_count()
+ */
+static void utc_badge_set_count_n(void)
+{
+       int ret;
+
+       ret = badge_set_count(NULL, 0);
+
+       dts_check_eq("badge_set_count", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_set_count()
+ */
+static void utc_badge_set_count_p(void)
+{
+       int ret;
+
+       ret = badge_create(TEST_PKG, TEST_PKG);
+       ret = badge_set_count(TEST_PKG, 1);
+
+       dts_check_eq("badge_set_count", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
+
+
+/**
+ * @brief Negative test case of badge_get_count()
+ */
+static void utc_badge_get_count_n(void)
+{
+       int ret;
+
+       ret = badge_get_count(NULL, NULL);
+
+       dts_check_eq("badge_get_count", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_get_count()
+ */
+static void utc_badge_get_count_p(void)
+{
+       int ret;
+       int count = 0;
+
+       ret = badge_create(TEST_PKG, TEST_PKG);
+       ret = badge_set_count(TEST_PKG, 1);
+       ret = badge_get_count(TEST_PKG, &count);
+
+       dts_check_eq("badge_get_count", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
+
+/**
+ * @brief Negative test case of badge_set_display()
+ */
+static void utc_badge_set_display_n(void)
+{
+       int ret;
+
+       ret = badge_set_display(NULL, 0);
+
+       dts_check_eq("badge_set_display", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_set_display()
+ */
+static void utc_badge_set_display_p(void)
+{
+       int ret;
+       int count = 0;
+
+       ret = badge_create(TEST_PKG, TEST_PKG);
+       ret = badge_set_count(TEST_PKG, 1);
+       ret = badge_set_display(TEST_PKG, 1);
+
+       dts_check_eq("badge_set_display", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
+
+/**
+ * @brief Negative test case of badge_get_display()
+ */
+static void utc_badge_get_display_n(void)
+{
+       int ret;
+
+       ret = badge_get_display(NULL, NULL);
+
+       dts_check_eq("badge_get_display", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_get_display()
+ */
+static void utc_badge_get_display_p(void)
+{
+       int ret;
+       int count = 0;
+
+       ret = badge_create(TEST_PKG, TEST_PKG);
+       ret = badge_set_count(TEST_PKG, 1);
+       ret = badge_get_display(TEST_PKG, &count);
+
+       dts_check_eq("badge_get_display", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
+
+/**
+ * @brief Negative test case of badge_is_existing()
+ */
+static void utc_badge_is_existing_n(void)
+{
+       int ret;
+
+       ret = badge_is_existing(NULL, NULL);
+
+       dts_check_eq("badge_is_existing", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_is_existing()
+ */
+static void utc_badge_is_existing_p(void)
+{
+       int ret;
+       int is_existing;
+
+       ret = badge_create(TEST_PKG, TEST_PKG);
+       ret = badge_is_existing(TEST_PKG, &is_existing);
+
+       dts_check_eq("badge_is_existing", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
+
+/**
+ * @brief Negative test case of badge_foreach_existed()
+ */
+static void utc_badge_foreach_existed_n(void)
+{
+       int ret;
+
+       ret = badge_foreach_existed(NULL, NULL);
+
+       dts_check_eq("badge_foreach_existed", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_foreach_existed()
+ */
+static void utc_badge_foreach_existed_p(void)
+{
+       int ret;
+
+       ret = badge_create(TEST_PKG, TEST_PKG);
+       ret = badge_foreach_existed(_badge_foreach_cb, NULL);
+
+       dts_check_eq("badge_foreach_existed", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
+
+/**
+ * @brief Negative test case of badge_register_changed_cb()
+ */
+static void utc_badge_register_changed_cb_n(void)
+{
+       int ret;
+
+       ret = badge_register_changed_cb(NULL, NULL);
+
+       dts_check_eq("badge_register_changed_cb", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_register_changed_cb()
+ */
+static void utc_badge_register_changed_cb_p(void)
+{
+       int ret;
+
+       ret = badge_register_changed_cb(_badge_changed_cb, NULL);
+
+       dts_check_eq("badge_register_changed_cb", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
+
+/**
+ * @brief Negative test case of badge_unregister_changed()
+ */
+static void utc_badge_unregister_changed_n(void)
+{
+       int ret;
+
+       ret = badge_unregister_changed_cb(NULL);
+
+       dts_check_eq("badge_unregister_changed_cb", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_unregister_changed()
+ */
+static void utc_badge_unregister_changed_p(void)
+{
+       int ret;
+
+       ret = badge_register_changed_cb(_badge_changed_cb, NULL);
+       ret = badge_unregister_changed_cb(_badge_changed_cb);
+
+       dts_check_eq("badge_unregister_changed_cb", ret, BADGE_ERROR_NONE,
+               "Must return BADGE_ERROR_NONE in case of invalid parameter");
+}
diff --git a/TC/testcase/utc_badge_setting.c b/TC/testcase/utc_badge_setting.c
new file mode 100644 (file)
index 0000000..179ace3
--- /dev/null
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <libintl.h>
+#include <tet_api.h>
+#include <badge.h>
+
+#define TEST_PKG "org.tizen.tetware"
+
+enum {
+       POSITIVE_TC_IDX = 0x01,
+       NEGATIVE_TC_IDX,
+};
+
+static void startup(void);
+static void cleanup(void);
+
+static void utc_badge_setting_property_set_n(void);
+static void utc_badge_setting_property_set_p(void);
+static void utc_badge_setting_property_get_n(void);
+static void utc_badge_setting_property_get_p(void);
+
+#define TEST_PKG "org.tizen.tetware"
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+struct tet_testlist tet_testlist[] = {
+       {utc_badge_setting_property_set_n, NEGATIVE_TC_IDX},
+       {utc_badge_setting_property_set_p, POSITIVE_TC_IDX},
+       {utc_badge_setting_property_get_n, NEGATIVE_TC_IDX},
+       {utc_badge_setting_property_get_p, POSITIVE_TC_IDX},
+       { NULL, 0 },
+};
+
+static void startup(void)
+{
+       /* start of TC */
+       tet_printf("\n TC start");
+}
+
+
+static void cleanup(void)
+{
+       /* end of TC */
+       tet_printf("\n TC end");
+}
+
+/**
+ * @brief Negative test case of badge_setting_property_set()
+ */
+static void utc_badge_setting_property_set_n(void)
+{
+       int ret;
+
+       ret = badge_setting_property_set(NULL, NULL, NULL);
+       dts_check_eq("badge_setting_property_set", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_setting_property_set()
+ */
+static void utc_badge_setting_property_set_p(void)
+{
+       int ret;
+
+       ret = badge_setting_property_set(TEST_PKG, "OPT_BADGE", "ON");
+       /*Invalid parameter test*/
+       dts_check_ne("badge_setting_property_set", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_NONE in case of valid parameter");
+}
+
+/**
+ * @brief Negative test case of badge_setting_property_get()
+ */
+static void utc_badge_setting_property_get_n(void)
+{
+       int ret;
+
+       ret = badge_setting_property_get(NULL, NULL, NULL);
+       dts_check_eq("badge_setting_property_get", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_INVALID_DATA in case of invalid parameter");
+}
+
+/**
+ * @brief Positive test case of badge_setting_property_get()
+ */
+static void utc_badge_setting_property_get_p(void)
+{
+       int ret;
+       char *value = NULL;
+
+       ret = badge_setting_property_get(TEST_PKG, "OPT_BADGE", &value);
+       dts_check_ne("badge_setting_property_get", ret, BADGE_ERROR_INVALID_DATA,
+               "Must return BADGE_ERROR_NONE in case of valid parameter");
+}
diff --git a/TC/tet_scen b/TC/tet_scen
new file mode 100644 (file)
index 0000000..03f029a
--- /dev/null
@@ -0,0 +1,7 @@
+all
+       ^TEST
+##### Scenarios for TEST #####
+
+# Test scenario
+TEST
+       :include:/testcase/tslist
diff --git a/TC/tetbuild.cfg b/TC/tetbuild.cfg
new file mode 100644 (file)
index 0000000..f7eda55
--- /dev/null
@@ -0,0 +1,5 @@
+TET_OUTPUT_CAPTURE=True # capture option for build operation checking
+TET_BUILD_TOOL=make # build with using make command
+TET_BUILD_FILE=-f Makefile # execution file (Makefile) for build
+TET_API_COMPLIANT=True # use TET API in Test Case ?
+TET_PASS_TC_NAME=True # report passed TC name in Journal file?
diff --git a/TC/tetclean.cfg b/TC/tetclean.cfg
new file mode 100644 (file)
index 0000000..2a0477a
--- /dev/null
@@ -0,0 +1,5 @@
+TET_OUTPUT_CAPTURE=True # capture option
+TET_CLEAN_TOOL= make clean # clean tool
+TET_CLEAN_FILE= Makefile # file for clean
+TET_API_COMPLIANT=True # TET API useage
+TET_PASS_TC_NAME=True # showing name , passed TC
diff --git a/TC/tetexec.cfg b/TC/tetexec.cfg
new file mode 100644 (file)
index 0000000..ef3e452
--- /dev/null
@@ -0,0 +1,5 @@
+TET_OUTPUT_CAPTURE=True # capturing execution or not
+TET_EXEC_TOOL=  # ex) exec : execution tool set up/ Optional
+TET_EXEC_FILE=   # ex) exectool : execution file/ Optional
+TET_API_COMPLIANT=True # Test case or Tool usesTET API?
+TET_PASS_TC_NAME=True # showing Passed TC name ?
index e9c9001..7864b50 100644 (file)
@@ -3,7 +3,7 @@ exec_prefix=@EXEC_PREFIX@
 libdir=@LIBDIR@
 includedir=@INCLUDEDIR@/service
 
-Name: badge-service
+Name: badge
 Description: Badge supporting library
 Version: @VERSION@
 Requires:
diff --git a/badge.manifest b/badge.manifest
new file mode 100644 (file)
index 0000000..b20b569
--- /dev/null
@@ -0,0 +1,16 @@
+<manifest>
+        <define>
+            <domain name="badge"/>
+                <provide>
+                        <label name="badge::db"/>
+                </provide>
+        </define>
+        <assign>
+                <filesystem path="/usr/lib/libbadge.so.0.0.1" label="_"/>
+                <filesystem path="/usr/lib/libbadge.so.0" label="_"/>
+                <filesystem path="/usr/lib/libbadge.so" label="_"/>
+        </assign>
+        <request>
+            <domain name="badge"/>
+        </request>
+</manifest>
index 3ab8330..b083171 100644 (file)
@@ -5,7 +5,7 @@ includedir=@INCLUDEDIR@
 
 Name: badge
 Description: Badge supporting library
-Version: @VERSION@
-Requires:
+Version: @VERSION@ 
+Requires: capi-base-common
 Libs: -L${libdir} -lbadge
 Cflags: -I${includedir}
diff --git a/badge.sql b/badge.sql
deleted file mode 100644 (file)
index c2a9cb9..0000000
--- a/badge.sql
+++ /dev/null
@@ -1,13 +0,0 @@
-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)
-        );
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..19f748f
--- /dev/null
@@ -0,0 +1,15 @@
+badge (0.0.1-2) unstable; urgency=low
+
+  * remove group_id
+  * Git: slp/pkgs/b/badge
+  * Tag: badge_0.0.1-2
+
+ -- Jeonghoon Park <jh1979.park@samsung.com>  Thu, 31 May 2012 15:33:36 +0900
+
+badge (0.0.1-1) unstable; urgency=low
+
+  * Initial Release.
+  * Git: slp/pkgs/b/badge
+  * Tag: badge_0.0.1-1
+
+ -- Jeonghoon Park <jh1979.park@samsung.com>  Mon, 27 Feb 2012 14:14:00 +0900
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..bddd5e7
--- /dev/null
@@ -0,0 +1,25 @@
+Source: badge
+Section: libs
+Priority: optional
+Maintainer: Jeonghoon Park <jh1979.park@samsung.com>, Young-joo Park <yjoo93.park@samsung.com>
+Build-Depends: debhelper (>= 5), dlog-dev, libaul-1-dev, libdbus-1-dev, libdbus-glib-1-dev
+Standards-Version: 3.7.2
+
+Package: libbadge
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Badge supporting library (shared object)
+
+Package: libbadge-dev
+Section: libs
+Architecture: any
+Depends: libbadge (= ${Source-Version})
+Description: Badge supporting library (development)
+
+Package: libbadge-dbg
+Section: debug
+Architecture: any
+Depends: ${misc:Depends}, libbadge (= ${Source-Version})
+Description: Badge supporting library (unstripped)
+
diff --git a/debian/dirs b/debian/dirs
new file mode 100644 (file)
index 0000000..ca882bb
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin
+usr/sbin
diff --git a/debian/docs b/debian/docs
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/debian/libbadge-dev.install.in b/debian/libbadge-dev.install.in
new file mode 100644 (file)
index 0000000..1bc0c16
--- /dev/null
@@ -0,0 +1,2 @@
+@PREFIX@/include/@PROJECT_NAME@/*.h
+@PREFIX@/lib/pkgconfig/*.pc
diff --git a/debian/libbadge.install.in b/debian/libbadge.install.in
new file mode 100644 (file)
index 0000000..bf766f0
--- /dev/null
@@ -0,0 +1 @@
+@PREFIX@/lib/*.so*
diff --git a/debian/libbadge.postinst.in b/debian/libbadge.postinst.in
new file mode 100644 (file)
index 0000000..d80c0ea
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+if [ ! -d @DATADIR@/dbspace ]
+then
+       mkdir -p @DATADIR@/dbspace
+fi
+
+if [ ! -f @DATADIR@/dbspace/.@PROJECT_NAME@.db ]
+then
+       sqlite3 @DATADIR@/dbspace/.@PROJECT_NAME@.db '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)
+               );      
+       '
+fi
+
+if [ ${USER} = "root" ]
+then
+       chown root:5000 @DATADIR@/dbspace/.@PROJECT_NAME@.db
+       chown root:5000 @DATADIR@/dbspace/.@PROJECT_NAME@.db-journal
+fi
+chmod 660 @DATADIR@/dbspace/.@PROJECT_NAME@.db
+chmod 660 @DATADIR@/dbspace/.@PROJECT_NAME@.db-journal
diff --git a/debian/rules b/debian/rules
new file mode 100644 (file)
index 0000000..68ad4f3
--- /dev/null
@@ -0,0 +1,116 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+CFLAGS ?= -Wall -Werror -Winline
+LDFLAGS ?=
+PREFIX ?= /usr
+DATADIR ?= /opt
+PROJECT_NAME ?= badge
+
+BUILDDIR ?= $(CURDIR)/cmake-tmp
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -O0
+else
+       CFLAGS += -O2
+endif
+
+LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed -lm
+
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       # Add here commands to configure the package.
+       mkdir -p $(BUILDDIR) && cd $(BUILDDIR) && CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" cmake .. -DCMAKE_INSTALL_PREFIX=$(PREFIX)
+
+       touch configure-stamp
+
+build: build-stamp
+
+build-stamp: configure-stamp
+       dh_testdir
+
+       # Add here commands to compile the package.
+       cd $(BUILDDIR) && $(MAKE)
+       #docbook-to-man debian/wavplayer.sgml > wavplayer.1
+
+       for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
+               cat $$f > $${f%.in}; \
+               sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \
+               sed -i -e "s#@PROJECT_NAME@#$(PROJECT_NAME)#g" $${f%.in}; \
+               sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \
+       done
+
+
+       touch $@
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp configure-stamp
+
+       # Add here commands to clean up after the build process.
+       rm -rf $(BUILDDIR)
+       #rm -rf CMakeCache.txt CMakeFiles cmake_install.cmake Makefile install_manifest.txt
+
+       for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
+               rm -f $${f%.in}; \
+       done
+
+       dh_clean
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k
+       dh_installdirs
+
+       # Add here commands to install the package into debian/wavplayer.
+       cd $(BUILDDIR) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs
+       dh_installdocs
+       dh_installexamples
+       dh_install --sourcedir=debian/tmp
+#      dh_installmenu
+#      dh_installdebconf
+#      dh_installlogrotate
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installmime
+#      dh_python
+#      dh_installinit
+#      dh_installcron
+#      dh_installinfo
+       dh_installman
+       dh_link
+       dh_strip --dbg-package=libbadge-dbg
+       dh_compress
+       dh_fixperms
+#      dh_perl
+       dh_makeshlibs
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
old mode 100755 (executable)
new mode 100644 (file)
index 31fb372..62e157f
@@ -22,8 +22,8 @@
 
 /**
  *
- * @ingroup BADGE_LIBRARY
- * @defgroup BADGE_MODULE badge APIs
+ * @defgroup BADGE_MODULE Badge
+ * @ingroup CAPI_APPLICATION_FRAMEWORK
  * @brief Badge APIs
  *
  * @section BADGE_MODULE_HEADER Required Header
  * @section BADGE_MODULE_OVERVIEW Overview
  * It provides functions for creating and inserting and updating badge.
  *
- * @ingroup BADGE_LIBRARY
- * @defgroup BADGE_TYPE badge type
- * @brief Type for badge APIs
- *
- * @section BADGE_TYPE_MODULE_HEADER Required Header
- *   \#include <badge.h>
- *   \#include <badge_error.h>
- * @section BADGE_TYPE_MODULE_OVERVIEW Overview
- * Type defines and enumerations for Badge APIs
- *
  */
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 347dcad..0b742ea
@@ -32,73 +32,184 @@ extern "C" {
 
 /**
  * @file badge.h
- * @brief This file contains the badge APIs
+ * @brief This file contains the badge APIs.
  */
 
 /**
- * @addtogroup BADGE_TYPE
+ * @addtogroup BADGE_MODULE
  * @{
  */
 
+
 /**
- * @brief Enumeration for Badge action
+ * @internal
+ * @brief Enumeration for Badge Action.
+ * @since_tizen 2.3
  */
-enum _badge_action {
-       BADGE_ACTION_CREATE = 0,
-       BADGE_ACTION_REMOVE,
-       BADGE_ACTION_UPDATE,
-       BADGE_ACTION_CHANGED_DISPLAY,
-       BADGE_ACTION_SERVICE_READY,
+enum badge_action {
+       BADGE_ACTION_CREATE = 0,        /**< @internal Badge created */
+       BADGE_ACTION_REMOVE,    /**< @internal Badge removed */
+       BADGE_ACTION_UPDATE,    /**< @internal Badge updated */
+       BADGE_ACTION_CHANGED_DISPLAY,   /**< @internal The display option of the badge changed  */
+       BADGE_ACTION_SERVICE_READY,     /**< @internal The badge service is ready */
 };
 
 
 /**
- * @brief Called to retrieve the badge existed.
- * @param[in] pkgname The name of package
- * @param[in] count The count of badge
- * @param[in] user_data The user data passed from the foreach function
+ * @internal
+ * @brief Called to retrieve the badge existence.
+ * @since_tizen 2.3
+ * @param[in] app_id The name of the application
+ * @param[in] count The count of the badge
+ * @param[in] data The user data passed from the foreach function
  * @pre badge_foreach_existed() will invoke this callback.
  * @see badge_foreach_existed()
  */
-typedef void (*badge_cb)(const char *pkgname, unsigned int count, void *data);
+typedef void (*badge_cb)(const char *app_id, unsigned int count, void *data);
 
 
 /**
- * @brief Called when badge information is changed.
- * @param[in] action The type of changing
- * @param[in] pkgname The name of package
- * @param[in] count The count of badge
- * @param[in] user_data The user data passed from the callback register function
+ * @internal
+ * @brief Called when the badge information is changed.
+ * @since_tizen 2.3
+ * @param[in] action The type of the change
+ * @param[in] app_id The name of the application
+ * @param[in] count The count of the badge
+ * @param[in] data The user data passed from the callback register function
  * @pre badge_register_changed_cb() will invoke this callback.
  * @see badge_unregister_changed_cb()
  */
-typedef void (*badge_change_cb)(unsigned int action, const char *pkgname,
+typedef void (*badge_change_cb)(unsigned int action, const char *app_id,
                        unsigned int count, void *data);
 
 /**
- * @}
+ * @internal
+ * @brief Retrieves all existing badges.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] callback The callback function
+ * @param[in] data The user data to be passed to the callback function
+ * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_FROM_DB Error form DB
+ * @retval BADGE_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval BADGE_ERROR_NOT_EXIST Not exist
+ * @see #badge_error_e
+ * @see badge_get_count()
+ * @see badge_is_existing()
  */
+int badge_foreach_existed(badge_cb callback, void *data);
 
 /**
- * @addtogroup BADGE_MODULE
- * @{
+ * @internal
+ * @brief Registers a callback function to receive badge change event.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] callback The callback function
+ * @param[in] data The user data to be passed to the callback function
+ * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_OUT_OF_MEMORY Out of memory
+ * @see #badge_error_e
+ * @see badge_new()
+ * @see badge_remove()
+ * @see badge_set_count()
+ */
+int badge_register_changed_cb(badge_change_cb callback, void *data);
+
+/**
+ * @internal
+ * @brief Unregisters a callback function to receive badge change event.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] callback The callback function
+ * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_NOT_EXIST Not exist
+ * @see #badge_error_e
+ * @see badge_register_changed_cb()
+ */
+int badge_unregister_changed_cb(badge_change_cb callback);
+
+/**
+ * @internal
+ * @brief This function checks whether badge service is ready
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
+ * @return 1 if badge service is ready, other value if badge service isn't ready
+ * @exception BADGE_ERROR_NONE Success
+ * @exception BADGE_ERROR_SERVICE_NOT_READY Service is not ready
+ */
+int badge_is_service_ready(void);
+
+/**
+ * @internal
+ * @brief This function adds deferred task. the registered task will be executed when badge service become ready
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] badge_add_deferred_task The callback function
+ * @param[in] user_data The user data to be passed to the callback function
+ * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_OUT_OF_MEMORY Out of memory
+ * @see #badge_error_e
+ * @see badge_is_service_ready()
  */
+int badge_add_deferred_task(
+               void (*badge_add_deferred_task)(void *data), void *user_data);
 
 /**
- * @brief This function creates badge for designated package.
+ * @internal
+ * @brief This function removes deferred task.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] badge_add_deferred_task The callback function
+ * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @see #badge_error_e
+ * @see badge_is_service_ready()
+ */
+int badge_del_deferred_task(
+               void (*badge_add_deferred_task)(void *data));
+
+/**
+ * @brief Creates a badge for the application itself.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
  * @details Creates new badge to display.
- * @param[in] pkgname The name of designated package
- * @param[in] writable_pkg The name of package which is authorized to change badge
+ * @param[in] writable_app_id The id of application which is authorized to change the badge
  * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_IO_ERROR Error from I/O
+ * @retval BADGE_ERROR_SERVICE_NOT_READY Service is not ready
  * @see #badge_error_e
  * @par Sample code:
  * @code
 #include <badge.h>
 ...
 {
-       badge_error_e err = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
 
-       err = badge_create("org.tizen.sms", "org.tizen.sms2");
+       err = badge_new(app_id);
        if(err != BADGE_ERROR_NONE) {
                return;
        }
@@ -106,22 +217,30 @@ typedef void (*badge_change_cb)(unsigned int action, const char *pkgname,
 }
  * @endcode
  */
-badge_error_e badge_create(const char *pkgname, const char *writable_pkg);
+int badge_new(const char *writable_app_id);
 
 
 /**
- * @brief This function removes badge for designated package.
- * @param[in] pkgname The name of designated package
+ * @brief Removes the badge for the designated application.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] app_id The name of the designated application
  * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_IO_ERROR Error from I/O
+ * @retval BADGE_ERROR_SERVICE_NOT_READY Service is not ready
  * @see #badge_error_e
  * @par Sample code:
  * @code
 #include <badge.h>
 ...
 {
-       badge_error_e err = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
 
-       err = badge_remove("org.tizen.sms");
+       err = badge_remove(app_id);
        if(err != BADGE_ERROR_NONE) {
                return;
        }
@@ -129,23 +248,31 @@ badge_error_e badge_create(const char *pkgname, const char *writable_pkg);
 }
  * @endcode
  */
-badge_error_e badge_remove(const char *pkgname);
+int badge_remove(const char *app_id);
 
 /**
- * @brief This function sets badge count for designated package.
- * @param[in] pkgname The name of designated package
- * @param[in] count The count of badge
+ * @brief Sets badge count for the designated application.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] app_id The name of the designated application
+ * @param[in] count The count of the badge
  * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_IO_ERROR Error from I/O
+ * @retval BADGE_ERROR_SERVICE_NOT_READY Service is not ready
  * @see #badge_error_e
- * @see badge_create()
+ * @see badge_new()
  * @par Sample code:
  * @code
 #include <badge.h>
 ...
 {
-       badge_error_e err = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
 
-       err = badge_set_count("org.tizen.sms", 1);
+       err = badge_set_count(app_id, 1);
        if(err != BADGE_ERROR_NONE) {
                return;
        }
@@ -153,24 +280,34 @@ badge_error_e badge_remove(const char *pkgname);
 }
  * @endcode
  */
-badge_error_e badge_set_count(const char *pkgname, unsigned int count);
+int badge_set_count(const char *app_id, unsigned int count);
 
 /**
- * @brief This function gets badge count for designated package.
- * @param[in] pkgname The name of designated package
- * @param[out] count The count of badge
+ * @brief Gets badge count for the designated application.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] app_id The name of the designated application
+ * @param[out] count The count of the badge
  * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_FROM_DB Error from DB
+ * @retval BADGE_ERROR_ALREADY_EXIST Already exist
+ * @retval BADGE_ERROR_OUT_OF_MEMORY Out of memory
  * @see #badge_error_e
- * @see badge_create()
+ * @see badge_new()
  * @see badge_set_count()
  * @par Sample code:
  * @code
 #include <badge.h>
 ...
 {
-       badge_error_e err = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
+       int count = 0;
 
-       err = badge_get_count("org.tizen.sms", 1);
+       err = badge_get_count(app_id, &count);
        if(err != BADGE_ERROR_NONE) {
                return;
        }
@@ -178,23 +315,31 @@ badge_error_e badge_set_count(const char *pkgname, unsigned int count);
 }
  * @endcode
  */
-badge_error_e badge_get_count(const char *pkgname, unsigned int *count);
+int badge_get_count(const char *app_id, unsigned int *count);
 
 /**
- * @brief This function sets displaying option for designated package.
- * @param[in] pkgname The name of designated package
- * @param[in] is_display The displaying option, 1 = display 0 = not display
+ * @brief Sets the display option for the designated application.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] app_id The name of the designated application
+ * @param[in] is_display The display option (1 = display, 0 = not display)
  * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_IO_ERROR Error from I/O
+ * @retval BADGE_ERROR_SERVICE_NOT_READY Service is not ready
  * @see #badge_error_e
- * @see badge_create()
+ * @see badge_new()
  * @par Sample code:
  * @code
 #include <badge.h>
 ...
 {
-       badge_error_e err = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
 
-       err = badge_set_display("org.tizen.sms", 1);
+       err = badge_set_display(app_id, 1);
        if(err != BADGE_ERROR_NONE) {
                return;
        }
@@ -202,15 +347,25 @@ badge_error_e badge_get_count(const char *pkgname, unsigned int *count);
 }
  * @endcode
  */
-badge_error_e badge_set_display(const char *pkgname, unsigned int is_display);
+int badge_set_display(const char *app_id, unsigned int is_display);
 
 /**
- * @brief This function gets displaying option for designated package.
- * @param[in] pkgname The name of designated package
- * @param[out]  is_display The displaying option, 1 = display 0 = not display
+ * @brief Gets the display option for the designated application.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] app_id The name of the designated application
+ * @param[out]  is_display The display option (1 = display, 0 = not display)
  * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_FROM_DB Error from DB
+ * @retval BADGE_ERROR_NOT_EXIST Not exist
+ * @retval BADGE_ERROR_SERVICE_NOT_READY Service is not ready
+ * @retval BADGE_ERROR_OUT_OF_MEMORY Out of memory
  * @see #badge_error_e
- * @see badge_create()
+ * @see badge_new()
  * @see badge_set_count()
  * @par Sample code:
  * @code
@@ -218,9 +373,9 @@ badge_error_e badge_set_display(const char *pkgname, unsigned int is_display);
 ...
 {
        int is_display = 0;
-       badge_error_e err = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
 
-       err = badge_get_display("org.tizen.sms", &is_display);
+       err = badge_get_display(app_id, &is_display);
        if(err != BADGE_ERROR_NONE) {
                return;
        }
@@ -228,25 +383,35 @@ badge_error_e badge_set_display(const char *pkgname, unsigned int is_display);
 }
  * @endcode
  */
-badge_error_e badge_get_display(const char *pkgname, unsigned int *is_display);
+int badge_get_display(const char *app_id, unsigned int *is_display);
 
 /**
- * @brief This function tests badge for designated package is existed or not.
- * @param[in] pkgname The name of designated package
- * @param[out] existing The bool value of badge existing status
+ * @internal
+ * @brief Tests if the badge for the designated application exists or not.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @param[in] app_id The name of the designated application
+ * @param[out] existing The bool value of badge existence status
  * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @retval BADGE_ERROR_NONE Success
+ * @retval BADGE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval BADGE_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
+ * @retval BADGE_ERROR_FROM_DB Error from DB
+ * @retval BADGE_ERROR_NOT_EXIST Not exist
+ * @retval BADGE_ERROR_SERVICE_NOT_READY Service is not ready
  * @see #badge_error_e
- * @see badge_create()
+ * @see badge_new()
  * @see badge_remove()
  * @par Sample code:
  * @code
 #include <badge.h>
 ...
 {
-       badge_error_e err = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
        bool exist;
 
-       err = badge_is_existing("org.tizen.sms", &exist);
+       err = badge_is_existing(app_id, &exist);
        if(err != BADGE_ERROR_NONE) {
                return;
        }
@@ -254,52 +419,14 @@ badge_error_e badge_get_display(const char *pkgname, unsigned int *is_display);
 }
  * @endcode
  */
-badge_error_e badge_is_existing(const char *pkgname, bool *existing);
-
-/**
- * @brief This function retrieves all badges which are existed.
- * @param[in] callback The callback function
- * @param[in] data The user data to be passed to the callback function
- * @return #BADGE_ERROR_NONE if success, other value if failure
- * @see #badge_error_e
- * @see badge_get_count()
- * @see badge_is_existing()
- */
-badge_error_e badge_foreach_existed(badge_cb callback, void *data);
+int badge_is_existing(const char *app_id, bool *existing);
 
-/**
- * @brief This function registers callback function to receive badge changed event.
- * @param[in] callback The callback function
- * @param[in] data The user data to be passed to the callback function
- * @return #BADGE_ERROR_NONE if success, other value if failure
- * @see #badge_error_e
- * @see badge_create()
- * @see badge_remove()
- * @see badge_set_count()
- */
-badge_error_e badge_register_changed_cb(badge_change_cb callback, void *data);
 
-/**
- * @brief This function unregisters callback function to receive badge changed event.
- * @param[in] callback The callback function
- * @return #BADGE_ERROR_NONE if success, other value if failure
- * @see #badge_error_e
- * @see badge_register_changed_cb()
- */
-badge_error_e badge_unregister_changed_cb(badge_change_cb callback);
 
 /**
  * @}
  */
 
-int badge_is_service_ready(void);
-
-badge_error_e badge_add_deffered_task(
-               void (*deffered_task_cb)(void *data), void *user_data);
-
-badge_error_e badge_del_deffered_task(
-               void (*deffered_task_cb)(void *data));
-
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
old mode 100755 (executable)
new mode 100644 (file)
index 1d490c5..75d6281
 extern "C" {
 #endif
 
-badge_error_e badge_db_insert(const char *pkgname, const char *writable_pkg, const char *caller);
-badge_error_e badge_db_delete(const char *pkgname, const char *caller_pkg);
-badge_error_e badge_db_set_count(const char *pkgname, const char *caller_pkg, int count);
-badge_error_e badge_db_set_display_option(const char *pkgname, const char *caller_pkg, int is_display);
-badge_error_e badge_db_exec(sqlite3 * db, const char *query, int *num_changes);
+int badge_db_insert(const char *pkgname, const char *writable_pkg, const char *caller);
+int badge_db_delete(const char *pkgname, const char *caller_pkg);
+int badge_db_set_count(const char *pkgname, const char *caller_pkg, int count);
+int badge_db_set_display_option(const char *pkgname, const char *caller_pkg, int is_display);
+int badge_db_exec(sqlite3 * db, const char *query, int *num_changes);
 
 #ifdef __cplusplus
        }
old mode 100755 (executable)
new mode 100644 (file)
index 89d1abb..9fa5d98
@@ -24,6 +24,8 @@
 #ifndef __BADGE_ERROR_DEF_H__
 #define __BADGE_ERROR_DEF_H__
 
+#include <tizen.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -34,24 +36,24 @@ extern "C" {
  */
 
 /**
- * @addtogroup BADGE_TYPE
+ * @addtogroup BADGE_MODULE
  * @{
  */
 
 /**
- * @breief Enumeration for Badge error
+ * @brief Enumeration for Badge Error
  */
 typedef enum _badge_error_e {
-       BADGE_ERROR_NONE = 0,                   /**< Success */
-       BADGE_ERROR_INVALID_DATA = -1,          /**< Invalid parameter */
-       BADGE_ERROR_NO_MEMORY = -2,             /**< No memory */
-       BADGE_ERROR_FROM_DB = -3,               /**< Error from DB */
-       BADGE_ERROR_ALREADY_EXIST = -4,         /**< Already exist */
-       BADGE_ERROR_FROM_DBUS = -5,             /**< Error from DBus */
-       BADGE_ERROR_NOT_EXIST = -6,             /**< Not exist */
-       BADGE_ERROR_PERMISSION_DENIED = -7,     /**< Permission denied */
-       BADGE_ERROR_IO = -8,    /**< Error from I/O */
-       BADGE_ERROR_SERVICE_NOT_READY = -9,     /**< Error service not ready */
+       BADGE_ERROR_NONE = TIZEN_ERROR_NONE,                    /**< Success */
+       BADGE_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,          /**< Invalid parameter */
+       BADGE_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY,          /**< Out of memory */
+       BADGE_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED,  /**< Permission denied */
+       BADGE_ERROR_IO_ERROR = TIZEN_ERROR_IO_ERROR,    /**< Error from I/O */
+       BADGE_ERROR_FROM_DB = TIZEN_ERROR_BADGE | 0x01,         /**< Error from DB */
+       BADGE_ERROR_ALREADY_EXIST = TIZEN_ERROR_BADGE | 0x02,           /**< Already exist */
+       BADGE_ERROR_FROM_DBUS = TIZEN_ERROR_BADGE | 0x03,               /**< Error from DBus */
+       BADGE_ERROR_NOT_EXIST = TIZEN_ERROR_BADGE | 0x04,               /**< Not exist */
+       BADGE_ERROR_SERVICE_NOT_READY = TIZEN_ERROR_BADGE | 0x05,       /**< Error service not ready */
 } badge_error_e;
 
 /**
index d3b6681..62463d8 100644 (file)
 #define EXPORT_API __attribute__ ((visibility("default")))
 #endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
 typedef struct _badge_h badge_h;
 
 char *_badge_get_pkgname_by_pid(void);
 
-badge_error_e _badge_is_existing(const char *pkgname, bool *existing);
+int _badge_is_existing(const char *pkgname, bool *existing);
 
-badge_error_e _badge_foreach_existed(badge_cb callback, void *data);
+int _badge_foreach_existed(badge_cb callback, void *data);
 
-badge_error_e _badge_insert(badge_h *badge);
+int _badge_insert(badge_h *badge);
 
-badge_error_e _badge_remove(const char *caller, const char *pkgname);
+int _badge_remove(const char *caller, const char *pkgname);
 
-badge_error_e _badget_set_count(const char *caller, const char *pkgname,
+int _badget_set_count(const char *caller, const char *pkgname,
                        unsigned int count);
 
-badge_error_e _badget_get_count(const char *pkgname, unsigned int *count);
+int _badget_get_count(const char *pkgname, unsigned int *count);
 
-badge_error_e _badget_set_display(const char *pkgname,
+int _badget_set_display(const char *pkgname,
                        unsigned int is_display);
 
-badge_error_e _badget_get_display(const char *pkgname, unsigned int *is_display);
+int _badget_get_display(const char *pkgname, unsigned int *is_display);
 
-badge_error_e _badge_register_changed_cb(badge_change_cb callback, void *data);
+int _badge_register_changed_cb(badge_change_cb callback, void *data);
 
-badge_error_e _badge_unregister_changed_cb(badge_change_cb callback);
+int _badge_unregister_changed_cb(badge_change_cb callback);
 
-badge_error_e _badge_free(badge_h *badge);
+int _badge_free(badge_h *badge);
 
 badge_h *_badge_new(const char *pkgname, const char *writable_pkgs,
-               badge_error_e *err);
+               int *err);
 
-char *_badge_pkgs_new(badge_error_e *err, const char *pkg1, ...);
+char *_badge_pkgs_new(int *err, const char *pkg1, ...);
 
-char *_badge_pkgs_new_valist(badge_error_e *err,
+char *_badge_pkgs_new_valist(int *err,
                        const char *pkg1, va_list args);
 
 void badge_changed_cb_call(unsigned int action, const char *pkgname,
                        unsigned int count);
 
+/**
+ * @internal
+ * @brief Creates a badge for the designated package.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/notification
+ * @details Creates new badge to display.
+ * @param[in] pkgname The name of the designated package
+ * @param[in] writable_pkg The name of package which is authorized to change the badge
+ * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @see #badge_error_e
+ * @par Sample code:
+ * @code
+#include <badge.h>
+...
+{
+       int err = BADGE_ERROR_NONE;
+
+       err = badge_create("org.tizen.sms", "org.tizen.sms2");
+       if(err != BADGE_ERROR_NONE) {
+               return;
+       }
+
+}
+ * @endcode
+ */
+int badge_create(const char *pkgname, const char *writable_pkg);
+
+/**
+ * @brief This function sets badge property for designated package.
+ * @param[in] pkgname The name of designated package
+ * @param[in] property name
+ * @param[in] property value
+ * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @see #badge_error_e
+ */
+int badge_setting_property_set(const char *pkgname, const char *property, const char *value);
+
+/**
+ * @brief This function gets badge property for designated package.
+ * @param[in] pkgname The name of designated package
+ * @param[in] property name
+ * @param[in] pointer which can save the getting value
+ * @return #BADGE_ERROR_NONE if success, other value if failure
+ * @see #badge_error_e
+ */
+int badge_setting_property_get(const char *pkgname, const char *property, char **value);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
 #endif /* __BADGE_INTERNAL_DEF_H__ */
 
old mode 100755 (executable)
new mode 100644 (file)
index 5a6d3e3..2fc87a4
@@ -3,7 +3,8 @@
  *
  * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
  *
- * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>
+ * Contact: Youngjoo Park <yjoo93.park@samsung.com>,
+ *      Seungtaek Chung <seungtaek.chung@samsung.com>, Youngsub Ko <ys4610.ko@samsung.com>
  *
  * Licensed under the Apache License, Version 2.0 (the License);
  * you may not use this file except in compliance with the License.
@@ -32,20 +33,20 @@ extern "C" {
 
 struct packet;
 
-badge_error_e badge_ipc_monitor_init(void);
-badge_error_e badge_ipc_monitor_fini(void);
+int badge_ipc_monitor_init(void);
+int badge_ipc_monitor_fini(void);
 
-badge_error_e badge_ipc_request_insert(const char *pkgname, const char *writable_pkg, const char *caller);
-badge_error_e badge_ipc_request_delete(const char *pkgname, const char *caller);
-badge_error_e badge_ipc_request_set_count(const char *pkgname, const char *caller, int count);
-badge_error_e badge_ipc_request_set_display(const char *pkgname, const char *caller, int display_option);
+int badge_ipc_request_insert(const char *pkgname, const char *writable_pkg, const char *caller);
+int badge_ipc_request_delete(const char *pkgname, const char *caller);
+int badge_ipc_request_set_count(const char *pkgname, const char *caller, int count);
+int badge_ipc_request_set_display(const char *pkgname, const char *caller, int display_option);
 
 int badge_ipc_is_master_ready(void);
-badge_error_e badge_ipc_add_deffered_task(void (*deffered_task_cb)(void *data), void *user_data);
-badge_error_e badge_ipc_del_deffered_task(void (*deffered_task_cb)(void *data));
+int badge_ipc_add_deferred_task(void (*badge_add_deferred_task)(void *data), void *user_data);
+int badge_ipc_del_deferred_task(void (*badge_add_deferred_task)(void *data));
 
-badge_error_e badge_ipc_setting_property_set(const char *pkgname, const char *property, const char *value);
-badge_error_e badge_ipc_setting_property_get(const char *pkgname, const char *property, char **value);
+int badge_ipc_setting_property_set(const char *pkgname, const char *property, const char *value);
+int badge_ipc_setting_property_get(const char *pkgname, const char *property, char **value);
 
 #ifdef __cplusplus
 }
index 134eb2c..58a3d8c 100644 (file)
 
 #define DBG(fmt , args...) \
        do { \
-               LOGD("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
+               SECURE_LOGD("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
        } while (0)
 
 #define INFO(fmt , args...) \
        do { \
-               LOGI("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
+               SECURE_LOGI("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
        } while (0)
 
 #define WARN(fmt , args...) \
        do { \
-               LOGI("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
+               SECURE_LOGW("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
        } while (0)
 
 #define ERR(fmt , args...) \
        do { \
-               LOGI("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
+               SECURE_LOGE("[%s : %d] "fmt"\n", __func__, __LINE__, ##args); \
        } while (0)
 
 #else /* BADGE_USE_DLOG */
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 9b452a7..492af84
@@ -30,8 +30,8 @@
 extern "C" {
 #endif
 
-badge_error_e badge_setting_db_set(const char *pkgname, const char *property, const char *value);
-badge_error_e badge_setting_db_get(const char *pkgname, const char *property, char **value);
+int badge_setting_db_set(const char *pkgname, const char *property, const char *value);
+int badge_setting_db_get(const char *pkgname, const char *property, char **value);
 
 #ifdef __cplusplus
 }
diff --git a/packaging/badge.changes b/packaging/badge.changes
deleted file mode 100644 (file)
index 99c4a1e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-* Tue Jun 25 2013 Anas Nashif <anas.nashif@intel.com> accepted/tizen/20130613.135716@3df4bc8
-- Cleanup packaging and install database in %install
-
-* Thu May 30 2013 Anas Nashif <anas.nashif@intel.com> submit/tizen/20130517.044805@581dd0c
-- Remove license/group placeholders
-
diff --git a/packaging/badge.manifest b/packaging/badge.manifest
deleted file mode 100644 (file)
index 017d22d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<manifest>
- <request>
-    <domain name="_"/>
- </request>
-</manifest>
old mode 100755 (executable)
new mode 100644 (file)
index 67ee604..0c1a028
+%define DBDIR "/opt/dbspace"
 Name:       badge
-Summary:    Badge library
-Version:    0.0.5
-Release:    0
-Group:      Application Framework/Libraries
+Summary:    badge library
+Version:    0.0.15
+Release:    1
+Group:      TBD
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
-Source1001: %{name}.manifest
-Source1002: init_db.sh
 BuildRequires: pkgconfig(aul)
 BuildRequires: pkgconfig(dbus-1)
 BuildRequires: pkgconfig(dbus-glib-1)
 BuildRequires: pkgconfig(dlog)
 BuildRequires: pkgconfig(vconf)
 BuildRequires: pkgconfig(com-core)
-BuildRequires: pkgconfig(sqlite3)
-BuildRequires: pkgconfig(libtzplatform-config)
+BuildRequires: pkgconfig(capi-appfw-package-manager)
+BuildRequires: pkgconfig(db-util)
 BuildRequires: cmake
-
+Requires(post): /sbin/ldconfig
+requires(postun): /sbin/ldconfig
 %description
-Badge library.
+Client/Server library for updating badge information
+
+%prep
+%setup -q
 
 %package devel
-Summary: Badge library (devel)
-Group: Application Framework/Development
-Requires: %{name} = %{version}-%{release}
+Summary:    Badge library (devel)
+Group:      Development/Libraries
+Requires:   %{name} = %{version}-%{release}
 
 %description devel
 Development files needed to build software that needs to system a system badge.
 
 %package service-devel
-Summary: Badge service library (service-devel)
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Summary:    Badge library (service-devel)
+Group:      Development/Libraries
+Requires:   %{name} = %{version}-%{release}
 
 %description service-devel
 Development files needed to build badge service
 
-%prep
-%setup -q
-cp %{SOURCE1001} .
-
 %build
+%if 0%{?tizen_build_binary_release_type_eng}
+export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
+export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
+export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
+%endif
+%if 0%{?sec_build_binary_debug_enable}
+export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
+export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
+export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
+%endif
+export LDFLAGS+="-Wl,--rpath=%{_libdir} -Wl,--as-needed"
 %cmake .
 make %{?jobs:-j%jobs}
 
 %install
 %make_install
-install -D -m 0640 %{name}.sql %{buildroot}%{TZ_SYS_SHARE}/%{name}/ressources/%{name}.sql
-install -D -m 0750 %{SOURCE1002} %{buildroot}%{TZ_SYS_SHARE}/%{name}/ressources/init_db.sh
 
-%post  -p /sbin/ldconfig -n %{name}
+mkdir -p %{buildroot}/usr/share/license
+cp -f LICENSE %{buildroot}/usr/share/license/%{name}
+
+
+%post
+/sbin/ldconfig
+
+if [ ! -d %{DBDIR} ]
+then
+       mkdir -p %{DBDIR}
+fi
+
+if [ ! -f %{DBDIR}/.%{name}.db ]
+then
+       sqlite3 %{DBDIR}/.%{name}.db '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)
+               );
+       '
+fi
+
+chown :5000 %{DBDIR}/.%{name}.db
+chown :5000 %{DBDIR}/.%{name}.db-journal
+chmod 640 %{DBDIR}/.%{name}.db
+chmod 640 %{DBDIR}/.%{name}.db-journal
+if [ -f /usr/lib/rpm-plugins/msm.so ]
+then
+    chsmack -a 'badge::db' %{DBDIR}/.%{name}.db*
+fi
 
-%postun -p /sbin/ldconfig -n %{name}
+%postun -p /sbin/ldconfig
 
-%files -n %{name}
-%manifest %{name}.manifest
-%license LICENSE.APLv2.0
+%files
+%manifest badge.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libbadge.so.*
-%{TZ_SYS_SHARE}/%{name}
-%attr(640,root,%{TZ_SYS_USER_GROUP}) %{TZ_SYS_SHARE}/%{name}/ressources/%{name}.sql
-%attr(750,root,%{TZ_SYS_USER_GROUP}) %{TZ_SYS_SHARE}/%{name}/ressources/init_db.sh
+%{_libdir}/libbadge.so*
+/usr/share/license/%{name}
 
 %files devel
-%manifest %{name}.manifest
 %defattr(-,root,root,-)
-%{_includedir}/%{name}/badge.h
-%{_includedir}/%{name}/badge_error.h
-%{_includedir}/%{name}/badge_setting.h
-%{_libdir}/libbadge.so
+%{_includedir}/badge/badge.h
+%{_includedir}/badge/badge_error.h
+%{_includedir}/badge/badge_internal.h
 %{_libdir}/pkgconfig/%{name}.pc
 
 %files service-devel
-%manifest %{name}.manifest
 %defattr(-,root,root,-)
-%{_includedir}/%{name}/service/badge_db.h
-%{_includedir}/%{name}/service/badge_setting_service.h
+%{_includedir}/badge/service/badge_db.h
+%{_includedir}/badge/service/badge_setting_service.h
 %{_libdir}/pkgconfig/badge-service.pc
diff --git a/packaging/init_db.sh b/packaging/init_db.sh
deleted file mode 100644 (file)
index d480bc1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-source /etc/tizen-platform.conf
-
-sqlite3 $TZ_USER_DB/.badge.db < $TZ_SYS_SHARE/badge/ressources/badge.sql
-chmod 600 $TZ_USER_DB/.badge.db
old mode 100755 (executable)
new mode 100644 (file)
index 7af551a..5de4010
 #include "badge_ipc.h"
 
 EXPORT_API
-badge_error_e badge_create(const char *pkgname, const char *writable_pkg)
+int badge_create(const char *pkgname, const char *writable_pkg)
 {
        char *caller = NULL;
-       badge_error_e err = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
 
        if (pkgname == NULL) {
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
        caller = _badge_get_pkgname_by_pid();
@@ -52,13 +52,31 @@ badge_error_e badge_create(const char *pkgname, const char *writable_pkg)
 }
 
 EXPORT_API
-badge_error_e badge_remove(const char *pkgname)
+int badge_new(const char *writable_app_id)
 {
        char *caller = NULL;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
 
-       if (pkgname == NULL) {
-               return BADGE_ERROR_INVALID_DATA;
+       caller = _badge_get_pkgname_by_pid();
+       if (!caller) {
+               ERR("fail to get caller pkgname");
+               return BADGE_ERROR_PERMISSION_DENIED;
+       }
+
+       err = badge_ipc_request_insert(caller, writable_app_id, caller);
+
+       free(caller);
+       return err;
+}
+
+EXPORT_API
+int badge_remove(const char *app_id)
+{
+       char *caller = NULL;
+       int result = BADGE_ERROR_NONE;
+
+       if (app_id == NULL) {
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
        caller = _badge_get_pkgname_by_pid();
@@ -67,33 +85,33 @@ badge_error_e badge_remove(const char *pkgname)
                return BADGE_ERROR_PERMISSION_DENIED;
        }
 
-       result = badge_ipc_request_delete(pkgname, caller);
+       result = badge_ipc_request_delete(app_id, caller);
 
        free(caller);
        return result;
 }
 
 EXPORT_API
-badge_error_e badge_is_existing(const char *pkgname, bool *existing)
+int badge_is_existing(const char *app_id, bool *existing)
 {
-       return _badge_is_existing(pkgname, existing);
+       return _badge_is_existing(app_id, existing);
 }
 
 
 EXPORT_API
-badge_error_e badge_foreach_existed(badge_cb callback, void *data)
+int badge_foreach_existed(badge_cb callback, void *data)
 {
        return _badge_foreach_existed(callback, data);
 }
 
 EXPORT_API
-badge_error_e badge_set_count(const char *pkgname, unsigned int count)
+int badge_set_count(const char *app_id, unsigned int count)
 {
        char *caller = NULL;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
 
-       if (pkgname == NULL) {
-               return BADGE_ERROR_INVALID_DATA;
+       if (app_id == NULL) {
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
        caller = _badge_get_pkgname_by_pid();
@@ -102,26 +120,26 @@ badge_error_e badge_set_count(const char *pkgname, unsigned int count)
                return BADGE_ERROR_PERMISSION_DENIED;
        }
 
-       result = badge_ipc_request_set_count(pkgname, caller, count);
+       result = badge_ipc_request_set_count(app_id, caller, count);
 
        free(caller);
        return result;
 }
 
 EXPORT_API
-badge_error_e badge_get_count(const char *pkgname, unsigned int *count)
+int badge_get_count(const char *app_id, unsigned int *count)
 {
-       return _badget_get_count(pkgname, count);
+       return _badget_get_count(app_id, count);
 }
 
 EXPORT_API
-badge_error_e badge_set_display(const char *pkgname, unsigned int is_display)
+int badge_set_display(const char *app_id, unsigned int is_display)
 {
        char *caller = NULL;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
 
-       if (pkgname == NULL) {
-               return BADGE_ERROR_INVALID_DATA;
+       if (app_id == NULL) {
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
        caller = _badge_get_pkgname_by_pid();
@@ -130,33 +148,33 @@ badge_error_e badge_set_display(const char *pkgname, unsigned int is_display)
                return BADGE_ERROR_PERMISSION_DENIED;
        }
 
-       result = badge_ipc_request_set_display(pkgname, caller, is_display);
+       result = badge_ipc_request_set_display(app_id, caller, is_display);
 
        free(caller);
        return result;
 }
 
 EXPORT_API
-badge_error_e badge_get_display(const char *pkgname, unsigned int *is_display)
+int badge_get_display(const char *app_id, unsigned int *is_display)
 {
-       return _badget_get_display(pkgname, is_display);
+       return _badget_get_display(app_id, is_display);
 }
 
 EXPORT_API
-badge_error_e badge_register_changed_cb(badge_change_cb callback, void *data)
+int badge_register_changed_cb(badge_change_cb callback, void *data)
 {
        if (callback == NULL) {
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
        return _badge_register_changed_cb(callback, data);
 }
 
 EXPORT_API
-badge_error_e badge_unregister_changed_cb(badge_change_cb callback)
+int badge_unregister_changed_cb(badge_change_cb callback)
 {
        if (callback == NULL) {
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
        return _badge_unregister_changed_cb(callback);
@@ -169,15 +187,15 @@ int badge_is_service_ready(void)
 }
 
 EXPORT_API
-badge_error_e badge_add_deffered_task(
-               void (*deffered_task_cb)(void *data), void *user_data)
+int badge_add_deferred_task(
+               void (*badge_add_deferred_task)(void *data), void *user_data)
 {
-       return badge_ipc_add_deffered_task(deffered_task_cb, user_data);
+       return badge_ipc_add_deferred_task(badge_add_deferred_task, user_data);
 }
 
 EXPORT_API
-badge_error_e badge_del_deffered_task(
-               void (*deffered_task_cb)(void *data))
+int badge_del_deferred_task(
+               void (*badge_add_deferred_task)(void *data))
 {
-       return badge_ipc_del_deffered_task(deffered_task_cb);
+       return badge_ipc_del_deferred_task(badge_add_deferred_task);
 }
old mode 100755 (executable)
new mode 100644 (file)
index e95e9c6..b92bd28
 #include "badge_internal.h"
 
 EXPORT_API
-badge_error_e badge_db_insert(const char *pkgname, const char *writable_pkg, const char *caller)
+int badge_db_insert(const char *pkgname, const char *writable_pkg, const char *caller)
 {
-       badge_error_e err = BADGE_ERROR_NONE;
+       int err = BADGE_ERROR_NONE;
        badge_h *badge = NULL;
        char *pkgs = NULL;
 
        if (!pkgname) {
                WARN("package name is NULL");
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
        pkgs = _badge_pkgs_new(&err, writable_pkg, caller, NULL);
@@ -70,9 +70,9 @@ badge_error_e badge_db_insert(const char *pkgname, const char *writable_pkg, con
 }
 
 EXPORT_API
-badge_error_e badge_db_delete(const char *pkgname, const char *caller)
+int badge_db_delete(const char *pkgname, const char *caller)
 {
-       badge_error_e result = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
 
        result = _badge_remove(caller, pkgname);
 
@@ -80,9 +80,9 @@ badge_error_e badge_db_delete(const char *pkgname, const char *caller)
 }
 
 EXPORT_API
-badge_error_e badge_db_set_count(const char *pkgname, const char *caller, int count)
+int badge_db_set_count(const char *pkgname, const char *caller, int count)
 {
-       badge_error_e result = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
 
        result = _badget_set_count(caller, pkgname, count);
 
@@ -90,9 +90,9 @@ badge_error_e badge_db_set_count(const char *pkgname, const char *caller, int co
 }
 
 EXPORT_API
-badge_error_e badge_db_set_display_option(const char *pkgname, const char *caller, int is_display)
+int badge_db_set_display_option(const char *pkgname, const char *caller, int is_display)
 {
-       badge_error_e result = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
 
        result = _badget_set_display(pkgname, is_display);
 
@@ -100,16 +100,16 @@ badge_error_e badge_db_set_display_option(const char *pkgname, const char *calle
 }
 
 EXPORT_API
-badge_error_e badge_db_exec(sqlite3 * db, const char *query, int *num_changes)
+int badge_db_exec(sqlite3 * db, const char *query, int *num_changes)
 {
        int ret = 0;
        sqlite3_stmt *stmt = NULL;
 
        if (db == NULL) {
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
        if (query == NULL) {
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
        ret = sqlite3_prepare_v2(db, query, strlen(query), &stmt, NULL);
old mode 100755 (executable)
new mode 100644 (file)
index 6d77eaa..5fca1a6
@@ -24,7 +24,6 @@
 #include <stdlib.h>
 #include <stdarg.h>
 #include <fcntl.h>
-#include <errno.h>
 #include <unistd.h>
 #include <glib.h>
 #include <dbus/dbus.h>
@@ -32,9 +31,7 @@
 #include <aul.h>
 #include <sqlite3.h>
 #include <db-util.h>
-
-/* For multi-user support */
-#include <tzplatform_config.h>
+#include <package_manager.h>
 
 #include "badge_log.h"
 #include "badge_error.h"
 #define BADGE_TABLE_NAME "badge_data"
 #define BADGE_OPTION_TABLE_NAME "badge_option"
 
-#define BADGE_CHANGED_NOTI "badge_changed"
-
-#define BADGE_DB_PATH tzplatform_mkpath(TZ_USER_DB, "badge.db")
-
-#define SCRIPT_INIT_DB tzplatform_mkpath(TZ_SYS_SHARE, "badge/resources/init_db.sh")
+#define BADGE_CHANGED_NOTI     "badge_changed"
 
 struct _badge_h {
        char *pkgname;
@@ -64,30 +57,6 @@ struct _badge_cb_data {
 
 static GList *g_badge_cb_list;
 
-static int db_util_open_wrapper(sqlite3 *db)
-{
-       static int init_db = 1;
-       struct stat sts;
-       int sqlret, ret;
-
-       /* Check if the DB exists */
-       if(init_db) {
-               /* If the DB doesn't exist, create it and initialize it */
-               ret = stat(BADGE_DB_PATH, &sts);
-               if (ret == -1 && errno == ENOENT) {
-                       DBG("DB %s doesn't exist, it needs to be created and \
-                       initialized, calling %s", BADGE_DB_PATH, SCRIPT_INIT_DB);
-                       system(SCRIPT_INIT_DB);
-               }
-               init_db = 0;
-       }
-
-       /* Open DB */
-       sqlret = db_util_open(BADGE_DB_PATH, &db, 0);
-
-       return sqlret;
-}
-
 static inline long _get_max_len(void)
 {
        long max = 0;
@@ -144,7 +113,7 @@ char *_badge_get_pkgname_by_pid(void)
                return pkgname;
 }
 
-static badge_error_e _badge_check_data_inserted(const char *pkgname,
+static int _badge_check_data_inserted(const char *pkgname,
                                        sqlite3 *db)
 {
        sqlite3_stmt *stmt = NULL;
@@ -154,10 +123,10 @@ static badge_error_e _badge_check_data_inserted(const char *pkgname,
        int sqlret;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!db)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        sqlbuf = sqlite3_mprintf("SELECT count(*) FROM %s WHERE " \
                         "pkgname = %Q",
@@ -165,7 +134,7 @@ static badge_error_e _badge_check_data_inserted(const char *pkgname,
 
        if (!sqlbuf) {
                ERR("fail to alloc sql query");
-               return BADGE_ERROR_NO_MEMORY;
+               return BADGE_ERROR_OUT_OF_MEMORY;
        }
 
        sqlret = sqlite3_prepare_v2(db, sqlbuf, -1, &stmt, NULL);
@@ -199,7 +168,7 @@ free_and_return:
        return result;
 }
 
-static badge_error_e _badge_check_option_inserted(const char *pkgname,
+static int _badge_check_option_inserted(const char *pkgname,
                                        sqlite3 *db)
 {
        sqlite3_stmt *stmt = NULL;
@@ -209,10 +178,10 @@ static badge_error_e _badge_check_option_inserted(const char *pkgname,
        int sqlret;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!db)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        sqlbuf = sqlite3_mprintf("SELECT count(*) FROM %s WHERE " \
                         "pkgname = %Q",
@@ -220,7 +189,7 @@ static badge_error_e _badge_check_option_inserted(const char *pkgname,
 
        if (!sqlbuf) {
                ERR("fail to alloc sql query");
-               return BADGE_ERROR_NO_MEMORY;
+               return BADGE_ERROR_OUT_OF_MEMORY;
        }
 
        sqlret = sqlite3_prepare_v2(db, sqlbuf, -1, &stmt, NULL);
@@ -254,34 +223,59 @@ free_and_return:
        return result;
 }
 
-static badge_error_e _badge_check_writable(const char *caller,
+static int _is_same_certinfo(const char *caller, const char *pkgname)
+{
+       int ret = PACKAGE_MANAGER_ERROR_NONE;
+       package_manager_compare_result_type_e compare_result = PACKAGE_MANAGER_COMPARE_MISMATCH;
+
+       if (!caller) {
+               return 0;
+       }
+       if (!pkgname) {
+               return 0;
+       }
+
+       ret = package_manager_compare_package_cert_info(pkgname, caller, &compare_result);
+       if (ret == PACKAGE_MANAGER_ERROR_NONE &&
+               compare_result == PACKAGE_MANAGER_COMPARE_MATCH) {
+               return 1;
+       }
+
+       return 0;
+}
+
+static int _badge_check_writable(const char *caller,
                        const char *pkgname, sqlite3 *db)
 {
        sqlite3_stmt *stmt = NULL;
        int count = 0;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        char *sqlbuf = NULL;
        int sqlret;
 
        if (!db)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!caller)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (g_strcmp0(caller, pkgname) == 0)
                return BADGE_ERROR_NONE;
 
+       if (_is_same_certinfo(caller, pkgname) == 1) {
+               return BADGE_ERROR_NONE;
+       }
+
        sqlbuf = sqlite3_mprintf("SELECT COUNT(*) FROM %s WHERE " \
                         "pkgname = %Q AND writable_pkgs LIKE '%%%q%%'",
                         BADGE_TABLE_NAME,
                         pkgname, caller);
        if (!sqlbuf) {
                ERR("fail to alloc sql query");
-               return BADGE_ERROR_NO_MEMORY;
+               return BADGE_ERROR_OUT_OF_MEMORY;
        }
 
        sqlret = sqlite3_prepare_v2(db, sqlbuf, -1, &stmt, NULL);
@@ -314,20 +308,19 @@ free_and_return:
 }
 
 
-badge_error_e _badge_is_existing(const char *pkgname, bool *existing)
+int _badge_is_existing(const char *pkgname, bool *existing)
 {
        sqlite3 *db = NULL;
        int sqlret;
-       badge_error_e ret = BADGE_ERROR_NONE;
-       badge_error_e result = BADGE_ERROR_NONE;
-       badge_error_e sqlret_open;
+       int ret = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
 
        if (!pkgname || !existing) {
                ERR("pkgname : %s, existing : %p", pkgname, existing);
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
-       sqlret = db_util_open_wrapper(&db);
+       sqlret = db_util_open(BADGE_DB_PATH, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
                ERR("fail to db_util_open - [%d]", sqlret);
                return BADGE_ERROR_FROM_DB;
@@ -348,18 +341,18 @@ badge_error_e _badge_is_existing(const char *pkgname, bool *existing)
        return BADGE_ERROR_NONE;
 }
 
-badge_error_e _badge_foreach_existed(badge_cb callback, void *data)
+int _badge_foreach_existed(badge_cb callback, void *data)
 {
        sqlite3 *db = NULL;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        char *sqlbuf = NULL;
        sqlite3_stmt *stmt = NULL;
        int sqlret;
 
        if (!callback)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
-       sqlret = db_util_open_wrapper(&db);
+       sqlret = db_util_open(BADGE_DB_PATH, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
                ERR("fail to db_util_open - [%d]", sqlret);
                return BADGE_ERROR_FROM_DB;
@@ -369,7 +362,7 @@ badge_error_e _badge_foreach_existed(badge_cb callback, void *data)
                                BADGE_TABLE_NAME);
        if (!sqlbuf) {
                ERR("fail to alloc sql query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto free_and_return;
        }
 
@@ -431,19 +424,19 @@ free_and_return:
        return result;
 }
 
-badge_error_e _badge_insert(badge_h *badge)
+int _badge_insert(badge_h *badge)
 {
        sqlite3 *db = NULL;
        int sqlret;
-       badge_error_e ret = BADGE_ERROR_NONE;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int ret = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        char *sqlbuf = NULL;
        char *err_msg = NULL;
 
        if (!badge || !badge->pkgname || !badge->writable_pkgs)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
-       sqlret = db_util_open_wrapper(&db);
+       sqlret = db_util_open(BADGE_DB_PATH, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
                ERR("fail to db_util_open - [%s][%d]", BADGE_DB_PATH, sqlret);
                return BADGE_ERROR_FROM_DB;
@@ -465,7 +458,7 @@ badge_error_e _badge_insert(badge_h *badge)
                         badge->pkgname, badge->writable_pkgs);
        if (!sqlbuf) {
                ERR("fail to alloc query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto return_close_db;
        }
 
@@ -492,7 +485,7 @@ badge_error_e _badge_insert(badge_h *badge)
                         badge->pkgname);
        if (!sqlbuf) {
                ERR("fail to alloc query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto return_close_db;
        }
 
@@ -515,21 +508,21 @@ return_close_db:
        return result;
 }
 
-badge_error_e _badge_remove(const char *caller, const char *pkgname)
+int _badge_remove(const char *caller, const char *pkgname)
 {
-       badge_error_e ret = BADGE_ERROR_NONE;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int ret = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        sqlite3 *db = NULL;
        int sqlret;
        char *sqlbuf = NULL;
 
        if (!caller)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
-       sqlret = db_util_open_wrapper(&db);
+       sqlret = db_util_open(BADGE_DB_PATH, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
                ERR("fail to db_util_open - [%d]", sqlret);
                return BADGE_ERROR_FROM_DB;
@@ -551,7 +544,7 @@ badge_error_e _badge_remove(const char *caller, const char *pkgname)
                         BADGE_TABLE_NAME, pkgname);
        if (!sqlbuf) {
                ERR("fail to alloc query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto return_close_db;
        }
 
@@ -574,7 +567,7 @@ badge_error_e _badge_remove(const char *caller, const char *pkgname)
                        BADGE_OPTION_TABLE_NAME, pkgname);
        if (!sqlbuf) {
                ERR("fail to alloc query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto return_close_db;
        }
 
@@ -597,23 +590,23 @@ return_close_db:
        return result;
 }
 
-badge_error_e _badget_set_count(const char *caller, const char *pkgname,
+int _badget_set_count(const char *caller, const char *pkgname,
                        unsigned int count)
 {
-       badge_error_e ret = BADGE_ERROR_NONE;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int ret = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        sqlite3 *db = NULL;
        char *sqlbuf = NULL;
        int sqlret;
        char *err_msg = NULL;
 
        if (!caller)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
-       sqlret = db_util_open_wrapper(&db);
+       sqlret = db_util_open(BADGE_DB_PATH, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
                ERR("fail to db_util_open - [%d]", sqlret);
                return BADGE_ERROR_FROM_DB;
@@ -636,7 +629,7 @@ badge_error_e _badget_set_count(const char *caller, const char *pkgname,
                         BADGE_TABLE_NAME, count, pkgname);
        if (!sqlbuf) {
                ERR("fail to alloc query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto return_close_db;
        }
 
@@ -659,25 +652,30 @@ return_close_db:
        return result;
 }
 
-badge_error_e _badget_get_count(const char *pkgname, unsigned int *count)
+int _badget_get_count(const char *pkgname, unsigned int *count)
 {
-       badge_error_e ret = BADGE_ERROR_NONE;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int ret = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        sqlite3 *db = NULL;
        char *sqlbuf = NULL;
        sqlite3_stmt *stmt = NULL;
        int sqlret;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!count)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
-       sqlret = db_util_open_wrapper(&db);
+       sqlret = db_util_open(BADGE_DB_PATH, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
                ERR("fail to db_util_open - [%d]", sqlret);
-               return BADGE_ERROR_FROM_DB;
+               if (sqlret == SQLITE_PERM) {
+                       return BADGE_ERROR_PERMISSION_DENIED;
+               }
+               else {
+                       return BADGE_ERROR_FROM_DB;
+               }
        }
 
        ret = _badge_check_data_inserted(pkgname, db);
@@ -691,7 +689,7 @@ badge_error_e _badget_get_count(const char *pkgname, unsigned int *count)
                         BADGE_TABLE_NAME, pkgname);
        if (!sqlbuf) {
                ERR("fail to alloc query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto return_close_db;
        }
 
@@ -723,23 +721,23 @@ return_close_db:
        return result;
 }
 
-badge_error_e _badget_set_display(const char *pkgname,
+int _badget_set_display(const char *pkgname,
                        unsigned int is_display)
 {
-       badge_error_e ret = BADGE_ERROR_NONE;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int ret = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        sqlite3 *db = NULL;
        char *sqlbuf = NULL;
        int sqlret;
        char *err_msg = NULL;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (is_display != 0 && is_display != 1)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
-       sqlret = db_util_open_wrapper(&db);
+       sqlret = db_util_open(BADGE_DB_PATH, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
                ERR("fail to db_util_open - [%d]", sqlret);
                return BADGE_ERROR_FROM_DB;
@@ -752,7 +750,7 @@ badge_error_e _badget_set_display(const char *pkgname,
                                BADGE_OPTION_TABLE_NAME, is_display, pkgname);
                if (!sqlbuf) {
                        ERR("fail to alloc query");
-                       result = BADGE_ERROR_NO_MEMORY;
+                       result = BADGE_ERROR_OUT_OF_MEMORY;
                        goto return_close_db;
                }
 
@@ -773,7 +771,7 @@ badge_error_e _badget_set_display(const char *pkgname,
                                pkgname, is_display);
                if (!sqlbuf) {
                        ERR("fail to alloc query");
-                       result = BADGE_ERROR_NO_MEMORY;
+                       result = BADGE_ERROR_OUT_OF_MEMORY;
                        goto return_close_db;
                }
 
@@ -800,25 +798,30 @@ return_close_db:
        return result;
 }
 
-badge_error_e _badget_get_display(const char *pkgname, unsigned int *is_display)
+int _badget_get_display(const char *pkgname, unsigned int *is_display)
 {
-       badge_error_e ret = BADGE_ERROR_NONE;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int ret = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        sqlite3 *db = NULL;
        char *sqlbuf = NULL;
        sqlite3_stmt *stmt = NULL;
        int sqlret;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!is_display)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
-       sqlret = db_util_open_wrapper(&db);
+       sqlret = db_util_open(BADGE_DB_PATH, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
                ERR("fail to db_util_open - [%d]", sqlret);
-               return BADGE_ERROR_FROM_DB;
+               if (sqlret == SQLITE_PERM) {
+                       return BADGE_ERROR_PERMISSION_DENIED;
+               }
+               else {
+                       return BADGE_ERROR_FROM_DB;
+               }
        }
 
        ret = _badge_check_option_inserted(pkgname, db);
@@ -835,7 +838,7 @@ badge_error_e _badget_get_display(const char *pkgname, unsigned int *is_display)
                        BADGE_OPTION_TABLE_NAME, pkgname);
        if (!sqlbuf) {
                ERR("fail to alloc query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto return_close_db;
        }
 
@@ -908,13 +911,13 @@ static gint _badge_data_compare(gconstpointer a, gconstpointer b)
        return 1;
 }
 
-badge_error_e _badge_register_changed_cb(badge_change_cb callback, void *data)
+int _badge_register_changed_cb(badge_change_cb callback, void *data)
 {
        struct _badge_cb_data *bd = NULL;
        GList *found = NULL;
 
        if (!callback)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        _badge_changed_monitor_init();
 
@@ -928,7 +931,7 @@ badge_error_e _badge_register_changed_cb(badge_change_cb callback, void *data)
 
                bd = malloc(sizeof(struct _badge_cb_data));
                if (!bd)
-                       return BADGE_ERROR_NO_MEMORY;
+                       return BADGE_ERROR_OUT_OF_MEMORY;
 
 
                bd->callback = callback;
@@ -939,12 +942,12 @@ badge_error_e _badge_register_changed_cb(badge_change_cb callback, void *data)
        return BADGE_ERROR_NONE;
 }
 
-badge_error_e _badge_unregister_changed_cb(badge_change_cb callback)
+int _badge_unregister_changed_cb(badge_change_cb callback)
 {
        GList *found = NULL;
 
        if (!callback)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        found = g_list_find_custom(g_badge_cb_list, (gconstpointer)callback,
                                _badge_data_compare);
@@ -958,13 +961,17 @@ badge_error_e _badge_unregister_changed_cb(badge_change_cb callback)
        if (!g_badge_cb_list)
                _badge_chanaged_monitor_fini();
 
-       return BADGE_ERROR_NONE;
+       if (found != NULL) {
+               return BADGE_ERROR_NONE;
+       } else {
+               return BADGE_ERROR_INVALID_PARAMETER;
+       }
 }
 
-badge_error_e _badge_free(badge_h *badge)
+int _badge_free(badge_h *badge)
 {
        if (!badge)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (badge->pkgname)
                free(badge->pkgname);
@@ -978,21 +985,21 @@ badge_error_e _badge_free(badge_h *badge)
 }
 
 badge_h *_badge_new(const char *pkgname, const char *writable_pkgs,
-               badge_error_e *err)
+               int *err)
 {
        badge_h *badge = NULL;
 
        if (!pkgname) {
                ERR("PKGNAME is NULL");
                if (err)
-                       *err = BADGE_ERROR_INVALID_DATA;
+                       *err = BADGE_ERROR_INVALID_PARAMETER;
                return NULL;
        }
 
        if (!writable_pkgs) {
                ERR("writable_pkgs is NULL");
                if (err)
-                       *err = BADGE_ERROR_INVALID_DATA;
+                       *err = BADGE_ERROR_INVALID_PARAMETER;
                return NULL;
        }
 
@@ -1001,7 +1008,7 @@ badge_h *_badge_new(const char *pkgname, const char *writable_pkgs,
        if (!badge) {
                ERR("fail to alloc handle");
                if (err)
-                       *err = BADGE_ERROR_NO_MEMORY;
+                       *err = BADGE_ERROR_OUT_OF_MEMORY;
                return NULL;
        }
 
@@ -1013,7 +1020,7 @@ badge_h *_badge_new(const char *pkgname, const char *writable_pkgs,
        return badge;
 }
 
-char *_badge_pkgs_new(badge_error_e *err, const char *pkg1, ...)
+char *_badge_pkgs_new(int *err, const char *pkg1, ...)
 {
        char *caller_pkgname = NULL;
        char *s = NULL;
@@ -1057,7 +1064,7 @@ char *_badge_pkgs_new(badge_error_e *err, const char *pkg1, ...)
        if (!result) {
                ERR("fail to alloc memory");
                if (err)
-                       *err = BADGE_ERROR_NO_MEMORY;
+                       *err = BADGE_ERROR_OUT_OF_MEMORY;
                free(caller_pkgname);
                return NULL;
        }
@@ -1078,7 +1085,7 @@ char *_badge_pkgs_new(badge_error_e *err, const char *pkg1, ...)
                if (!new_pkgs) {
                        ERR("fail to alloc memory");
                        if (err)
-                               *err = BADGE_ERROR_NO_MEMORY;
+                               *err = BADGE_ERROR_OUT_OF_MEMORY;
 
                        free(result);
                        free(caller_pkgname);
@@ -1093,7 +1100,7 @@ char *_badge_pkgs_new(badge_error_e *err, const char *pkg1, ...)
        return result;
 }
 
-char *_badge_pkgs_new_valist(badge_error_e *err, const char *pkg1, va_list args)
+char *_badge_pkgs_new_valist(int *err, const char *pkg1, va_list args)
 {
        char *caller_pkgname = NULL;
        char *s = NULL;
@@ -1137,7 +1144,7 @@ char *_badge_pkgs_new_valist(badge_error_e *err, const char *pkg1, va_list args)
        if (!result) {
                ERR("fail to alloc memory");
                if (err)
-                       *err = BADGE_ERROR_NO_MEMORY;
+                       *err = BADGE_ERROR_OUT_OF_MEMORY;
                free(caller_pkgname);
                va_end(args2);
                return NULL;
@@ -1158,7 +1165,7 @@ char *_badge_pkgs_new_valist(badge_error_e *err, const char *pkg1, va_list args)
                if (!new_pkgs) {
                        ERR("fail to alloc memory");
                        if (err)
-                               *err = BADGE_ERROR_NO_MEMORY;
+                               *err = BADGE_ERROR_OUT_OF_MEMORY;
 
                        free(result);
                        free(caller_pkgname);
old mode 100755 (executable)
new mode 100644 (file)
index 7cb728d..24826c6
@@ -72,9 +72,9 @@ struct _task_list {
 
 static task_list *g_task_list;
 
-static badge_error_e badge_ipc_monitor_register(void);
-static badge_error_e badge_ipc_monitor_deregister(void);
-static void _do_deffered_task(void);
+static int badge_ipc_monitor_register(void);
+static int badge_ipc_monitor_deregister(void);
+static void _do_deferred_task(void);
 static void _master_started_cb_task(keynode_t *node, void *data);
 
 /*!
@@ -117,9 +117,9 @@ int badge_ipc_is_master_ready(void)
        return is_master_started;
 }
 
-badge_error_e
-badge_ipc_add_deffered_task(
-               void (*deffered_task_cb)(void *data),
+int
+badge_ipc_add_deferred_task(
+               void (*badge_add_deferred_task)(void *data),
                void *user_data)
 {
        task_list *list = NULL;
@@ -129,7 +129,7 @@ badge_ipc_add_deffered_task(
            (task_list *) malloc(sizeof(task_list));
 
        if (list_new == NULL) {
-               return BADGE_ERROR_NO_MEMORY;
+               return BADGE_ERROR_OUT_OF_MEMORY;
        }
 
        if (s_info.is_started_cb_set_task == 0) {
@@ -140,7 +140,7 @@ badge_ipc_add_deffered_task(
        list_new->next = NULL;
        list_new->prev = NULL;
 
-       list_new->task_cb = deffered_task_cb;
+       list_new->task_cb = badge_add_deferred_task;
        list_new->data = user_data;
 
        if (g_task_list == NULL) {
@@ -158,9 +158,9 @@ badge_ipc_add_deffered_task(
        return BADGE_ERROR_NONE;
 }
 
-badge_error_e
-badge_ipc_del_deffered_task(
-               void (*deffered_task_cb)(void *data))
+int
+badge_ipc_del_deferred_task(
+               void (*badge_add_deferred_task)(void *data))
 {
        task_list *list_del = NULL;
        task_list *list_prev = NULL;
@@ -169,7 +169,7 @@ badge_ipc_del_deffered_task(
        list_del = g_task_list;
 
        if (list_del == NULL) {
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
        }
 
        while (list_del->prev != NULL) {
@@ -177,7 +177,7 @@ badge_ipc_del_deffered_task(
        }
 
        do {
-               if (list_del->task_cb == deffered_task_cb) {
+               if (list_del->task_cb == badge_add_deferred_task) {
                        list_prev = list_del->prev;
                        list_next = list_del->next;
 
@@ -209,10 +209,10 @@ badge_ipc_del_deffered_task(
                list_del = list_del->next;
        } while (list_del != NULL);
 
-       return BADGE_ERROR_INVALID_DATA;
+       return BADGE_ERROR_INVALID_PARAMETER;
 }
 
-static void _do_deffered_task(void) {
+static void _do_deferred_task(void) {
        task_list *list_do = NULL;
        task_list *list_temp = NULL;
 
@@ -269,7 +269,7 @@ static void _master_started_cb_task(keynode_t *node,
                void *data) {
 
        if (badge_ipc_is_master_ready()) {
-               _do_deffered_task();
+               _do_deferred_task();
        }
 }
 
@@ -387,10 +387,10 @@ static int _handler_service_register(pid_t pid, int handle, const struct packet
 
        if (!packet) {
                ERR("Packet is not valid\n");
-               ret = BADGE_ERROR_INVALID_DATA;
+               ret = BADGE_ERROR_INVALID_PARAMETER;
        } else if (packet_get(packet, "i", &ret) != 1) {
                ERR("Packet is not valid\n");
-               ret = BADGE_ERROR_INVALID_DATA;
+               ret = BADGE_ERROR_INVALID_PARAMETER;
        } else {
                if (ret == BADGE_ERROR_NONE) {
                        badge_changed_cb_call(BADGE_ACTION_SERVICE_READY, NULL, 0);
@@ -402,7 +402,7 @@ static int _handler_service_register(pid_t pid, int handle, const struct packet
 /*!
  * functions to initialize and register a monitor
  */
-static badge_error_e badge_ipc_monitor_register(void)
+static int badge_ipc_monitor_register(void)
 {
        int ret;
        struct packet *packet;
@@ -436,17 +436,18 @@ static badge_error_e badge_ipc_monitor_register(void)
        }
 
        ERR("register a service\n");
+       com_core_packet_use_thread(1);
 
        s_info.server_fd = com_core_packet_client_init(s_info.socket_file, 0, service_table);
        if (s_info.server_fd < 0) {
                ERR("Failed to make a connection to the master\n");
-               return BADGE_ERROR_IO;
+               return BADGE_ERROR_IO_ERROR;
        }
 
        packet = packet_create("service_register", "");
        if (!packet) {
                ERR("Failed to build a packet\n");
-               return BADGE_ERROR_IO;
+               return BADGE_ERROR_IO_ERROR;
        }
 
        ret = com_core_packet_async_send(s_info.server_fd, packet, 1.0, _handler_service_register, NULL);
@@ -454,8 +455,8 @@ static badge_error_e badge_ipc_monitor_register(void)
        packet_destroy(packet);
        if (ret != 0) {
                com_core_packet_client_fini(s_info.server_fd);
-               s_info.server_fd = BADGE_ERROR_INVALID_DATA;
-               ret = BADGE_ERROR_IO;
+               s_info.server_fd = BADGE_ERROR_INVALID_PARAMETER;
+               ret = BADGE_ERROR_IO_ERROR;
        } else {
                ret = BADGE_ERROR_NONE;
        }
@@ -464,21 +465,21 @@ static badge_error_e badge_ipc_monitor_register(void)
        return ret;
 }
 
-badge_error_e badge_ipc_monitor_deregister(void)
+int badge_ipc_monitor_deregister(void)
 {
        if (s_info.initialized == 0) {
                return BADGE_ERROR_NONE;
        }
 
        com_core_packet_client_fini(s_info.server_fd);
-       s_info.server_fd = BADGE_ERROR_INVALID_DATA;
+       s_info.server_fd = BADGE_ERROR_INVALID_PARAMETER;
 
        s_info.initialized = 0;
 
        return BADGE_ERROR_NONE;
 }
 
-badge_error_e badge_ipc_monitor_init(void)
+int badge_ipc_monitor_init(void)
 {
        int ret = BADGE_ERROR_NONE;
 
@@ -494,7 +495,7 @@ badge_error_e badge_ipc_monitor_init(void)
        return ret;
 }
 
-badge_error_e badge_ipc_monitor_fini(void)
+int badge_ipc_monitor_fini(void)
 {
        int ret = BADGE_ERROR_NONE;
 
@@ -509,7 +510,7 @@ badge_error_e badge_ipc_monitor_fini(void)
 }
 
 
-badge_error_e badge_ipc_request_insert(const char *pkgname, const char *writable_pkg, const char *caller) {
+int badge_ipc_request_insert(const char *pkgname, const char *writable_pkg, const char *caller) {
        int ret = 0;
        struct packet *packet;
        struct packet *result;
@@ -524,7 +525,7 @@ badge_error_e badge_ipc_request_insert(const char *pkgname, const char *writable
                if (packet_get(result, "i", &ret) != 1) {
                        ERR("Failed to get a result packet");
                        packet_unref(result);
-                       return BADGE_ERROR_IO;
+                       return BADGE_ERROR_IO_ERROR;
                }
 
                if (ret != BADGE_ERROR_NONE) {
@@ -533,14 +534,18 @@ badge_error_e badge_ipc_request_insert(const char *pkgname, const char *writable
                }
                packet_unref(result);
        } else {
-               badge_ipc_is_master_ready();
-               return BADGE_ERROR_SERVICE_NOT_READY;
+               if (badge_ipc_is_master_ready() == 1) {
+                       return BADGE_ERROR_PERMISSION_DENIED;
+               }
+               else {
+                       return BADGE_ERROR_SERVICE_NOT_READY;
+               }
        }
 
        return BADGE_ERROR_NONE;
 }
 
-badge_error_e badge_ipc_request_delete(const char *pkgname, const char *caller) {
+int badge_ipc_request_delete(const char *pkgname, const char *caller) {
        int ret = 0;
        struct packet *packet;
        struct packet *result;
@@ -555,7 +560,7 @@ badge_error_e badge_ipc_request_delete(const char *pkgname, const char *caller)
                if (packet_get(result, "i", &ret) != 1) {
                        ERR("Failed to get a result packet");
                        packet_unref(result);
-                       return BADGE_ERROR_IO;
+                       return BADGE_ERROR_IO_ERROR;
                }
 
                if (ret != BADGE_ERROR_NONE) {
@@ -564,14 +569,18 @@ badge_error_e badge_ipc_request_delete(const char *pkgname, const char *caller)
                }
                packet_unref(result);
        } else {
-               badge_ipc_is_master_ready();
-               return BADGE_ERROR_SERVICE_NOT_READY;
+               if (badge_ipc_is_master_ready() == 1) {
+                       return BADGE_ERROR_PERMISSION_DENIED;
+               }
+               else {
+                       return BADGE_ERROR_SERVICE_NOT_READY;
+               }
        }
 
        return BADGE_ERROR_NONE;
 }
 
-badge_error_e badge_ipc_request_set_count(const char *pkgname, const char *caller, int count) {
+int badge_ipc_request_set_count(const char *pkgname, const char *caller, int count) {
        int ret = 0;
        struct packet *packet;
        struct packet *result;
@@ -586,7 +595,7 @@ badge_error_e badge_ipc_request_set_count(const char *pkgname, const char *calle
                if (packet_get(result, "i", &ret) != 1) {
                        ERR("Failed to get a result packet");
                        packet_unref(result);
-                       return BADGE_ERROR_IO;
+                       return BADGE_ERROR_IO_ERROR;
                }
 
                if (ret != BADGE_ERROR_NONE) {
@@ -595,14 +604,18 @@ badge_error_e badge_ipc_request_set_count(const char *pkgname, const char *calle
                }
                packet_unref(result);
        } else {
-               badge_ipc_is_master_ready();
-               return BADGE_ERROR_SERVICE_NOT_READY;
+               if (badge_ipc_is_master_ready() == 1) {
+                       return BADGE_ERROR_PERMISSION_DENIED;
+               }
+               else {
+                       return BADGE_ERROR_SERVICE_NOT_READY;
+               }
        }
 
        return BADGE_ERROR_NONE;
 }
 
-badge_error_e badge_ipc_request_set_display(const char *pkgname, const char *caller, int display_option) {
+int badge_ipc_request_set_display(const char *pkgname, const char *caller, int display_option) {
        int ret = 0;
        struct packet *packet;
        struct packet *result;
@@ -617,7 +630,7 @@ badge_error_e badge_ipc_request_set_display(const char *pkgname, const char *cal
                if (packet_get(result, "i", &ret) != 1) {
                        ERR("Failed to get a result packet");
                        packet_unref(result);
-                       return BADGE_ERROR_IO;
+                       return BADGE_ERROR_IO_ERROR;
                }
 
                if (ret != BADGE_ERROR_NONE) {
@@ -626,14 +639,18 @@ badge_error_e badge_ipc_request_set_display(const char *pkgname, const char *cal
                }
                packet_unref(result);
        } else {
-               badge_ipc_is_master_ready();
-               return BADGE_ERROR_SERVICE_NOT_READY;
+               if (badge_ipc_is_master_ready() == 1) {
+                       return BADGE_ERROR_PERMISSION_DENIED;
+               }
+               else {
+                       return BADGE_ERROR_SERVICE_NOT_READY;
+               }
        }
 
        return BADGE_ERROR_NONE;
 }
 
-badge_error_e badge_ipc_setting_property_set(const char *pkgname, const char *property, const char *value)
+int badge_ipc_setting_property_set(const char *pkgname, const char *property, const char *value)
 {
        int status = 0;
        int ret = 0;
@@ -650,7 +667,7 @@ badge_error_e badge_ipc_setting_property_set(const char *pkgname, const char *pr
                if (packet_get(result, "ii", &status, &ret) != 2) {
                        ERR("Failed to get a result packet");
                        packet_unref(result);
-                       return BADGE_ERROR_IO;
+                       return BADGE_ERROR_IO_ERROR;
                }
                packet_unref(result);
        } else {
@@ -661,7 +678,7 @@ badge_error_e badge_ipc_setting_property_set(const char *pkgname, const char *pr
        return status;
 }
 
-badge_error_e badge_ipc_setting_property_get(const char *pkgname, const char *property, char **value)
+int badge_ipc_setting_property_get(const char *pkgname, const char *property, char **value)
 {
        int status = 0;
        char *ret = NULL;
@@ -678,7 +695,7 @@ badge_error_e badge_ipc_setting_property_get(const char *pkgname, const char *pr
                if (packet_get(result, "is", &status, &ret) != 2) {
                        ERR("Failed to get a result packet");
                        packet_unref(result);
-                       return BADGE_ERROR_IO;
+                       return BADGE_ERROR_IO_ERROR;
                }
                if (status == BADGE_ERROR_NONE && ret != NULL) {
                        *value = strdup(ret);
old mode 100755 (executable)
new mode 100644 (file)
index 410f784..def52a5
 #include <stdarg.h>
 #include <sqlite3.h>
 #include <db-util.h>
-#include <tzplatform_config.h>
 
 #include "badge.h"
 #include "badge_log.h"
 #include "badge_error.h"
 #include "badge_internal.h"
 #include "badge_ipc.h"
-#include "badge_setting.h"
 #include "badge_db.h"
 
 #define SETTING_DB_TABLE "notification_setting"
-#define SETTING_DB_FILE tzplatform_mkpath(TZ_USER_DB,".notification_parser.db")
+#define SETTING_DB_FILE "/opt/usr/dbspace/.notification_parser.db"
 
 struct prop_table {
        const char *property;
@@ -86,7 +84,7 @@ static const char *_get_prop_default_value(const char *property)
 }
 #endif
 
-static badge_error_e _is_record_exist(const char *pkgname, sqlite3 *db)
+static int _is_record_exist(const char *pkgname, sqlite3 *db)
 {
        sqlite3_stmt *stmt = NULL;
        int count = 0;
@@ -95,10 +93,10 @@ static badge_error_e _is_record_exist(const char *pkgname, sqlite3 *db)
        int sqlret;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!db)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        sqlbuf = sqlite3_mprintf("SELECT count(*) FROM %s WHERE " \
                         "appid = %Q",
@@ -106,7 +104,7 @@ static badge_error_e _is_record_exist(const char *pkgname, sqlite3 *db)
 
        if (!sqlbuf) {
                ERR("fail to alloc sql query");
-               return BADGE_ERROR_NO_MEMORY;
+               return BADGE_ERROR_OUT_OF_MEMORY;
        }
 
        sqlret = sqlite3_prepare_v2(db, sqlbuf, -1, &stmt, NULL);
@@ -138,27 +136,27 @@ free_and_return:
        return result;
 }
 
-EXPORT_API badge_error_e badge_setting_db_set(const char *pkgname, const char *property, const char *value)
+EXPORT_API int badge_setting_db_set(const char *pkgname, const char *property, const char *value)
 {
-       badge_error_e ret = BADGE_ERROR_NONE;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int ret = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        sqlite3 *db = NULL;
        char *sqlbuf = NULL;
        int sqlret;
        const char *column = NULL;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!property)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!value)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        column = _get_prop_column(property);
        if (!column)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        sqlret = db_util_open(SETTING_DB_FILE, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
@@ -177,7 +175,7 @@ EXPORT_API badge_error_e badge_setting_db_set(const char *pkgname, const char *p
                        SETTING_DB_TABLE, column, value, pkgname);
        if (!sqlbuf) {
                ERR("fail to alloc query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto return_close_db;
        }
 
@@ -200,10 +198,10 @@ return_close_db:
        return result;
 }
 
-EXPORT_API badge_error_e badge_setting_db_get(const char *pkgname, const char *property, char **value)
+EXPORT_API int badge_setting_db_get(const char *pkgname, const char *property, char **value)
 {
-       badge_error_e ret = BADGE_ERROR_NONE;
-       badge_error_e result = BADGE_ERROR_NONE;
+       int ret = BADGE_ERROR_NONE;
+       int result = BADGE_ERROR_NONE;
        sqlite3 *db = NULL;
        char *sqlbuf = NULL;
        sqlite3_stmt *stmt = NULL;
@@ -211,17 +209,17 @@ EXPORT_API badge_error_e badge_setting_db_get(const char *pkgname, const char *p
        const char *column = NULL;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!property)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!value)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        column = _get_prop_column(property);
        if (!column)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        sqlret = db_util_open(SETTING_DB_FILE, &db, 0);
        if (sqlret != SQLITE_OK || !db) {
@@ -240,7 +238,7 @@ EXPORT_API badge_error_e badge_setting_db_get(const char *pkgname, const char *p
                        column, SETTING_DB_TABLE, pkgname);
        if (!sqlbuf) {
                ERR("fail to alloc query");
-               result = BADGE_ERROR_NO_MEMORY;
+               result = BADGE_ERROR_OUT_OF_MEMORY;
                goto return_close_db;
        }
 
@@ -263,7 +261,7 @@ EXPORT_API badge_error_e badge_setting_db_get(const char *pkgname, const char *p
                        *value = get_data;
                } else {
                        ERR("fail to alloc query");
-                       result = BADGE_ERROR_NO_MEMORY;
+                       result = BADGE_ERROR_OUT_OF_MEMORY;
                        goto return_close_db;
                }
        }
@@ -282,18 +280,18 @@ return_close_db:
        return result;
 }
 
-EXPORT_API badge_error_e badge_setting_property_set(const char *pkgname, const char *property, const char *value)
+EXPORT_API int badge_setting_property_set(const char *pkgname, const char *property, const char *value)
 {
        int ret = 0;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!property)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!value)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        ret = badge_ipc_setting_property_set(pkgname, property, value);
        if (ret != BADGE_ERROR_NONE) {
@@ -303,18 +301,18 @@ EXPORT_API badge_error_e badge_setting_property_set(const char *pkgname, const c
        return BADGE_ERROR_NONE;
 }
 
-EXPORT_API badge_error_e badge_setting_property_get(const char *pkgname, const char *property, char **value)
+EXPORT_API int badge_setting_property_get(const char *pkgname, const char *property, char **value)
 {
        int ret = 0;
 
        if (!pkgname)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!property)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        if (!value)
-               return BADGE_ERROR_INVALID_DATA;
+               return BADGE_ERROR_INVALID_PARAMETER;
 
        ret = badge_ipc_setting_property_get(pkgname, property, value);
        if (ret != BADGE_ERROR_NONE) {