HiveMindBridge
InboundRequestHandle.h
Go to the documentation of this file.
1 #ifndef HIVE_MIND_BRIDGE_INBOUNDREQUESTHANDLE_H
2 #define HIVE_MIND_BRIDGE_INBOUNDREQUESTHANDLE_H
3 
4 #include "Callback.h"
6 #include <future>
7 #include <optional>
8 #include <pheromones/MessageDTO.h>
9 
14  public:
15  InboundRequestHandle() = default;
16 
17  void setResponse(MessageDTO message);
18 
19  void setCallbackReturnContext(std::shared_future<std::optional<CallbackReturn>> future);
20 
21  void setMessageSourceId(uint32_t id);
22 
23  void setMessageDestinationId(uint32_t id);
24 
25  void setSourceModule(UserCallTargetDTO target);
26 
27  void setCallbackName(std::string name);
28 
29  MessageDTO getResponse();
30 
31  std::shared_future<std::optional<CallbackReturn>> getCallbackReturnContext();
32 
33  uint32_t getMessageSourceId() const;
34 
35  uint32_t getMessageDestinationId() const;
36 
37  UserCallTargetDTO getSourceModule() const;
38 
39  private:
40  std::string m_callbackName; // The name of the callback called by a functionCallRequest
41  MessageDTO m_responseMessage; // The acknowledge message to send as soon as possible
42  std::shared_future<std::optional<CallbackReturn>> m_callbackReturnContext;
43 
44  uint32_t m_msgSourceId;
46  UserCallTargetDTO m_sourceModule;
47 };
48 
49 #endif // HIVE_MIND_BRIDGE_INBOUNDREQUESTHANDLE_H
InboundRequestHandle::setCallbackName
void setCallbackName(std::string name)
Definition: InboundRequestHandle.cpp:16
InboundRequestHandle::m_msgSourceId
uint32_t m_msgSourceId
Definition: InboundRequestHandle.h:44
InboundRequestHandle::m_responseMessage
MessageDTO m_responseMessage
Definition: InboundRequestHandle.h:41
InboundRequestHandle::m_msgDestinationId
uint32_t m_msgDestinationId
Definition: InboundRequestHandle.h:45
InboundRequestHandle::InboundRequestHandle
InboundRequestHandle()=default
InboundRequestHandle::getResponse
MessageDTO getResponse()
Definition: InboundRequestHandle.cpp:10
InboundRequestHandle::getCallbackReturnContext
std::shared_future< std::optional< CallbackReturn > > getCallbackReturnContext()
Definition: InboundRequestHandle.cpp:12
Callback.h
InboundRequestHandle
Definition: InboundRequestHandle.h:13
InboundRequestHandle::setSourceModule
void setSourceModule(UserCallTargetDTO target)
Definition: InboundRequestHandle.cpp:22
InboundRequestHandle::setMessageDestinationId
void setMessageDestinationId(uint32_t id)
Definition: InboundRequestHandle.cpp:20
InboundRequestHandle::m_callbackReturnContext
std::shared_future< std::optional< CallbackReturn > > m_callbackReturnContext
Definition: InboundRequestHandle.h:42
InboundRequestHandle::m_sourceModule
UserCallTargetDTO m_sourceModule
Definition: InboundRequestHandle.h:46
InboundRequestHandle::setMessageSourceId
void setMessageSourceId(uint32_t id)
Definition: InboundRequestHandle.cpp:18
InboundRequestHandle::m_callbackName
std::string m_callbackName
Definition: InboundRequestHandle.h:40
InboundRequestHandle::getMessageSourceId
uint32_t getMessageSourceId() const
Definition: InboundRequestHandle.cpp:24
UserCallbackFunctionWrapper.h
InboundRequestHandle::getSourceModule
UserCallTargetDTO getSourceModule() const
Definition: InboundRequestHandle.cpp:28
InboundRequestHandle::setCallbackReturnContext
void setCallbackReturnContext(std::shared_future< std::optional< CallbackReturn >> future)
Definition: InboundRequestHandle.cpp:5
InboundRequestHandle::getMessageDestinationId
uint32_t getMessageDestinationId() const
Definition: InboundRequestHandle.cpp:26
InboundRequestHandle::setResponse
void setResponse(MessageDTO message)
Definition: InboundRequestHandle.cpp:3