Poco

template < class TArgs, class TDelegate >

class NotificationStrategy

File Information

Library: Foundation
Package: Events
Header: Poco/NotificationStrategy.h

Description

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.

Member Summary

Member Functions: add, clear, empty, notify, remove

Types Aliases

DelegateHandle

using DelegateHandle = TDelegate *;

Constructors

NotificationStrategy inline

NotificationStrategy();

Destructor

~NotificationStrategy virtual inline

virtual ~NotificationStrategy();

Member Functions

add virtual

virtual DelegateHandle add(
    const TDelegate & delegate
) = 0;

Adds a delegate to the strategy.

clear virtual

virtual void clear() = 0;

Removes all delegates from the strategy.

empty virtual

virtual bool empty() const = 0;

Returns false if the strategy contains at least one delegate.

notify virtual

virtual void notify(
    const void * sender,
    TArgs & arguments
) = 0;

Sends a notification to all registered delegates.

remove virtual

virtual void remove(
    const TDelegate & delegate
) = 0;

Removes a delegate from the strategy, if found. Does nothing if the delegate has not been added.

remove virtual

virtual void remove(
    DelegateHandle delegateHandle
) = 0;

Removes a delegate from the strategy, if found. Does nothing if the delegate has not been added.