TaskConfiguration refactoring - part 1/3
authorTomasz Iwanek <t.iwanek@samsung.com>
Tue, 3 Sep 2013 12:05:07 +0000 (14:05 +0200)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Mon, 23 Sep 2013 07:49:00 +0000 (07:49 +0000)
[Issue#]       LINUXWRT-820
[Feature]      Refactoring
[Cause]        Useless code in form of rethroing expections in failure task.
[Solution]     This change is solving:
 - JobWidgetInstall context clean up
 - removal of ConfigureResult type from TaskConfiguration (it was addded due to eceptions out of task scope)
 - removal task_installer_failure - this was step just to throw exceptions (exception have no need to be rethrown now)

This change makes clean up/reordering in TaskConfiguration, (now called) TaskProcessWidget is just to be fixed.

[Verification] Test installation for widget:
1. Widget with invalid config.xml -> see installation fail, notification from pkmgr if installed from myfiles.
2. Widget with malformed zip file -> see installation fail, notification from pkmgr if installed from myfiles.
3. Correct instalaltion and update of widget (widget have to has version for update if using same widget).

Change-Id: I035fb917004ffdb1a2fad0e201dc1f43a1c9a8f3

src/CMakeLists.txt
src/jobs/widget_install/job_widget_install.cpp
src/jobs/widget_install/job_widget_install.h
src/jobs/widget_install/task_configuration.cpp
src/jobs/widget_install/task_configuration.h
src/jobs/widget_install/task_installer_fail.cpp [deleted file]
src/jobs/widget_install/task_installer_fail.h [deleted file]
src/jobs/widget_install/widget_install_context.h

index 87de01c..5b5fdcf 100644 (file)
@@ -64,7 +64,6 @@ SET(INSTALLER_SOURCES
     ${INSTALLER_JOBS}/widget_install/task_commons.cpp
     ${INSTALLER_JOBS}/widget_install/task_widget_config.cpp
     ${INSTALLER_JOBS}/widget_install/task_database.cpp
-    ${INSTALLER_JOBS}/widget_install/task_installer_fail.cpp
     ${INSTALLER_JOBS}/widget_install/task_configuration.cpp
     ${INSTALLER_JOBS}/widget_install/ace_registration.cpp
     ${INSTALLER_JOBS}/widget_install/task_file_manipulation.cpp
index 346ee3f..da0c536 100644 (file)
@@ -56,7 +56,6 @@
 #include <widget_install/task_commons.h>
 #include <widget_install/task_prepare_reinstall.h>
 #include <widget_install/task_configuration.h>
-#include <widget_install/task_installer_fail.h>
 
 #include <widget_install_to_external.h>
 #include <widget_install/widget_unzip.h>
@@ -169,20 +168,6 @@ void JobWidgetInstall::appendUpdateInstallationTaskList()
     AddTask(new TaskPkgInfoUpdate(m_installerContext));
 }
 
-void JobWidgetInstall::appendFailureTaskList()
-{
-    // Installation is not allowed to proceed due to widget update policy
-    _W("Configure installation failed!");
-    GetInstallerStruct().pkgmgrInterface->sendSignal(
-            PKGMGR_START_KEY,
-            PKGMGR_START_INSTALL);
-    GetInstallerStruct().pkgmgrInterface->sendSignal(
-            PKGMGR_PROGRESS_KEY,
-            PKGMGR_START_VALUE);
-
-    AddTask(new InstallerTaskFail(m_installerContext.confResult));
-}
-
 void JobWidgetInstall::SendProgress()
 {
     using namespace PackageManager;
index b87c12b..dd68dca 100644 (file)
@@ -68,7 +68,6 @@ class JobWidgetInstall :
     //execution paths
     void appendNewInstallationTaskList();
     void appendUpdateInstallationTaskList();
-    void appendFailureTaskList();
 };
 } //namespace WidgetInstall
 } //namespace Jobs
index d790b94..e61207c 100644 (file)
@@ -95,8 +95,7 @@ namespace WidgetInstall {
 
 TaskConfiguration::TaskConfiguration(InstallerContext& context) :
     DPL::TaskDecl<TaskConfiguration>(this),
-    m_context(context),
-    m_result(ConfigureResult::Unknown)
+    m_context(context)
 {
     AddStep(&TaskConfiguration::StartStep);
     AddStep(&TaskConfiguration::PrepareInstallationStep);
@@ -116,18 +115,12 @@ void TaskConfiguration::EndStep()
 
 void TaskConfiguration::AppendTasklistStep()
 {
-    // TODO: (job_install_refactoring) do not store config result anywhere
-    m_context.confResult = m_result;
-
-    if (m_result == ConfigureResult::Ok) {
+    if (!m_context.isUpdateMode) {
         _D("TaskConfiguration -> new installation task list");
         m_context.job->appendNewInstallationTaskList();
-    } else if (m_result == ConfigureResult::Updated) {
+    } else {
         _D("TaskConfiguration -> update installation task list");
         m_context.job->appendUpdateInstallationTaskList();
-    } else {
-        _D("TaskConfiguration -> failure task list");
-        m_context.job->appendFailureTaskList();
     }
 }
 
@@ -135,92 +128,59 @@ void TaskConfiguration::PrepareInstallationStep()
 {
     // TODO: (job_install_refactoring) clean up this task
     std::string widgetPath = m_context.requestedPath;
-    ConfigureResult result;
+    bool result;
     m_context.needEncryption = false;
-    Try
-    {
-        std::string tempDir;
-        if (m_context.mode.extension == InstallMode::ExtensionType::DIR) {
-            if (m_context.mode.command ==
-                    InstallMode::Command::REINSTALL) {
-                std::ostringstream tempPathBuilder;
-                tempPathBuilder << WrtDB::GlobalConfig::GetUserInstalledWidgetPath();
-                tempPathBuilder << WrtDB::GlobalConfig::GetTmpDirPath();
-                tempPathBuilder << "/";
-                tempPathBuilder << widgetPath;
-                tempDir = tempPathBuilder.str();
-            } else {
-                tempDir = widgetPath;
-            }
+    std::string tempDir;
+    if (m_context.mode.extension == InstallMode::ExtensionType::DIR) {
+        if (m_context.mode.command ==
+                InstallMode::Command::REINSTALL) {
+            std::ostringstream tempPathBuilder;
+            tempPathBuilder << WrtDB::GlobalConfig::GetUserInstalledWidgetPath();
+            tempPathBuilder << WrtDB::GlobalConfig::GetTmpDirPath();
+            tempPathBuilder << "/";
+            tempPathBuilder << widgetPath;
+            tempDir = tempPathBuilder.str();
         } else {
-            tempDir =
-                Jobs::WidgetInstall::createTempPath(
-                        m_context.mode.rootPath ==
-                            InstallMode::RootPath::RO);
-            WidgetUnzip wgtUnzip;
-            wgtUnzip.unzipWgtFile(widgetPath, tempDir);
+            tempDir = widgetPath;
         }
+    } else {
+        tempDir =
+            Jobs::WidgetInstall::createTempPath(
+                    m_context.mode.rootPath ==
+                        InstallMode::RootPath::RO);
+        WidgetUnzip wgtUnzip;
+        wgtUnzip.unzipWgtFile(widgetPath, tempDir);
+    }
+
+    _D("widgetPath: %s", widgetPath.c_str());
+    _D("tempPath: %s", tempDir.c_str());
+
+    m_context.widgetConfig.packagingType =
+        checkPackageType(widgetPath, tempDir);
+    ConfigParserData configData = getWidgetDataFromXML(
+            widgetPath,
+            tempDir,
+            m_context.widgetConfig.packagingType,
+            m_context.mode.command == InstallMode::Command::REINSTALL);
+    _D("widget packaging type : %d", static_cast<WrtDB::PkgType>(m_context.widgetConfig.packagingType.pkgType));
+
+    setTizenId(configData);
+    setApplicationType(configData);
+    m_context.needEncryption = detectResourceEncryption(configData);
+    setInstallLocationType(configData);
+    // TODO: (job_install_refactoring) hide this call
+    m_context.callerPkgId =
+        DPL::FromUTF8String(m_context.job->GetInstallerStruct().pkgmgrInterface->getCallerId());
+    _D("Caller Package Id : %s", DPL::ToUTF8String(m_context.callerPkgId).c_str());
 
-        _D("widgetPath:%s", widgetPath.c_str());
-        _D("tempPath:%s", tempDir.c_str());
-
-        m_context.widgetConfig.packagingType =
-            checkPackageType(widgetPath, tempDir);
-        ConfigParserData configData = getWidgetDataFromXML(
-                widgetPath,
-                tempDir,
-                m_context.widgetConfig.packagingType,
-                m_context.mode.command == InstallMode::Command::REINSTALL);
-        _D("widget packaging type : %d", m_context.widgetConfig.packagingType.pkgType);
-
-        setTizenId(configData);
-        setApplicationType(configData);
-        m_context.needEncryption = detectResourceEncryption(configData);
-        setInstallLocationType(configData);
-        // TODO: (job_install_refactoring) hide this call
-        m_context.callerPkgId =
-            DPL::FromUTF8String(m_context.job->GetInstallerStruct().pkgmgrInterface->getCallerId());
-        _D("Caller Package Id : %ls", m_context.callerPkgId.c_str());
-
-        // Configure installation
-        result = ConfigureInstallation(widgetPath, configData, tempDir);
-        // TODO: (job_install_refactoring) hide this call
-        m_context.job->GetInstallerStruct().pkgmgrInterface->sendSignal(
-                PKGMGR_PROGRESS_KEY,
-                PKGMGR_START_VALUE);
-    }
-    Catch(Exceptions::OpenZipFailed)
-    {
-        _E("Failed to unzip for widget");
-        result = ConfigureResult::Failed_OpenZipError;
-    }
-    Catch(Exceptions::ExtractFileFailed)
-    {
-        _E("Failed to unzip for widget");
-        result = ConfigureResult::Failed_UnzipError;
-    }
-    Catch(Exceptions::DrmDecryptFailed)
-    {
-        _E("Failed to unzip for widget");
-        result = ConfigureResult::Failed_DrmError;
-    }
-    Catch(Exceptions::MissingConfig)
-    {
-        _E("Failed to localize config.xml");
-        result = ConfigureResult::Failed_InvalidConfig;
-    }
-    Catch(Exceptions::WidgetConfigFileInvalid)
-    {
-        _E("Invalid configuration file");
-        result = ConfigureResult::Failed_InvalidConfig;
-    }
-    Catch(DPL::Exception)
-    {
-        _E("Unknown exception");
-        result = ConfigureResult::Failed;
-    }
+    // Configure installation
+    result = ConfigureInstallation(widgetPath, configData, tempDir);
+    // TODO: (job_install_refactoring) hide this call
+    m_context.job->GetInstallerStruct().pkgmgrInterface->sendSignal(
+            PKGMGR_PROGRESS_KEY,
+            PKGMGR_START_VALUE);
 
-    m_result = result;
+    m_context.isUpdateMode = result;
 }
 
 void TaskConfiguration::setTizenId(
@@ -339,18 +299,17 @@ void TaskConfiguration::configureWidgetLocation(const std::string & widgetPath,
     _D("widgetSource %s", widgetPath.c_str());
 }
 
-ConfigureResult TaskConfiguration::ConfigureInstallation(
+bool TaskConfiguration::ConfigureInstallation(
     const std::string &widgetSource,
     const WrtDB::ConfigParserData &configData,
     const std::string &tempPath)
 {
-    ConfigureResult result = ConfigureResult::Failed;
+    bool result;
+
     WidgetUpdateInfo update;
 
     // checking installed web application
     Try {
-        // checking existing application is installed
-        WidgetDAOReadOnly dao(m_context.widgetConfig.tzAppid);
         // no excpetion means, it isn't update mode
         // TODO: (job_install_refactoring) hide this call/
         m_context.job->GetInstallerStruct().pkgmgrInterface->sendSignal(
@@ -360,32 +319,35 @@ ConfigureResult TaskConfiguration::ConfigureInstallation(
         update = detectWidgetUpdate(configData,
                                     m_context.widgetConfig.tzAppid);
         result = checkWidgetUpdate(update);
-        if (result != ConfigureResult::Updated) {
+        if (!result) {
             // Already installed TizenAppId. return failed
-            return ConfigureResult::Failed_AlreadyInstalled;
+            ThrowMsg(Jobs::WidgetInstall::Exceptions::PackageAlreadyInstalled,
+                "package is already installed");
         }
         if (!checkSupportRDSUpdate(configData)) {
-            return ConfigureResult::Failed_NotSupportRDSUpdate;
+            ThrowMsg(Jobs::WidgetInstall::Exceptions::NotSupportRDSUpdate,
+                "RDS update failed");
         }
-        m_context.isUpdateMode = true;
+        result = true;
     }
     Catch(WidgetDAOReadOnly::Exception::WidgetNotExist) {
         // TODO: (job_install_refactoring) hide this call
         m_context.job->GetInstallerStruct().pkgmgrInterface->sendSignal(
                 PKGMGR_START_KEY,
                 PKGMGR_START_INSTALL);
-        result = ConfigureResult::Ok;
-        m_context.isUpdateMode = false;
+        result = false;
 
         if (!validateTizenApplicationID(
             m_context.widgetConfig.tzAppid))
         {
             _E("tizen application ID is already used");
-            return ConfigureResult::Failed_InvalidConfig;
+            ThrowMsg(Jobs::WidgetInstall::Exceptions::WidgetConfigFileInvalid,
+                "invalid config");
         }
         if (!validateTizenPackageID(m_context.widgetConfig.tzPkgid)) {
             _E("tizen package ID is already used");
-            return ConfigureResult::Failed_AlreadyInstalled;
+            ThrowMsg(Jobs::WidgetInstall::Exceptions::PackageAlreadyInstalled,
+                "package is already installed");
         }
     }
 
@@ -431,11 +393,11 @@ bool TaskConfiguration::validateTizenPackageID(
     return true;
 }
 
-ConfigureResult TaskConfiguration::checkWidgetUpdate(
+bool TaskConfiguration::checkWidgetUpdate(
     const WidgetUpdateInfo &update)
 {
     if (update.existingVersion.IsNull() || update.incomingVersion.IsNull()) {
-        return ConfigureResult::Failed;
+        return false;
     }
 
     _D("existing version = '%ls", update.existingVersion->Raw().c_str());
@@ -449,7 +411,8 @@ ConfigureResult TaskConfiguration::checkWidgetUpdate(
                                &isRunning);
     if (APP_MANAGER_ERROR_NONE != ret) {
         _E("Fail to get running state");
-        return ConfigureResult::Failed_WidgetRunning;
+        ThrowMsg(Jobs::WidgetInstall::Exceptions::WidgetRunningError,
+            "widget is running");
     }
 
     if (true == isRunning) {
@@ -462,7 +425,8 @@ ConfigureResult TaskConfiguration::checkWidgetUpdate(
                 &appCtx);
         if (APP_MANAGER_ERROR_NONE != ret) {
             _E("Fail to get app_context");
-            return ConfigureResult::Failed_WidgetRunning;
+            ThrowMsg(Jobs::WidgetInstall::Exceptions::WidgetRunningError,
+                "widget is running");
         }
 
         // terminate app_context_h
@@ -470,7 +434,8 @@ ConfigureResult TaskConfiguration::checkWidgetUpdate(
         if (APP_MANAGER_ERROR_NONE != ret) {
             _E("Fail to terminate running application");
             app_context_destroy(appCtx);
-            return ConfigureResult::Failed_WidgetRunning;
+            ThrowMsg(Jobs::WidgetInstall::Exceptions::WidgetRunningError,
+                "widget is running");
         } else {
             app_context_destroy(appCtx);
             // app_manager_terminate_app isn't sync API
@@ -486,7 +451,8 @@ ConfigureResult TaskConfiguration::checkWidgetUpdate(
                         &isStillRunning);
                 if (APP_MANAGER_ERROR_NONE != ret) {
                     _E("Fail to get running state");
-                    return ConfigureResult::Failed_WidgetRunning;
+                    ThrowMsg(Jobs::WidgetInstall::Exceptions::WidgetRunningError,
+                        "widget is running");
                 }
                 if (!isStillRunning) {
                     break;
@@ -494,7 +460,8 @@ ConfigureResult TaskConfiguration::checkWidgetUpdate(
             }
             if (isStillRunning) {
                 _E("Fail to terminate running application");
-                return ConfigureResult::Failed_WidgetRunning;
+                ThrowMsg(Jobs::WidgetInstall::Exceptions::WidgetRunningError,
+                    "widget is running");
             }
             _D("terminate application");
         }
@@ -505,10 +472,10 @@ ConfigureResult TaskConfiguration::checkWidgetUpdate(
     if (!!update.existingVersion ||
             m_context.mode.extension ==
             InstallMode::ExtensionType::DIR) {
-        return ConfigureResult::Updated;
+        return true;
     }
 
-    return ConfigureResult::Failed;
+    return false;
 }
 
 ConfigParserData TaskConfiguration::getWidgetDataFromXML(
@@ -563,16 +530,16 @@ ConfigParserData TaskConfiguration::getWidgetDataFromXML(
     Catch(ElementParser::Exception::ParseError)
     {
         _E("Failed to parse config.xml file");
-        return ConfigParserData();
+        ThrowMsg(Exceptions::WidgetConfigFileInvalid, "Parser exeption");
     }
     Catch(WidgetDAOReadOnly::Exception::WidgetNotExist)
     {
         _E("Failed to find installed widget - give proper tizenId");
-        return ConfigParserData();
+        ThrowMsg(Exceptions::RDSDeltaFailure, "WidgetNotExist");
     }
     Catch(Exceptions::WidgetConfigFileNotFound){
         _E("Failed to find config.xml");
-        return ConfigParserData();
+        ThrowMsg(Exceptions::MissingConfig, "Parser exeption");
     }
 
     return configInfo;
index 7f74410..a8cd89c 100644 (file)
@@ -36,10 +36,9 @@ namespace WidgetInstall {
 class TaskConfiguration : public DPL::TaskDecl<TaskConfiguration>
 {
     InstallerContext& m_context;
-    ConfigureResult m_result;
     WidgetUpdateInfo m_widgetUpdateInfo;
 
-    ConfigureResult ConfigureInstallation(const std::string &widgetSource,
+    bool ConfigureInstallation(const std::string &widgetSource,
                                           const WrtDB::ConfigParserData
                                           &configData,
                                           const std::string &tempPath);
@@ -64,7 +63,7 @@ class TaskConfiguration : public DPL::TaskDecl<TaskConfiguration>
 
     bool validateTizenApplicationID(const WrtDB::TizenAppId &tizenAppId);
     bool validateTizenPackageID(const WrtDB::TizenPkgId &tizenPkgId);
-    ConfigureResult checkWidgetUpdate(const WidgetUpdateInfo &update);
+    bool checkWidgetUpdate(const WidgetUpdateInfo &update);
     void setApplicationType(const WrtDB::ConfigParserData &configInfo);
     bool checkSupportRDSUpdate(const WrtDB::ConfigParserData &configInfo);
 
diff --git a/src/jobs/widget_install/task_installer_fail.cpp b/src/jobs/widget_install/task_installer_fail.cpp
deleted file mode 100644 (file)
index 3cf73fc..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-/**
- * @file    task_installer_fail.cpp
- * @version 1.0
- * @brief   implementation file for failure task
- */
-#include "task_installer_fail.h"
-
-#include <widget_install/widget_install_errors.h>
-
-using namespace WrtDB;
-using namespace Jobs::Exceptions;
-
-namespace Jobs {
-namespace WidgetInstall {
-
-void InstallerTaskFail::StepFail()
-{
-    if (m_result == ConfigureResult::Failed_InvalidConfig) {
-        ThrowMsg(Jobs::WidgetInstall::Exceptions::WidgetConfigFileInvalid,
-                "invalid config");
-    } else if (m_result == ConfigureResult::Failed_OpenZipError) {
-        ThrowMsg(Jobs::WidgetInstall::Exceptions::OpenZipFailed,
-                "can't open wgt file");
-    } else if (m_result == ConfigureResult::Failed_UnzipError) {
-        ThrowMsg(Jobs::WidgetInstall::Exceptions::ExtractFileFailed,
-                "can't extract wgt file");
-    } else if (m_result == ConfigureResult::Failed_LowerVersion) {
-        ThrowMsg(Jobs::WidgetInstall::Exceptions::PackageLowerVersion,
-                "package version is lower than installed version");
-    } else if (m_result == ConfigureResult::Failed_AlreadyInstalled) {
-        ThrowMsg(Jobs::WidgetInstall::Exceptions::PackageAlreadyInstalled,
-                "package is already installed");
-    } else if (m_result == ConfigureResult::Failed_WidgetRunning) {
-        ThrowMsg(Jobs::WidgetInstall::Exceptions::WidgetRunningError,
-                "widget is running");
-    } else if (m_result == ConfigureResult::Failed_DrmError) {
-        ThrowMsg(Jobs::WidgetInstall::Exceptions::DrmDecryptFailed,
-                "drm failed");
-    } else if (m_result == ConfigureResult::Failed_NotSupportRDSUpdate) {
-        ThrowMsg(Jobs::WidgetInstall::Exceptions::NotSupportRDSUpdate,
-                "RDS update failed");
-    } else {
-        ThrowMsg(Jobs::WidgetInstall::Exceptions::NotAllowed,
-                "widget installation or update not allowed!");
-    }
-}
-
-InstallerTaskFail::InstallerTaskFail(ConfigureResult result) :
-    DPL::TaskDecl<InstallerTaskFail>(this),
-    m_result(result)
-{
-    AddStep(&InstallerTaskFail::StepFail);
-}
-
-}
-}
diff --git a/src/jobs/widget_install/task_installer_fail.h b/src/jobs/widget_install/task_installer_fail.h
deleted file mode 100644 (file)
index 14fc7d0..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-/**
- * @file    task_installer_fail.h
- * @version 1.0
- * @brief   header file for failure task
- */
-#ifndef TASK_INSTALLER_FAIL_H
-#define TASK_INSTALLER_FAIL_H
-
-#include <dpl/task_list.h>
-#include <widget_install/widget_install_context.h>
-
-namespace Jobs {
-namespace WidgetInstall {
-class InstallerTaskFail :
-    public DPL::TaskDecl<InstallerTaskFail>
-{
-  private:
-    ConfigureResult m_result;
-
-    void StepFail();
-
-  public:
-    InstallerTaskFail(ConfigureResult result);
-};
-
-}
-}
-
-#endif // TASK_INSTALLER_FAIL_H
index a293b14..4816e94 100644 (file)
@@ -42,23 +42,6 @@ class WidgetModel;
 
 typedef std::map<DPL::String, bool> RequestedDevCapsMap;
 
-//TODO: move it elsewhere
-enum class ConfigureResult
-{
-    Ok,
-    Updated,
-    Failed,
-    Failed_InvalidConfig,
-    Failed_LowerVersion,
-    Failed_AlreadyInstalled,
-    Failed_WidgetRunning,
-    Failed_DrmError,
-    Failed_NotSupportRDSUpdate,
-    Failed_OpenZipError,
-    Failed_UnzipError,
-    Unknown
-};
-
 struct InstallerContext
 {
     typedef enum InstallStepEnum
@@ -116,9 +99,8 @@ struct InstallerContext
     InstallMode mode;
     DPL::String callerPkgId;
 
-    std::string requestedPath;
-    bool needEncryption; // TODO: (job_install_refactoring) place into wisily not here
-    ConfigureResult confResult; //configuration result - TODO: (job_install_refactoring) get rid of this
+    std::string requestedPath; ///input path of widget
+    bool needEncryption;  ///for configuring right task if encryption needed
 };
 
 #endif // INSTALLER_CONTEXT_H