OpenCPN Partial API docs
Loading...
Searching...
No Matches
ObservableListener Class Referencefinal

Manages listening to an Observable instance. More...

#include <observable.h>

Public Member Functions

 ObservableListener ()
 Default constructor, does not listen to anything.
 
 ObservableListener (std::string k, wxEvtHandler *l, wxEventType e)
 Construct a listening object.
 
 ObservableListener (const obs::KeyProvider &kp, wxEvtHandler *l, wxEventType e)
 Construct a listening object.
 
 ObservableListener (ObservableListener &&other) noexcept
 std::move() support.
 
ObservableListeneroperator= (ObservableListener &&other) noexcept
 std::move() support.
 
 ObservableListener (const ObservableListener &other)=delete
 A listener is non copyable, can only be transferred using std::move().
 
ObservableListeneroperator= (ObservableListener &)=delete
 A listener is non copyable, can only be transferred using std::move().
 
void Listen (const std::string &key, wxEvtHandler *listener, wxEventType evt)
 Set object to send wxEventType ev to listeners on changes in key.
 
void Listen (const obs::KeyProvider &kp, wxEvtHandler *l, wxEventType evt)
 Set object to send wxEventType ev to listeners on changes in key.
 

Friends

class obs::Listener
 

Detailed Description

Manages listening to an Observable instance.

Keeps listening over its lifespan, removes itself on destruction. Old legacy code kept in place because it is visible in the plugin interface. For the same reason it is not in the obs namespace.

Use obs::Listener in new code.

Examples
/home/runner/work/main/main/opencpn/include/ocpn_plugin.h.

Definition at line 175 of file observable.h.

Constructor & Destructor Documentation

◆ ObservableListener() [1/4]

ObservableListener::ObservableListener ( )
inline

Default constructor, does not listen to anything.

Definition at line 180 of file observable.h.

◆ ObservableListener() [2/4]

ObservableListener::ObservableListener ( std::string  k,
wxEvtHandler *  l,
wxEventType  e 
)
inline

Construct a listening object.

Parameters
kString used to coordinate Notify() and Listen().
lEventHandler which will be receiving messages on Notify()
eEventType forwarded by Notify() to listeners.

Definition at line 188 of file observable.h.

◆ ObservableListener() [3/4]

ObservableListener::ObservableListener ( const obs::KeyProvider kp,
wxEvtHandler *  l,
wxEventType  e 
)
inline

Construct a listening object.

Parameters
kpProvides string used to coordinate Notify() and Listen().
lEventHandler which will be receiving messages on Notify()
eEventType forwarded by Notify() to listeners.

Definition at line 199 of file observable.h.

◆ ~ObservableListener()

ObservableListener::~ObservableListener ( )
inline

Definition at line 202 of file observable.h.

◆ ObservableListener() [4/4]

ObservableListener::ObservableListener ( ObservableListener &&  other)
inlinenoexcept

std::move() support.

Definition at line 205 of file observable.h.

Member Function Documentation

◆ Listen() [1/2]

void ObservableListener::Listen ( const obs::KeyProvider kp,
wxEvtHandler *  l,
wxEventType  evt 
)
inline

Set object to send wxEventType ev to listeners on changes in key.

Definition at line 233 of file observable.h.

◆ Listen() [2/2]

void ObservableListener::Listen ( const std::string &  key,
wxEvtHandler *  listener,
wxEventType  evt 
)

Set object to send wxEventType ev to listeners on changes in key.

Definition at line 100 of file observable.cpp.

◆ operator=()

ObservableListener & ObservableListener::operator= ( ObservableListener &&  other)
inlinenoexcept

std::move() support.

Definition at line 214 of file observable.h.

Friends And Related Symbol Documentation

◆ obs::Listener

friend class obs::Listener
friend

Definition at line 176 of file observable.h.


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