#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 {
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