LoRa_APRS_iGate/src/TaskRouter.h

24 wiersze
738 B
C++

#ifndef TASK_ROUTER_H_
#define TASK_ROUTER_H_
#include "System/TaskManager.h"
#include <APRSMessage.h>
#include <TaskMQTT.h>
class RouterTask : public Task {
public:
RouterTask(TaskQueue<std::shared_ptr<APRSMessage>> &fromModem, TaskQueue<std::shared_ptr<APRSMessage>> &toModem, TaskQueue<std::shared_ptr<APRSMessage>> &toAprsIs, TaskQueue<std::shared_ptr<APRSMessage>> &toMQTT);
virtual ~RouterTask();
virtual bool setup(System &system) override;
virtual bool loop(System &system) override;
private:
TaskQueue<std::shared_ptr<APRSMessage>> &_fromModem;
TaskQueue<std::shared_ptr<APRSMessage>> &_toModem;
TaskQueue<std::shared_ptr<APRSMessage>> &_toAprsIs;
TaskQueue<std::shared_ptr<APRSMessage>> &_toMQTT;
};
#endif