Switch wgt::StepParse to use WidgetConfigParser class 95/42495/4 accepted/tizen/mobile/20150630.002712 accepted/tizen/tv/20150630.002721 accepted/tizen/wearable/20150630.002735 submit/tizen/20150629.144725
authorTomasz Iwanek <t.iwanek@samsung.com>
Wed, 24 Jun 2015 14:52:11 +0000 (16:52 +0200)
committerPawel Sikorski <p.sikorski@samsung.com>
Mon, 29 Jun 2015 14:50:49 +0000 (07:50 -0700)
Handlers and rules of parsing will be defined internally
in WidgetConfigParser class.

Requires submitted: https://review.tizen.org/gerrit/#/c/42492/

Change-Id: Iae90067d0d930afc0245cd9264ddbe11bdc8109d

src/wgt/step/step_parse.cc
src/wgt/step/step_parse.h

index 88a811c..bee7bf9 100755 (executable)
@@ -5,16 +5,14 @@
 
 #include "wgt/step/step_parse.h"
 
+#include <manifest_handlers/app_control_handler.h>
+#include <manifest_handlers/application_icons_handler.h>
 #include <manifest_handlers/application_manifest_constants.h>
-#include <manifest_handlers/appwidget_handler.h>
-#include <manifest_handlers/category_handler.h>
 #include <manifest_handlers/content_handler.h>
-#include <manifest_handlers/ime_handler.h>
 #include <manifest_handlers/metadata_handler.h>
-#include <manifest_handlers/navigation_handler.h>
 #include <manifest_handlers/setting_handler.h>
-#include <manifest_handlers/splash_screen_handler.h>
-#include <manifest_parser/manifest_handler.h>
+#include <manifest_handlers/tizen_application_handler.h>
+#include <manifest_handlers/widget_handler.h>
 #include <manifest_parser/manifest_constants.h>
 
 #include <pkgmgr/pkgmgr_parser.h>
 #include "common/app_installer.h"
 #include "common/context_installer.h"
 #include "common/step/step.h"
-
-#include "wgt/wgt_backend_data.h"
-
 #include "utils/clist_helpers.h"
+#include "wgt/wgt_backend_data.h"
 
 namespace {
 
@@ -246,26 +242,7 @@ common_installer::Step::Status StepParse::process() {
     return common_installer::Step::Status::ERROR;
   }
 
-  std::vector<parser::ManifestHandler*> handlers = {
-    new AppControlHandler,
-    new ApplicationIconsHandler,
-    new AppWidgetHandler,
-    new CategoryHandler,
-    new ContentHandler,
-    new ImeHandler,
-    new MetaDataHandler,
-    new NavigationHandler,
-    new PermissionsHandler,
-    new SettingHandler,
-    new SplashScreenHandler,
-    new TizenApplicationHandler,
-    new WidgetHandler
-  };
-
-  std::unique_ptr<parser::ManifestHandlerRegistry> registry(
-      new parser::ManifestHandlerRegistry(handlers));
-
-  parser_.reset(new parser::ManifestParser(std::move(registry)));
+  parser_.reset(new wgt::parse::WidgetConfigParser());
   if (!parser_->ParseManifest(config_)) {
     LOG(ERROR) << "[Parse] Parse failed. " <<  parser_->GetErrorMessage();
     return common_installer::Step::Status::ERROR;
index 324cace..91d4e30 100644 (file)
@@ -6,6 +6,8 @@
 #define WGT_STEP_STEP_PARSE_H_
 
 #include <boost/filesystem.hpp>
+#include <manifest_handlers/permissions_handler.h>
+#include <manifest_handlers/widget_config_parser.h>
 
 #include <memory>
 #include <set>
 #include "common/app_installer.h"
 #include "common/context_installer.h"
 #include "common/step/step.h"
-#include "manifest_handlers/app_control_handler.h"
-#include "manifest_handlers/application_icons_handler.h"
-#include "manifest_handlers/permissions_handler.h"
-#include "manifest_handlers/tizen_application_handler.h"
-#include "manifest_handlers/widget_handler.h"
-#include "manifest_parser/manifest_parser.h"
 #include "common/utils/logging.h"
 
 namespace wgt {
@@ -48,7 +44,7 @@ class StepParse : public common_installer::Step {
   bool FillMetadata(manifest_x* manifest);
   bool FillManifestX(manifest_x* manifest);
 
-  std::unique_ptr<parser::ManifestParser> parser_;
+  std::unique_ptr<wgt::parse::WidgetConfigParser> parser_;
   boost::filesystem::path config_;
   bool Check(const boost::filesystem::path& widget_path);