Popup removal 2
[framework/web/wrt-installer.git] / src / jobs / widget_install / widget_install_context.h
index c277dea..bd96390 100644 (file)
 #ifndef INSTALLER_CONTEXT_H
 #define INSTALLER_CONTEXT_H
 
+#include <map>
 #include <string>
+#include <dpl/string.h>
 #include <dpl/wrt-dao-rw/widget_dao.h>
 #include <widget_install/wac_security.h>
 #include <feature_logic.h>
 #include <widget_install/widget_update_info.h>
+#include <widget_location.h>
 
 namespace Jobs {
 namespace WidgetInstall {
@@ -36,47 +39,67 @@ class JobWidgetInstall;
 
 class WidgetModel;
 
+typedef std::map<DPL::String, bool> RequestedDevCapsMap;
+
 struct InstallerContext
 {
     typedef enum InstallStepEnum
     {
         INSTALL_START = 0,
+        INSTALL_CHECK_FILE,
+
+        INSTALL_RDS_DELTA_CHECK,
+        INSTALL_RDS_PREPARE,
+
+        INSTALL_UNZIP_FILES,
         INSTALL_WIDGET_CONFIG1,
         INSTALL_WIDGET_CONFIG2,
-        INSTALL_WIDGET_CONFIG3,
-        INSTALL_WIDGET_CONFIG4,
-        INSTALL_WIDGET_CONFIG5,
-        INSTALL_DB_UPDATE,
+        INSTALL_DIGSIG_CHECK,
+        INSTALL_CERT_CHECK,
+        INSTALL_ECRYPTION_FILES,
+        INSTALL_DIR_CREATE,
         INSTALL_RENAME_PATH,
-        INSTALL_CREATE_DESKTOP,
-        INSTALL_CREATE_EXECFILE,
+
+        INSTALL_CREATE_BACKUP_DIR,                     /* For Update */
+        INSTALL_BACKUP_RES_FILES,                      /* For Update */
+        INSTALL_BACKUP_EXEC,                           /* For Update */
+
+        INSTALL_BACKUP_ICONFILE,                         /* For Update */
         INSTALL_COPY_ICONFILE,
-        INSTALL_CREATE_PRIVATE_STORAGE,
+        INSTALL_CREATE_EXECFILE,
+        INSTALL_CREATE_MANIFEST,
+        INSTALL_CREATE_SHORTCUT,
+        INSTALL_SET_CERTINFO,
+        INSTALL_INSTALL_OSPSVC,
+        INSTALL_REMOVE_BACKUP_FILE,
+        INSTALL_PLUGINS_COPY,
+        INSTALL_NEW_DB_INSERT,
+        INSTALL_ACE_PREPARE,
+        INSTALL_ACE_CHECK,
+        INSTALL_SMACK_ENABLE,
+
         INSTALL_END
     } InstallStep;
 
     // Installation state variables
-    std::string widgetFilePath;           ///< Source widget zip file
-    std::string tempWidgetPath;           ///< Unpacked widget temporary path
     WrtDB::WidgetRegisterInfo widgetConfig;      ///< WidgetConfigInfo
-    DPL::Optional<WrtDB::DbWidgetHandle> widgetHandle;
-    Jobs::WidgetInstall::WacSecurity wacSecurity;///< Widget Domain information.
-    bool unzipStarted;
-        ///< flag that indicates whether installer starts to unzip .wgt file
-    bool unzipFinished;
-        ///< flag that indicates whether installer finishes to unzip completely.
+    DPL::Optional<WidgetLocation> locations;
+    Jobs::WidgetInstall::WacSecurity wacSecurity; ///< Widget Domain
+                                                  // information.
     InstallStep installStep;              ///< current step of installation
     Jobs::WidgetInstall::JobWidgetInstall *job;
-        ///< pointer of instance of JobWidgetInstall
-    WidgetUpdateInfo::ExistingWidgetInfo existingWidgetInfo;
-        ///< Whether this is an update or normal installation
+     ///< Whether this is an update or normal installation
     Jobs::WidgetInstall::FeatureLogicPtr featureLogic;
-    /** List of dev-caps that get "static" permission (will always
-    * have PERMIT from ACE Policy). They will therefore receive
-    * static SMACK permission. (They may be forbidden because
-    * of ACE User Settings, but for now we do not protect this
-    * case with SMACK). */
-    std::set<DPL::String> staticPermittedDevCaps;
+    /** List of dev-caps that are requested in widget config file.
+     * Additional flag tells whether dev cap gets "static" permission
+     * (will always have PERMIT from ACE Policy). They will therefore receive
+     * static SMACK permission. (They may be forbidden because
+     * of ACE User Settings, but for now we do not protect this
+     * case with SMACK). */
+    RequestedDevCapsMap staticPermittedDevCaps;
+    std::string installInfo;            ///<For recovery>
+    InstallLocationType locationType;
+    bool isUpdateMode;
 };
 
 #endif // INSTALLER_CONTEXT_H