29 lines
540 B
C++
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;
|
|
};
|
|
|
|
|
|
}
|