AlteriomPainlessMesh v2.1.1
Easy ESP32/ESP8266 mesh networking with Alteriom IoT extensions
Loading...
Searching...
No Matches
Public Member Functions | Protected Types | Protected Attributes | List of all members
painlessmesh::callback::PackageCallbackList< Args > Class Template Reference

#include <callback.hpp>

Public Member Functions

void onPackage (int id, std::function< void(Args...)> func)
 
size_t size ()
 
size_t count (int id)
 
void clear ()
 
int execute (int id, Args... args)
 

Protected Types

using CallbackMap = std::map< int, List< Args... > >
 

Protected Attributes

std::shared_ptr< CallbackMap > callbackMap = std::make_shared<CallbackMap>()
 
std::shared_ptr< CallbackMap > pendingCallbackMap
 
size_t dispatchDepth = 0
 
bool clearPending = false
 

Detailed Description

template<typename... Args>
class painlessmesh::callback::PackageCallbackList< Args >

Manage callbacks for receiving packages

Member Typedef Documentation

◆ CallbackMap

template<typename... Args>
using painlessmesh::callback::PackageCallbackList< Args >::CallbackMap = std::map<int, List<Args...> >
protected

Member Function Documentation

◆ clear()

template<typename... Args>
void painlessmesh::callback::PackageCallbackList< Args >::clear ( )
inline

◆ count()

template<typename... Args>
size_t painlessmesh::callback::PackageCallbackList< Args >::count ( int  id)
inline

How many callbacks are registered for one package id.

◆ execute()

template<typename... Args>
int painlessmesh::callback::PackageCallbackList< Args >::execute ( int  id,
Args...  args 
)
inline

Execute all the callbacks associated with a certain package

◆ onPackage()

template<typename... Args>
void painlessmesh::callback::PackageCallbackList< Args >::onPackage ( int  id,
std::function< void(Args...)>  func 
)
inline

Add a callback for specific package id

◆ size()

template<typename... Args>
size_t painlessmesh::callback::PackageCallbackList< Args >::size ( )
inline

Member Data Documentation

◆ callbackMap

template<typename... Args>
std::shared_ptr<CallbackMap> painlessmesh::callback::PackageCallbackList< Args >::callbackMap = std::make_shared<CallbackMap>()
protected

◆ clearPending

template<typename... Args>
bool painlessmesh::callback::PackageCallbackList< Args >::clearPending = false
protected

◆ dispatchDepth

template<typename... Args>
size_t painlessmesh::callback::PackageCallbackList< Args >::dispatchDepth = 0
protected

◆ pendingCallbackMap

template<typename... Args>
std::shared_ptr<CallbackMap> painlessmesh::callback::PackageCallbackList< Args >::pendingCallbackMap
protected

The documentation for this class was generated from the following file: