X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Frua_internal.c;h=287b7fabd7facb7d3a73af25bb0579cfde7d03e6;hb=fb6d048dd3e24f4ec0a0b11f5b5e7ab517ba4e50;hp=808dd96a8cc05670f71bea309f5bcb5984706354;hpb=3032cf7091e2bec69e5061458778cf79866a623f;p=platform%2Fcore%2Fappfw%2Flibrua.git diff --git a/src/rua_internal.c b/src/rua_internal.c index 808dd96..287b7fa 100644 --- a/src/rua_internal.c +++ b/src/rua_internal.c @@ -218,8 +218,8 @@ static int __insert_history(sqlite3 *db, struct rua_rec *rec) "INSERT OR REPLACE INTO rua_history (" " pkg_name, app_path, arg, launch_time," " instance_id, instance_name, icon, uri," - " image) " - "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"; + " image, comp_id) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; int r; sqlite3_stmt *stmt; int idx = 1; @@ -240,6 +240,7 @@ static int __insert_history(sqlite3 *db, struct rua_rec *rec) __BIND_TEXT(db, stmt, idx++, rec->icon ? rec->icon : ""); __BIND_TEXT(db, stmt, idx++, rec->uri ? rec->uri : ""); __BIND_TEXT(db, stmt, idx++, rec->image ? rec->image : ""); + __BIND_TEXT(db, stmt, idx++, rec->comp_id ? rec->comp_id : ""); r = sqlite3_step(stmt); if (r != SQLITE_DONE) { @@ -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); @@ -284,6 +286,54 @@ static int __update_history(sqlite3 *db, struct rua_rec *rec) return 0; } +API int rua_usr_db_update_history(const char *pkg_name, + const char *comp_id, int launch_time, uid_t uid) +{ + static const char query[] = + "UPDATE rua_history SET launch_time=? " + "WHERE pkg_name=? AND comp_id=?"; + int r; + sqlite3_stmt *stmt; + int idx = 1; + sqlite3 *db; + + db = __db_init(uid); + if (db == NULL) { + LOGE("Error db null"); + return -1; + } + + r = sqlite3_prepare_v2(db, query, strlen(query), &stmt, NULL); + if (r != SQLITE_OK) { + LOGE("prepare failed: %s", sqlite3_errmsg(db)); + sqlite3_close_v2(db); + return -1; + } + + __BIND_INT(db, stmt, idx++, launch_time); + __BIND_TEXT(db, stmt, idx++, pkg_name); + __BIND_TEXT(db, stmt, idx++, comp_id ? comp_id : ""); + + r = sqlite3_step(stmt); + if (r != SQLITE_DONE) { + LOGE("step failed: %s", sqlite3_errmsg(db)); + sqlite3_finalize(stmt); + sqlite3_close_v2(db); + return -1; + } + + sqlite3_finalize(stmt); + sqlite3_close_v2(db); + return r; +} + +API int rua_db_update_history(const char *pkg_name, + const char *comp_id, int launch_time) +{ + return rua_usr_db_update_history( + pkg_name, comp_id, launch_time, getuid()); +} + API int rua_usr_db_add_history(struct rua_rec *rec, uid_t uid) { int r; @@ -328,12 +378,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 +396,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 +410,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 +427,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 +444,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()); }