src/INICommand.cpp
branchv_0
changeset 35 930f17f16fd7
parent 33 3b81fbeb5f3b
equal deleted inserted replaced
34:7eb3dcacba7b 35:930f17f16fd7
    31 #include "lib/INIReader.h"
    31 #include "lib/INIReader.h"
    32 #include "lib/BasicUnescapingProcessor.h"
    32 #include "lib/BasicUnescapingProcessor.h"
    33 #include "lib/BackspaceUnescapingProcessor.h"
    33 #include "lib/BackspaceUnescapingProcessor.h"
    34 #include "lib/JavaPropertiesUnescapingProcessor.h"
    34 #include "lib/JavaPropertiesUnescapingProcessor.h"
    35 #include "lib/JavaPropertiesDialect.h"
    35 #include "lib/JavaPropertiesDialect.h"
       
    36 #include "lib/JavaManifestMFDialect.h"
    36 
    37 
    37 using namespace std;
    38 using namespace std;
    38 using namespace relpipe::writer;
    39 using namespace relpipe::writer;
    39 using namespace relpipe::in::ini::lib;
    40 using namespace relpipe::in::ini::lib;
    40 
    41 
   175 	std::shared_ptr<INIReader> reader(INIReader::create(input));
   176 	std::shared_ptr<INIReader> reader(INIReader::create(input));
   176 	reader->addUnescapingProcessor(std::make_shared<BasicUnescapingProcessor>(), unescaping::Basic, true);
   177 	reader->addUnescapingProcessor(std::make_shared<BasicUnescapingProcessor>(), unescaping::Basic, true);
   177 	reader->addUnescapingProcessor(std::make_shared<JavaPropertiesUnescapingProcessor>(), unescaping::JavaProperties, false);
   178 	reader->addUnescapingProcessor(std::make_shared<JavaPropertiesUnescapingProcessor>(), unescaping::JavaProperties, false);
   178 	reader->addUnescapingProcessor(std::make_shared<BackspaceUnescapingProcessor>(), unescaping::Backspace, true);
   179 	reader->addUnescapingProcessor(std::make_shared<BackspaceUnescapingProcessor>(), unescaping::Backspace, true);
   179 	reader->addDialect(std::make_shared<JavaPropertiesDialect>(), dialect::JavaProperties, false);
   180 	reader->addDialect(std::make_shared<JavaPropertiesDialect>(), dialect::JavaProperties, false);
   180 	reader->addDialect(std::make_shared<JavaPropertiesDialect>(), dialect::JavaManifestMF, false);
   181 	reader->addDialect(std::make_shared<JavaManifestMFDialect>(), dialect::JavaManifestMF, false);
   181 	reader->addHandler(&handler);
   182 	reader->addHandler(&handler);
   182 	// TODO: smart pointers vs. references: are we going to call addUnescapingProcessor() dynamically/conditionally or share instances? Then pointers will be better.
   183 	// TODO: smart pointers vs. references: are we going to call addUnescapingProcessor() dynamically/conditionally or share instances? Then pointers will be better.
   183 	for (ParserOptionRecipe option : configuration.parserOptions) reader->setOption(convertor.to_bytes(option.uri), convertor.to_bytes(option.value));
   184 	for (ParserOptionRecipe option : configuration.parserOptions) reader->setOption(convertor.to_bytes(option.uri), convertor.to_bytes(option.value));
   184 	reader->process();
   185 	reader->process();
   185 
   186