static void bundIterCb(const char *key, const char *value, void *user_data) {
+ LOG_LOGD("Callback");
UserKey = const_cast<char *>(key);
UserValue = const_cast<char *>(value);
}
int
RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, int UserId, const char *AppStatus, int JobId,
const char *SyncType, int AccountId, const char *JobName, int Interval, int Option, bundle *UserData) {
- bool user_data_available = false;
-
sqlite3 *db = NULL;
db = db_open();
if (!db) {
char noRetry[16] = { 0, };
snprintf(noRetry, sizeof(noRetry) - 1, "%d", (Option & SYNC_OPTION_NO_RETRY));
+ UserKey = NULL; UserValue = NULL;
if (UserData) {
+ LOG_LOGD("Bundle Iterate");
bundle_iterate(UserData, bundIterCb, NULL);
- } else {
- UserKey = strdup("");
- UserValue = strdup("");
- user_data_available = true;
}
+ char empty_string[2] = {'\0'};
+ if (UserKey == NULL)
+ UserKey = empty_string;
+ if (UserValue == NULL)
+ UserValue = empty_string;
char *search_query = NULL;
char *insert_query = NULL;
LOG_LOGD("prepare : search query[%s] ret[%d] err_msg[%s]", search_query, ret, sqlite3_errmsg(db));
sqlite3_finalize(stmt);
sqlite3_free(search_query);
- if (user_data_available && UserKey && UserValue) {
- free(UserKey);
- free(UserValue);
- UserKey = UserValue = NULL;
- }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
sqlite3_finalize(stmt);
sqlite3_free(search_query);
sqlite3_free(insert_query);
- if (user_data_available && UserKey && UserValue) {
- free(UserKey);
- free(UserValue);
- UserKey = UserValue = NULL;
- }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
sqlite3_finalize(stmt);
sqlite3_free(search_query);
sqlite3_free(insert_query);
- if (user_data_available && UserKey && UserValue) {
- free(UserKey);
- free(UserValue);
- UserKey = UserValue = NULL;
- }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
sqlite3_reset(stmt);
sqlite3_finalize(stmt);
sqlite3_free(search_query);
- if (user_data_available && UserKey && UserValue) {
- free(UserKey);
- free(UserValue);
- UserKey = UserValue = NULL;
- }
db_close(db);
LOG_LOGD("sync-manager DB close");
return UpdateSyncJobToDB(SvcAppId, UserId, AppStatus, JobId, SyncType, AccountId, JobName, Interval, Option, UserData);
sqlite3_reset(stmt);
sqlite3_finalize(stmt);
sqlite3_free(search_query);
- if (user_data_available && UserKey && UserValue) {
- free(UserKey);
- free(UserValue);
- UserKey = UserValue = NULL;
- }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
LOG_LOGD("Insert sync job fail : invalid service-app-id");
}
- if (user_data_available && UserKey && UserValue) {
- free(UserKey);
- free(UserValue);
- UserKey = UserValue = NULL;
- }
-
db_close(db);
LOG_LOGD("sync-manager DB close");
int
RepositoryEngine::UpdateSyncJobToDB(const char *SvcAppId, int UserId, const char *AppStatus, int JobId, const char *SyncType,
int AccountId, const char *JobName, int Interval, int Option, bundle *UserData) {
- bool user_data_available = false;
-
sqlite3 *db = NULL;
db = db_open();
if (!db) {
char noRetry[16] = { 0, };
snprintf(noRetry, sizeof(noRetry) - 1, "%d", Option & SYNC_OPTION_NO_RETRY);
+ UserKey = NULL; UserValue = NULL;
if (UserData) {
+ LOG_LOGD("Bundle Iterate");
bundle_iterate(UserData, bundIterCb, NULL);
- } else {
- UserKey = strdup("");
- UserValue = strdup("");
- user_data_available = true;
}
+ char empty_string[2] = {'\0'};
+ if (UserKey == NULL)
+ UserKey = empty_string;
+ if (UserValue == NULL)
+ UserValue = empty_string;
+
char *update_query = NULL;
string SvcPkgId = SyncManager::GetInstance()->GetPkgIdByAppId(SvcAppId);
-
- char *svc_pkg_id = new char[SvcPkgId.size() + 1];
- copy(SvcPkgId.begin(), SvcPkgId.end(), svc_pkg_id);
- svc_pkg_id[SvcPkgId.size() + 1] = '\0';
-
update_query = sqlite3_mprintf("UPDATE %Q SET AppStatus=%Q, SyncJobId=%Q, AccountId=%Q, Interval=%Q, "
"Expedit=%Q, NoRetry=%Q, UserDataKey=%Q, UserDataValue=%Q "
"WHERE SvcAppId=%Q AND PkgName=%Q AND UserId=%Q AND SyncType=%Q AND JobName=%Q",
SYNC_JOB_TABLE, AppStatus, jobId, accId, interval, expedit, noRetry, UserKey, UserValue,
- SvcAppId, svc_pkg_id, uid, SyncType, JobName);
-
- delete[] svc_pkg_id;
+ SvcAppId, SvcPkgId.c_str(), uid, SyncType, JobName);
sqlite3_stmt *stmt = NULL;
int ret = SQLITE_OK;
LOG_LOGD("prepare : update query[%s] ret[%d] err_msg[%s]", update_query, ret, sqlite3_errmsg(db));
sqlite3_finalize(stmt);
sqlite3_free(update_query);
- if (user_data_available && UserKey && UserValue) {
- free(UserKey);
- free(UserValue);
- UserKey = UserValue = NULL;
- }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
sqlite3_reset(stmt);
sqlite3_finalize(stmt);
sqlite3_free(update_query);
- if (user_data_available && UserKey && UserValue) {
- free(UserKey);
- free(UserValue);
- UserKey = UserValue = NULL;
- }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
LOG_LOGD("update sync job fail : invalid service-app-id");
}
- if (user_data_available && UserKey && UserValue) {
- free(UserKey);
- free(UserValue);
- UserKey = UserValue = NULL;
- }
-
db_close(db);
LOG_LOGD("sync-manager DB close");