Add component ID 22/207722/3
authorhyunho <hhstark.kang@samsung.com>
Tue, 11 Jun 2019 10:22:29 +0000 (19:22 +0900)
committerhyunho <hhstark.kang@samsung.com>
Wed, 12 Jun 2019 02:41:59 +0000 (11:41 +0900)
Change-Id: I9b7c31c8bd518cfe7ada5af1703e9dea6ceeb9c4
Signed-off-by: hyunho <hhstark.kang@samsung.com>
include/rua.h
include/rua_internal.h
src/db-schema.h
src/rua.c
src/rua_internal.c

index c310be5..19008b1 100644 (file)
@@ -61,6 +61,7 @@ struct rua_rec {
        char *icon;             /**< Icon path */
        char *uri;              /**< URI */
        char *image;            /**< Image path */
+       char *comp_id;          /**< Component ID */
 };
 
 /**
index 5caace6..a9c7c22 100644 (file)
@@ -56,14 +56,15 @@ int rua_usr_db_add_history(struct rua_rec *rec, uid_t uid);
 /**
  * @brief       Update the image of the application
  * @param[in]   pkg_name        The application ID
+ * @param[in]   comp_id         The component ID
  * @param[in]   instance_id     The instance ID
  * @param[in]   image           The image of the application
  * @return      0 on success, otherwise a nagative error value
  */
-int rua_db_update_image(const char *pkg_name, const char *instance_id,
-               const char *image);
-int rua_usr_db_update_image(const char *pkg_name, const char *instance_id,
-               const char *image, uid_t uid);
+int rua_db_update_image(const char *pkg_name, const char *comp_id,
+               const char *instance_id, const char *image);
+int rua_usr_db_update_image(const char *pkg_name, const char *comp_id,
+               const char *instance_id, const char *image, uid_t uid);
 
 #ifdef __cplusplus
 }
index eb64cfd..97724b7 100644 (file)
@@ -25,12 +25,13 @@ CREATE TABLE IF NOT EXISTS rua_history ( \
        app_path TEXT, \
        arg TEXT, \
        launch_time INTEGER, \
+       comp_id TEXT, \
        instance_id TEXT, \
        instance_name TEXT, \
        icon TEXT, \
        uri TEXT, \
        image TEXT, \
-       PRIMARY KEY(pkg_name, instance_id) \
+       PRIMARY KEY(pkg_name, comp_id, instance_id) \
 );"
 
 #define CREATE_RUA_STAT_TABLE " \
@@ -54,6 +55,7 @@ enum {
        RUA_COL_ICON,
        RUA_COL_URI,
        RUA_COL_IMAGE,
+       RUA_COL_COMP_ID,
 };
 
 enum {
index 91fd385..a3f24c5 100644 (file)
--- a/src/rua.c
+++ b/src/rua.c
@@ -134,8 +134,8 @@ API int rua_clear_history(void)
 API int rua_history_load_db_for_uid(char ***table, int *nrows, int *ncols, uid_t uid)
 {
        static const char query[] =
-               "SELECT pkg_name, app_path, arg, launch_time, instance_id,"
-               "  instance_name, icon, uri, image "
+               "SELECT pkg_name, app_path, arg, launch_time, comp_id,"
+               "  instance_id, instance_name, icon, uri, image "
                "FROM rua_history ORDER BY launch_time DESC";
        int r;
        char *db_err = NULL;
@@ -247,6 +247,12 @@ API int rua_history_get_rec(struct rua_rec *rec, char **table, int nrows, int nc
        if (tmp)
                rec->launch_time = atoi(tmp);
 
+       tmp = db_result[RUA_COL_COMP_ID];
+       if (tmp && tmp[0] != '\0')
+               rec->comp_id = tmp;
+       else
+               rec->comp_id = NULL;
+
        tmp = db_result[RUA_COL_INSTANCE_ID];
        if (tmp && tmp[0] != '\0')
                rec->instance_id = tmp;
index 808dd96..8f4cf98 100644 (file)
@@ -217,9 +217,9 @@ static int __insert_history(sqlite3 *db, struct rua_rec *rec)
        static const char query[] =
                "INSERT OR REPLACE INTO rua_history ("
                "  pkg_name, app_path, arg, launch_time,"
-               "  instance_id, instance_name, icon, uri,"
+               "  comp_id, instance_id, instance_name, icon, uri,"
                "  image) "
-               "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
+               "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
        int r;
        sqlite3_stmt *stmt;
        int idx = 1;
@@ -234,6 +234,7 @@ static int __insert_history(sqlite3 *db, struct rua_rec *rec)
        __BIND_TEXT(db, stmt, idx++, rec->app_path);
        __BIND_TEXT(db, stmt, idx++, rec->arg ? rec->arg : "");
        __BIND_INT(db, stmt, idx++, (int)rec->launch_time);
+       __BIND_TEXT(db, stmt, idx++, rec->comp_id ? rec->comp_id : "");
        __BIND_TEXT(db, stmt, idx++, rec->instance_id ? rec->instance_id : "");
        __BIND_TEXT(db, stmt, idx++,
                        rec->instance_name ? rec->instance_name : "");
@@ -257,7 +258,7 @@ static int __update_history(sqlite3 *db, struct rua_rec *rec)
 {
        static const char query[] =
                "UPDATE rua_history SET launch_time=? "
-               "WHERE pkg_name=? AND instance_id=?";
+               "WHERE pkg_name=? AND comp_id=? AND instance_id=?";
        int r;
        sqlite3_stmt *stmt;
        int idx = 1;
@@ -270,6 +271,7 @@ static int __update_history(sqlite3 *db, struct rua_rec *rec)
 
        __BIND_INT(db, stmt, idx++, (int)rec->launch_time);
        __BIND_TEXT(db, stmt, idx++, rec->pkg_name);
+       __BIND_TEXT(db, stmt, idx++, rec->comp_id);
        __BIND_TEXT(db, stmt, idx++, rec->instance_id);
 
        r = sqlite3_step(stmt);
@@ -328,12 +330,12 @@ API int rua_db_add_history(struct rua_rec *rec)
        return rua_usr_db_add_history(rec, getuid());
 }
 
-static int __update_image(sqlite3 *db, const char *pkg_name,
+static int __update_image(sqlite3 *db, const char *pkg_name, const char *comp_id,
                const char *instance_id, const char *image)
 {
        static const char query[] =
                "UPDATE rua_history SET image=? "
-               "WHERE pkg_name=? AND instance_id=?";
+               "WHERE pkg_name=? AND comp_id=? AND instance_id=?";
        sqlite3_stmt *stmt;
        int idx = 1;
        int r;
@@ -346,6 +348,7 @@ static int __update_image(sqlite3 *db, const char *pkg_name,
 
        __BIND_TEXT(db, stmt, idx++, image);
        __BIND_TEXT(db, stmt, idx++, pkg_name);
+       __BIND_TEXT(db, stmt, idx++, comp_id ? comp_id : "");
        __BIND_TEXT(db, stmt, idx++, instance_id ? instance_id : "");
 
        r = sqlite3_step(stmt);
@@ -359,8 +362,8 @@ static int __update_image(sqlite3 *db, const char *pkg_name,
        return 0;
 }
 
-API int rua_usr_db_update_image(const char *pkg_name, const char *instance_id,
-               const char *image, uid_t uid)
+API int rua_usr_db_update_image(const char *pkg_name, const char *comp_id,
+               const char *instance_id, const char *image, uid_t uid)
 {
        int r;
        sqlite3 *db;
@@ -376,7 +379,7 @@ API int rua_usr_db_update_image(const char *pkg_name, const char *instance_id,
                return -1;
        }
 
-       r = __update_image(db, pkg_name, instance_id, image);
+       r = __update_image(db, pkg_name, comp_id, instance_id, image);
        if (r < 0) {
                LOGE("Failed to update image - appid(%s)", pkg_name);
                sqlite3_close_v2(db);
@@ -393,8 +396,9 @@ API int rua_usr_db_update_image(const char *pkg_name, const char *instance_id,
        return r;
 }
 
-API int rua_db_update_image(const char *pkg_name, const char *instance_id,
-               const char *image)
+API int rua_db_update_image(const char *pkg_name, const char *comp_id,
+               const char *instance_id, const char *image)
 {
-       return rua_usr_db_update_image(pkg_name, instance_id, image, getuid());
+       return rua_usr_db_update_image(
+                       pkg_name, comp_id, instance_id, image, getuid());
 }