External file removal fix
[framework/web/wrt-installer.git] / src / jobs / widget_install / job_widget_install.cpp
index 5fd9f80..d0c2aba 100644 (file)
  * @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;
 
@@ -83,7 +85,6 @@ const char * const WITH_OSP_XML = "res/wgt/config.xml";
 
 //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";
@@ -275,18 +276,6 @@ JobWidgetInstall::ConfigureResult JobWidgetInstall::PrePareInstallation(
     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)
 {
@@ -309,7 +298,7 @@ bool JobWidgetInstall::setTizenId(
         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) {
@@ -324,7 +313,7 @@ bool JobWidgetInstall::setTizenId(
             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;
@@ -332,8 +321,7 @@ bool JobWidgetInstall::setTizenId(
                 break;
             }
 
-            m_installerContext.widgetConfig.pkgname =
-                DPL::FromUTF8String(tizenId);
+            m_installerContext.widgetConfig.pkgname = tizenId;
         }
         LogInfo("tizen_id name was generated by WRT: " << tizenId);
     }
@@ -344,11 +332,6 @@ bool JobWidgetInstall::setTizenId(
     return true;
 }
 
-DPL::OptionalString JobWidgetInstall::getNewTizenId() const
-{
-    return m_installerContext.widgetConfig.pkgname;
-}
-
 void JobWidgetInstall::configureWidgetLocation(const std::string & widgetPath,
                                                const std::string& tempPath)
 {
@@ -658,7 +641,7 @@ void JobWidgetInstall::SendFinishedSuccess()
     //inform widget info
     JobWidgetInstall::displayWidgetInfo();
 
-    DPL::OptionalString tizenId = getNewTizenId();
+    DPL::OptionalString & tizenId = m_installerContext.widgetConfig.pkgname;
 
     // send signal of pkgmgr
     PkgmgrSignalSingleton::Instance().sendSignal(
@@ -678,7 +661,7 @@ void JobWidgetInstall::SendFinishedFailure()
 
     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");