constants for attribute names v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Fri, 11 Jun 2021 18:59:03 +0200
branchv_0
changeset 43 6b194b178946
parent 42 c97b6152016a
child 44 8f424bdd7065
constants for attribute names
src/XMLDocumentConstructor.h
--- a/src/XMLDocumentConstructor.h	Thu Jun 10 19:59:51 2021 +0200
+++ b/src/XMLDocumentConstructor.h	Fri Jun 11 18:59:03 2021 +0200
@@ -58,6 +58,11 @@
 	std::vector<ssize_t> remainingItems;
 #define INDEFINITE -1
 
+#define ATTR_VALUE_TYPE "value-type"
+#define ATTR_KEY_TYPE "key-type"
+#define ATTR_TAG "tag"
+#define ATTR_BYTES_READ "bytes-read"
+
 	std::stringstream currentIndefiniteString;
 
 	uint64_t currentTag;
@@ -87,7 +92,7 @@
 
 	void writeCurrentTag(xmlpp::Element* element) {
 		if (currentTagPresent) {
-			element->set_attribute("tag", std::to_string(currentTag));
+			element->set_attribute(ATTR_TAG, std::to_string(currentTag));
 			currentTagPresent = false;
 		}
 	}
@@ -96,22 +101,22 @@
 		if (mode.back() == Mode::ARRAY) {
 			xmlpp::Element* element = current->add_child(nameCodec.encode(itemName));
 			element->add_child_text(value);
-			element->set_attribute("value-type", cborType);
+			element->set_attribute(ATTR_VALUE_TYPE, cborType);
 			writeCurrentTag(element);
 		} else if (mode.back() == Mode::MAP_KEY) {
 			current = current->add_child(nameCodec.encode(value));
-			current->set_attribute("key-type", cborType);
+			current->set_attribute(ATTR_KEY_TYPE, cborType);
 			writeCurrentTag(current);
 			mode.push_back(Mode::MAP_VALUE);
 		} else if (mode.back() == Mode::MAP_VALUE) {
 			current->add_child_text(value);
-			current->set_attribute("value-type", cborType);
+			current->set_attribute(ATTR_VALUE_TYPE, cborType);
 			writeCurrentTag(current);
 			current = parentOrSelf(current);
 			mode.pop_back();
 		} else if (mode.back() == Mode::ROOT) {
 			current->add_child_text(value);
-			current->set_attribute("value-type", cborType);
+			current->set_attribute(ATTR_VALUE_TYPE, cborType);
 			writeCurrentTag(current);
 		} else if (mode.back() == Mode::BYTE_STRING || mode.back() == Mode::CHAR_STRING) {
 			currentIndefiniteString << value;
@@ -124,7 +129,7 @@
 
 	void arrayStart(ssize_t size) {
 		if (mode.back() == Mode::ROOT) {
-			current->set_attribute("value-type", "array");
+			current->set_attribute(ATTR_VALUE_TYPE, "array");
 			itemName = "item";
 		} else if (mode.back() == Mode::ARRAY) {
 			current = current->add_child(nameCodec.encode(itemName));
@@ -161,7 +166,7 @@
 			// …probably not
 		}
 
-		current->set_attribute("value-type", "map");
+		current->set_attribute(ATTR_VALUE_TYPE, "map");
 
 		mode.push_back(Mode::MAP_KEY);
 		remainingItems.push_back(size);
@@ -319,7 +324,7 @@
 
 		checkRemainingItems();
 
-		parser->get_document()->get_root_node()->set_attribute("bytes-read", std::to_string(bytesRead));
+		parser->get_document()->get_root_node()->set_attribute(ATTR_BYTES_READ, std::to_string(bytesRead));
 	}
 };