template class Poco::NotificationStrategy
Overview
The interface that all notification strategies must implement. Moreā¦
#include <NotificationStrategy.h> template < class TArgs, class TDelegate > class NotificationStrategy { public: // typedefs typedef TDelegate* DelegateHandle; // methods virtual void notify( const void* sender, TArgs& arguments ) = 0; virtual DelegateHandle add(const TDelegate& delegate) = 0; virtual void remove(const TDelegate& delegate) = 0; virtual void remove(DelegateHandle delegateHandle) = 0; virtual void clear() = 0; virtual bool empty() const = 0; }; // direct descendants template < class TArgs, class TDelegate > class DefaultStrategy; template < class TArgs, class TDelegate > class PriorityStrategy;
Detailed Documentation
The interface that all notification strategies must implement.
Note: Event is based on policy-driven design, so every strategy implementation must provide all the methods from this interface (otherwise: compile errors) but does not need to inherit from NotificationStrategy.
Methods
virtual void notify( const void* sender, TArgs& arguments ) = 0
Sends a notification to all registered delegates.
virtual DelegateHandle add(const TDelegate& delegate) = 0
Adds a delegate to the strategy.
virtual void remove(const TDelegate& delegate) = 0
Removes a delegate from the strategy, if found.
Does nothing if the delegate has not been added.
virtual void remove(DelegateHandle delegateHandle) = 0
Removes a delegate from the strategy, if found.
Does nothing if the delegate has not been added.
virtual void clear() = 0
Removes all delegates from the strategy.
virtual bool empty() const = 0
Returns false if the strategy contains at least one delegate.