X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Frua_stat.c;h=f6304f4e5ec2fb8a7d5f90e0e46ac92e46dfc86a;hb=e227f5a529ec407a9a978345d24f6b8a5f2c4414;hp=78f7da4369186fc3a346fe61ea79c08df8d595ab;hpb=bb4305148dba90ff1f0b7ea6e1542efa822a295f;p=platform%2Fcore%2Fappfw%2Flibrua.git diff --git a/src/rua_stat.c b/src/rua_stat.c index 78f7da4..f6304f4 100755 --- a/src/rua_stat.c +++ b/src/rua_stat.c @@ -23,23 +23,65 @@ #include #include #include +#include +#include #include +#include #include "rua_stat_internal.h" #include "rua_stat.h" +#include "rua_util.h" + +int rua_stat_update_for_uid(char *caller, char *tag, uid_t uid) +{ + int r; + bundle *b = NULL; + + r = _rua_util_check_uid(uid); + if (r == -1) + return r; + + if (caller == NULL || tag == NULL) { + LOGE("invalid param"); + return -1; + } + + b = bundle_create(); + if (b == NULL) { + LOGE("bundle_create fail out of memory."); + return -1; + } + bundle_add_str(b, AUL_SVC_K_RUA_STAT_CALLER, caller); + bundle_add_str(b, AUL_SVC_K_RUA_STAT_TAG, tag); + r = aul_update_rua_stat_for_uid(b, uid); + LOGI("rua_add_history_for_uid result : %d ", r); + bundle_free(b); + return r; +} int rua_stat_get_stat_tags(char *caller, int (*rua_stat_tag_iter_fn)(const char *rua_stat_tag, void *data), void *data) { + return rua_stat_get_stat_tags_for_uid(caller, rua_stat_tag_iter_fn, data, getuid()); +} + +int rua_stat_get_stat_tags_for_uid(char *caller, + int (*rua_stat_tag_iter_fn)(const char *rua_stat_tag, void *data), + void *data, uid_t uid) +{ int r; sqlite3_stmt *stmt; char query[QUERY_MAXLEN]; const unsigned char *ct; sqlite3 *db = NULL; - r = _rua_stat_init(db, SQLITE_OPEN_READONLY); + r = _rua_util_check_uid(uid); + if (r == -1) + return r; + + r = _rua_stat_init(&db, RUA_STAT_DB_NAME, SQLITE_OPEN_READONLY, uid); if (r == -1) { LOGE("__rua_stat_init fail"); return -1; @@ -72,7 +114,8 @@ out: if (stmt) sqlite3_finalize(stmt); - _rua_stat_fini(db); + if (db) + db_util_close(db); return r; }