mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 06:32:19 +03:00
41 lines
1.3 KiB
C++
41 lines
1.3 KiB
C++
#include "Class/AsyncActions.h"
|
||
|
||
AsyncActions::AsyncActions(){};
|
||
|
||
void AsyncActions::loop() {
|
||
count++;
|
||
if (count > 5000) {
|
||
|
||
// Проверяем что переменная содержит указатель - не пустая не null
|
||
// и непосредственно вызываем то, на что это указывает
|
||
// просто пишем имя - без () - это указатель на фунецию.
|
||
// () - вызываем функцию - с пустым набором параметров
|
||
|
||
if (_cb != NULL) {
|
||
_cb();
|
||
}
|
||
//или ровно тоже самое
|
||
//if (_cb) _cb();
|
||
|
||
if (_pcb) {
|
||
if (_pcb("SomeTextValue")) {
|
||
Serial.println("Got true!");
|
||
} else {
|
||
Serial.println("Got false!");
|
||
}
|
||
}
|
||
|
||
count = 0;
|
||
}
|
||
}
|
||
|
||
//передаем внутрь класса функцию любую void функцию без агрументов
|
||
void AsyncActions::setCallback(AsyncActionCb cb) {
|
||
_cb = cb;
|
||
}
|
||
|
||
//передаем внутрь класса функцию любую void функцию с аргументами
|
||
void AsyncActions::setCallback(AsyncParamActionCb pcb) {
|
||
_pcb = pcb;
|
||
}
|
||
AsyncActions* async; |