mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 14:42:18 +03:00
33 lines
1.3 KiB
C++
33 lines
1.3 KiB
C++
#pragma once
|
||
#include <Arduino.h>
|
||
#include <stdint.h>
|
||
|
||
#include <functional>
|
||
|
||
// Декларируем тип - сигнатуру метода , который мы готовы принять в данном случае это
|
||
// должен быть метод без результата и без параметров.
|
||
// Новый тип мы называем AsynсActionCb - хотя можешь назвать вообще как нравиться а что значит callBack
|
||
|
||
typedef std::function<void()> AsyncActionCb; //метод без результата и параметров
|
||
|
||
typedef std::function<bool(const String)> AsyncParamActionCb; //метод без результата и параметров
|
||
|
||
class AsyncActions {
|
||
private:
|
||
long count;
|
||
AsyncActionCb _cb;
|
||
AsyncParamActionCb _pcb;
|
||
|
||
public:
|
||
AsyncActions();
|
||
void loop();
|
||
|
||
void setCallback(AsyncActionCb cb) { //передаем внутрь класса функцию любую void функцию без агрументов
|
||
_cb = cb;
|
||
}
|
||
|
||
void setCallback(AsyncParamActionCb cb) { //передаем внутрь класса функцию любую void функцию с аргументами
|
||
_pcb = cb;
|
||
}
|
||
};
|
||
extern AsyncActions* async; |