* @brief Implementation file for main installer task
*/
#include <memory>
+#include <string>
+#include <sys/time.h>
+#include <ctime>
+#include <cstdlib>
+#include <limits.h>
+#include <regex.h>
#include <dpl/noncopyable.h>
#include <dpl/abstract_waitable_input_adapter.h>
#include <dpl/copy.h>
#include <dpl/assert.h>
#include <dpl/sstream.h>
-#include <dpl/wrt-dao-ro/common_dao_types.h>
#include <dpl/file_input.h>
#include <dpl/utils/wrt_utility.h>
+#include <dpl/wrt-dao-ro/common_dao_types.h>
+#include <dpl/wrt-dao-ro/widget_dao_read_only.h>
+#include <dpl/wrt-dao-ro/global_config.h>
+#include <dpl/wrt-dao-rw/global_dao.h> // TODO remove
+#include <dpl/localization/w3c_file_localization.h>
+
+#include <libiriwrapper.h>
+#include <pkg-manager/pkgmgr_signal.h>
+#include <app_manager.h>
+#include <drm_client.h>
+#include <drm-oem-intel.h> //temporary code
+
#include "root_parser.h"
#include "widget_parser.h"
#include "parser_runner.h"
#include <widget_install/widget_install_errors.h>
#include <widget_install/widget_install_context.h>
-#include <string>
-#include <sys/time.h>
-#include <ctime>
-#include <cstdlib>
-#include <limits.h>
-#include <regex.h>
-#include <dpl/wrt-dao-ro/widget_dao_read_only.h>
-#include <dpl/wrt-dao-ro/global_config.h>
-#include <dpl/wrt-dao-rw/global_dao.h> // TODO remove
-#include <dpl/localization/w3c_file_localization.h>
-#include <libiriwrapper.h>
-#include <pkg-manager/pkgmgr_signal.h>
-#include <app_manager.h>
-#include <drm_client.h>
-#include <drm-oem-intel.h> //temporary code
using namespace WrtDB;
//allowed: a-z, A-Z, 0-9
const char* REG_TIZENID_PATTERN = "^[a-zA-Z0-9]{10}$";
-const int MAX_TIZENID_LENGTH = 10;
static const DPL::String SETTING_VALUE_ENCRYPTION = L"encryption";
static const DPL::String SETTING_VALUE_ENCRYPTION_ENABLE = L"enable";
return result;
}
-std::string JobWidgetInstall::generateTizenId() {
- std::string allowed("0123456789"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz");
- std::string tizenId;
- tizenId.resize(MAX_TIZENID_LENGTH);
- for (int i = 0; i < MAX_TIZENID_LENGTH; ++i) {
- tizenId[i] = allowed[rand() % allowed.length()];
- }
- return tizenId;
-}
-
bool JobWidgetInstall::setTizenId(
const WrtDB::ConfigParserData &configInfo, ConfigureResult result)
{
m_installerContext.widgetConfig.pkgname = configInfo.tizenId;
} else {
- std::string tizenId = generateTizenId();
+ WidgetPkgName tizenId = WidgetDAOReadOnly::generateTizenId();
// only for installation, not for update
if (result == ConfigureResult::Ok) {
while (true) {
if (stat(newPath.str().c_str(), &dirStat) == 0) {
//path exist, chose another one
- tizenId = generateTizenId();
+ tizenId = WidgetDAOReadOnly::generateTizenId();
newPath.str("");
newPath << path << tizenId;
continue;
break;
}
- m_installerContext.widgetConfig.pkgname =
- DPL::FromUTF8String(tizenId);
+ m_installerContext.widgetConfig.pkgname = tizenId;
}
LogInfo("tizen_id name was generated by WRT: " << tizenId);
}
return true;
}
-DPL::OptionalString JobWidgetInstall::getNewTizenId() const
-{
- return m_installerContext.widgetConfig.pkgname;
-}
-
void JobWidgetInstall::configureWidgetLocation(const std::string & widgetPath,
const std::string& tempPath)
{
//inform widget info
JobWidgetInstall::displayWidgetInfo();
- DPL::OptionalString tizenId = getNewTizenId();
+ DPL::OptionalString & tizenId = m_installerContext.widgetConfig.pkgname;
// send signal of pkgmgr
PkgmgrSignalSingleton::Instance().sendSignal(
LogError("Error in installation step: " << m_exceptionCaught);
LogError("Message: " << m_exceptionMessage);
- DPL::OptionalString tizenId = getNewTizenId();
+ DPL::OptionalString & tizenId = m_installerContext.widgetConfig.pkgname;
LogDebug("Call widget install failure finishedCallback");
bool JobWidgetInstall::isDRMWidget(std::string widgetPath)
{
+ /* TODO :
drm_bool_type_e is_drm_file = DRM_UNKNOWN;
int ret = -1;
- /* TODO :
ret = drm_is_drm_file(widgetPath.c_str(), &is_drm_file);
if(DRM_RETURN_SUCCESS == ret && DRM_TRUE == is_drm_file) {
*/
/* blow code temporary code for drm. */
- ret = drm_oem_intel_isDrmFile(const_cast<char*>(widgetPath.c_str()));
+ int ret = drm_oem_intel_isDrmFile(const_cast<char*>(widgetPath.c_str()));
if ( 1 == ret) {
return true;
} else {