2020-08-24 13:56:12 +03:00
|
|
|
|
#pragma once
|
2020-08-24 15:09:43 +03:00
|
|
|
|
#include <Arduino.h>
|
2020-08-24 13:56:12 +03:00
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
#include <functional>
|
|
|
|
|
|
|
|
|
|
|
|
// Декларируем тип - сигнатуру метода , который мы готовы принять в данном случае это
|
|
|
|
|
|
// должен быть метод без результата и без параметров.
|
|
|
|
|
|
// Новый тип мы называем AsynсActionCb - хотя можешь назвать вообще как нравиться а что значит callBack
|
|
|
|
|
|
|
2020-08-25 15:45:06 +03:00
|
|
|
|
typedef std::function<void()> AsyncActionCb; //метод без результата и параметров
|
2020-08-24 15:09:43 +03:00
|
|
|
|
typedef std::function<bool(const String)> AsyncParamActionCb; //метод без результата и параметров
|
2020-08-24 13:56:12 +03:00
|
|
|
|
|
2020-08-25 15:45:06 +03:00
|
|
|
|
class CallBackTest {
|
2020-08-24 13:56:12 +03:00
|
|
|
|
private:
|
|
|
|
|
|
long count;
|
|
|
|
|
|
AsyncActionCb _cb;
|
2020-08-24 15:09:43 +03:00
|
|
|
|
AsyncParamActionCb _pcb;
|
2020-08-25 15:45:06 +03:00
|
|
|
|
|
2020-08-24 13:56:12 +03:00
|
|
|
|
|
|
|
|
|
|
public:
|
2020-08-25 15:45:06 +03:00
|
|
|
|
CallBackTest();
|
2020-08-24 13:56:12 +03:00
|
|
|
|
void loop();
|
2020-08-25 01:55:43 +03:00
|
|
|
|
void setCallback(AsyncActionCb cb);
|
|
|
|
|
|
void setCallback(AsyncParamActionCb pcb);
|
2020-08-24 15:09:43 +03:00
|
|
|
|
};
|
2020-08-26 16:39:42 +03:00
|
|
|
|
//extern CallBackTest* CB;
|