D++ (DPP)
C++ Discord API Bot Library
dpp::timed_listener< attached_event, listening_function > Class Template Reference

A timed_listener is a way to temporarily attach to an event for a specific timeframe, then detach when complete. A lambda may also be optionally called when the timeout is reached. Destructing the timed_listener detaches any attached event listeners, and cancels any created timers, but does not call any timeout lambda. More...

+ Inheritance diagram for dpp::timed_listener< attached_event, listening_function >:

Public Member Functions

 timed_listener (cluster *cl, uint64_t _duration, attached_event &event, listening_function listener, timer_callback_t on_end={})
 Construct a new timed listener object. More...
 
 ~timed_listener ()
 Destroy the timed listener object. More...
 

Detailed Description

template<typename attached_event, class listening_function>
class dpp::timed_listener< attached_event, listening_function >

A timed_listener is a way to temporarily attach to an event for a specific timeframe, then detach when complete. A lambda may also be optionally called when the timeout is reached. Destructing the timed_listener detaches any attached event listeners, and cancels any created timers, but does not call any timeout lambda.

Template Parameters
attached_eventEvent within cluster to attach to within the cluster::dispatch member (dpp::dispatcher object)
listening_functionDefinition of lambda function that matches up with the attached_event.

Constructor & Destructor Documentation

◆ timed_listener()

template<typename attached_event , class listening_function >
dpp::timed_listener< attached_event, listening_function >::timed_listener ( cluster cl,
uint64_t  _duration,
attached_event &  event,
listening_function  listener,
timer_callback_t  on_end = {} 
)
inline

Construct a new timed listener object.

Parameters
clOwning cluster
_durationDuration of timed event in seconds
eventEvent to hook, e.g. cluster.on_message_create
on_endAn optional void() lambda to trigger when the timed_listener times out. Calling the destructor before the timeout is reached does not call this lambda.
listenerLambda to receive events. Type must match up properly with that passed into the 'event' parameter.

◆ ~timed_listener()

template<typename attached_event , class listening_function >
dpp::timed_listener< attached_event, listening_function >::~timed_listener ( )
inline

Destroy the timed listener object.

D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0