equal
deleted
inserted
replaced
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(); |