diff options
Diffstat (limited to 'cpp/src/qpid/broker')
-rw-r--r-- | cpp/src/qpid/broker/Deliverable.h | 2 | ||||
-rw-r--r-- | cpp/src/qpid/broker/DeliverableMessage.cpp | 4 | ||||
-rw-r--r-- | cpp/src/qpid/broker/DeliverableMessage.h | 4 | ||||
-rw-r--r-- | cpp/src/qpid/broker/ExchangeRegistry.cpp | 4 | ||||
-rw-r--r-- | cpp/src/qpid/broker/ExchangeRegistry.h | 5 | ||||
-rw-r--r-- | cpp/src/qpid/broker/RecoveryManagerImpl.cpp | 2 | ||||
-rw-r--r-- | cpp/src/qpid/broker/TxPublish.cpp | 6 | ||||
-rw-r--r-- | cpp/src/qpid/broker/TxPublish.h | 6 |
8 files changed, 21 insertions, 12 deletions
diff --git a/cpp/src/qpid/broker/Deliverable.h b/cpp/src/qpid/broker/Deliverable.h index c40780c4ae..e0ceeb2408 100644 --- a/cpp/src/qpid/broker/Deliverable.h +++ b/cpp/src/qpid/broker/Deliverable.h @@ -33,7 +33,7 @@ namespace qpid { virtual Message& getMessage() = 0; - virtual void deliverTo(Queue::shared_ptr& queue) = 0; + virtual void deliverTo(const boost::shared_ptr<Queue>& queue) = 0; virtual uint64_t contentSize() { return 0; } virtual ~Deliverable(){} }; diff --git a/cpp/src/qpid/broker/DeliverableMessage.cpp b/cpp/src/qpid/broker/DeliverableMessage.cpp index fd15acf464..5fff54b329 100644 --- a/cpp/src/qpid/broker/DeliverableMessage.cpp +++ b/cpp/src/qpid/broker/DeliverableMessage.cpp @@ -22,11 +22,11 @@ using namespace qpid::broker; -DeliverableMessage::DeliverableMessage(boost::intrusive_ptr<Message>& _msg) : msg(_msg) +DeliverableMessage::DeliverableMessage(const boost::intrusive_ptr<Message>& _msg) : msg(_msg) { } -void DeliverableMessage::deliverTo(Queue::shared_ptr& queue) +void DeliverableMessage::deliverTo(const boost::shared_ptr<Queue>& queue) { queue->deliver(msg); delivered = true; diff --git a/cpp/src/qpid/broker/DeliverableMessage.h b/cpp/src/qpid/broker/DeliverableMessage.h index 18e1ec5e29..f5db473c22 100644 --- a/cpp/src/qpid/broker/DeliverableMessage.h +++ b/cpp/src/qpid/broker/DeliverableMessage.h @@ -32,8 +32,8 @@ namespace qpid { class DeliverableMessage : public Deliverable{ boost::intrusive_ptr<Message> msg; public: - DeliverableMessage(boost::intrusive_ptr<Message>& msg); - virtual void deliverTo(Queue::shared_ptr& queue); + DeliverableMessage(const boost::intrusive_ptr<Message>& msg); + virtual void deliverTo(const boost::shared_ptr<Queue>& queue); Message& getMessage(); uint64_t contentSize(); virtual ~DeliverableMessage(){} diff --git a/cpp/src/qpid/broker/ExchangeRegistry.cpp b/cpp/src/qpid/broker/ExchangeRegistry.cpp index 45eb308680..309e88e8be 100644 --- a/cpp/src/qpid/broker/ExchangeRegistry.cpp +++ b/cpp/src/qpid/broker/ExchangeRegistry.cpp @@ -97,6 +97,10 @@ Exchange::shared_ptr ExchangeRegistry::get(const string& name){ return i->second; } +bool ExchangeRegistry::registerExchange(const Exchange::shared_ptr& ex) { + return exchanges.insert(ExchangeMap::value_type(ex->getName(), ex)).second; +} + void ExchangeRegistry::registerType(const std::string& type, FactoryFunction f) { factory[type] = f; diff --git a/cpp/src/qpid/broker/ExchangeRegistry.h b/cpp/src/qpid/broker/ExchangeRegistry.h index 58cbca3d92..787b7896f0 100644 --- a/cpp/src/qpid/broker/ExchangeRegistry.h +++ b/cpp/src/qpid/broker/ExchangeRegistry.h @@ -59,6 +59,11 @@ class ExchangeRegistry{ */ void setParent (management::Manageable* _parent) { parent = _parent; } + /** Register an exchange instance. + *@return true if registered, false if exchange with same name is already registered. + */ + bool registerExchange(const Exchange::shared_ptr&); + void registerType(const std::string& type, FactoryFunction); /** Call f for each exchange in the registry. */ diff --git a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp index b058978ccf..4103795087 100644 --- a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp +++ b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp @@ -59,7 +59,7 @@ class RecoverableQueueImpl : public RecoverableQueue { Queue::shared_ptr queue; public: - RecoverableQueueImpl(Queue::shared_ptr& _queue) : queue(_queue) {} + RecoverableQueueImpl(const boost::shared_ptr<Queue>& _queue) : queue(_queue) {} ~RecoverableQueueImpl() {}; void setPersistenceId(uint64_t id); uint64_t getPersistenceId() const; diff --git a/cpp/src/qpid/broker/TxPublish.cpp b/cpp/src/qpid/broker/TxPublish.cpp index dcee00e803..25ac691ada 100644 --- a/cpp/src/qpid/broker/TxPublish.cpp +++ b/cpp/src/qpid/broker/TxPublish.cpp @@ -45,7 +45,7 @@ void TxPublish::commit() throw(){ void TxPublish::rollback() throw(){ } -void TxPublish::deliverTo(Queue::shared_ptr& queue){ +void TxPublish::deliverTo(const boost::shared_ptr<Queue>& queue){ if (!queue->isLocal(msg)) { queues.push_back(queue); delivered = true; @@ -57,7 +57,7 @@ void TxPublish::deliverTo(Queue::shared_ptr& queue){ TxPublish::Prepare::Prepare(TransactionContext* _ctxt, intrusive_ptr<Message>& _msg) : ctxt(_ctxt), msg(_msg){} -void TxPublish::Prepare::operator()(Queue::shared_ptr& queue){ +void TxPublish::Prepare::operator()(const boost::shared_ptr<Queue>& queue){ if (!queue->enqueue(ctxt, msg)){ /** * if not store then mark message for ack and deleivery once @@ -70,7 +70,7 @@ void TxPublish::Prepare::operator()(Queue::shared_ptr& queue){ TxPublish::Commit::Commit(intrusive_ptr<Message>& _msg) : msg(_msg){} -void TxPublish::Commit::operator()(Queue::shared_ptr& queue){ +void TxPublish::Commit::operator()(const boost::shared_ptr<Queue>& queue){ queue->process(msg); } diff --git a/cpp/src/qpid/broker/TxPublish.h b/cpp/src/qpid/broker/TxPublish.h index d2590debfb..018437f1ed 100644 --- a/cpp/src/qpid/broker/TxPublish.h +++ b/cpp/src/qpid/broker/TxPublish.h @@ -51,14 +51,14 @@ namespace qpid { boost::intrusive_ptr<Message>& msg; public: Prepare(TransactionContext* ctxt, boost::intrusive_ptr<Message>& msg); - void operator()(Queue::shared_ptr& queue); + void operator()(const boost::shared_ptr<Queue>& queue); }; class Commit{ boost::intrusive_ptr<Message>& msg; public: Commit(boost::intrusive_ptr<Message>& msg); - void operator()(Queue::shared_ptr& queue); + void operator()(const boost::shared_ptr<Queue>& queue); }; boost::intrusive_ptr<Message> msg; @@ -72,7 +72,7 @@ namespace qpid { virtual Message& getMessage() { return *msg; }; - virtual void deliverTo(Queue::shared_ptr& queue); + virtual void deliverTo(const boost::shared_ptr<Queue>& queue); virtual ~TxPublish(){} |