diff options
Diffstat (limited to 'cpp/src/qpid/broker/Broker.h')
-rw-r--r-- | cpp/src/qpid/broker/Broker.h | 87 |
1 files changed, 49 insertions, 38 deletions
diff --git a/cpp/src/qpid/broker/Broker.h b/cpp/src/qpid/broker/Broker.h index cff38eecdd..135b9340f9 100644 --- a/cpp/src/qpid/broker/Broker.h +++ b/cpp/src/qpid/broker/Broker.h @@ -106,6 +106,7 @@ public: int maxConnections; int connectionBacklog; bool enableMgmt; + bool mgmtPublish; uint16_t mgmtPubInterval; uint16_t queueCleanInterval; bool auth; @@ -206,7 +207,7 @@ public: ConsumerFactories consumerFactories; public: - virtual ~Broker(); + QPID_BROKER_EXTERN virtual ~Broker(); QPID_BROKER_EXTERN Broker(const Options& configuration); static QPID_BROKER_EXTERN boost::intrusive_ptr<Broker> create(const Options& configuration); @@ -218,16 +219,16 @@ public: * port, which will be different if the configured port is * 0. */ - virtual uint16_t getPort(const std::string& name) const; + QPID_BROKER_EXTERN virtual uint16_t getPort(const std::string& name) const; /** * Run the broker. Implements Runnable::run() so the broker * can be run in a separate thread. */ - virtual void run(); + QPID_BROKER_EXTERN virtual void run(); /** Shut down the broker */ - virtual void shutdown(); + QPID_BROKER_EXTERN virtual void shutdown(); QPID_BROKER_EXTERN void setStore (boost::shared_ptr<MessageStore>& store); void setAsyncStore(boost::shared_ptr<AsyncStore>& asyncStore); @@ -248,14 +249,14 @@ public: SessionManager& getSessionManager() { return sessionManager; } const std::string& getFederationTag() const { return federationTag; } - management::ManagementObject* GetManagementObject (void) const; - management::Manageable* GetVhostObject (void) const; - management::Manageable::status_t ManagementMethod (uint32_t methodId, - management::Args& args, - std::string& text); + QPID_BROKER_EXTERN management::ManagementObject* GetManagementObject() const; + QPID_BROKER_EXTERN management::Manageable* GetVhostObject() const; + QPID_BROKER_EXTERN management::Manageable::status_t ManagementMethod( + uint32_t methodId, management::Args& args, std::string& text); /** Add to the broker's protocolFactorys */ - void registerProtocolFactory(const std::string& name, boost::shared_ptr<sys::ProtocolFactory>); + QPID_BROKER_EXTERN void registerProtocolFactory( + const std::string& name, boost::shared_ptr<sys::ProtocolFactory>); /** Accept connections */ QPID_BROKER_EXTERN void accept(); @@ -273,15 +274,17 @@ public: /** Move messages from one queue to another. A zero quantity means to move all messages */ - uint32_t queueMoveMessages( const std::string& srcQueue, - const std::string& destQueue, - uint32_t qty, - const qpid::types::Variant::Map& filter); + QPID_BROKER_EXTERN uint32_t queueMoveMessages( + const std::string& srcQueue, + const std::string& destQueue, + uint32_t qty, + const qpid::types::Variant::Map& filter); - boost::shared_ptr<sys::ProtocolFactory> getProtocolFactory(const std::string& name = TCP_TRANSPORT) const; + QPID_BROKER_EXTERN boost::shared_ptr<sys::ProtocolFactory> getProtocolFactory( + const std::string& name = TCP_TRANSPORT) const; /** Expose poller so plugins can register their descriptors. */ - boost::shared_ptr<sys::Poller> getPoller(); + QPID_BROKER_EXTERN boost::shared_ptr<sys::Poller> getPoller(); boost::shared_ptr<sys::ConnectionCodec::Factory> getConnectionFactory() { return factory; } void setConnectionFactory(boost::shared_ptr<sys::ConnectionCodec::Factory> f) { factory = f; } @@ -291,7 +294,7 @@ public: /** Timer for tasks that must be synchronized if we are in a cluster */ sys::Timer& getClusterTimer() { return clusterTimer.get() ? *clusterTimer : timer; } - void setClusterTimer(std::auto_ptr<sys::Timer>); + QPID_BROKER_EXTERN void setClusterTimer(std::auto_ptr<sys::Timer>); boost::function<std::vector<Url> ()> getKnownBrokers; @@ -322,15 +325,14 @@ public: * context. *@return true if delivery of a message should be deferred. */ - boost::function<bool (const std::string& queue, - const boost::intrusive_ptr<Message>& msg)> deferDelivery; + boost::function<bool (const std::string& queue, const boost::intrusive_ptr<Message>& msg)> deferDelivery; bool isAuthenticating ( ) { return config.auth; } bool isTimestamping() { return config.timestampRcvMsgs; } typedef boost::function1<void, boost::shared_ptr<Queue> > QueueFunctor; - std::pair<boost::shared_ptr<Queue>, bool> createQueue( + QPID_BROKER_EXTERN std::pair<boost::shared_ptr<Queue>, bool> createQueue( const std::string& name, bool durable, bool autodelete, @@ -339,30 +341,39 @@ public: const qpid::framing::FieldTable& arguments, const std::string& userId, const std::string& connectionId); - void deleteQueue(const std::string& name, - const std::string& userId, - const std::string& connectionId, - QueueFunctor check = QueueFunctor()); - std::pair<Exchange::shared_ptr, bool> createExchange( + + QPID_BROKER_EXTERN void deleteQueue( + const std::string& name, + const std::string& userId, + const std::string& connectionId, + QueueFunctor check = QueueFunctor()); + + QPID_BROKER_EXTERN std::pair<Exchange::shared_ptr, bool> createExchange( const std::string& name, const std::string& type, bool durable, const std::string& alternateExchange, const qpid::framing::FieldTable& args, const std::string& userId, const std::string& connectionId); - void deleteExchange(const std::string& name, const std::string& userId, - const std::string& connectionId); - void bind(const std::string& queue, - const std::string& exchange, - const std::string& key, - const qpid::framing::FieldTable& arguments, - const std::string& userId, - const std::string& connectionId); - void unbind(const std::string& queue, - const std::string& exchange, - const std::string& key, - const std::string& userId, - const std::string& connectionId); + + QPID_BROKER_EXTERN void deleteExchange( + const std::string& name, const std::string& userId, + const std::string& connectionId); + + QPID_BROKER_EXTERN void bind( + const std::string& queue, + const std::string& exchange, + const std::string& key, + const qpid::framing::FieldTable& arguments, + const std::string& userId, + const std::string& connectionId); + + QPID_BROKER_EXTERN void unbind( + const std::string& queue, + const std::string& exchange, + const std::string& key, + const std::string& userId, + const std::string& connectionId); ConsumerFactories& getConsumerFactories() { return consumerFactories; } ConnectionObservers& getConnectionObservers() { return connectionObservers; } |