HiveMindBridge
Public Member Functions | Private Attributes | List of all members
MessageHandler Class Reference

#include <MessageHandler.h>

Inheritance diagram for MessageHandler:
Inheritance graph
Collaboration diagram for MessageHandler:
Collaboration graph

Public Member Functions

 MessageHandler (ILogger &logger, IUserCallRequestHandler &userCallRequestManager, IHiveMindHostRequestHandler &hmRequestHandler, IHiveMindHostApiResponseHandler &hmResponseHandler)
 
 ~MessageHandler ()=default
 
std::variant< std::monostate, InboundRequestHandle, InboundResponseHandlehandleMessage (MessageDTO message) override
 
std::optional< uint32_t > handleGreet (MessageDTO greetMessage) override
 
- Public Member Functions inherited from IMessageHandler
virtual ~IMessageHandler ()=default
 

Private Attributes

ILogger & m_logger
 
IHiveMindHostRequestHandlerm_hmRequestHandler
 
IHiveMindHostApiResponseHandlerm_hmResponseHandler
 
IUserCallRequestHandlerm_userCallRequestHandler
 

Constructor & Destructor Documentation

◆ MessageHandler()

MessageHandler::MessageHandler ( ILogger &  logger,
IUserCallRequestHandler userCallRequestManager,
IHiveMindHostRequestHandler hmRequestHandler,
IHiveMindHostApiResponseHandler hmResponseHandler 
)

◆ ~MessageHandler()

MessageHandler::~MessageHandler ( )
default

Member Function Documentation

◆ handleGreet()

std::optional< uint32_t > MessageHandler::handleGreet ( MessageDTO  greetMessage)
overridevirtual

Parse a greet message and return the contained swarmAgentId.

Parameters
greetMessageThe message to parse.
Returns
The contained swarmAgentId if the operation succeded.

Implements IMessageHandler.

◆ handleMessage()

std::variant< std::monostate, InboundRequestHandle, InboundResponseHandle > MessageHandler::handleMessage ( MessageDTO  message)
overridevirtual

Parse a message and execute the appropriate callback or action.

Parameters
messagethe message to parse.
Returns
A message containing the appropriate acknowlege (with appropriate errors if necessary)

Implements IMessageHandler.

Here is the call graph for this function:

Member Data Documentation

◆ m_hmRequestHandler

IHiveMindHostRequestHandler& MessageHandler::m_hmRequestHandler
private

◆ m_hmResponseHandler

IHiveMindHostApiResponseHandler& MessageHandler::m_hmResponseHandler
private

◆ m_logger

ILogger& MessageHandler::m_logger
private

◆ m_userCallRequestHandler

IUserCallRequestHandler& MessageHandler::m_userCallRequestHandler
private

The documentation for this class was generated from the following files: