template class Poco::AbstractDelegate<void>

Overview

Base class for Delegate and Expire. More…

#include <AbstractDelegate.h>

template <>
class AbstractDelegate<void>
{
public:
    // construction

    AbstractDelegate();
    AbstractDelegate(const AbstractDelegate&);

    // methods

    virtual
    bool
    notify(const void* sender) = 0;

    virtual
    bool
    equals(const AbstractDelegate& other) const = 0;

    virtual
    AbstractDelegate*
    clone() const = 0;

    virtual
    void
    disable() = 0;

    virtual
    const AbstractDelegate*
    unwrap() const;
};

// direct descendants

template <class TArgs>
class AbstractPriorityDelegate;

template <class TObj>
class Delegate<TObj, void, false>;

template <class TObj>
class Delegate<TObj, void, true>;

template <>
class Expire<void>;

template <bool senderIsConst>
class FunctionDelegate<void, false, senderIsConst>;

template <>
class FunctionDelegate<void, true, false>;

template <>
class FunctionDelegate<void, true, true>;

Detailed Documentation

Base class for Delegate and Expire.

Methods

virtual
bool
notify(const void* sender) = 0

Invokes the delegate’s callback function.

Returns true if successful, or false if the delegate has been disabled or has expired.

virtual
bool
equals(const AbstractDelegate& other) const = 0

Compares the AbstractDelegate with the other one for equality.

virtual
AbstractDelegate*
clone() const = 0

Returns a deep copy of the AbstractDelegate.

virtual
void
disable() = 0

Disables the delegate, which is done prior to removal.

virtual
const AbstractDelegate*
unwrap() const

Returns the unwrapped delegate.

Must be overridden by decorators like Expire.