[Release] wrt-installer_0.1.114 2.2_release submit/tizen_2.2/20130814.091950 submit/tizen_2.2/20130814.102530
authorsung-su.kim <sung-su.kim@samsung.com>
Thu, 8 Aug 2013 07:56:00 +0000 (16:56 +0900)
committersung-su.kim <sung-su.kim@samsung.com>
Thu, 8 Aug 2013 07:56:00 +0000 (16:56 +0900)
Change-Id: Iaa6e3d9f48124bf7196cb5e771011d7994a6817d

54 files changed:
configuration/feature-wrt.properties [new file with mode: 0644]
configuration/privilege-wrt.properties [new file with mode: 0644]
packaging/wrt-installer.spec
src/CMakeLists.txt
src/jobs/widget_install/job_widget_install.cpp
src/jobs/widget_install/task_ace_check.cpp
src/jobs/widget_install/task_ace_check.h
src/jobs/widget_install/task_certify.cpp
src/jobs/widget_install/task_certify.h
src/jobs/widget_install/task_certify_level.cpp
src/jobs/widget_install/task_certify_level.h
src/jobs/widget_install/task_database.cpp
src/jobs/widget_install/task_database.h
src/jobs/widget_install/task_encrypt_resource.cpp
src/jobs/widget_install/task_encrypt_resource.h
src/jobs/widget_install/task_file_manipulation.cpp
src/jobs/widget_install/task_file_manipulation.h
src/jobs/widget_install/task_install_ospsvc.cpp
src/jobs/widget_install/task_install_ospsvc.h
src/jobs/widget_install/task_manifest_file.cpp
src/jobs/widget_install/task_manifest_file.h
src/jobs/widget_install/task_pkg_info_update.cpp [moved from src/jobs/widget_install/task_certificates.cpp with 61% similarity]
src/jobs/widget_install/task_pkg_info_update.h [moved from src/jobs/widget_install/task_certificates.h with 53% similarity]
src/jobs/widget_install/task_prepare_files.cpp
src/jobs/widget_install/task_prepare_files.h
src/jobs/widget_install/task_prepare_reinstall.cpp
src/jobs/widget_install/task_prepare_reinstall.h
src/jobs/widget_install/task_recovery.cpp
src/jobs/widget_install/task_recovery.h
src/jobs/widget_install/task_remove_backup.cpp
src/jobs/widget_install/task_remove_backup.h
src/jobs/widget_install/task_smack.cpp
src/jobs/widget_install/task_smack.h
src/jobs/widget_install/task_update_files.cpp
src/jobs/widget_install/task_update_files.h
src/jobs/widget_install/task_widget_config.cpp
src/jobs/widget_install/task_widget_config.h
src/jobs/widget_install/widget_install_context.h
src/jobs/widget_uninstall/task_check.cpp
src/jobs/widget_uninstall/task_check.h
src/jobs/widget_uninstall/task_db_update.cpp
src/jobs/widget_uninstall/task_db_update.h
src/jobs/widget_uninstall/task_delete_certificates.cpp
src/jobs/widget_uninstall/task_delete_certificates.h
src/jobs/widget_uninstall/task_remove_custom_handlers.cpp
src/jobs/widget_uninstall/task_remove_custom_handlers.h
src/jobs/widget_uninstall/task_remove_files.cpp
src/jobs/widget_uninstall/task_remove_files.h
src/jobs/widget_uninstall/task_smack.cpp
src/jobs/widget_uninstall/task_smack.h
src/jobs/widget_uninstall/task_uninstall_ospsvc.cpp
src/jobs/widget_uninstall/task_uninstall_ospsvc.h
src/wrt-installer/wrt-installer.cpp
src/wrt-installer/wrt-installer.h

diff --git a/configuration/feature-wrt.properties b/configuration/feature-wrt.properties
new file mode 100644 (file)
index 0000000..e103153
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">\r
+<properties>\r
+    <entry key="http://tizen.org/feature/network.push"/>\r
+    <entry key="http://tizen.org/feature/network.bluetooth"/>\r
+    <entry key="http://tizen.org/feature/network.telephony"/>\r
+    <entry key="http://tizen.org/feature/network.telephony.mms"/>\r
+    <entry key="http://tizen.org/feature/network.nfc"/>\r
+    <entry key="http://tizen.org/feature/network.secure_element"/>\r
+    <entry key="http://tizen.org/feature/network.wifi"/>\r
+\r
+    <entry key="http://tizen.org/feature/camera"/>\r
+    <entry key="http://tizen.org/feature/microphone"/>\r
+    <entry key="http://tizen.org/feature/location.gps"/>\r
+    <entry key="http://tizen.org/feature/sensor.accelerometer"/>\r
+    <entry key="http://tizen.org/feature/sensor.gyroscope"/>\r
+    <entry key="http://tizen.org/feature/sensor.magnetometer"/>\r
+\r
+    <entry key="http://tizen.org/feature/screen.size.normal"/>\r
+    <entry key="http://tizen.org/feature/screen.size.normal.720.1280"/>\r
+    <entry key="http://tizen.org/feature/screen.size.normal.240.400"/>\r
+    <entry key="http://tizen.org/feature/screen.size.normal.320.480"/>\r
+    <entry key="http://tizen.org/feature/screen.size.normal.480.800"/>\r
+    <entry key="http://tizen.org/feature/screen.size.normal.540.960"/>\r
+    <entry key="http://tizen.org/feature/screen.size.normal.600.1024"/>\r
+    <entry key="http://tizen.org/feature/screen.size.normal.1080.1920"/>\r
+\r
+</properties>\r
diff --git a/configuration/privilege-wrt.properties b/configuration/privilege-wrt.properties
new file mode 100644 (file)
index 0000000..dc36b93
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">\r
+<properties>\r
+    <entry key="http://tizen.org/privilege/location"/>\r
+    <entry key="http://tizen.org/privilege/notification"/>\r
+    <entry key="http://tizen.org/privilege/mediacapture"/>\r
+    <entry key="http://tizen.org/privilege/fullscreen"/>\r
+    <entry key="http://tizen.org/privilege/unlimitedstorage"/>\r
+</properties>\r
index 707cebc..1cf31d6 100644 (file)
@@ -1,7 +1,7 @@
 #git:framework/web/wrt-installer
 Name:       wrt-installer
 Summary:    Installer for tizen Webruntime
-Version:    0.1.110
+Version:    0.1.114
 Release:    1
 Group:      Development/Libraries
 License:    Apache License, Version 2.0
@@ -37,7 +37,6 @@ BuildRequires:  pkgconfig(utilX)
 BuildRequires:  pkgconfig(wrt-plugins-types)
 BuildRequires:  pkgconfig(tapi)
 BuildRequires:  pkgconfig(shortcut)
-BuildRequires:  pkgconfig(dpl-encryption)
 BuildRequires:  pkgconfig(capi-appfw-app-manager)
 BuildRequires:  pkgconfig(app2sd)
 BuildRequires:  pkgconfig(web-provider)
@@ -60,6 +59,11 @@ Description: Wrt Installer for Tizen apps and Wac apps
 %endif
 
 %build
+%if 0%{?tizen_build_binary_release_type_eng}
+export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
+export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
+export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
+%endif
 
 export LDFLAGS+="-Wl,--rpath=/usr/lib -Wl,--hash-style=both -Wl,--as-needed"
 LDFLAGS="$LDFLAGS"
index 93a2431..6192474 100644 (file)
@@ -77,8 +77,8 @@ SET(INSTALLER_SOURCES
     ${INSTALLER_JOBS}/widget_install/task_update_files.cpp
     ${INSTALLER_JOBS}/widget_install/task_remove_backup.cpp
     ${INSTALLER_JOBS}/widget_install/task_encrypt_resource.cpp
-    ${INSTALLER_JOBS}/widget_install/task_certificates.cpp
     ${INSTALLER_JOBS}/widget_install/task_prepare_reinstall.cpp
+    ${INSTALLER_JOBS}/widget_install/task_pkg_info_update.cpp
     ${INSTALLER_JOBS}/widget_install/widget_security.cpp
     ${INSTALLER_JOBS}/widget_install/widget_update_info.cpp
     ${INSTALLER_JOBS}/widget_install/directory_api.cpp
index 99d102d..e746f01 100644 (file)
@@ -68,7 +68,7 @@
 #include <widget_install/task_database.h>
 #include <widget_install/task_remove_backup.h>
 #include <widget_install/task_encrypt_resource.h>
-#include <widget_install/task_certificates.h>
+#include <widget_install/task_pkg_info_update.h>
 #include <widget_install/task_commons.h>
 #include <widget_install/task_prepare_reinstall.h>
 
@@ -205,10 +205,10 @@ JobWidgetInstall::JobWidgetInstall(
         {
             AddTask(new TaskInstallOspsvc(m_installerContext));
         }
-        AddTask(new TaskCertificates(m_installerContext));
         AddTask(new TaskDatabase(m_installerContext));
         AddTask(new TaskAceCheck(m_installerContext));
         AddTask(new TaskSmack(m_installerContext));
+        AddTask(new TaskPkgInfoUpdate(m_installerContext));
     } else if (result == ConfigureResult::Updated) {
         LogDebug("Configure installation updated");
         LogDebug("Widget Update");
@@ -245,7 +245,6 @@ JobWidgetInstall::JobWidgetInstall(
         {
             AddTask(new TaskInstallOspsvc(m_installerContext));
         }
-        AddTask(new TaskCertificates(m_installerContext));
         AddTask(new TaskDatabase(m_installerContext));
         AddTask(new TaskAceCheck(m_installerContext));
         //TODO: remove widgetHandle from this task and move before database task
@@ -253,6 +252,7 @@ JobWidgetInstall::JobWidgetInstall(
         // Any error in acecheck while update will break widget
         AddTask(new TaskSmack(m_installerContext));
         AddTask(new TaskRemoveBackupFiles(m_installerContext));
+        AddTask(new TaskPkgInfoUpdate(m_installerContext));
     } else {
         // Installation is not allowed to proceed due to widget update policy
         LogWarning("Configure installation failed!");
index a75773b..72628c4 100644 (file)
@@ -42,10 +42,12 @@ TaskAceCheck::TaskAceCheck(InstallerContext& context) :
     DPL::TaskDecl<TaskAceCheck>(this),
     m_context(context)
 {
+    AddStep(&TaskAceCheck::StartStep);
     AddStep(&TaskAceCheck::StepPrepareForAce);
     AddStep(&TaskAceCheck::StepAceCheck);
     AddStep(&TaskAceCheck::StepProcessAceResponse);
     AddStep(&TaskAceCheck::StepCheckAceResponse);
+    AddStep(&TaskAceCheck::EndStep);
 }
 
 void TaskAceCheck::StepPrepareForAce()
@@ -204,10 +206,20 @@ void TaskAceCheck::StepCheckAceResponse()
         }
     }
     LogDebug("Installation continues...");
+}
+
+void TaskAceCheck::StartStep()
+{
+    LogDebug("--------- <TaskAceCheck> : START ----------");
+}
 
+void TaskAceCheck::EndStep()
+{
     m_context.job->UpdateProgress(
         InstallerContext::INSTALL_ACE_CHECK,
         "Widget Access Control Check Finished");
+
+    LogDebug("--------- <TaskAceCheck> : END ----------");
 }
 } //namespace WidgetInstall
 } //namespace Jobs
index d3c5955..d317975 100644 (file)
@@ -41,6 +41,9 @@ class TaskAceCheck :
     void StepProcessAceResponse();
     void StepCheckAceResponse();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskAceCheck(InstallerContext& context);
 };
index 7b44f7f..a610cb6 100644 (file)
@@ -125,12 +125,13 @@ TaskCertify::TaskCertify(InstallerContext &inCont) :
     DPL::TaskDecl<TaskCertify>(this),
     m_contextData(inCont)
 {
+    AddStep(&TaskCertify::StartStep);
     AddStep(&TaskCertify::stepSignature);
     // certi comparison determines whether the update.
     if (true == m_contextData.isUpdateMode) {
         AddStep(&TaskCertify::stepVerifyUpdate);
     }
-    AddStep(&TaskCertify::stepFinalize);
+    AddStep(&TaskCertify::EndStep);
 }
 
 void TaskCertify::processDistributorSignature(const SignatureData &data)
@@ -310,15 +311,6 @@ void TaskCertify::stepSignature()
         "Widget Signature checked");
 }
 
-void TaskCertify::stepFinalize()
-{
-    LogDebug("Step: <<CERTYFYING DONE>>");
-
-    m_contextData.job->UpdateProgress(
-        InstallerContext::INSTALL_CERT_CHECK,
-        "Widget Certification Check Finished");
-}
-
 bool TaskCertify::isTizenWebApp() const
 {
     bool ret = FALSE;
@@ -357,6 +349,22 @@ void TaskCertify::stepVerifyUpdate()
         }
     }
 }
+
+void TaskCertify::StartStep()
+{
+    LogDebug("--------- <TaskCertify> : START ----------");
+}
+
+void TaskCertify::EndStep()
+{
+    LogDebug("Step: <<CERTYFYING DONE>>");
+
+    m_contextData.job->UpdateProgress(
+        InstallerContext::INSTALL_CERT_CHECK,
+        "Widget Certification Check Finished");
+
+    LogDebug("--------- <TaskCertify> : END ----------");
+}
 } //namespace WidgetInstall
 } //namespace Jobs
 
index 955b8ff..6a59781 100644 (file)
@@ -51,7 +51,9 @@ class TaskCertify :
     //steps
     void stepSignature();
     void stepVerifyUpdate();
-    void stepFinalize();
+
+    void StartStep();
+    void EndStep();
 
     void processDistributorSignature(const ValidationCore::SignatureData &data);
     void processAuthorSignature(const ValidationCore::SignatureData &data);
index 6c77ccf..1c5c77c 100644 (file)
@@ -53,7 +53,9 @@ TaskCertifyLevel::TaskCertifyLevel(InstallerContext &inCont) :
     DPL::TaskDecl<TaskCertifyLevel>(this),
     m_contextData(inCont)
 {
+    AddStep(&TaskCertifyLevel::StartStep);
     AddStep(&TaskCertifyLevel::stepCertifyLevel);
+    AddStep(&TaskCertifyLevel::EndStep);
 }
 
 void TaskCertifyLevel::stepCertifyLevel()
@@ -63,10 +65,6 @@ void TaskCertifyLevel::stepCertifyLevel()
         ThrowMsg(Exceptions::PrivilegeLevelViolation, "setting level violate");
     }
     LogDebug("================ Step: <<Certify Level>> DONE ================");
-
-    m_contextData.job->UpdateProgress(
-        InstallerContext::INSTALL_CERTIFY_LEVEL_CHECK,
-        "Application Certificate level check Finished");
 }
 
 void TaskCertifyLevel::getSignatureFiles(const std::string& path,
@@ -229,6 +227,19 @@ TaskCertifyLevel::Level TaskCertifyLevel::certTypeToLevel(
     return Level::UNKNOWN;
 }
 
+void TaskCertifyLevel::StartStep()
+{
+    LogDebug("--------- <TaskCertifyLevel> : START ----------");
+}
+
+void TaskCertifyLevel::EndStep()
+{
+    LogDebug("--------- <TaskCertifyLevel> : END ----------");
+
+    m_contextData.job->UpdateProgress(
+        InstallerContext::INSTALL_CERTIFY_LEVEL_CHECK,
+        "Application Certificate level check Finished");
+}
 } //namespace WidgetInstall
 } //namespace Jobs
 
index ae8ce40..d340cb0 100644 (file)
@@ -57,6 +57,8 @@ class TaskCertifyLevel :
 
     //steps
     void stepCertifyLevel();
+    void StartStep();
+    void EndStep();
 
     //util
     void getSignatureFiles(const std::string& path,
index de10e4a..49020fc 100644 (file)
@@ -54,12 +54,14 @@ TaskDatabase::TaskDatabase(InstallerContext& context) :
     m_handleToRemove(INVALID_WIDGET_HANDLE),
     m_handle(INVALID_WIDGET_HANDLE)
 {
+    AddStep(&TaskDatabase::StartStep);
     AddStep(&TaskDatabase::StepRegisterExternalFiles);
     AddStep(&TaskDatabase::StepWrtDBInsert);
     AddStep(&TaskDatabase::StepAceDBInsert);
     AddStep(&TaskDatabase::StepSecurityOriginDBInsert);
     AddStep(&TaskDatabase::StepRemoveExternalFiles);
     AddStep(&TaskDatabase::StepLiveboxDBInsert);
+    AddStep(&TaskDatabase::EndStep);
 
     AddAbortStep(&TaskDatabase::StepAbortDBInsert);
     AddAbortStep(&TaskDatabase::StepAbortAceDBInsert);
@@ -92,13 +94,13 @@ void TaskDatabase::StepWrtDBInsert()
                          "Given tizenId not found for update installation");
             }
 
-            WidgetDAO::backupAndUpdateWidget(
-                m_backAppId,
-                m_context.widgetConfig.tzAppid,
-                m_context.widgetConfig,
-                m_context.widgetSecurity);
-            m_handle = WidgetDAOReadOnly::getHandle(
-                    m_context.widgetConfig.tzAppid);
+            WidgetDAO::updateTizenAppId(m_context.widgetConfig.tzAppid,
+                                        m_backAppId);
+            WidgetDAO::registerWidget(m_context.widgetConfig.tzAppid,
+                                      m_context.widgetConfig,
+                                      m_context.widgetSecurity);
+            m_handle =
+                WidgetDAOReadOnly::getHandle(m_context.widgetConfig.tzAppid);
         } else { //new installation
             LogDebug("Registering widget...");
             WidgetDAO::registerWidget(
@@ -176,10 +178,6 @@ void TaskDatabase::StepSecurityOriginDBInsert()
             }
         }
     }
-
-    m_context.job->UpdateProgress(
-        InstallerContext::INSTALL_NEW_DB_INSERT,
-        "New Widget DB UPDATE Finished");
 }
 
 void TaskDatabase::StepRegisterExternalFiles()
@@ -252,8 +250,9 @@ void TaskDatabase::StepAbortDBInsert()
     Try
     {
         if (m_context.isUpdateMode) {
-            WidgetDAO::restoreUpdateWidget(m_backAppId,
-                    m_context.widgetConfig.tzAppid);
+            WidgetDAO::unregisterWidget(m_context.widgetConfig.tzAppid);
+            WidgetDAO::updateTizenAppId(m_backAppId,
+                                        m_context.widgetConfig.tzAppid);
         } else {
             WidgetDAO::unregisterWidget(m_context.widgetConfig.tzAppid);
         }
@@ -319,5 +318,15 @@ void TaskDatabase::StepLiveboxDBInsert()
                 autoLaunch, mouseEvent, pdFastOpen);
     }
 }
+
+void TaskDatabase::StartStep()
+{
+    LogDebug("--------- <TaskDatabase> : START ----------");
+}
+
+void TaskDatabase::EndStep()
+{
+    LogDebug("--------- <TaskDatabase> : END ----------");
+}
 } //namespace WidgetInstall
 } //namespace Jobs
index e3e4951..79d19f5 100644 (file)
@@ -55,6 +55,9 @@ class TaskDatabase :
     void StepAbortDBInsert();
     void StepAbortAceDBInsert();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskDatabase(InstallerContext& context);
 };
index e6838e5..7e3b18a 100644 (file)
@@ -181,7 +181,9 @@ TaskEncryptResource::TaskEncryptResource(InstallerContext& context) :
     DPL::TaskDecl<TaskEncryptResource>(this),
     m_context(context)
 {
+    AddStep(&TaskEncryptResource::StartStep);
     AddStep(&TaskEncryptResource::StepEncryptResource);
+    AddStep(&TaskEncryptResource::EndStep);
 }
 
 void TaskEncryptResource::StepEncryptResource()
@@ -189,9 +191,6 @@ void TaskEncryptResource::StepEncryptResource()
     LogDebug("Step Encrypt resource");
 
     EncryptDirectory(m_context.locations->getTemporaryRootDir());
-    m_context.job->UpdateProgress(
-            InstallerContext::INSTALL_ECRYPTION_FILES,
-            "Ecrypt resource files");
 }
 
 void TaskEncryptResource::EncryptDirectory(std::string path)
@@ -338,5 +337,18 @@ void TaskEncryptResource::EncryptFile(const std::string &fileName)
     m_context.widgetConfig.encryptedFiles.insert(fileInfo);
 }
 
+void TaskEncryptResource::StartStep()
+{
+    LogDebug("--------- <TaskEncryptResource> : START ----------");
+}
+
+void TaskEncryptResource::EndStep()
+{
+    m_context.job->UpdateProgress(
+            InstallerContext::INSTALL_ECRYPTION_FILES,
+            "Ecrypt resource files");
+
+    LogDebug("--------- <TaskEncryptResource> : END ----------");
+}
 } //namespace WidgetInstall
 } //namespace Jobs
index 9c95696..b89a992 100644 (file)
@@ -38,6 +38,9 @@ class TaskEncryptResource : public DPL::TaskDecl<TaskEncryptResource>
 
     void StepEncryptResource();
 
+    void StartStep();
+    void EndStep();
+
     void EncryptDirectory(std::string path);
     void EncryptFile(const std::string &fileName);
 
index 866d189..c7b0ec6 100644 (file)
@@ -146,6 +146,7 @@ TaskFileManipulation::TaskFileManipulation(InstallerContext& context) :
     m_context(context),
     m_extHandle(NULL)
 {
+    AddStep(&TaskFileManipulation::StartStep);
     if (INSTALL_LOCATION_TYPE_EXTERNAL !=
             m_context.locationType)
     {
@@ -167,6 +168,7 @@ TaskFileManipulation::TaskFileManipulation(InstallerContext& context) :
 
         AddAbortStep(&TaskFileManipulation::StepAbortCreateExternalDir);
     }
+    AddStep(&TaskFileManipulation::EndStep);
 }
 
 void TaskFileManipulation::StepCreateDirs()
@@ -435,5 +437,15 @@ void TaskFileManipulation::StepCreateSharedFolder()
                 SHARED_STORAGE_MODE);
     }
 }
+
+void TaskFileManipulation::StartStep()
+{
+    LogDebug("--------- <TaskFileManipulation> : START ----------");
+}
+
+void TaskFileManipulation::EndStep()
+{
+    LogDebug("--------- <TaskFileManipulation> : END ----------");
+}
 } //namespace WidgetInstall
 } //namespace Jobs
index fc1d9ff..24f5cf3 100644 (file)
@@ -50,6 +50,9 @@ class TaskFileManipulation :
     void StepFinishExternalInstallation();
     void StepAbortCreateExternalDir();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskFileManipulation(InstallerContext& context);
 };
index 3c3fb94..0a3e2f6 100644 (file)
@@ -50,8 +50,9 @@ TaskInstallOspsvc::TaskInstallOspsvc(InstallerContext& context) :
     DPL::TaskDecl<TaskInstallOspsvc>(this),
     m_context(context)
 {
+    AddStep(&TaskInstallOspsvc::StartStep);
     AddStep(&TaskInstallOspsvc::StepInstallOspService);
-    AddStep(&TaskInstallOspsvc::StepUpdateManifestFile);
+    AddStep(&TaskInstallOspsvc::EndStep);
 }
 
 void TaskInstallOspsvc::StepInstallOspService()
@@ -92,34 +93,20 @@ void TaskInstallOspsvc::StepInstallOspService()
     }
 
     pclose(fd);
-
-    m_context.job->UpdateProgress(
-        InstallerContext::INSTALL_INSTALL_OSPSVC,
-        "Installed Osp servcie");
 }
 
-void TaskInstallOspsvc::StepUpdateManifestFile()
+void TaskInstallOspsvc::StartStep()
 {
-    std::string pkgid = DPL::ToUTF8String(m_context.widgetConfig.tzPkgid);
-    pkgmgrinfo_pkginfo_h handle;
-
-    LogDebug("StepUpdateManifestFile");
-    std::ostringstream manifest_file;
-    if (m_context.mode.rootPath == InstallMode::RootPath::RO) {
-        manifest_file << "/usr/share/packages/"; //TODO constant with path
-    } else {
-        manifest_file << "/opt/share/packages/"; //TODO constant with path
-    }
-    manifest_file << pkgid;
-    manifest_file << ".xml";
-    LogDebug("manifest file : " << manifest_file.str());
+    LogDebug("--------- <TaskInstallOspsvc> : START ----------");
+}
 
-    int code = pkgmgr_parser_parse_manifest_for_upgrade(
-            manifest_file.str().c_str(), NULL);
+void TaskInstallOspsvc::EndStep()
+{
+    m_context.job->UpdateProgress(
+        InstallerContext::INSTALL_INSTALL_OSPSVC,
+        "Installed Osp servcie");
 
-    if (code != 0) {
-        LogError("Manifest parser error: " << code);
-    }
+    LogDebug("--------- <TaskInstallOspsvc> : END ----------");
 }
 } //namespace WidgetInstall
 } //namespace Jobs
index 819a1b0..3e3a7e6 100644 (file)
@@ -36,10 +36,12 @@ class TaskInstallOspsvc : public DPL::TaskDecl<TaskInstallOspsvc>
     InstallerContext &m_context;
 
     void StepInstallOspService();
-    void StepUpdateManifestFile();
 
     void StepAbortInstall();
 
+    void StartStep();
+    void EndStep();
+
     // return callback
     static int StatusCallback(
         int req_id, const char *pkg_type, const char *pkg_name,
index 6133536..37d856e 100644 (file)
@@ -117,7 +117,6 @@ TaskManifestFile::TaskManifestFile(InstallerContext &inCont) :
         AddStep(&TaskManifestFile::stepCopyLiveboxFiles);
         AddStep(&TaskManifestFile::stepCreateExecFile);
         AddStep(&TaskManifestFile::stepGenerateManifest);
-        AddStep(&TaskManifestFile::stepParseManifest);
 
         AddAbortStep(&TaskManifestFile::stepAbortIconFiles);
     } else {
@@ -125,9 +124,6 @@ TaskManifestFile::TaskManifestFile(InstallerContext &inCont) :
         AddStep(&TaskManifestFile::stepCopyLiveboxFiles);
         AddStep(&TaskManifestFile::stepCreateExecFile);
         AddStep(&TaskManifestFile::stepGenerateManifest);
-        AddStep(&TaskManifestFile::stepParseManifest);
-
-        AddAbortStep(&TaskManifestFile::stepAbortParseManifest);
     }
 }
 
@@ -599,53 +595,11 @@ void TaskManifestFile::stepGenerateManifest()
     commit_manifest = destFile.str();
     LogDebug("Commiting manifest file : " << commit_manifest);
 
-    m_context.job->UpdateProgress(
-        InstallerContext::INSTALL_CREATE_MANIFEST,
-        "Widget Manifest Creation Finished");
-}
-
-void TaskManifestFile::stepParseManifest()
-{
-    int code = 0;
-    char* updateTags[3] = {NULL, };
-
-    if (!m_context.mode.removable) {
-        updateTags[0] = "preload=false";
-        updateTags[1] = "removable=false";
-        updateTags[2] = NULL;
-
-    }
-
     commitManifest();
 
-    if (m_context.isUpdateMode || (
-                m_context.mode.rootPath == InstallMode::RootPath::RO
-                && m_context.mode.installTime == InstallMode::InstallTime::PRELOAD
-                && m_context.mode.extension == InstallMode::ExtensionType::DIR)) {
-
-        if (m_context.widgetConfig.packagingType != PKG_TYPE_HYBRID_WEB_APP) {
-            code = pkgmgr_parser_parse_manifest_for_upgrade(
-                    commit_manifest.c_str(), (updateTags[0] == NULL) ? NULL : updateTags);
-
-            if (code != 0) {
-                LogError("Manifest parser error: " << code);
-                ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code);
-            }
-        }
-    } else {
-        code = pkgmgr_parser_parse_manifest_for_installation(
-                commit_manifest.c_str(), (updateTags[0] == NULL) ? NULL : updateTags);
-
-        if (code != 0) {
-            LogError("Manifest parser error: " << code);
-            ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code);
-        }
-    }
-
     m_context.job->UpdateProgress(
-            InstallerContext::INSTALL_CREATE_MANIFEST,
-            "Widget Manifest Parsing Finished");
-    LogDebug("Manifest parsed");
+        InstallerContext::INSTALL_CREATE_MANIFEST,
+        "Widget Manifest Creation Finished");
 }
 
 void TaskManifestFile::commitManifest()
@@ -1051,23 +1005,6 @@ void TaskManifestFile::setMetadata(UiApplication &uiApp)
     }
 }
 
-void TaskManifestFile::stepAbortParseManifest()
-{
-    LogError("[Parse Manifest] Abroting....");
-
-    int code = pkgmgr_parser_parse_manifest_for_uninstallation(
-            DPL::ToUTF8String(manifest_file).c_str(), NULL);
-
-    if (0 != code) {
-        LogWarning("Manifest parser error: " << code);
-        ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code);
-    }
-    int ret = unlink(DPL::ToUTF8String(manifest_file).c_str());
-    if (0 != ret) {
-        LogWarning("No manifest file found: " << manifest_file);
-    }
-}
-
 void TaskManifestFile::setLiveBoxInfo(Manifest& manifest)
 {
     FOREACH(it, m_context.widgetConfig.configInfo.m_livebox) {
@@ -1220,7 +1157,7 @@ void TaskManifestFile::setAccount(Manifest& manifest)
         return;
     }
     if (account.m_multiAccountSupport) {
-        provider.multiAccount = L"ture";
+        provider.multiAccount = L"true";
     } else {
         provider.multiAccount = L"false";
     }
@@ -1267,5 +1204,14 @@ void TaskManifestFile::setPrivilege(Manifest& manifest)
     manifest.addPrivileges(privilege);
 }
 
+void TaskManifestFile::StartStep()
+{
+
+}
+
+void TaskManifestFile::EndStep()
+{
+
+}
 } //namespace WidgetInstall
 } //namespace Jobs
index 4bcc3b3..a318fc8 100644 (file)
@@ -64,16 +64,16 @@ class TaskManifestFile :
     void stepCopyIconFiles();
     void stepCopyLiveboxFiles();
     void stepGenerateManifest();
-    void stepParseManifest();
-    void stepParseUpgradedManifest();
 
     void stepAbortParseManifest();
 
     //For widget update
     void stepBackupIconFiles();
-
     void stepAbortIconFiles();
 
+    void StartStep();
+    void EndStep();
+
     //private data
     std::list<std::string> icon_list; //TODO: this should be registered as
                                       // external files
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-/*
- * @file    task_certificates.cpp
- * @author  Leerang Song(leerang.song@samsung.com)
+/**
+ * @file    task_pkg_info_update.cpp
+ * @author  Soyoung Kim (sy037.kim@samsung.com)
  * @version 1.0
- * @brief   Implementation file for installer task certificates
+ * @brief   Implementation file for installer task information about package
+ * update
  */
-#include <widget_install/task_certificates.h>
-#include <widget_install/widget_install_context.h>
-#include <widget_install/widget_install_errors.h>
-#include <widget_install/job_widget_install.h>
-#include <dpl/wrt-dao-ro/widget_dao_read_only.h>
-#include <pkgmgr_installer.h>
-#include <vcore/CryptoHash.h>
+#include "task_pkg_info_update.h"
+
+#include <unistd.h>
+#include <string>
 
+#include <fstream>
 #include <dpl/log/log.h>
-#include <dlog.h>
-#include <sstream>
+#include <dpl/wrt-dao-ro/global_config.h>
 #include <dpl/foreach.h>
 #include <dpl/sstream.h>
+#include <dpl/wrt-dao-ro/widget_dao_read_only.h>
+#include <pkgmgr_installer.h>
+#include <pkgmgr/pkgmgr_parser.h>
+#include <pkgmgr-info.h>
+#include <vcore/CryptoHash.h>
+
+#include <widget_install/job_widget_install.h>
+#include <widget_install/widget_install_context.h>
+#include <widget_install/widget_install_errors.h>
 
 using namespace WrtDB;
 
+namespace {
+}
+
 namespace Jobs {
 namespace WidgetInstall {
-TaskCertificates::TaskCertificates(InstallerContext& context) :
-    DPL::TaskDecl<TaskCertificates>(this),
-    m_context(context),
-    m_pkgHandle(NULL)
+TaskPkgInfoUpdate::TaskPkgInfoUpdate(InstallerContext& context) :
+    DPL::TaskDecl<TaskPkgInfoUpdate>(this),
+    m_context(context)
+{
+    AddStep(&TaskPkgInfoUpdate::StartStep);
+    AddStep(&TaskPkgInfoUpdate::StepPkgInfo);
+    AddStep(&TaskPkgInfoUpdate::StepSetCertiInfo);
+    AddStep(&TaskPkgInfoUpdate::EndStep);
+    AddStep(&TaskPkgInfoUpdate::StepSetEndofInstallation);
+
+    AddAbortStep(&TaskPkgInfoUpdate::StepAbortCertiInfo);
+    AddAbortStep(&TaskPkgInfoUpdate::stepAbortParseManifest);
+}
+
+void TaskPkgInfoUpdate::StepPkgInfo()
 {
-    AddStep(&TaskCertificates::StepSetCertiInfo);
-    AddAbortStep(&TaskCertificates::StepAbortCertiInfo);
+    int code = 0;
+    char* updateTags[3] = {NULL, };
+
+    if (!m_context.mode.removable) {
+        updateTags[0] = "preload=false";
+        updateTags[1] = "removable=false";
+        updateTags[2] = NULL;
+
+    }
+
+    if (m_context.mode.rootPath == InstallMode::RootPath::RO) {
+        m_manifest += "/usr/share/packages/";
+    } else {
+        m_manifest += "/opt/share/packages/";
+    }
+    m_manifest += DPL::ToUTF8String(m_context.widgetConfig.tzPkgid) + ".xml";
+    LogDebug("manifest file : " << m_manifest);
+
+    if (m_context.isUpdateMode || (
+                m_context.mode.rootPath == InstallMode::RootPath::RO
+                && m_context.mode.installTime == InstallMode::InstallTime::PRELOAD
+                && m_context.mode.extension == InstallMode::ExtensionType::DIR)) {
+
+        if (m_context.widgetConfig.packagingType != PKG_TYPE_HYBRID_WEB_APP) {
+            code = pkgmgr_parser_parse_manifest_for_upgrade(
+                    m_manifest.c_str(), (updateTags[0] == NULL) ? NULL : updateTags);
+
+            if (code != 0) {
+                LogError("Manifest parser error: " << code);
+                ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code);
+            }
+        }
+    } else {
+        code = pkgmgr_parser_parse_manifest_for_installation(
+                m_manifest.c_str(), (updateTags[0] == NULL) ? NULL : updateTags);
+
+        if (code != 0) {
+            LogError("Manifest parser error: " << code);
+            ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code);
+        }
+    }
+
+    m_context.job->UpdateProgress(
+            InstallerContext::INSTALL_PKGINFO_UPDATE,
+            "Manifest Update Finished");
+    LogDebug("Manifest parsed");
 }
 
-void TaskCertificates::StepSetCertiInfo()
+void TaskPkgInfoUpdate::StepSetCertiInfo()
 {
     LogDebug("StepSetCertiInfo");
 
@@ -74,17 +139,14 @@ void TaskCertificates::StepSetCertiInfo()
     if (pkgmgr_installer_destroy_certinfo_set_handle(m_pkgHandle) < 0) {
         LogError("pkgmgrInstallerDestroyCertinfoSetHandle fail");
     }
-
-    m_context.job->UpdateProgress(
-            InstallerContext::INSTALL_SET_CERTINFO,
-            "Save certinfo to pkgmgr");
 }
 
-void TaskCertificates::SetCertiInfo(CertificateSource source)
+void TaskPkgInfoUpdate::SetCertiInfo(int source)
 {
     LogDebug("Set CertiInfo to pkgmgr : " << source);
     CertificateChainList certificateChainList;
-    m_context.widgetSecurity.getCertificateChainList(certificateChainList, source);
+    m_context.widgetSecurity.getCertificateChainList(certificateChainList,
+            (CertificateSource)source);
 
     FOREACH(it, certificateChainList)
     {
@@ -169,7 +231,7 @@ void TaskCertificates::SetCertiInfo(CertificateSource source)
     }
 }
 
-void TaskCertificates::StepAbortCertiInfo()
+void TaskPkgInfoUpdate::StepAbortCertiInfo()
 {
     if ((pkgmgr_installer_delete_certinfo(
              const_cast<char*>(DPL::ToUTF8String(
@@ -179,5 +241,44 @@ void TaskCertificates::StepAbortCertiInfo()
         LogError("pkgmgr_installer_delete_certinfo fail");
     }
 }
+
+void TaskPkgInfoUpdate::StartStep()
+{
+    LogDebug("--------- <TaskPkgInfoUpdate> : START ----------");
+}
+
+void TaskPkgInfoUpdate::EndStep()
+{
+    m_context.job->UpdateProgress(
+            InstallerContext::INSTALL_SET_CERTINFO,
+            "Save certinfo to pkgmgr");
+
+    LogDebug("--------- <TaskPkgInfoUpdate> : END ----------");
+}
+
+void TaskPkgInfoUpdate::stepAbortParseManifest()
+{
+    LogError("[Parse Manifest] Abroting....");
+
+    int code = pkgmgr_parser_parse_manifest_for_uninstallation(
+            m_manifest.c_str(), NULL);
+
+    if (0 != code) {
+        LogWarning("Manifest parser error: " << code);
+        ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code);
+    }
+    int ret = unlink(m_manifest.c_str());
+    if (0 != ret) {
+        LogWarning("No manifest file found: " << m_manifest);
+    }
+}
+
+void TaskPkgInfoUpdate::StepSetEndofInstallation()
+{
+    m_context.job->UpdateProgress(
+        InstallerContext::INSTALL_END,
+        "End installation");
+}
+
 } //namespace WidgetInstall
 } //namespace Jobs
similarity index 53%
rename from src/jobs/widget_install/task_certificates.h
rename to src/jobs/widget_install/task_pkg_info_update.h
index e689cee..e1e9235 100644 (file)
  *    limitations under the License.
  */
 /*
- * @file    task_certificates.h
- * @author  Leerang Song(leerang.song@samsung.com)
- * @version 1.0
- * @brief   Header file for installer task certificates
+ * @file       task_pkg_info_update.h
+ * @author     soyoung kim (sy037.kim@samsung.com)
+ * @version    1.0
  */
-#ifndef INSTALLER_CORE_JOS_WIDGET_INSTALL_TASK_CERTIFICATES_H
-#define INSTALLER_CORE_JOS_WIDGET_INSTALL_TASK_CERTIFICATES_H
 
-#include <dpl/task.h>
-#include <dpl/event/inter_context_delegate.h>
-#include <dpl/foreach.h>
-#include <dpl/wrt-dao-ro/widget_dao_read_only.h>
+#ifndef SRC_JOBS_WIDGET_INSTALL_TASK_PKG_INFO_UPDATE_H_
+#define SRC_JOBS_WIDGET_INSTALL_TASK_PKG_INFO_UPDATE_H_
 
+#include <dpl/task.h>
+#include <string>
 #include <pkgmgr_installer.h>
-using namespace WrtDB;
 
 class InstallerContext;
 
 namespace Jobs {
 namespace WidgetInstall {
-class TaskCertificates :
-    public DPL::TaskDecl<TaskCertificates>,
-    public DPL::Event::ICDelegateSupport<TaskCertificates>
+class TaskPkgInfoUpdate : public DPL::TaskDecl<TaskPkgInfoUpdate>
 {
   private:
-    InstallerContext& m_context;
+    // Installation context
+    InstallerContext &m_context;
 
+    void StepPkgInfo();
     void StepSetCertiInfo();
+    void SetCertiInfo(int source);
+    void StepSetEndofInstallation();
+
+    void stepAbortParseManifest();
     void StepAbortCertiInfo();
-    void SetCertiInfo(CertificateSource source);
+
+    void StartStep();
+    void EndStep();
 
     pkgmgr_instcertinfo_h m_pkgHandle;
+    std::string m_manifest;
 
   public:
-    TaskCertificates(InstallerContext& context);
+    explicit TaskPkgInfoUpdate(InstallerContext &installerContext);
 };
-} //namespace WidgetInstall
-} //namespace Jobs
-
-#endif /* INSTALLER_CORE_JOS_WIDGET_INSTALL_TASK_CERTIFICATES_H */
+} // namespace WidgetInstall
+} // namespace Jobs
+#endif /* SRC_JOBS_WIDGET_INSTALL_TASK_PKG_INFO_UPDATE_H_ */
index 1838887..8a43fa6 100644 (file)
@@ -39,8 +39,9 @@ TaskPrepareFiles::TaskPrepareFiles(InstallerContext &installerContext) :
     DPL::TaskDecl<TaskPrepareFiles>(this),
     m_installerContext(installerContext)
 {
-    // Install steps
+    AddStep(&TaskPrepareFiles::StartStep);
     AddStep(&TaskPrepareFiles::StepCopyFiles);
+    AddStep(&TaskPrepareFiles::EndStep);
 }
 
 void TaskPrepareFiles::CopyFile(const std::string& source)
@@ -109,5 +110,15 @@ void TaskPrepareFiles::StepCopyFiles()
         CopyFile(os.str());
     }
 }
+
+void TaskPrepareFiles::StartStep()
+{
+    LogDebug("--------- <TaskPrepareFiles> : START ----------");
+}
+
+void TaskPrepareFiles::EndStep()
+{
+    LogDebug("--------- <TaskPrepareFiles> : END ----------");
+}
 } // namespace WidgetInstall
 } // namespace Jobs
index dd217a5..99458e8 100644 (file)
@@ -40,6 +40,9 @@ class TaskPrepareFiles : public DPL::TaskDecl<TaskPrepareFiles>
     // Steps
     void StepCopyFiles();
 
+    void StartStep();
+    void EndStep();
+
   public:
     explicit TaskPrepareFiles(InstallerContext &installerContext);
 };
index 4eb4f3d..7178db3 100644 (file)
@@ -55,12 +55,14 @@ TaskPrepareReinstall::TaskPrepareReinstall(InstallerContext& context) :
     DPL::TaskDecl<TaskPrepareReinstall>(this),
     m_context(context)
 {
+    AddStep(&TaskPrepareReinstall::StartStep);
     AddStep(&TaskPrepareReinstall::StepPrepare);
     AddStep(&TaskPrepareReinstall::StepParseRDSDelta);
     AddStep(&TaskPrepareReinstall::StepVerifyRDSDelta);
     AddStep(&TaskPrepareReinstall::StepAddFile);
     AddStep(&TaskPrepareReinstall::StepDeleteFile);
     AddStep(&TaskPrepareReinstall::StepModifyFile);
+    AddStep(&TaskPrepareReinstall::EndStep);
 }
 
 void TaskPrepareReinstall::StepPrepare()
@@ -193,9 +195,20 @@ void TaskPrepareReinstall::StepModifyFile()
         }
         LogDebug("Replace " << newfile << " to " << destPath);
     }
+}
+
+void TaskPrepareReinstall::StartStep()
+{
+    LogDebug("--------- <TaskPrepareReinstall> : START ----------");
+}
+
+void TaskPrepareReinstall::EndStep()
+{
     m_context.job->UpdateProgress(
         InstallerContext::INSTALL_RDS_PREPARE,
         "RDS prepare finished");
+
+    LogDebug("--------- <TaskPrepareReinstall> : END ----------");
 }
 
 } //namespace WidgetInstall
index 1104e15..2828f27 100644 (file)
@@ -48,6 +48,9 @@ class TaskPrepareReinstall :
 
     void StepAbortPrepareReinstall();
 
+    void StartStep();
+    void EndStep();
+
     InstallerContext& m_context;
     // TODO : replace multimap
     std::list<std::string> m_addFileList;
index 09b0e7d..8922c0f 100644 (file)
@@ -47,7 +47,23 @@ TaskRecovery::TaskRecovery(InstallerContext& context) :
     DPL::TaskDecl<TaskRecovery>(this),
     m_context(context)
 {
+    AddStep(&TaskRecovery::StartStep);
     AddStep(&TaskRecovery::StepCreateCheckFile);
+    AddStep(&TaskRecovery::EndStep);
+}
+
+void TaskRecovery::StartStep()
+{
+    LogDebug("--------- <TaskRecovery> : START ----------");
+}
+
+void TaskRecovery::EndStep()
+{
+    m_context.job->UpdateProgress(
+        InstallerContext::INSTALL_CHECK_FILE,
+        "Create information file for recovery");
+
+    LogDebug("--------- <TaskRecovery> : END ----------");
 }
 
 void TaskRecovery::StepCreateCheckFile()
@@ -75,10 +91,6 @@ void TaskRecovery::StepCreateCheckFile()
     } else {
         ThrowMsg(Exceptions::FileOperationFailed, "Fail to create file for recovery.");
     }
-
-    m_context.job->UpdateProgress(
-        InstallerContext::INSTALL_CHECK_FILE,
-        "Create information file for recovery");
 }
 } //namespace WidgetInstall
 } //namespace Jobs
index 120c1aa..22503a3 100644 (file)
@@ -36,6 +36,8 @@ class TaskRecovery : public DPL::TaskDecl<TaskRecovery>
     InstallerContext &m_context;
 
     void StepCreateCheckFile();
+    void StartStep();
+    void EndStep();
 
   public:
     explicit TaskRecovery(InstallerContext &installerContext);
index e4cc1f0..3a69e6c 100644 (file)
@@ -42,11 +42,13 @@ TaskRemoveBackupFiles::TaskRemoveBackupFiles(InstallerContext& context) :
     DPL::TaskDecl<TaskRemoveBackupFiles>(this),
     m_context(context)
 {
+    AddStep(&TaskRemoveBackupFiles::StartStep);
     if (m_context.mode.extension != InstallMode::ExtensionType::DIR)
     {
         AddStep(&TaskRemoveBackupFiles::StepRemoveBackupFiles);
     }
     AddStep(&TaskRemoveBackupFiles::StepDeleteBackupDB);
+    AddStep(&TaskRemoveBackupFiles::EndStep);
 }
 
 void TaskRemoveBackupFiles::StepRemoveBackupFiles()
@@ -86,5 +88,14 @@ void TaskRemoveBackupFiles::StepDeleteBackupDB()
     }
 }
 
+void TaskRemoveBackupFiles::StartStep()
+{
+    LogDebug("--------- <TaskRemoveBackupFiles> : START ----------");
+}
+
+void TaskRemoveBackupFiles::EndStep()
+{
+    LogDebug("--------- <TaskRemoveBackupFiles> : END ----------");
+}
 } //namespace WidgetInstall
 } //namespace Jobs
index 777f988..9c12794 100644 (file)
@@ -37,6 +37,9 @@ class TaskRemoveBackupFiles :
     void StepRemoveBackupFiles();
     void StepDeleteBackupDB();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskRemoveBackupFiles(InstallerContext& context);
 };
index 65a97cb..f338fc3 100644 (file)
@@ -57,10 +57,11 @@ TaskSmack::TaskSmack(InstallerContext& context) :
     m_context(context),
     m_pkgId(NULL)
 {
+    AddStep(&TaskSmack::StartStep);
     AddStep(&TaskSmack::StepSetInstall);
     AddStep(&TaskSmack::StepSmackFolderLabeling);
     AddStep(&TaskSmack::StepSmackPrivilege);
-    AddStep(&TaskSmack::StepSetEndofInstallation);
+    AddStep(&TaskSmack::EndStep);
 
     AddAbortStep(&TaskSmack::StepAbortSmack);
 }
@@ -223,13 +224,6 @@ void TaskSmack::StepAbortSmack()
 #endif
 }
 
-void TaskSmack::StepSetEndofInstallation()
-{
-    m_context.job->UpdateProgress(
-        InstallerContext::INSTALL_END,
-        "End installation");
-}
-
 bool TaskSmack::setLabelForSharedDir(const char* pkgId)
 {
     /* /shared directory */
@@ -277,5 +271,15 @@ bool TaskSmack::setLabelForSharedDir(const char* pkgId)
 
     return true;
 }
+
+void TaskSmack::StartStep()
+{
+    LogDebug("--------- <TaskSmack> : START ----------");
+}
+
+void TaskSmack::EndStep()
+{
+    LogDebug("--------- <TaskSmack> : END ----------");
+}
 } //namespace WidgetInstall
 } //namespace Jobs
index ad32e5c..18ce62c 100644 (file)
@@ -41,11 +41,13 @@ class TaskSmack :
     void StepSmackFolderLabeling();
     void StepSmackPrivilege();
     void StepRevokeForUpdate();
-    void StepSetEndofInstallation();
     void StepAbortSmack();
 
     bool setLabelForSharedDir(const char* pkgId);
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskSmack(InstallerContext& context);
 };
index 1c41e5d..75152ad 100644 (file)
@@ -58,7 +58,9 @@ TaskUpdateFiles::TaskUpdateFiles(InstallerContext& context) :
     DPL::TaskDecl<TaskUpdateFiles>(this),
     m_context(context)
 {
+    AddStep(&TaskUpdateFiles::StartStep);
     AddStep(&TaskUpdateFiles::StepBackupDirectory);
+    AddStep(&TaskUpdateFiles::EndStep);
 
     AddAbortStep(&TaskUpdateFiles::StepAbortBackupDirectory);
 }
@@ -85,10 +87,6 @@ void TaskUpdateFiles::StepBackupDirectory()
     }
 
     WrtUtilMakeDir(pkgPath);
-
-    m_context.job->UpdateProgress(
-        InstallerContext::INSTALL_CREATE_BACKUP_DIR,
-        "Backup directory created for update");
 }
 
 void TaskUpdateFiles::StepAbortBackupDirectory()
@@ -108,5 +106,19 @@ void TaskUpdateFiles::StepAbortBackupDirectory()
         LogError("Failed to rename " << backPath << " to " << pkgPath);
     }
 }
+
+void TaskUpdateFiles::StartStep()
+{
+    LogDebug("--------- <TaskUpdateFiles> : START ----------");
+}
+
+void TaskUpdateFiles::EndStep()
+{
+    m_context.job->UpdateProgress(
+        InstallerContext::INSTALL_CREATE_BACKUP_DIR,
+        "Backup directory created for update");
+
+    LogDebug("--------- <TaskUpdateFiles> : END ----------");
+}
 } //namespace WidgetInstall
 } //namespace Jobs
index 4161b13..1d02e0e 100644 (file)
@@ -44,6 +44,9 @@ class TaskUpdateFiles :
 
     void StepAbortBackupDirectory();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskUpdateFiles(InstallerContext& context);
 };
index c541346..ed59d54 100644 (file)
@@ -72,6 +72,7 @@ TaskWidgetConfig::TaskWidgetConfig(InstallerContext& installContext) :
     DPL::TaskDecl<TaskWidgetConfig>(this),
     m_installContext(installContext)
 {
+    AddStep(&TaskWidgetConfig::StartStep);
     AddStep(&TaskWidgetConfig::StepProcessConfigurationFile);
     AddStep(&TaskWidgetConfig::ReadLocaleFolders);
     AddStep(&TaskWidgetConfig::ProcessLocalizedStartFiles);
@@ -82,6 +83,7 @@ TaskWidgetConfig::TaskWidgetConfig(InstallerContext& installContext) :
     AddStep(&TaskWidgetConfig::ProcessSecurityModel);
     AddStep(&TaskWidgetConfig::StepVerifyFeatures);
     AddStep(&TaskWidgetConfig::StepCheckMinVersionInfo);
+    AddStep(&TaskWidgetConfig::EndStep);
 }
 
 void TaskWidgetConfig::StepProcessConfigurationFile()
@@ -843,5 +845,15 @@ void TaskWidgetConfig::processFile(
         ThrowMsg(Exception::ConfigParseFailed, path);
     }
 }
+
+void TaskWidgetConfig::StartStep()
+{
+    LogDebug("--------- <TaskWidgetConfig> : START ----------");
+}
+
+void TaskWidgetConfig::EndStep()
+{
+    LogDebug("--------- <TaskWidgetConfig> : END ----------");
+}
 } //namespace WidgetInstall
 } //namespace Jobs
index 71b8a67..fa9b46c 100755 (executable)
@@ -79,6 +79,9 @@ class TaskWidgetConfig :
     template <typename Ex, const char* Msg>
     void StepCancelInstallation();
 
+    void StartStep();
+    void EndStep();
+
     DPL::String createAuthorWidgetInfo() const;
     bool isFeatureAllowed(
         WrtDB::AppType appType, DPL::String featureName);
index 3d735b6..0c118e9 100644 (file)
@@ -67,11 +67,12 @@ struct InstallerContext
         INSTALL_CREATE_EXECFILE,
         INSTALL_CREATE_MANIFEST,
         INSTALL_INSTALL_OSPSVC,
-        INSTALL_SET_CERTINFO,
         INSTALL_NEW_DB_INSERT,
         INSTALL_ACE_PREPARE,
         INSTALL_ACE_CHECK,
         INSTALL_SMACK_ENABLE,
+        INSTALL_PKGINFO_UPDATE,
+        INSTALL_SET_CERTINFO,
 
         INSTALL_END
     } InstallStep;
index 49acac6..8670ed1 100644 (file)
@@ -35,12 +35,26 @@ TaskCheck::TaskCheck(UninstallerContext& context) :
     DPL::TaskDecl<TaskCheck>(this),
     m_context(context)
 {
+    AddStep(&TaskCheck::StartStep);
     AddStep(&TaskCheck::StepUninstallPreCheck);
+    AddStep(&TaskCheck::EndStep);
 }
 
 TaskCheck::~TaskCheck()
 {}
 
+void TaskCheck::StartStep()
+{
+    LogDebug("--------- <TaskCheck> : START ----------");
+}
+
+void TaskCheck::EndStep()
+{
+    m_context.job->UpdateProgress(UninstallerContext::UNINSTALL_PRECHECK,
+                                  "Uninstall pre-checking Finished");
+    LogDebug("--------- <TaskCheck> : END ----------");
+}
+
 void TaskCheck::StepUninstallPreCheck()
 {
     bool isRunning = false;
@@ -98,8 +112,6 @@ void TaskCheck::StepUninstallPreCheck()
     }
 
     LogDebug("Widget Can be uninstalled. Pkgname : " << m_context.tzAppid);
-    m_context.job->UpdateProgress(UninstallerContext::UNINSTALL_PRECHECK,
-                                  "Uninstall pre-checking Finished");
 }
 } //namespace WidgetUninstall
 } //namespace Jobs
index 4207726..0e39345 100644 (file)
@@ -39,6 +39,8 @@ class TaskCheck :
 
     //steps
     void StepUninstallPreCheck();
+    void StartStep();
+    void EndStep();
 
   public:
     TaskCheck(UninstallerContext& context);
index de9c15c..ee4362c 100644 (file)
@@ -37,8 +37,10 @@ TaskDbUpdate::TaskDbUpdate(UninstallerContext& context) :
     DPL::TaskDecl<TaskDbUpdate>(this),
     m_context(context)
 {
+    AddStep(&TaskDbUpdate::StartStep);
     AddStep(&TaskDbUpdate::StepDbUpdate);
     AddStep(&TaskDbUpdate::StepLiveboxDBDelete);
+    AddStep(&TaskDbUpdate::EndStep);
 }
 
 TaskDbUpdate::~TaskDbUpdate()
@@ -64,10 +66,6 @@ void TaskDbUpdate::StepDbUpdate()
         ReThrowMsg(Exceptions::DatabaseFailure,
                    "Failed to handle StepDbUpdate!");
     }
-
-    m_context.job->UpdateProgress(
-        UninstallerContext::UNINSTALL_DB_UPDATE,
-        "Widget DB Update Finished");
 }
 
 void TaskDbUpdate::StepLiveboxDBDelete()
@@ -81,5 +79,19 @@ void TaskDbUpdate::StepLiveboxDBDelete()
         LogDebug("delete box info: " << m_context.tzAppid);
     }
 }
+
+void TaskDbUpdate::StartStep()
+{
+    LogDebug("--------- <TaskDbUpdate> : START ----------");
+}
+
+void TaskDbUpdate::EndStep()
+{
+    m_context.job->UpdateProgress(
+        UninstallerContext::UNINSTALL_DB_UPDATE,
+        "Widget DB Update Finished");
+
+    LogDebug("--------- <TaskDbUpdate> : END ----------");
+}
 } //namespace WidgetUninstall
 } //namespace Jobs
index 1f34b00..1d2b453 100644 (file)
@@ -48,6 +48,9 @@ class TaskDbUpdate :
     void StepDbUpdate();
     void StepLiveboxDBDelete();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskDbUpdate(UninstallerContext& context);
     virtual ~TaskDbUpdate();
index cb9b7e9..1c38eca 100644 (file)
@@ -34,7 +34,9 @@ TaskDeleteCertificates::TaskDeleteCertificates(
     DPL::TaskDecl<TaskDeleteCertificates>(this),
     m_context(context)
 {
+    AddStep(&TaskDeleteCertificates::StartStep);
     AddStep(&TaskDeleteCertificates::StepDeleteCertificates);
+    AddStep(&TaskDeleteCertificates::EndStep);
 }
 
 TaskDeleteCertificates::~TaskDeleteCertificates()
@@ -48,5 +50,15 @@ void TaskDeleteCertificates::StepDeleteCertificates()
         LogError("pkgmgr_installer_delete_certinfo fail");
     }
 }
+
+void TaskDeleteCertificates::StartStep()
+{
+    LogDebug("--------- <TaskDeleteCertificates> : START ----------");
+}
+
+void TaskDeleteCertificates::EndStep()
+{
+    LogDebug("--------- <TaskDeleteCertificates> : END ----------");
+}
 } //namespace WidgetUninstall
 } //namespace Jobs
index b7b513b..529d630 100644 (file)
@@ -39,6 +39,9 @@ class TaskDeleteCertificates :
   private:
     void StepDeleteCertificates();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskDeleteCertificates(UninstallerContext& context);
     virtual ~TaskDeleteCertificates();
index 3717d62..706ab03 100644 (file)
@@ -35,7 +35,9 @@ TaskRemoveCustomHandlers::TaskRemoveCustomHandlers(UninstallerContext& context)
     DPL::TaskDecl<TaskRemoveCustomHandlers>(this),
     m_context(context)
 {
+    AddStep(&TaskRemoveCustomHandlers::StartStep);
     AddStep(&TaskRemoveCustomHandlers::Step);
+    AddStep(&TaskRemoveCustomHandlers::EndStep);
 }
 
 void TaskRemoveCustomHandlers::Step()
@@ -51,5 +53,15 @@ void TaskRemoveCustomHandlers::Step()
     handlersDao.removeWidgetContentHandlers();
     CustomHandlerDB::Interface::detachDatabase();
 }
+
+void TaskRemoveCustomHandlers::StartStep()
+{
+    LogDebug("--------- <TaskRemoveCustomHandlers> : START ----------");
+}
+
+void TaskRemoveCustomHandlers::EndStep()
+{
+    LogDebug("--------- <TaskRemoveCustomHandlers> : END ----------");
+}
 } //namespace WidgetUninstall
 } //namespace Jobs
index 48d0d92..e6458b9 100644 (file)
@@ -36,6 +36,9 @@ class TaskRemoveCustomHandlers :
 
     void Step();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskRemoveCustomHandlers(UninstallerContext& context);
 };
index 2940e19..0a8f5c3 100644 (file)
@@ -45,10 +45,12 @@ TaskRemoveFiles::TaskRemoveFiles(UninstallerContext& context) :
     DPL::TaskDecl<TaskRemoveFiles>(this),
     m_context(context)
 {
+    AddStep(&TaskRemoveFiles::StartStep);
     AddStep(&TaskRemoveFiles::StepRemoveInstallationDirectory);
     AddStep(&TaskRemoveFiles::StepRemoveManifest);
     AddStep(&TaskRemoveFiles::StepRemoveExternalLocations);
     AddStep(&TaskRemoveFiles::StepRemoveFinished);
+    AddStep(&TaskRemoveFiles::EndStep);
 }
 
 TaskRemoveFiles::~TaskRemoveFiles()
@@ -176,5 +178,15 @@ void TaskRemoveFiles::StepRemoveExternalLocations()
         dao.unregisterAllExternalLocations();
     }
 }
+
+void TaskRemoveFiles::StartStep()
+{
+    LogDebug("--------- <TaskRemoveFiles> : START ----------");
+}
+
+void TaskRemoveFiles::EndStep()
+{
+    LogDebug("--------- <TaskRemoveFiles> : END ----------");
+}
 } //namespace WidgetUninstall
 } //namespace Jobs
index 6959242..19db96a 100644 (file)
@@ -52,6 +52,9 @@ class TaskRemoveFiles :
     void StepRemoveManifest();
     void StepRemoveExternalLocations();
 
+    void StartStep();
+    void EndStep();
+
   public:
     explicit TaskRemoveFiles(UninstallerContext& context);
     virtual ~TaskRemoveFiles();
index 084722e..353aaaf 100644 (file)
@@ -35,7 +35,9 @@ TaskSmack::TaskSmack(UninstallerContext& context) :
     DPL::TaskDecl<TaskSmack>(this),
     m_context(context)
 {
+    AddStep(&TaskSmack::StartStep);
     AddStep(&TaskSmack::Step);
+    AddStep(&TaskSmack::EndStep);
 }
 
 void TaskSmack::Step()
@@ -51,11 +53,21 @@ void TaskSmack::Step()
     if (PC_OPERATION_SUCCESS != app_uninstall(pkgId)) {
         LogError("failure in removing smack rules file");
     }
+#endif
+}
+
+void TaskSmack::StartStep()
+{
+    LogDebug("--------- <TaskSmack> : START ----------");
+}
 
+void TaskSmack::EndStep()
+{
     m_context.job->UpdateProgress(
         UninstallerContext::UNINSTALL_SMACK_DISABLE,
         "Widget SMACK Disabled");
-#endif
+
+    LogDebug("--------- <TaskSmack> : END ----------");
 }
 } //namespace WidgetUninstall
 } //namespace Jobs
index f9fcda4..c7886b9 100644 (file)
@@ -36,6 +36,9 @@ class TaskSmack :
 
     void Step();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskSmack(UninstallerContext& context);
 };
index c476ab2..20a6027 100644 (file)
@@ -41,7 +41,9 @@ TaskUninstallOspsvc::TaskUninstallOspsvc(UninstallerContext& context) :
     DPL::TaskDecl<TaskUninstallOspsvc>(this),
     m_context(context)
 {
+    AddStep(&TaskUninstallOspsvc::StartStep);
     AddStep(&TaskUninstallOspsvc::StepUninstallOspsvc);
+    AddStep(&TaskUninstallOspsvc::EndStep);
 }
 
 TaskUninstallOspsvc::~TaskUninstallOspsvc()
@@ -88,5 +90,15 @@ void TaskUninstallOspsvc::StepUninstallOspsvc()
     m_context.job->UpdateProgress(UninstallerContext::UNINSTALL_REMOVE_OSPSVC,
                                   "Uninstall OSP service finished");
 }
+
+void TaskUninstallOspsvc::StartStep()
+{
+    LogDebug("--------- <TaskUninstallOspsvc> : START ----------");
+}
+
+void TaskUninstallOspsvc::EndStep()
+{
+    LogDebug("--------- <TaskUninstallOspsvc> : END ----------");
+}
 } //namespace WidgetUninstall
 } //namespace Jobs
index 3ba8d41..50ec347 100644 (file)
@@ -39,6 +39,9 @@ class TaskUninstallOspsvc :
     //steps
     void StepUninstallOspsvc();
 
+    void StartStep();
+    void EndStep();
+
   public:
     TaskUninstallOspsvc(UninstallerContext& context);
     virtual ~TaskUninstallOspsvc();
index 4221367..164c6d8 100644 (file)
@@ -102,11 +102,7 @@ WrtInstaller::~WrtInstaller()
 
 int WrtInstaller::getReturnStatus() const
 {
-    if (!m_returnStatus) {
-        return RE_SUCCESS;
-    } else {
-        return RE_FAIL;
-    }
+    return m_returnStatus;
 }
 
 void WrtInstaller::OnStop()
@@ -735,7 +731,7 @@ void WrtInstaller::staticWrtInitPreloadStatusCallback(std::string tizenId,
     if (WRT_SUCCESS != status) {
         // Failure
         LogError("Step failed");
-        This->m_returnStatus = 1;
+        This->m_returnStatus = status;
 
         This->showErrorMsg(status, tizenId, printMsg);
 
@@ -780,7 +776,7 @@ void WrtInstaller::staticWrtStatusCallback(std::string tizenId,
     if (WRT_SUCCESS != status) {
         // Failure
         LogError("Step failed");
-        This->m_returnStatus = -1;
+        This->m_returnStatus = status;
 
         This->DPL::Event::ControllerEventHandler<WRTInstallerNS::QuitEvent>
             ::PostEvent(WRTInstallerNS::QuitEvent());
index 94d515d..6752ea9 100644 (file)
@@ -51,12 +51,6 @@ const char* const VALUE_TRUE = "true";
 const char* const VALUE_FALSE = "false";
 }
 
-enum ReturnValue
-{
-    RE_SUCCESS,
-    RE_FAIL
-};
-
 class WrtInstaller :
     public DPL::Application,
     private DPL::Event::Controller<DPL::TypeListDecl<