fix code for timing issue 03/103303/5
authorIckhee Woo <ickhee.woo@samsung.com>
Thu, 8 Dec 2016 04:03:45 +0000 (13:03 +0900)
committerIckhee Woo <ickhee.woo@samsung.com>
Thu, 8 Dec 2016 10:01:45 +0000 (19:01 +0900)
- change way to write xml file
- add code for uninstalled package without sync-service
- fix svace issue

Change-Id: I5bc1ee5ee8131316ef5dc57e36e1d22f2a0fddf9
Signed-off-by: Ickhee Woo <ickhee.woo@samsung.com>
packaging/sync-manager.spec
src/sync-service/SyncManager_RepositoryEngine.cpp
src/sync-service/SyncManager_SyncManager.cpp
src/sync-service/SyncManager_SyncService.cpp

index 156a1e7ae54743d0e469b88e1a015585354484ef..81ced1448a655fd50adbcd00f13cd30e50f2bf88 100644 (file)
@@ -1,5 +1,5 @@
 Name:      sync-service
-Version:   0.1.11
+Version:   0.1.12
 Release:   1
 License:   Apache-2.0
 Summary:   Sync manager daemon
index ffb7a50891e3e0ba9738a4c6d33ec380b1894245..8cac80b703791f33c695b03f490742b3cd5ac6fb 100644 (file)
@@ -26,6 +26,7 @@
 #include <libxml/tree.h>
 #include <errno.h>
 #include <fstream>
+#include <pkgmgr-info.h>
 #include <sstream>
 #include <tzplatform_config.h>
 #include "SyncManager_RepositoryEngine.h"
@@ -318,7 +319,12 @@ RepositoryEngine::ReadSyncAdapters(void) {
                                xmlChar* pServiceAppId = xmlGetProp(cur, XML_ATTR_SYNCADAPTER_SERVICE_APP_ID);
                                xmlChar* pPackageId = xmlGetProp(cur, XML_ATTR_PACKAGE_ID);
 
-                               pAggregator->AddSyncAdapter((char*)pPackageId, (char*)pServiceAppId);
+                               pkgmgrinfo_appinfo_h handle_appinfo;
+                               if (pkgmgrinfo_appinfo_get_appinfo((char*)pServiceAppId, &handle_appinfo) == PMINFO_R_OK)
+                                       pAggregator->AddSyncAdapter((char*)pPackageId, (char*)pServiceAppId);
+                               else
+                                       SyncManager::GetInstance()->GetSyncAdapterAggregator()->HandlePackageUninstalled((char*)pPackageId);
+                               WriteSyncAdapters();
                        }
                        cur = cur->next;
                }
index a21f15130e881992d1e18ce1a279ada6f37998bb..f714d1cc0e05b0739770e0738f27b69dfb33965b 100644 (file)
@@ -743,7 +743,7 @@ SyncManager::Construct(void) {
        LOG_LOGE_BOOL(__pPkgmgrClient != NULL, "__pPkgmgrClient is null");
 
        LOG_LOGE_BOOL(SetPkgMgrClientStatusChangedListener() == 0, "Failed to register for uninstall callback.");
-       LOG_LOGE_BOOL(SetAulAppStatusChangedListener() == 0, "Failed to register for watching app status changed callback.");
+       //LOG_LOGE_BOOL(SetAulAppStatusChangedListener() == 0, "Failed to register for watching app status changed callback.");
 
 /*
 #if !defined(_FEATURE_CONTAINER_ENABLE)
index 747b8b5263b446cf0409370e7c07de71a22fcdc5..3eaa9df36fa89a23fe8db4494d8e8af0549de1c3 100644 (file)
@@ -570,10 +570,12 @@ get_service_name_by_pid(guint pid, char** pAppId) {
                                                                                                                        -1,
                                                                                                                        NULL,
                                                                                                                        &error);
-               if (error) {
-                       LOG_LOGC("get_service_name_by_pid gdbus error [%s]", error->message);
+               if (!unit) {
+                       if (error) {
+                               LOG_LOGC("get_service_name_by_pid gdbus error [%s]", error->message);
+                               g_clear_error(&error);
+                       }
                        *pAppId = NULL;
-                       g_clear_error(&error);
                        return SYNC_ERROR_SYSTEM;
                }
 
@@ -591,10 +593,13 @@ get_service_name_by_pid(guint pid, char** pAppId) {
                                                                                                                                                -1,
                                                                                                                                                NULL,
                                                                                                                                                &error);
-               if (error && !service) {
-                       LOG_LOGC("get_service_name_by_pid gdbus error [%s]", error->message);
+
+               if (!service) {
+                       if (error) {
+                               LOG_LOGC("get_service_name_by_pid gdbus error [%s]", error->message);
+                               g_clear_error(&error);
+                       }
                        *pAppId = NULL;
-                       g_clear_error(&error);
                        return SYNC_ERROR_SYSTEM;
                }
 
@@ -797,6 +802,9 @@ sync_manager_remove_job(TizenSyncManager* pObject, GDBusMethodInvocation* pInvoc
        if (get_num_of_sync_jobs(pkgIdStr) == 0)
                pManageIdleState->SetTermTimer();
 
+       LOG_LOGD("sync service: recoding the change of registered sync job");
+       SyncManager::GetInstance()->RecordSyncJob();
+
        LOG_LOGD("sync service: remove sync job ends");
 
        return true;
@@ -866,6 +874,9 @@ sync_manager_add_periodic_job(TizenSyncManager* pObject, GDBusMethodInvocation*
        else if (num_sync_job == 0)
                pManageIdleState->ResetTermTimer();
 
+       LOG_LOGD("sync service: recoding the change of registered sync job");
+       SyncManager::GetInstance()->RecordSyncJob();
+
        LOG_LOGD("sync service: add periodic sync job ends");
 
        return true;
@@ -967,6 +978,9 @@ sync_manager_add_data_change_job(TizenSyncManager* pObject, GDBusMethodInvocatio
        else if (num_sync_job == 0)
                pManageIdleState->ResetTermTimer();
 
+       LOG_LOGD("sync service: recoding the change of registered sync job");
+       SyncManager::GetInstance()->RecordSyncJob();
+
        LOG_LOGD("sync service: add data sync job ends");
 
        return true;
@@ -1143,6 +1157,9 @@ sync_manager_add_sync_adapter(TizenSyncManager* pObject, GDBusMethodInvocation*
                SyncManager::GetInstance()->AlertForChange();   /* LCOV_EXCL_LINE */
        }
 
+       LOG_LOGD("sync service: recoding the change of registered sync adapter");
+       SyncManager::GetInstance()->RecordSyncAdapter();
+
        LOG_LOGD("sync service: adding sync adapter ends");
 
        return true;
@@ -1220,6 +1237,9 @@ sync_manager_remove_sync_adapter(TizenSyncManager* pObject, GDBusMethodInvocatio
 
        tizen_sync_manager_complete_remove_sync_adapter(pObject, pInvocation);
 
+       LOG_LOGD("sync service: recoding the change of registered sync adapter");
+       SyncManager::GetInstance()->RecordSyncAdapter();
+
        LOG_LOGD("sync service: removing sync adapter ends");
 
        return true;