--- 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));
}
};