Template Class SimpleDispatcher

Nested Relationships

Nested Types

Inheritance Relationships

Derived Types

Class Documentation

template<typename Listener>
class SimpleDispatcher

Subclassed by can::FilteredDispatcher< unsigned int, CommInterface::FrameListener >, can::FilteredDispatcher< K, Listener, Hash >

Public Types

using Callable = typename Listener::Callable
using Type = typename Listener::Type
using ListenerConstSharedPtr = typename Listener::ListenerConstSharedPtr

Public Functions

inline SimpleDispatcher()
inline ListenerConstSharedPtr createListener(const Callable &callable)
inline void dispatch(const Type &obj)
inline size_t numListeners()
inline operator Callable()

Protected Types

using DispatcherBaseSharedPtr = std::shared_ptr<DispatcherBase>

Protected Attributes

boost::mutex mutex_
DispatcherBaseSharedPtr dispatcher_
class DispatcherBase

Public Functions

inline explicit DispatcherBase(boost::mutex &mutex)
inline void dispatch_nolock(const Type &obj) const
inline void remove(Listener *d)
inline size_t numListeners()

Public Static Functions

static inline ListenerConstSharedPtr createListener(DispatcherBaseSharedPtr dispatcher, const Callable &callable)
class GuardedListener : public can::Listener<T, U>

Public Functions

inline GuardedListener(DispatcherBaseSharedPtr g, const Callable &callable)
inline virtual ~GuardedListener()