summaryrefslogtreecommitdiff
path: root/qpid/cpp/examples/pub-sub/topic_publisher.cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-10-24 00:45:11 +0000
committerTed Ross <tross@apache.org>2008-10-24 00:45:11 +0000
commitd33da71d0e2dbf23345c6bd45895eb918739c0c5 (patch)
treef820c248a9aa8bae3826811bb9fca8d970e993f5 /qpid/cpp/examples/pub-sub/topic_publisher.cpp
parent8a17f96b1254b5a827726e892edaf373d00dd0b8 (diff)
downloadqpid-python-d33da71d0e2dbf23345c6bd45895eb918739c0c5.tar.gz
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
Diffstat (limited to 'qpid/cpp/examples/pub-sub/topic_publisher.cpp')
-rw-r--r--qpid/cpp/examples/pub-sub/topic_publisher.cpp19
1 files changed, 10 insertions, 9 deletions
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);
//-----------------------------------------------------------------------------