src/INICommand.cpp
branchv_0
changeset 23 b497140b0b63
parent 17 4b1612d20cb2
child 27 e9aad9dd823a
equal deleted inserted replaced
22:29d673a54ecf 23:b497140b0b63
   168 };
   168 };
   169 
   169 
   170 void INICommand::process(std::istream& input, std::shared_ptr<writer::RelationalWriter> writer, Configuration& configuration) {
   170 void INICommand::process(std::istream& input, std::shared_ptr<writer::RelationalWriter> writer, Configuration& configuration) {
   171 	FlatINIContentHandler handler(writer, configuration);
   171 	FlatINIContentHandler handler(writer, configuration);
   172 	std::shared_ptr<INIReader> reader(INIReader::create(input));
   172 	std::shared_ptr<INIReader> reader(INIReader::create(input));
   173 	// TODO: configure the INIReader (features/properties) according to our Configuration (sub-keys etc.)
   173 	for (ParserOptionRecipe option : configuration.parserOptions) reader->setOption(convertor.to_bytes(option.uri), convertor.to_bytes(option.value));
   174 	BasicUnescapingINIContentHandler unescapingHandler(handler, false);
   174 	BasicUnescapingINIContentHandler unescapingHandler(handler, false);
   175 	JavaPropertiesUnescapingINIContentHandler javaHandler(unescapingHandler, true);
   175 	JavaPropertiesUnescapingINIContentHandler javaHandler(unescapingHandler, true);
   176 	reader->addHandler(&javaHandler);
   176 	reader->addHandler(&javaHandler);
   177 	reader->process();
   177 	reader->process();
   178 
   178