Ring Daemon 16.0.0
Loading...
Searching...
No Matches
jami::Observable< T > Class Template Reference

#include <observer.h>

Inheritance diagram for jami::Observable< T >:
Inheritance graph
Collaboration diagram for jami::Observable< T >:
Collaboration graph

Public Member Functions

bool attach (Observer< T > *o)
 
void attachPriorityObserver (std::shared_ptr< Observer< T > > o)
 
bool detach (Observer< T > *o)
 
void detachPriorityObserver (Observer< T > *o)
 
size_t getObserversCount ()
 
 Observable ()
 
virtual ~Observable ()
 ~Observable Detach all observers to avoid making them call this observable when destroyed
 

Protected Member Functions

void notify (T data)
 

Protected Attributes

std::mutex mutex_
 
std::set< Observer< T > * > observers_
 
std::list< std::weak_ptr< Observer< T > > > priority_observers_
 

Detailed Description

template<typename T>
class jami::Observable< T >

Definition at line 43 of file observer.h.

Constructor & Destructor Documentation

◆ Observable()

template<typename T >
jami::Observable< T >::Observable ( )
inline

Definition at line 46 of file observer.h.

◆ ~Observable()

template<typename T >
virtual jami::Observable< T >::~Observable ( )
inlinevirtual

~Observable Detach all observers to avoid making them call this observable when destroyed

Definition at line 56 of file observer.h.

References jami::emitSignal(), jami::Observable< T >::mutex_, jami::Observable< T >::observers_, and jami::Observable< T >::priority_observers_.

Here is the call graph for this function:

Member Function Documentation

◆ attach()

template<typename T >
bool jami::Observable< T >::attach ( Observer< T > *  o)
inline

Definition at line 70 of file observer.h.

References jami::emitSignal(), jami::Observable< T >::mutex_, and jami::Observable< T >::observers_.

Here is the call graph for this function:

◆ attachPriorityObserver()

template<typename T >
void jami::Observable< T >::attachPriorityObserver ( std::shared_ptr< Observer< T > >  o)
inline

Definition at line 80 of file observer.h.

References jami::emitSignal(), jami::Observable< T >::mutex_, and jami::Observable< T >::priority_observers_.

Here is the call graph for this function:

◆ detach()

template<typename T >
bool jami::Observable< T >::detach ( Observer< T > *  o)
inline

Definition at line 101 of file observer.h.

References jami::emitSignal(), jami::Observable< T >::mutex_, and jami::Observable< T >::observers_.

Referenced by jami::PublishMapSubject< T1, T2 >::attached().

Here is the call graph for this function:

◆ detachPriorityObserver()

template<typename T >
void jami::Observable< T >::detachPriorityObserver ( Observer< T > *  o)
inline

Definition at line 87 of file observer.h.

References jami::emitSignal(), jami::Observable< T >::mutex_, and jami::Observable< T >::priority_observers_.

Here is the call graph for this function:

◆ getObserversCount()

template<typename T >
size_t jami::Observable< T >::getObserversCount ( )
inline

Definition at line 111 of file observer.h.

References jami::emitSignal(), jami::Observable< T >::mutex_, jami::Observable< T >::observers_, and jami::Observable< T >::priority_observers_.

Here is the call graph for this function:

◆ notify()

template<typename T >
void jami::Observable< T >::notify ( T  data)
inlineprotected

Member Data Documentation

◆ mutex_

◆ observers_

◆ priority_observers_


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