From d33da71d0e2dbf23345c6bd45895eb918739c0c5 Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Fri, 24 Oct 2008 00:45:11 +0000 Subject: QPID-1348 - Dynamic binding for federation. Parameterized exchange names for CPP examples git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@707515 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/examples/pub-sub/topic_publisher.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'qpid/cpp/examples/pub-sub/topic_publisher.cpp') diff --git a/qpid/cpp/examples/pub-sub/topic_publisher.cpp b/qpid/cpp/examples/pub-sub/topic_publisher.cpp index ab485fec8f..d11e807259 100644 --- a/qpid/cpp/examples/pub-sub/topic_publisher.cpp +++ b/qpid/cpp/examples/pub-sub/topic_publisher.cpp @@ -60,7 +60,7 @@ using namespace qpid::framing; using std::stringstream; using std::string; -void publish_messages(Session& session, string routing_key) +void publish_messages(Session& session, string exchange, string routing_key) { Message message; @@ -75,7 +75,7 @@ void publish_messages(Session& session, string routing_key) message.setData(message_data.str()); // Asynchronous transfer sends messages as quickly as // possible without waiting for confirmation. - async(session).messageTransfer(arg::content=message, arg::destination="amq.topic"); + async(session).messageTransfer(arg::content=message, arg::destination=exchange); } } @@ -88,18 +88,19 @@ void publish_messages(Session& session, string routing_key) * */ -void no_more_messages(Session& session) +void no_more_messages(Session& session, string exchange) { Message message; message.getDeliveryProperties().setRoutingKey("control"); message.setData("That's all, folks!"); - session.messageTransfer(arg::content=message, arg::destination="amq.topic"); + session.messageTransfer(arg::content=message, arg::destination=exchange); } int main(int argc, char** argv) { const char* host = argc>1 ? argv[1] : "127.0.0.1"; int port = argc>2 ? atoi(argv[2]) : 5672; + std::string exchange = argc>3 ? argv[3] : "amq.topic"; Connection connection; Message message; try { @@ -108,12 +109,12 @@ int main(int argc, char** argv) { //--------- Main body of program -------------------------------------------- - publish_messages(session, "usa.news"); - publish_messages(session, "usa.weather"); - publish_messages(session, "europe.news"); - publish_messages(session, "europe.weather"); + publish_messages(session, exchange, "usa.news"); + publish_messages(session, exchange, "usa.weather"); + publish_messages(session, exchange, "europe.news"); + publish_messages(session, exchange, "europe.weather"); - no_more_messages(session); + no_more_messages(session, exchange); //----------------------------------------------------------------------------- -- cgit v1.2.1