From 7f1cc4b0a660cbe837e0261bd576eb4dd51dffd6 Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Mon, 1 Feb 2010 16:10:33 +0000 Subject: QPID-2348 - [C++] The HeadersExchange does not support federation Applied patch from Sam Joyce git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@905322 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/Bridge.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/broker/Bridge.cpp') diff --git a/cpp/src/qpid/broker/Bridge.cpp b/cpp/src/qpid/broker/Bridge.cpp index 79e311d032..003d508e79 100644 --- a/cpp/src/qpid/broker/Bridge.cpp +++ b/cpp/src/qpid/broker/Bridge.cpp @@ -273,13 +273,19 @@ management::Manageable::status_t Bridge::ManagementMethod(uint32_t methodId, } void Bridge::propagateBinding(const string& key, const string& tagList, - const string& op, const string& origin) + const string& op, const string& origin, + qpid::framing::FieldTable* extra_args) { const string& localTag = link->getBroker()->getFederationTag(); const string& peerTag = connState->getFederationPeerTag(); if (tagList.find(peerTag) == tagList.npos) { FieldTable bindArgs; + if (extra_args) { + for (qpid::framing::FieldTable::ValueMap::iterator i=extra_args->begin(); i != extra_args->end(); ++i) { + bindArgs.insert((*i)); + } + } string newTagList(tagList + string(tagList.empty() ? "" : ",") + localTag); bindArgs.setString(qpidFedOp, op); -- cgit v1.2.1