16#ifndef INCLUDED_RMQT_EXCHANGE
17#define INCLUDED_RMQT_EXCHANGE
19#include <rmqt_exchangetype.h>
20#include <rmqt_fieldvalue.h>
22#include <bsl_memory.h>
23#include <bsl_ostream.h>
24#include <bsl_string.h>
31namespace BloombergLP {
41 static const char DEFAULT_EXCHANGE[];
48 const bsl::string& name,
51 bool autoDelete =
false,
53 bool internal =
false,
57 const bsl::string& name()
const;
58 const bsl::string& type()
const;
59 bool autoDelete()
const;
61 bool internal()
const;
74 friend bsl::ostream& operator<<(bsl::ostream& os,
const Exchange& exchange);
77 const bsl::string d_name;
78 const bsl::string d_exchangeType;
80 const bool d_autoDelete;
82 const bool d_internal;
90 static bool validateName(
const bsl::string& exchangeName);
93typedef bsl::weak_ptr<Exchange> ExchangeHandle;
95bool operator==(
const Exchange& lhs,
const Exchange& rhs);
96bool operator!=(
const Exchange& lhs,
const Exchange& rhs);
97bsl::ostream& operator<<(bsl::ostream& os,
const Exchange& exchange);
AMQP Exchange types.
Definition: rmqt_exchangetype.h:27
An AMQP Exchange.
Definition: rmqt_exchange.h:39
Exchange(const bsl::string &name, bool passive=false, const rmqt::ExchangeType &exchangeType=ExchangeType::DIRECT, bool autoDelete=false, bool durable=true, bool internal=false, const rmqt::FieldTable &args=rmqt::FieldTable())
Definition: rmqt_exchange.cpp:32
bool isDefault() const
Definition: rmqt_exchange.cpp:64
Represents AMQP 0.9.1 Field Table (dict of FieldValues)
Definition: rmqt_fieldvalue.h:108