upload tizen1.0 source
[framework/web/wrt-installer.git] / src / jobs / widget_install / widget_install_context.h
index c277dea..192bc5f 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 <ace-dao-ro/AceDAOReadOnly.h>
 
 namespace Jobs {
 namespace WidgetInstall {
@@ -46,37 +49,42 @@ struct InstallerContext
         INSTALL_WIDGET_CONFIG3,
         INSTALL_WIDGET_CONFIG4,
         INSTALL_WIDGET_CONFIG5,
+        INSTALL_DIGSIG_CHECK,
+        INSTALL_CERT_CHECK,
         INSTALL_DB_UPDATE,
+        INSTALL_DIR_CREATE,
         INSTALL_RENAME_PATH,
+        INSTALL_ACE_PREPARE,
+        INSTALL_ACE_CHECK,
+        INSTALL_SMACK_ENABLE,
+        INSTALL_COPY_ICONFILE,
         INSTALL_CREATE_DESKTOP,
         INSTALL_CREATE_EXECFILE,
-        INSTALL_COPY_ICONFILE,
         INSTALL_CREATE_PRIVATE_STORAGE,
         INSTALL_END
     } InstallStep;
 
     // Installation state variables
-    std::string widgetFilePath;           ///< Source widget zip file
+    std::string widgetSource;           ///< Source widget zip file/widget url
     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.
     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
     Jobs::WidgetInstall::FeatureLogicPtr featureLogic;
-    /** List of dev-caps that get "static" permission (will always
-    * have PERMIT from ACE Policy). They will therefore receive
+    /** 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). */
-    std::set<DPL::String> staticPermittedDevCaps;
+    AceDB::RequestedDevCapsMap staticPermittedDevCaps;
+    ///< Optional path to downloaded widget icon
+    std::string iconPath;
 };
 
 #endif // INSTALLER_CONTEXT_H