diff options
Diffstat (limited to 'qpid/cpp/examples/messaging/drain.cpp')
| -rw-r--r-- | qpid/cpp/examples/messaging/drain.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/qpid/cpp/examples/messaging/drain.cpp b/qpid/cpp/examples/messaging/drain.cpp index 563e5e5060..6ac1d3a236 100644 --- a/qpid/cpp/examples/messaging/drain.cpp +++ b/qpid/cpp/examples/messaging/drain.cpp @@ -90,15 +90,17 @@ int main(int argc, char** argv) int count = options.getCount(); Message message; int i = 0; - + while (receiver.fetch(message, timeout)) { - std::cout << "Message(properties=" << message.getProperties() << ", content='" ; + std::cout << "Message(properties=" << message.getProperties(); + if (!message.getSubject().empty()) { + std::cout << ", subject='" << message.getSubject() << "'"; + } + std::cout << ", content='"; if (message.getContentType() == "amqp/map") { - Variant::Map map; - decode(message, map); - std::cout << map; + std::cout << message.getContentObject().asMap(); } else { - std::cout << message.getContent(); + std::cout << message.getContentObject(); } std::cout << "')" << std::endl; session.acknowledge(); @@ -106,7 +108,7 @@ int main(int argc, char** argv) break; } receiver.close(); - session.close(); + session.close(); connection.close(); return 0; } catch(const std::exception& error) { @@ -114,5 +116,5 @@ int main(int argc, char** argv) connection.close(); } } - return 1; + return 1; } |
