16#ifndef INCLUDED_RMQP_TOPOLOGY
17#define INCLUDED_RMQP_TOPOLOGY
19#include <rmqt_exchange.h>
20#include <rmqt_exchangetype.h>
21#include <rmqt_fieldvalue.h>
22#include <rmqt_properties.h>
23#include <rmqt_queue.h>
24#include <rmqt_topology.h>
26#include <bsl_ostream.h>
27#include <bsl_string.h>
29namespace BloombergLP {
61 virtual rmqt::QueueHandle
62 addQueue(
const bsl::string& name = bsl::string(),
63 rmqt::AutoDelete::Value = rmqt::AutoDelete::OFF,
64 rmqt::Durable::Value = rmqt::Durable::ON,
89 const bsl::string& name,
91 rmqt::AutoDelete::Value autoDelete = rmqt::AutoDelete::OFF,
92 rmqt::Durable::Value durable = rmqt::Durable::ON,
93 rmqt::Internal::Value
internal = rmqt::Internal::NO,
103 virtual rmqt::ExchangeHandle
116 virtual void bind(
const rmqt::ExchangeHandle& exchangeName,
117 const rmqt::QueueHandle& queue,
118 const bsl::string& bindingKey,
122 virtual void bind(
const rmqt::ExchangeHandle& exchange1,
123 const rmqt::ExchangeHandle& exchange2,
124 const bsl::string& bindingKey,
An interface providing a manipulatable RabbitMQ topology structure.
Definition: rmqp_topology.h:39
virtual rmqt::QueueHandle addQueue(const bsl::string &name=bsl::string(), rmqt::AutoDelete::Value=rmqt::AutoDelete::OFF, rmqt::Durable::Value=rmqt::Durable::ON, const rmqt::FieldTable &args=rmqt::FieldTable())=0
Declare a queue.
virtual rmqt::ExchangeHandle addExchange(const bsl::string &name, const rmqt::ExchangeType &exchangeType=rmqt::ExchangeType::DIRECT, rmqt::AutoDelete::Value autoDelete=rmqt::AutoDelete::OFF, rmqt::Durable::Value durable=rmqt::Durable::ON, rmqt::Internal::Value internal=rmqt::Internal::NO, const rmqt::FieldTable &args=rmqt::FieldTable())=0
Declare an exchange.
virtual void bind(const rmqt::ExchangeHandle &exchangeName, const rmqt::QueueHandle &queue, const bsl::string &bindingKey, const rmqt::FieldTable &args=rmqt::FieldTable())=0
Bind a queue and an exchange.
virtual const rmqt::Topology & topology() const =0
Get a readonly copy of stored topology.
virtual rmqt::ExchangeHandle addPassiveExchange(const bsl::string &name)=0
Declare a dependency on Exchange (without creating it)
virtual const rmqt::ExchangeHandle defaultExchange()=0
Retrieve a handle for the default exchange.
virtual void bind(const rmqt::ExchangeHandle &exchange1, const rmqt::ExchangeHandle &exchange2, const bsl::string &bindingKey, const rmqt::FieldTable &args=rmqt::FieldTable())=0
Bind two exchanges.
virtual rmqt::QueueHandle addPassiveQueue(const bsl::string &name)=0
Declare a dependency on Queue (without creating it)
AMQP Exchange types.
Definition: rmqt_exchangetype.h:27
Definition: rmqt_topology.h:32
Represents AMQP 0.9.1 Field Table (dict of FieldValues)
Definition: rmqt_fieldvalue.h:108