diff -r e8205d9206fb -r 291bdd97fcff src/PosixMQCommand.cpp --- a/src/PosixMQCommand.cpp Sat Feb 26 01:21:14 2022 +0100 +++ b/src/PosixMQCommand.cpp Tue Mar 01 00:47:49 2022 +0100 @@ -31,6 +31,7 @@ #include #include "PosixMQCommand.h" +#include "PosixMQ.h" using namespace std; using namespace relpipe::cli; @@ -41,18 +42,25 @@ namespace posixmq { void PosixMQCommand::process(std::shared_ptr writer, Configuration& configuration) { - wstring_convert < codecvt_utf8> convertor; // UTF-8 is required for PosixMQ vector metadata; - writer->startRelation(L"posix_mq",{ + std::shared_ptr mq(PosixMQ::open(convertor.to_bytes(configuration.queue))); + + writer->startRelation(configuration.relation,{ + {L"queue", TypeId::STRING}, {L"message", TypeId::STRING} }, true); - - writer->writeAttribute(L"TODO: read messages from POSIX MQ"); + for (int i = configuration.messageCount; i > 0; i--) { + writer->writeAttribute(configuration.queue); + writer->writeAttribute(convertor.from_bytes(mq->receive())); + } } +PosixMQCommand::~PosixMQCommand() { +} + } } } \ No newline at end of file