diff -r d37c1a5d09ce -r 7a6abdd00ab5 src/lib/ASN1ContentHandler.h --- a/src/lib/ASN1ContentHandler.h Sat Jun 12 21:29:18 2021 +0200 +++ b/src/lib/ASN1ContentHandler.h Sat Jun 12 22:37:44 2021 +0200 @@ -50,6 +50,9 @@ virtual ~ASN1ContentHandler() = default; + virtual void writeStreamStart() = 0; + virtual void writeStreamEnd() = 0; + virtual void writeCollectionStart(CollectionType type) = 0; virtual void writeCollectionEnd() = 0; virtual void writeBoolean(bool value) = 0; @@ -85,27 +88,35 @@ #define handler for (auto ___h : handlers) ___h - void writeCollectionStart(CollectionType type) { + void writeStreamStart() override { + handler->writeStreamStart(); + } + + void writeStreamEnd() override { + handler->writeStreamEnd(); + } + + void writeCollectionStart(CollectionType type) override { handler->writeCollectionStart(type); } - void writeCollectionEnd() { + void writeCollectionEnd() override { handler->writeCollectionEnd(); } - void writeBoolean(bool value) { + void writeBoolean(bool value) override { handler->writeBoolean(value); } - void writeNull() { + void writeNull() override { handler->writeNull(); } - void writeInteger(int64_t value) { + void writeInteger(int64_t value) override { handler->writeInteger(value); } - void writeString(StringType type, std::string value) { + void writeString(StringType type, std::string value) override { handler->writeString(type, value); }