summaryrefslogtreecommitdiff
path: root/qpid/cpp/examples/messaging/drain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/examples/messaging/drain.cpp')
-rw-r--r--qpid/cpp/examples/messaging/drain.cpp18
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;
}