src/FreeformASN1ContentHandler.h
branchv_0
changeset 8 3192dc8772de
parent 4 368ba99bb98f
child 9 7d309accc639
equal deleted inserted replaced
7:2e4ee5a25f76 8:3192dc8772de
   127 		write(r);
   127 		write(r);
   128 		position.push_back(position.back());
   128 		position.push_back(position.back());
   129 	}
   129 	}
   130 
   130 
   131 	void writeStreamEnd() override {
   131 	void writeStreamEnd() override {
       
   132 		Record r(nullptr, position, L"stream-end");
       
   133 		write(r);
       
   134 		
   132 		auto id = position.back() + 1;
   135 		auto id = position.back() + 1;
   133 		position.pop_back();
   136 		position.pop_back();
   134 		position.back() = id;
   137 		position.back() = id;
   135 		// TODO: put end event under the start parent?
       
   136 		Record r(nullptr, position, L"stream-end");
       
   137 		write(r);
       
   138 	}
   138 	}
   139 
   139 
   140 	void writeCollectionStart(const Header& header) override {
   140 	void writeCollectionStart(const Header& header) override {
   141 		position.back()++;
   141 		position.back()++;
   142 		Record r(&header, position, L"collection-start");
   142 		Record r(&header, position, L"collection-start");
   143 		write(r);
   143 		write(r);
   144 		position.push_back(position.back());
   144 		position.push_back(position.back());
   145 	}
   145 	}
   146 
   146 
   147 	void writeCollectionEnd() override {
   147 	void writeCollectionEnd() override {
       
   148 		Record r(nullptr, position, L"collection-end");
       
   149 		write(r);
       
   150 		
   148 		auto id = position.back() + 1;
   151 		auto id = position.back() + 1;
   149 		position.pop_back();
   152 		position.pop_back();
   150 		position.back() = id;
   153 		position.back() = id;
   151 		// TODO: put end event under the start parent?
       
   152 		Record r(nullptr, position, L"collection-end");
       
   153 		write(r);
       
   154 	}
   154 	}
   155 
   155 
   156 	void writeBitString(const Header& header, std::vector<bool> value) override {
   156 	void writeBitString(const Header& header, std::vector<bool> value) override {
   157 		std::stringstream bits;
   157 		std::stringstream bits;
   158 		for (bool b : value) bits << (int) b;
   158 		for (bool b : value) bits << (int) b;