HiveMindBridge
IMessageHandler.h
Go to the documentation of this file.
1 #ifndef HIVEMIND_BRIDGE_IMESSAGEHANDLER_H
2 #define HIVEMIND_BRIDGE_IMESSAGEHANDLER_H
3 
4 #include "InboundRequestHandle.h"
7 #include <optional>
8 #include <pheromones/FunctionCallArgumentDTO.h>
9 #include <pheromones/FunctionCallRequestDTO.h>
10 #include <pheromones/FunctionCallResponseDTO.h>
11 #include <pheromones/MessageDTO.h>
12 #include <pheromones/RequestDTO.h>
13 #include <variant>
14 
15 typedef std::unordered_map<std::string, UserCallbackFunctionWrapper> CallbackMap;
16 
18  public:
19  virtual ~IMessageHandler() = default;
20 
27  virtual std::variant<std::monostate, InboundRequestHandle, InboundResponseHandle> handleMessage(
28  MessageDTO message) = 0;
29 
35  virtual std::optional<uint32_t> handleGreet(MessageDTO greetMessage) = 0;
36 };
37 
38 #endif // HIVEMIND_BRIDGE_IMESSAGEHANDLER_H
InboundRequestHandle.h
CallbackMap
std::unordered_map< std::string, UserCallbackFunctionWrapper > CallbackMap
Definition: IMessageHandler.h:15
IMessageHandler::~IMessageHandler
virtual ~IMessageHandler()=default
IMessageHandler::handleGreet
virtual std::optional< uint32_t > handleGreet(MessageDTO greetMessage)=0
UserCallbackFunctionWrapper.h
IMessageHandler::handleMessage
virtual std::variant< std::monostate, InboundRequestHandle, InboundResponseHandle > handleMessage(MessageDTO message)=0
InboundResponseHandle.h
IMessageHandler
Definition: IMessageHandler.h:17