--- a/src/PosixMQHandler.h Tue Mar 15 00:28:13 2022 +0100
+++ b/src/PosixMQHandler.h Wed Apr 20 02:27:05 2022 +0200
@@ -31,6 +31,7 @@
#include "PosixMQ.h"
#include "Configuration.h"
+#include "Hex.h"
namespace relpipe {
namespace out {
@@ -49,16 +50,6 @@
std::string currentValue;
} currentRelation;
- std::string formatText(relpipe::common::type::StringX value) {
- // TODO: check valid UTF-8; if invalid, return only ASCII characters
- return convertor.to_bytes(value);
- }
-
- std::string formatData(relpipe::common::type::StringX value) {
- // TODO: decode HEX if type is string; return original octets if type is octet-string (not yet implemented)
- return convertor.to_bytes(value);
- }
-
public:
PosixMQHandler(Configuration configuration) : configuration(configuration) {
@@ -72,8 +63,8 @@
void attribute(const relpipe::common::type::StringX& value) override {
auto attributeName = currentRelation.attributes[currentRelation.attributeIndex].getAttributeName();
- if (attributeName == L"text") currentRelation.currentValue = formatText(value);
- else if (attributeName == L"data") currentRelation.currentValue = formatData(value);
+ if (attributeName == L"text") currentRelation.currentValue = convertor.to_bytes(value);
+ else if (attributeName == L"data") currentRelation.currentValue = Hex::fromHex(value).str();
currentRelation.attributeIndex++;
if (currentRelation.attributeIndex == currentRelation.attributes.size()) {