11#ifndef IOMANAGER_INCLUDE_IOMANAGER_QUEUEREGISTRY_HPP_
12#define IOMANAGER_INCLUDE_IOMANAGER_QUEUEREGISTRY_HPP_
55 std::shared_ptr<Queue<T>>
get_queue(
const std::string& name);
67 bool has_queue(std::string
const& uid, std::string
const& data_type)
const;
69 std::set<std::string>
get_datatypes(std::string
const& uid)
const;
86 std::shared_ptr<opmonlib::OpMonLink>
m_opmon_link{ std::make_shared<opmonlib::OpMonLink>() };
The QueueRegistry class manages all Queue instances and gives out handles to the Queues upon request.
std::map< std::string, QueueEntry > m_queue_registry
QueueRegistry(QueueRegistry &&)=delete
static QueueRegistry & get()
Get a handle to the QueueRegistry.
static std::unique_ptr< QueueRegistry > s_instance
~QueueRegistry()=default
QueueRegistry destructor.
QueueRegistry(const QueueRegistry &)=delete
std::shared_ptr< QueueBase > create_queue(const confmodel::Queue *config)
std::set< std::string > get_datatypes(std::string const &uid) const
QueueRegistry & operator=(QueueRegistry &&)=delete
void configure(const std::vector< const confmodel::Queue * > &configs, opmonlib::OpMonManager &)
Configure the QueueRegistry.
std::vector< const confmodel::Queue * > m_queue_configs
bool has_queue(std::string const &uid, std::string const &data_type) const
std::shared_ptr< opmonlib::OpMonLink > m_opmon_link
std::shared_ptr< Queue< T > > get_queue(const std::string &name)
Get a handle to a Queue.
QueueRegistry & operator=(const QueueRegistry &)=delete
const confmodel::Queue * m_config
std::shared_ptr< QueueBase > m_instance
const std::type_info * m_type