# Poco

# template < class TArgs >

# class AbstractDelegate

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

## Description

Base class for Delegate and Expire.

## Member Summary

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

## Constructors

### AbstractDelegate

AbstractDelegate() = default;

### AbstractDelegate

AbstractDelegate(
const AbstractDelegate & param150
) = default;

## Destructor

### ~AbstractDelegate

virtual ~AbstractDelegate() = default;

## Member Functions

### clone

virtual AbstractDelegate * clone() const = 0;

Returns a deep copy of the AbstractDelegate.

### disable

virtual void disable() = 0;

Disables the delegate, which is done prior to removal.

### equals

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

Compares the AbstractDelegate with the other one for equality.

### notify

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

Invokes the delegate's callback function. Returns true if successful, or false if the delegate has been disabled or has expired.

### operator =

AbstractDelegate & operator = (
const AbstractDelegate & param151
) = default;

### unwrap

virtual const AbstractDelegate * unwrap() const;

Returns the unwrapped delegate. Must be overridden by decorators like Expire.