Program Listing for File data_tamer.hpp
↰ Return to documentation for file (/tmp/ws/src/data_tamer/data_tamer_cpp/include/data_tamer/data_tamer.hpp
)
#pragma once
#include "data_tamer/channel.hpp"
namespace DataTamer
{
class ChannelsRegistry
{
public:
ChannelsRegistry();
// the Pimpl idiom does not allow a default destructor
~ChannelsRegistry();
// global instance (similar to singleton)
static ChannelsRegistry& Global();
void addDefaultSink(std::shared_ptr<DataSinkBase> sink);
[[nodiscard]] std::shared_ptr<LogChannel> getChannel(std::string const& channel_name);
void clear();
private:
struct Pimpl;
std::unique_ptr<Pimpl> _p;
};
} // namespace DataTamer