42 class HttpdHandler : public relpipe::reader::handlers::RelationalReaderStringHandler { |
42 class HttpdHandler : public relpipe::reader::handlers::RelationalReaderStringHandler { |
43 private: |
43 private: |
44 std::wstring_convert<codecvt_utf8<wchar_t>> convertor; // XML is in UTF-8 |
44 std::wstring_convert<codecvt_utf8<wchar_t>> convertor; // XML is in UTF-8 |
45 shared_ptr<relpipe::writer::RelationalWriter> relationalWriter; |
45 shared_ptr<relpipe::writer::RelationalWriter> relationalWriter; |
46 Configuration configuration; |
46 Configuration configuration; |
|
47 std::shared_ptr<HTTPServer> httpServer; |
47 RelationConfiguration* currentRelationConfiguration = nullptr; |
48 RelationConfiguration* currentRelationConfiguration = nullptr; |
48 std::vector<relpipe::reader::handlers::AttributeMetadata> currentReaderMetadata; |
49 std::vector<relpipe::reader::handlers::AttributeMetadata> currentReaderMetadata; |
49 std::vector<relpipe::writer::AttributeMetadata> currentWriterMetadata; |
50 std::vector<relpipe::writer::AttributeMetadata> currentWriterMetadata; |
50 size_t currentAttributeIndex = 0; |
51 size_t currentAttributeIndex = 0; |
51 size_t currentRecordNumber = 1; |
52 size_t currentRecordNumber = 1; |
52 |
53 |
53 public: |
54 public: |
54 |
55 |
55 HttpdHandler(shared_ptr<relpipe::writer::RelationalWriter> relationalWriter, Configuration configuration) : relationalWriter(relationalWriter), configuration(configuration) { |
56 HttpdHandler(shared_ptr<relpipe::writer::RelationalWriter> relationalWriter, Configuration configuration, std::shared_ptr<HTTPServer> httpServer) : relationalWriter(relationalWriter), configuration(configuration), httpServer(httpServer) { |
56 |
57 |
57 } |
58 } |
58 |
59 |
59 virtual ~HttpdHandler() { |
60 virtual ~HttpdHandler() { |
60 } |
61 } |
61 |
62 |
62 void startRelation(relpipe::common::type::StringX name, std::vector<relpipe::reader::handlers::AttributeMetadata> attributes) override { |
63 void startRelation(relpipe::common::type::StringX name, std::vector<relpipe::reader::handlers::AttributeMetadata> attributes) override { |
63 |
64 |
64 } |
65 } |
65 |
66 |
66 void attribute(const relpipe::common::type::StringX& value) override { |
67 void attribute(const relpipe::common::type::StringX& value) override { |
67 |
68 |
68 } |
69 } |
69 |
70 |
70 void endOfPipe() { |
71 void endOfPipe() { |
71 |
72 |
72 } |
73 } |