#include <widget_uninstall/task_remove_files.h>
#include <widget_uninstall/job_widget_uninstall.h>
#include <widget_uninstall/uninstaller_context.h>
+#include <widget_uninstall/widget_uninstall_errors.h>
#include <dpl/wrt-dao-rw/widget_dao.h>
#include <dpl/wrt-dao-ro/widget_config.h>
#include <dpl/wrt-dao-ro/vconf_config.h>
#include <dpl/assert.h>
+#include <dpl/exception.h>
#include <dpl/utils/wrt_utility.h>
#include <ail.h>
#include <pkgmgr/pkgmgr_parser.h>
void TaskRemoveFiles::StepRemoveInstallationDirectory()
{
LogInfo("StepRemoveInstallationDirectory started");
- if (APP2EXT_SD_CARD !=
- app2ext_get_app_location(m_context.tzPkgid.c_str()))
- {
- LogDebug("Removing directory");
- m_context.removeStarted = true;
- std::string widgetDir =
- m_context.locations->getPackageInstallationDir();
- if (!WrtUtilRemove(widgetDir)) {
- LogWarning("Removing widget installation directory failed");
- }
- std::string dataDir = m_context.locations->getUserDataRootDir();
- if (!WrtUtilRemove(dataDir)) {
- LogWarning(dataDir + " is already removed");
- }
- } else {
- LogDebug("Removing sdcard directory");
- Try {
- WidgetInstallToExtSingleton::Instance().initialize(m_context.tzPkgid);
- WidgetInstallToExtSingleton::Instance().uninstallation();
- WidgetInstallToExtSingleton::Instance().deinitialize();
- }
- Catch(WidgetInstallToExt::Exception::ErrorInstallToExt)
+ Try {
+ if (APP2EXT_SD_CARD !=
+ app2ext_get_app_location(m_context.tzPkgid.c_str()))
{
- Throw(Jobs::WidgetUninstall::TaskRemoveFiles::Exception::
- RemoveFilesFailed);
+ LogDebug("Removing directory");
+ m_context.removeStarted = true;
+ if (!WrtUtilRemove(m_context.installedPath)) {
+ LogError("Removing widget installation directory failed : " <<
+ m_context.installedPath);
+ }
+ std::string dataDir = m_context.locations->getUserDataRootDir();
+ if (!WrtUtilRemove(dataDir)) {
+ LogWarning(dataDir + " is already removed");
+ }
+ } else {
+ LogDebug("Removing sdcard directory");
+ Try {
+ WidgetInstallToExtSingleton::Instance().initialize(m_context.tzPkgid);
+ WidgetInstallToExtSingleton::Instance().uninstallation();
+ WidgetInstallToExtSingleton::Instance().deinitialize();
+ }
+ Catch(WidgetInstallToExt::Exception::ErrorInstallToExt)
+ {
+ Throw(Jobs::WidgetUninstall::TaskRemoveFiles::Exception::
+ RemoveFilesFailed);
+ }
}
+ } Catch(Exception::RemoveFilesFailed) {
+ ThrowMsg(Exceptions::RemoveFileFailure, "Cann't remove directory");
+
}
m_context.job->UpdateProgress(
UninstallerContext::UNINSTALL_REMOVE_WIDGETDIR,