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(
}
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();
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
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(
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;
// 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 =
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(