template class Poco::FunctionPriorityDelegate<void, true, true>

Overview

Wraps a freestanding function or static member function for use as a PriorityDelegate. More…

#include <FunctionPriorityDelegate.h>

template <>
class FunctionPriorityDelegate<void, true, true>: public Poco::AbstractPriorityDelegate
{
public:
    // typedefs

    typedef void (*NotifyFunction)(const void *);

    // construction

    FunctionPriorityDelegate(
        NotifyFunction function,
        int prio
        );

    FunctionPriorityDelegate(const FunctionPriorityDelegate& delegate);

    // methods

    FunctionPriorityDelegate&
    operator=(const FunctionPriorityDelegate& delegate);

    virtual
    bool
    notify(const void* sender);

    bool
    equals(const AbstractDelegate<void>& other) const;

    virtual
    AbstractDelegate<void>*
    clone() const;

    virtual
    void
    disable();

protected:
    // fields

    NotifyFunction _function;
    Mutex _mutex;
};

Inherited Members

public:
    // methods

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

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

    virtual
    AbstractDelegate*
    clone() const = 0;

    virtual
    void
    disable() = 0;

    virtual
    const AbstractDelegate*
    unwrap() const;

    int
    priority() const;

protected:
    // fields

    int _priority;

Detailed Documentation

Wraps a freestanding function or static member function for use as a PriorityDelegate.

Methods

virtual
bool
notify(const void* sender)

Invokes the delegate’s callback function.

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

virtual
AbstractDelegate<void>*
clone() const

Returns a deep copy of the AbstractDelegate.

virtual
void
disable()

Disables the delegate, which is done prior to removal.