From be8e1bf6b6a0d760bddbbe6642d477a95f36ab42 Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 11 May 2010 10:06:30 +0000 Subject: QPID-664: Add default constructor for Connection; add option to set url on existing connection. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@943071 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'cpp/src/qpid/client') diff --git a/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp b/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp index 2ee9cf3fc0..6c3c9c5218 100644 --- a/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp +++ b/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp @@ -103,7 +103,7 @@ ConnectionImpl::ConnectionImpl(const std::string& url, const Variant::Map& optio { QPID_LOG(debug, "Created connection with " << options); setOptions(options); - urls.push_back(url); + urls.insert(urls.begin(), url); } void ConnectionImpl::setOptions(const Variant::Map& options) @@ -125,10 +125,15 @@ void ConnectionImpl::setOptions(const Variant::Map& options) void ConnectionImpl::setOption(const std::string& name, const Variant& value) { - Variant::Map options; - options[name] = value; - setOptions(options); - QPID_LOG(debug, "Set " << name << " to " << value); + if (name == "url") { + if (urls.size()) urls[0] = value.asString(); + else urls.insert(urls.begin(), value.asString()); + } else { + Variant::Map options; + options[name] = value; + setOptions(options); + QPID_LOG(debug, "Set " << name << " to " << value); + } } void ConnectionImpl::close() -- cgit v1.2.1