Apollo  6.0
Open source self driving car software
Public Types | Public Member Functions | Static Public Member Functions | List of all members
apollo::cyber::blocker::BlockerManager Class Reference

#include <blocker_manager.h>

Collaboration diagram for apollo::cyber::blocker::BlockerManager:
Collaboration graph

Public Types

using BlockerMap = std::unordered_map< std::string, std::shared_ptr< BlockerBase > >
 

Public Member Functions

virtual ~BlockerManager ()
 
template<typename T >
bool Publish (const std::string &channel_name, const typename Blocker< T >::MessagePtr &msg)
 
template<typename T >
bool Publish (const std::string &channel_name, const typename Blocker< T >::MessageType &msg)
 
template<typename T >
bool Subscribe (const std::string &channel_name, size_t capacity, const std::string &callback_id, const typename Blocker< T >::Callback &callback)
 
template<typename T >
bool Unsubscribe (const std::string &channel_name, const std::string &callback_id)
 
template<typename T >
std::shared_ptr< Blocker< T > > GetBlocker (const std::string &channel_name)
 
template<typename T >
std::shared_ptr< Blocker< T > > GetOrCreateBlocker (const BlockerAttr &attr)
 
void Observe ()
 
void Reset ()
 

Static Public Member Functions

static const std::shared_ptr< BlockerManager > & Instance ()
 

Member Typedef Documentation

◆ BlockerMap

using apollo::cyber::blocker::BlockerManager::BlockerMap = std::unordered_map<std::string, std::shared_ptr<BlockerBase> >

Constructor & Destructor Documentation

◆ ~BlockerManager()

virtual apollo::cyber::blocker::BlockerManager::~BlockerManager ( )
virtual

Member Function Documentation

◆ GetBlocker()

template<typename T >
std::shared_ptr< Blocker< T > > apollo::cyber::blocker::BlockerManager::GetBlocker ( const std::string &  channel_name)

◆ GetOrCreateBlocker()

template<typename T >
std::shared_ptr< Blocker< T > > apollo::cyber::blocker::BlockerManager::GetOrCreateBlocker ( const BlockerAttr attr)

◆ Instance()

static const std::shared_ptr<BlockerManager>& apollo::cyber::blocker::BlockerManager::Instance ( )
inlinestatic

◆ Observe()

void apollo::cyber::blocker::BlockerManager::Observe ( )

◆ Publish() [1/2]

template<typename T >
bool apollo::cyber::blocker::BlockerManager::Publish ( const std::string &  channel_name,
const typename Blocker< T >::MessagePtr &  msg 
)

◆ Publish() [2/2]

template<typename T >
bool apollo::cyber::blocker::BlockerManager::Publish ( const std::string &  channel_name,
const typename Blocker< T >::MessageType &  msg 
)

◆ Reset()

void apollo::cyber::blocker::BlockerManager::Reset ( )

◆ Subscribe()

template<typename T >
bool apollo::cyber::blocker::BlockerManager::Subscribe ( const std::string &  channel_name,
size_t  capacity,
const std::string &  callback_id,
const typename Blocker< T >::Callback &  callback 
)

◆ Unsubscribe()

template<typename T >
bool apollo::cyber::blocker::BlockerManager::Unsubscribe ( const std::string &  channel_name,
const std::string &  callback_id 
)

The documentation for this class was generated from the following file: