M2-PT-DRP/source/managers/SendManager.hpp

30 lines
No EOL
539 B
C++

#pragma once
#include <map>
#include <memory>
#include <thread>
#include "behavior/tasks/types.hpp"
#include "behavior/tasks/base/BaseTask.hpp"
namespace drp::managers {
/**
* The SendManager class.
* Handle everything related to sending messages.
*/
class SendManager {
public:
explicit SendManager(const std::shared_ptr<Context>& context);
void run() const;
[[noreturn]] void loop() const;
private:
std::shared_ptr<Context> context;
std::map<task::TaskType, std::shared_ptr<task::BaseTask>> registry;
};
}