17#ifndef INCLUDED_RMQA_TOPOLOGY
18#define INCLUDED_RMQA_TOPOLOGY
20#include <rmqp_topology.h>
21#include <rmqt_exchange.h>
22#include <rmqt_fieldvalue.h>
23#include <rmqt_properties.h>
24#include <rmqt_queue.h>
26#include <bsl_memory.h>
27#include <bsl_ostream.h>
28#include <bsl_string.h>
30namespace BloombergLP {
61 rmqt::QueueHandle
addQueue(
const bsl::string& name = bsl::string(),
62 rmqt::AutoDelete::Value = rmqt::AutoDelete::OFF,
63 rmqt::Durable::Value = rmqt::Durable::ON,
89 const bsl::string& name,
91 rmqt::AutoDelete::Value = rmqt::AutoDelete::OFF,
92 rmqt::Durable::Value = rmqt::Durable::ON,
93 rmqt::Internal::Value = rmqt::Internal::NO,
95 BSLS_KEYWORD_OVERRIDE;
122 void bind(
const rmqt::ExchangeHandle& exchangeName,
123 const rmqt::QueueHandle& queue,
124 const bsl::string& bindingKey,
126 BSLS_KEYWORD_OVERRIDE;
129 void bind(
const rmqt::ExchangeHandle& sourceExchange,
130 const rmqt::ExchangeHandle& destinationExchange,
131 const bsl::string& bindingKey,
133 BSLS_KEYWORD_OVERRIDE;
146 friend bsl::ostream& operator<<(bsl::ostream& os,
const Topology&
topology);
150 addExchangeImpl(
const bsl::shared_ptr<rmqt::Exchange>& exchange);
152 rmqt::QueueHandle addQueueImpl(
const bsl::shared_ptr<rmqt::Queue>& queue);
156 rmqt::ExchangeHandle d_defaultExchange;
159bsl::ostream& operator<<(bsl::ostream& os,
const Topology& topology);
This class provides a manipulatable RabbitMQ topology structure.
Definition: rmqa_topology.h:39
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()) BSLS_KEYWORD_OVERRIDE
Declare a queue.
Definition: rmqa_topology.cpp:64
rmqt::QueueHandle addPassiveQueue(const bsl::string &name) BSLS_KEYWORD_OVERRIDE
Declare a dependency on an existing Queue. If the queue isn't already declared on the server,...
Definition: rmqa_topology.cpp:120
rmqt::ExchangeHandle addExchange(const bsl::string &name, const rmqt::ExchangeType &exchangeType=rmqt::ExchangeType::DIRECT, rmqt::AutoDelete::Value=rmqt::AutoDelete::OFF, rmqt::Durable::Value=rmqt::Durable::ON, rmqt::Internal::Value=rmqt::Internal::NO, const rmqt::FieldTable &args=rmqt::FieldTable()) BSLS_KEYWORD_OVERRIDE
Declare an exchange.
Definition: rmqa_topology.cpp:74
rmqt::ExchangeHandle addPassiveExchange(const bsl::string &name) BSLS_KEYWORD_OVERRIDE
Declare a dependency on an existing Exchange. If the exchange isn't already declared on the server,...
Definition: rmqa_topology.cpp:115
const rmqt::ExchangeHandle defaultExchange() BSLS_KEYWORD_OVERRIDE
Retrieve a handle for the default exchange.
Definition: rmqa_topology.cpp:149
const rmqt::Topology & topology() const BSLS_KEYWORD_OVERRIDE
Get a readonly copy of stored topology.
Definition: rmqa_topology.cpp:147
void bind(const rmqt::ExchangeHandle &exchangeName, const rmqt::QueueHandle &queue, const bsl::string &bindingKey, const rmqt::FieldTable &args=rmqt::FieldTable()) BSLS_KEYWORD_OVERRIDE
Bind a queue and an exchange.
Definition: rmqa_topology.cpp:125
An interface providing a manipulatable RabbitMQ topology structure.
Definition: rmqp_topology.h:39
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