TracktionEngine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
tracktion::engine::ScopedListener Class Reference

Manages adding and removing listeners in an RAII way so you don't forget to unregister a listener. More...

#include <tracktion_ScopedListener.h>

Public Member Functions

 ScopedListener ()=default
 Creates an empty ScopedListener.
 
template<typename BroadcasterType , typename ListenerType >
 ScopedListener (BroadcasterType &b, ListenerType &l)
 Creates a ScopedListener which makes ListenerType listen to BroadcasterType.
 
template<typename BroadcasterType , typename ListenerType >
void reset (BroadcasterType &b, ListenerType &l)
 Unregisters any previous listener and registers the new one.
 
void reset ()
 Unregisters the listener.
 
 ScopedListener (const ScopedListener &)=delete
 Non-copyable.
 
ScopedListeneroperator= (const ScopedListener &)=delete
 Non-copyable.
 

Detailed Description

Manages adding and removing listeners in an RAII way so you don't forget to unregister a listener.

The BroadcasterType must have the following functions: BroadcasterType::addListener (ListenerType*); BroadcasterType::removeListener (ListenerType*);

// In members section
ScopedListener listener;
// Then when you want to register the listener
listener.reset (broadcaster, *this);
// Listener will automatically be unregistered when the ScopedListener goes out of scope but you can manually remove the listener as follows:
listener.reset();
Manages adding and removing listeners in an RAII way so you don't forget to unregister a listener.
Definition tracktion_ScopedListener.h:36
void reset(BroadcasterType &b, ListenerType &l)
Unregisters any previous listener and registers the new one.
Definition tracktion_ScopedListener.h:50

Constructor & Destructor Documentation

◆ ScopedListener() [1/3]

tracktion::engine::ScopedListener::ScopedListener ( )
default

Creates an empty ScopedListener.

◆ ScopedListener() [2/3]

template<typename BroadcasterType , typename ListenerType >
tracktion::engine::ScopedListener::ScopedListener ( BroadcasterType &  b,
ListenerType &  l 
)

Creates a ScopedListener which makes ListenerType listen to BroadcasterType.

References reset().

◆ ScopedListener() [3/3]

tracktion::engine::ScopedListener::ScopedListener ( const ScopedListener )
delete

Non-copyable.

Member Function Documentation

◆ reset() [1/2]

template<typename BroadcasterType , typename ListenerType >
void tracktion::engine::ScopedListener::reset ( BroadcasterType &  b,
ListenerType &  l 
)

Unregisters any previous listener and registers the new one.

◆ reset() [2/2]

void tracktion::engine::ScopedListener::reset ( )

Unregisters the listener.

Referenced by ScopedListener().

◆ operator=()

ScopedListener & tracktion::engine::ScopedListener::operator= ( const ScopedListener )
delete

Non-copyable.


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