HiveMindBridge
include
hivemind-bridge
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
"
5
#include "
hivemind-bridge/InboundResponseHandle.h
"
6
#include "
hivemind-bridge/UserCallbackFunctionWrapper.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
17
class
IMessageHandler
{
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
Generated by
1.8.17