#include <dpl/utils/widget_version.h>
#include <widget_install/widget_install_context.h>
#include <widget_install/widget_update_info.h>
+#include <dpl/wrt-dao-ro/config_parser_data.h>
#include "widget_installer_struct.h"
namespace Jobs {
public JobContextBase<WidgetInstallationStruct> //TODO typedef
{
private:
- typedef DPL::Optional<WidgetHandle> OptionalWidgetHandle;
-
InstallerContext m_installerContext;
- //TODO move it to base class of all jobs
+ //TODO move it to base class of all jobs -> make it base template class??
Exceptions::Type m_exceptionCaught;
std::string m_exceptionMessage;
WidgetUpdateInfo m_widgetUpdateInfo;
+ bool m_needEncryption;
+ bool m_isDRM;
enum class ConfigureResult
{
- Ok, Failed, Deferred
+ Ok, Failed, Deferred, Updated
};
- ConfigureResult ConfigureInstallation(const std::string &widgetPath);
- WidgetUpdateInfo detectWidgetUpdate(const std::string &widgetPath);
+ ConfigureResult ConfigureInstallation(const std::string &widgetSource,
+ const WrtDB::ConfigParserData
+ &configData,
+ const WidgetUpdateInfo &update,
+ const std::string &tempPath);
+ static WrtDB::ConfigParserData getWidgetDataFromXML(
+ const std::string &widgetSource,
+ const std::string &tempPath,
+ WrtDB::PackagingType pkgType,
+ bool isDRM);
+ static WidgetUpdateInfo detectWidgetUpdate(
+ const WrtDB::ConfigParserData &configInfo);
WidgetUpdateMode::Type CalcWidgetUpdatePolicy(
const OptionalWidgetVersion &existingVersion,
const OptionalWidgetVersion &incomingVersion) const;
+ bool setTizenId(const WrtDB::ConfigParserData &configInfo,
+ ConfigureResult result);
void displayWidgetInfo();
+ void configureWidgetLocation(const std::string & widgetPath,
+ const std::string &tempPath);
+
+ WrtDB::PackagingType checkPackageType(
+ const std::string &widgetSource,
+ const std::string &tempPath);
+ bool detectResourceEncryption(const WrtDB::ConfigParserData &configData);
+ bool isDRMWidget(std::string widgetPath);
+ bool DecryptDRMWidget(std::string widgetPath, std::string destPath);
+ ConfigureResult PrePareInstallation(const std::string &widgetPath);
public:
/**
JobWidgetInstall(std::string const & widgetPath,
const WidgetInstallationStruct &installerStruct);
- DPL::Optional<WidgetHandle> getNewWidgetHandle() const;
- bool getUnzipStartedFlag() const;
- bool getUnzipFinishedFlag() const;
-
//overrides
void SendProgress();
void SendFinishedSuccess();