read the input stream and pass dummy events through v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 12 Jun 2021 19:15:58 +0200
branchv_0
changeset 5 15c3221e66af
parent 4 7230e1ea0b07
child 6 6a4a348426d9
read the input stream and pass dummy events through
src/XMLDocumentConstructor.h
src/lib/BasicASN1Reader.h
src/lib/DOMBuildingSAXContentHandler.h
src/lib/GenericASN1ContentHandler.h
--- a/src/XMLDocumentConstructor.h	Sat Jun 12 18:34:19 2021 +0200
+++ b/src/XMLDocumentConstructor.h	Sat Jun 12 19:15:58 2021 +0200
@@ -50,10 +50,10 @@
 		reader.addHandler(asn1handler);
 
 
-		reader.write(nullptr, 0); // FIXME: transfer data from input to reader + use DOMBuildingSAXContentHandler
+		// TODO: buffering? (reader itself also buffers)
+		for (char ch = input->get(); input->good(); ch = input->get()) reader.write(&ch, 1);
+
 		reader.close();
-
-		parser->parse_stream(*input);
 	}
 };
 
--- a/src/lib/BasicASN1Reader.h	Sat Jun 12 18:34:19 2021 +0200
+++ b/src/lib/BasicASN1Reader.h	Sat Jun 12 19:15:58 2021 +0200
@@ -43,6 +43,8 @@
 protected:
 
 	void update() override {
+		
+		handlers.abc();
 
 		if (state == State::A) {
 
--- a/src/lib/DOMBuildingSAXContentHandler.h	Sat Jun 12 18:34:19 2021 +0200
+++ b/src/lib/DOMBuildingSAXContentHandler.h	Sat Jun 12 19:15:58 2021 +0200
@@ -32,9 +32,11 @@
 public:
 
 	DOMBuildingSAXContentHandler(xmlpp::Document* document) : document(document) {
+		document->create_root_node("DOMBuildingSAXContentHandler"); // FIXME: real implementation
 	}
 
 	void abc() override {
+		document->get_root_node()->add_child("abc");
 	};
 
 	void def(int a) override {
--- a/src/lib/GenericASN1ContentHandler.h	Sat Jun 12 18:34:19 2021 +0200
+++ b/src/lib/GenericASN1ContentHandler.h	Sat Jun 12 19:15:58 2021 +0200
@@ -42,6 +42,7 @@
 	}
 
 	void abc() override {
+		handlers.abc();
 	};
 
 	void def(int a) override {