LibreOffice Module slideshow (master) 1
|
Container for objects that can be notified. More...
#include <listenercontainer.hxx>
Public Types | |
typedef ListenerT | listener_type |
typedef ContainerT | container_type |
Public Member Functions | |
bool | isEmpty () const |
Check whether listener container is empty. More... | |
bool | isAdded (listener_type const &rListener) const |
Check whether given listener is already added. More... | |
void | add (listener_type const &rListener) |
Add new listener. More... | |
bool | addSorted (listener_type const &rListener) |
Add new listener into sorted container. More... | |
bool | remove (listener_type const &rListener) |
Remove listener from container. More... | |
void | clear () |
Removes all listeners in one go. More... | |
template<typename FuncT > | |
bool | apply (FuncT func) const |
Apply functor to one listener. More... | |
template<typename FuncT > | |
bool | applyAll (FuncT func) const |
Apply functor to all listeners. More... | |
Private Types | |
typedef MutexHolderBaseT::Guard | Guard |
typedef MutexHolderBaseT::ClearableGuard | ClearableGuard |
Private Attributes | |
ContainerT | maListeners |
Container for objects that can be notified.
This templatized container holds listener objects, then can get notified (by calling certain methods on them).
Definition at line 190 of file listenercontainer.hxx.
|
private |
Definition at line 193 of file listenercontainer.hxx.
typedef ContainerT slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::container_type |
Definition at line 197 of file listenercontainer.hxx.
|
private |
Definition at line 192 of file listenercontainer.hxx.
typedef ListenerT slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::listener_type |
Definition at line 196 of file listenercontainer.hxx.
|
inline |
Add new listener.
rListener | Listener to add |
Definition at line 235 of file listenercontainer.hxx.
References slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::isAdded(), slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::maListeners, and slideshow::internal::ListenerOperations< ListenerT >::pruneListeners().
|
inline |
Add new listener into sorted container.
The stored listeners are kept sorted (using this method requires listener_type to have operator< defined on it). Make sure to call addSorted() for each listener to add to this container - sorting is performed under the assumption that existing entries are already sorted.
rListener | Listener to add |
Definition at line 264 of file listenercontainer.hxx.
References slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::isAdded(), slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::maListeners, and slideshow::internal::ListenerOperations< ListenerT >::pruneListeners().
Referenced by slideshow::internal::EventMultiplexerImpl::addMouseHandler().
|
inline |
Apply functor to one listener.
This method applies functor to one of the listeners. Starting with the first entry of the container, the functor is called with the listener entries, until it returns true.
func | Given functor is called with listeners, until it returns true |
Definition at line 336 of file listenercontainer.hxx.
References slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::maListeners, and slideshow::internal::ListenerOperations< ListenerT >::pruneListeners().
Referenced by slideshow::internal::EventMultiplexerImpl::notifyMouseHandlers(), and slideshow::internal::EventMultiplexerImpl::notifyNextEffect().
|
inline |
Apply functor to all listeners.
This method applies functor to all of the listeners. Starting with the first entry of the container, the functor is called with the listener entries.
func | Given functor is called with listeners. |
Definition at line 372 of file listenercontainer.hxx.
References slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::maListeners, and slideshow::internal::ListenerOperations< ListenerT >::pruneListeners().
Referenced by slideshow::internal::EventMultiplexerImpl::notifyAllAnimationHandlers().
|
inline |
Removes all listeners in one go.
Definition at line 317 of file listenercontainer.hxx.
Referenced by slideshow::internal::EventMultiplexerImpl::clear().
|
inline |
Check whether given listener is already added.
Definition at line 215 of file listenercontainer.hxx.
Referenced by slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::add(), and slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::addSorted().
|
inline |
Check whether listener container is empty.
Definition at line 205 of file listenercontainer.hxx.
Referenced by slideshow::internal::EventMultiplexerImpl::clear(), slideshow::internal::EventMultiplexerImpl::isMouseListenerRegistered(), and slideshow::internal::EventMultiplexerImpl::tick().
|
inline |
Remove listener from container.
rListener | The listener to remove |
Definition at line 298 of file listenercontainer.hxx.
|
private |
Definition at line 397 of file listenercontainer.hxx.
Referenced by slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::add(), slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::addSorted(), slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::apply(), slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::applyAll(), slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::clear(), slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::isAdded(), slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::isEmpty(), and slideshow::internal::ListenerContainerBase< ListenerT, MutexHolderBaseT, ContainerT, MaxDeceasedListenerUllage >::remove().