src/INICommand.cpp
branchv_0
changeset 29 f0bf2755249f
parent 28 596a724fbb83
child 33 3b81fbeb5f3b
equal deleted inserted replaced
28:596a724fbb83 29:f0bf2755249f
   173 void INICommand::process(std::istream& input, std::shared_ptr<writer::RelationalWriter> writer, Configuration& configuration) {
   173 void INICommand::process(std::istream& input, std::shared_ptr<writer::RelationalWriter> writer, Configuration& configuration) {
   174 	FlatINIContentHandler handler(writer, configuration);
   174 	FlatINIContentHandler handler(writer, configuration);
   175 	std::shared_ptr<INIReader> reader(INIReader::create(input));
   175 	std::shared_ptr<INIReader> reader(INIReader::create(input));
   176 	reader->addUnescapingProcessor(std::make_shared<BasicUnescapingProcessor>(), unescaping::Basic, true);
   176 	reader->addUnescapingProcessor(std::make_shared<BasicUnescapingProcessor>(), unescaping::Basic, true);
   177 	reader->addUnescapingProcessor(std::make_shared<JavaPropertiesUnescapingProcessor>(), unescaping::JavaProperties, false);
   177 	reader->addUnescapingProcessor(std::make_shared<JavaPropertiesUnescapingProcessor>(), unescaping::JavaProperties, false);
   178 	reader->addUnescapingProcessor(std::make_shared<BackspaceUnescapingProcessor>(false), unescaping::BackspaceDisorder, false);
       
   179 	reader->addUnescapingProcessor(std::make_shared<BackspaceUnescapingProcessor>(), unescaping::Backspace, true);
   178 	reader->addUnescapingProcessor(std::make_shared<BackspaceUnescapingProcessor>(), unescaping::Backspace, true);
   180 	reader->addDialect(std::make_shared<JavaPropertiesDialect>(), dialect::JavaProperties, false);
   179 	reader->addDialect(std::make_shared<JavaPropertiesDialect>(), dialect::JavaProperties, false);
   181 	reader->addHandler(&handler);
   180 	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.
   181 	// 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));
   182 	for (ParserOptionRecipe option : configuration.parserOptions) reader->setOption(convertor.to_bytes(option.uri), convertor.to_bytes(option.value));