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

29 lines
540 B
C++

#pragma once
#include <map>
#include <memory>
#include "behavior/events/types.hpp"
#include "behavior/events/base/BaseEvent.hpp"
namespace drp::managers {
/**
* The ReceiveManager class.
* Handle everything related to receiving messages.
*/
class ReceiveManager {
public:
explicit ReceiveManager(const std::shared_ptr<Context>& context);
void run() const;
[[noreturn]] void loop() const;
private:
std::shared_ptr<Context> context;
std::map<event::EventType, std::shared_ptr<event::BaseEvent>> registry;
};
}