Caffa
1.1.0
C++ Application Framework for Embedded Systems with introspection
|
#include <cafSignal.h>
Public Types | |
using | MemberCallback = std::function< void(const SignalEmitter *, Args... args)> |
using | MemberCallbackAndActiveFlag = std::pair< MemberCallback, bool > |
Public Member Functions | |
Signal (const SignalEmitter *emitter) | |
template<typename ClassType > | |
void | connect (ClassType *observer, void(ClassType::*method)(const SignalEmitter *, Args... args)) |
template<typename ClassType > | |
void | connect (ClassType *observer, const MemberCallback &callback) |
void | disconnect (SignalObserver *observer) noexcept override |
void | send (Args... args) const |
void | block (SignalObserver *observer) |
void | unblock (SignalObserver *observer) |
size_t | observerCount () const |
bool | connected (const SignalObserver *observer) const |
General signal class. Connect any member function with the signature void(const Signal*, const SignalData* data) Connect with .connect(this, &Class::nameOfMethod) The method should accept that data may be nullptr