Poco

template < class TObj, class TArgs, bool useSender = true >

class PriorityDelegate

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

Description

Wraps a member function for use as a PriorityDelegate. Use useSender=true for callbacks that take sender as first parameter.

Inheritance

Direct Base Classes: AbstractPriorityDelegate < TArgs >

All Base Classes: AbstractPriorityDelegate < TArgs >

Member Summary

Member Functions: clone, disable, equals, notify, operator =

Types Aliases

NotifyMethod

using NotifyMethod = std::conditional_t < useSender, void (TObj::*)(const void *, TArgs &), void (TObj::*)(TArgs &)>;

Constructors

PriorityDelegate

PriorityDelegate() = delete;

PriorityDelegate inline

PriorityDelegate(
    const PriorityDelegate & delegate
);

PriorityDelegate inline

PriorityDelegate(
    TObj * obj,
    NotifyMethod method,
    int prio
);

Destructor

~PriorityDelegate

~PriorityDelegate() = default;

Member Functions

clone inline

AbstractDelegate < TArgs > * clone() const;

disable inline

void disable();

equals inline

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

notify inline

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

operator = inline

PriorityDelegate & operator = (
    const PriorityDelegate & delegate
);

Variables

_mutex protected

Mutex _mutex;

_receiverMethod protected

NotifyMethod _receiverMethod;

_receiverObject protected

TObj * _receiverObject;