[Release] wrt-installer_0.1.114
[framework/web/wrt-installer.git] / src / jobs / widget_uninstall / task_remove_files.cpp
index 4a5122f..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()
@@ -56,11 +58,11 @@ TaskRemoveFiles::~TaskRemoveFiles()
 
 void TaskRemoveFiles::StepRemoveInstallationDirectory()
 {
-    LogInfo("StepRemoveInstallationDirectory started");
+    LogDebug("StepRemoveInstallationDirectory started");
     Try {
-        if (APP2EXT_SD_CARD !=
-                app2ext_get_app_location(m_context.tzPkgid.c_str()))
-        {
+        int ret = app2ext_get_app_location(m_context.tzPkgid.c_str());
+
+        if (APP2EXT_INTERNAL_MEM == ret) {
             LogDebug("Removing directory");
             m_context.removeStarted = true;
             DPL::Utils::Path widgetDir= m_context.installedPath;
@@ -76,7 +78,7 @@ void TaskRemoveFiles::StepRemoveInstallationDirectory()
             } Catch(DPL::Utils::Path::BaseException){
                 LogWarning(dataDir.Fullpath() << " is already removed");
             }
-        } else {
+        } else if (APP2EXT_SD_CARD == ret) {
             LogDebug("Removing sdcard directory");
             Try {
                 WidgetInstallToExtSingleton::Instance().initialize(m_context.tzPkgid);
@@ -88,10 +90,12 @@ void TaskRemoveFiles::StepRemoveInstallationDirectory()
                 Throw(Jobs::WidgetUninstall::TaskRemoveFiles::Exception::
                         RemoveFilesFailed);
             }
+        } else {
+            LogError("app is not installed");
+            ThrowMsg(Exceptions::WidgetNotExist, "failed to get app location");
         }
     } Catch(Exception::RemoveFilesFailed) {
         ThrowMsg(Exceptions::RemoveFileFailure, "Cann't remove directory");
-
     }
     m_context.job->UpdateProgress(
         UninstallerContext::UNINSTALL_REMOVE_WIDGETDIR,
@@ -100,7 +104,7 @@ void TaskRemoveFiles::StepRemoveInstallationDirectory()
 
 void TaskRemoveFiles::StepRemoveFinished()
 {
-    LogInfo("StepRemoveFinished finished");
+    LogDebug("StepRemoveFinished finished");
 
     m_context.job->UpdateProgress(
         UninstallerContext::UNINSTALL_REMOVE_FINISHED,
@@ -174,5 +178,15 @@ void TaskRemoveFiles::StepRemoveExternalLocations()
         dao.unregisterAllExternalLocations();
     }
 }
+
+void TaskRemoveFiles::StartStep()
+{
+    LogDebug("--------- <TaskRemoveFiles> : START ----------");
+}
+
+void TaskRemoveFiles::EndStep()
+{
+    LogDebug("--------- <TaskRemoveFiles> : END ----------");
+}
 } //namespace WidgetUninstall
 } //namespace Jobs