src/INIDispatchHandler.h
branchv_0
changeset 3 ae8775e0bc7a
parent 1 e04e5bbc147b
child 5 bee7acb57330
equal deleted inserted replaced
2:e753a7f967c8 3:ae8775e0bc7a
    34 #include "Configuration.h"
    34 #include "Configuration.h"
    35 #include "INIWriter.h"
    35 #include "INIWriter.h"
    36 #include "INIStandardHandler.h"
    36 #include "INIStandardHandler.h"
    37 #include "INILiteralHandler.h"
    37 #include "INILiteralHandler.h"
    38 #include "INISectionFirstHandler.h"
    38 #include "INISectionFirstHandler.h"
       
    39 #include "JavaPropertiesDialect.h"
       
    40 #include "JavaManifestMFDialect.h"
       
    41 #include "JavaPropertiesEscapingProcessor.h"
       
    42 #include "BasicEscapingProcessor.h"
       
    43 #include "uri.h"
    39 
    44 
    40 namespace relpipe {
    45 namespace relpipe {
    41 namespace out {
    46 namespace out {
    42 namespace ini {
    47 namespace ini {
    43 
    48 
    78 	}
    83 	}
    79 
    84 
    80 public:
    85 public:
    81 
    86 
    82 	INIDispatchHandler(std::ostream& output, Configuration& configuration) : output(output), writer(output), configuration(configuration) {
    87 	INIDispatchHandler(std::ostream& output, Configuration& configuration) : output(output), writer(output), configuration(configuration) {
       
    88 		writer.addDialect(std::make_shared<JavaPropertiesDialect>(), dialect::JavaProperties, false);
       
    89 		writer.addDialect(std::make_shared<JavaManifestMFDialect>(), dialect::JavaManifestMF, false);
       
    90 		writer.addEscapingProcessor(std::make_shared<BasicEscapingProcessor>(), escaping::Basic, true);
       
    91 		writer.addEscapingProcessor(std::make_shared<JavaPropertiesEscapingProcessor>(), escaping::JavaProperties, false);
    83 		for (auto o : configuration.writerOptions) writer.setOption(o.uri, o.value);
    92 		for (auto o : configuration.writerOptions) writer.setOption(o.uri, o.value);
    84 	}
    93 	}
    85 
    94 
    86 	void startRelation(relpipe::common::type::StringX name, std::vector<relpipe::reader::handlers::AttributeMetadata> attributes) override {
    95 	void startRelation(relpipe::common::type::StringX name, std::vector<relpipe::reader::handlers::AttributeMetadata> attributes) override {
    87 		if (currentHandler) currentHandler->endOfPipe();
    96 		if (currentHandler) currentHandler->endOfPipe();