switched raw ptrs to shared_ptrs to prevent leaks 06/67906/2 accepted/tizen/common/20160504.125305 accepted/tizen/ivi/20160503.093017 accepted/tizen/mobile/20160503.092920 accepted/tizen/tv/20160503.092943 accepted/tizen/wearable/20160503.092955 submit/tizen/20160502.063802 submit/tizen/20160503.003646
authorKamil Rojewski <k.rojewski@samsung.com>
Fri, 22 Apr 2016 11:15:13 +0000 (13:15 +0200)
committerTomasz Iwanek <t.iwanek@samsung.com>
Fri, 29 Apr 2016 08:31:13 +0000 (01:31 -0700)
Change-Id: Ib6d81c69dbccc6eff315deae817118468600084c

src/delta/delta_parser.cc
src/manifest_parser/manifest_handler.cc
src/manifest_parser/manifest_handler.h
src/tpk_manifest_handlers/tpk_config_parser.cc
src/unit_tests/parser_unittest.cc
src/wgt_manifest_handlers/widget_config_parser.cc

index 66e2c7188ba4c06fa32f04496148b2904be964ba..3f52871aec762ee3ec9dea2742b758d044f4cb53 100644 (file)
@@ -12,8 +12,8 @@
 namespace delta {
 
 DeltaParser::DeltaParser() {
-  std::vector<parser::ManifestHandler*> handlers = {
-    new DeltaHandler,
+  std::vector<std::shared_ptr<parser::ManifestHandler>> handlers = {
+    std::make_shared<DeltaHandler>(),
   };
 
   std::unique_ptr<parser::ManifestHandlerRegistry> registry(
index 5a47d237765cad9d9213124ed258f541f3d776b1..695af325a14c03afe76c06bee7a4bd93ca9785cd 100644 (file)
@@ -79,10 +79,9 @@ ManifestHandlerRegistry::ManifestHandlerRegistry() {
 }
 
 ManifestHandlerRegistry::ManifestHandlerRegistry(
-    const std::vector<ManifestHandler*>& handlers) {
-  for (std::vector<ManifestHandler*>::const_iterator it = handlers.begin();
-       it != handlers.end(); ++it) {
-    handlers_[(*it)->Key()] = std::shared_ptr<ManifestHandler>(*it);
+    const std::vector<std::shared_ptr<ManifestHandler>>& handlers) {
+  for (auto it = handlers.begin(); it != handlers.end(); ++it) {
+    handlers_[(*it)->Key()] = *it;
   }
 
   ReorderHandlersGivenDependencies();
index df4b3b898e6954179b6201cce2f7c101ba4fdae9..32d3be5e8c60e8c86714682aa1d3f13412829262 100644 (file)
@@ -104,7 +104,7 @@ class ManifestHandlerRegistry {
  public:
   ManifestHandlerRegistry();
   explicit ManifestHandlerRegistry(
-      const std::vector<ManifestHandler*>& handlers);
+      const std::vector<std::shared_ptr<ManifestHandler>>& handlers);
   ~ManifestHandlerRegistry();
 
   // Register a manifest handler for key, which is provided by Key() method
index 59a78daa157673d807068153908c757bb03f27b6..932be9330be93ab4d15e091bfcb3fe3a5d1360e9 100644 (file)
@@ -37,18 +37,18 @@ namespace tpk {
 namespace parse {
 
 TPKConfigParser::TPKConfigParser() {
-  std::vector<parser::ManifestHandler*> handlers = {
-  new AccountHandler,
-  new AuthorHandler,
-  new DescriptionHandler,
-  new PackageHandler,
-  new PrivilegesHandler,
-  new ProfileHandler,
-  new WidgetApplicationHandler,
-  new WatchApplicationHandler,
-  new ServiceApplicationHandler,
-  new UIApplicationHandler,
-  new ShortcutHandler
+  std::vector<std::shared_ptr<parser::ManifestHandler>> handlers = {
+    std::make_shared<AccountHandler>(),
+    std::make_shared<AuthorHandler>(),
+    std::make_shared<DescriptionHandler>(),
+    std::make_shared<PackageHandler>(),
+    std::make_shared<PrivilegesHandler>(),
+    std::make_shared<ProfileHandler>(),
+    std::make_shared<WidgetApplicationHandler>(),
+    std::make_shared<WatchApplicationHandler>(),
+    std::make_shared<ServiceApplicationHandler>(),
+    std::make_shared<UIApplicationHandler>(),
+    std::make_shared<ShortcutHandler>()
   };
 
   std::unique_ptr<parser::ManifestHandlerRegistry> registry(
index 6ce2d5e631b4fd8ff27e84f1da3716ec2cb5761e..fd2d363bd7943ef6bbf216763a89710c60303fcc 100644 (file)
@@ -131,8 +131,8 @@ class ParseManifestTest : public testing::Test {
 TEST_F(ParseManifestTest, HandlesProperManifestFile) {
   bf::path path =
       "/usr/share/manifest-parser-ut/test_samples/good_manifest.xml";
-  std::vector<parser::ManifestHandler*> handlers = {
-    new wgt::parse::TizenApplicationHandler,
+  std::vector<std::shared_ptr<parser::ManifestHandler>> handlers = {
+    std::make_shared<wgt::parse::TizenApplicationHandler>(),
   };
 
   std::unique_ptr<ManifestHandlerRegistry> registry;
@@ -153,8 +153,8 @@ TEST_F(ParseManifestTest, HandlesProperManifestFile) {
 // Tests manifest parser with broken manifest
 TEST_F(ParseManifestTest, HandlesBrokenManifestFile) {
   bf::path path = "/usr/share/manifest-parser-ut/test_samples/bad_manifest.xml";
-  std::vector<parser::ManifestHandler*> handlers = {
-    new wgt::parse::TizenApplicationHandler,
+  std::vector<std::shared_ptr<parser::ManifestHandler>> handlers = {
+      std::make_shared<wgt::parse::TizenApplicationHandler>(),
   };
 
   std::unique_ptr<ManifestHandlerRegistry> registry =
index 1f20b71681fac72dbba824430622fc3c5f0cf5f0..c6f293d55c5141ae7ca2347d53d5ccaa5e72efde 100644 (file)
@@ -209,26 +209,26 @@ namespace wgt {
 namespace parse {
 
 WidgetConfigParser::WidgetConfigParser() {
-  std::vector<parser::ManifestHandler*> handlers = {
-    new AccountHandler,
-    new AppControlHandler,
-    new ApplicationIconsHandler,
-    new AppWidgetHandler,
-    new CategoryHandler,
-    new ContentHandler,
-    new CSPHandler(CSPHandler::SecurityType::CSP),
-    new CSPHandler(CSPHandler::SecurityType::CSP_REPORT_ONLY),
-    new ImeHandler,
-    new MetaDataHandler,
-    new NavigationHandler,
-    new PermissionsHandler,
-    new ServiceHandler,
-    new SettingHandler,
-    new SplashScreenHandler,
-    new TizenApplicationHandler,
-    new WarpHandler,
-    new WidgetHandler,
-    new BackgroundCategoryHandler
+  std::vector<std::shared_ptr<parser::ManifestHandler>> handlers = {
+    std::make_shared<AccountHandler>(),
+    std::make_shared<AppControlHandler>(),
+    std::make_shared<ApplicationIconsHandler>(),
+    std::make_shared<AppWidgetHandler>(),
+    std::make_shared<CategoryHandler>(),
+    std::make_shared<ContentHandler>(),
+    std::make_shared<CSPHandler>(CSPHandler::SecurityType::CSP),
+    std::make_shared<CSPHandler>(CSPHandler::SecurityType::CSP_REPORT_ONLY),
+    std::make_shared<ImeHandler>(),
+    std::make_shared<MetaDataHandler>(),
+    std::make_shared<NavigationHandler>(),
+    std::make_shared<PermissionsHandler>(),
+    std::make_shared<ServiceHandler>(),
+    std::make_shared<SettingHandler>(),
+    std::make_shared<SplashScreenHandler>(),
+    std::make_shared<TizenApplicationHandler>(),
+    std::make_shared<WarpHandler>(),
+    std::make_shared<WidgetHandler>(),
+    std::make_shared<BackgroundCategoryHandler>()
   };
 
   std::unique_ptr<parser::ManifestHandlerRegistry> registry(