Conscience Core
CscMessageHandler.h
Go to the documentation of this file.
1 #ifndef CscMessageHandler_H_
2 #define CscMessageHandler_H_
3 
4 #include "CscCommon.h"
6 
8 
16  const unsigned char *bytes;
17  size_t bytesCount;
18 };
19 inline CscMessageHandlerResult messageHandlerResultString(const string &message) {
20  size_t bytesCount = message.size();
21  char *messageChars = new char[bytesCount];
22  message.copy(messageChars, message.size());
24  (const unsigned char *)messageChars,
25  bytesCount};
26 }
27 
32 public:
34  virtual ~CscMessageHandler() {}
35 
40  virtual std::tuple<bool, optional<CscMessageHandlerResult>, optional<string>> handleMessage(const string &rawMessage, ptr<CscMessagingRequestContext> context) {
41  return {false, nullopt, nullopt};
42  };
43 
54  virtual optional<CscMessageHandlerResult> handleMessage(const string &messageSubject, const vector<string> &args, optional<int> knowledgeId, ptr<CscMessagingRequestContext> context) = 0;
55 
62  virtual optional<string> handleLowLevelMessage(const string &message) = 0;
63 };
64 }
65 
66 #endif
conscience_core::communication::CscMessageHandler::handleMessage
virtual std::tuple< bool, optional< CscMessageHandlerResult >, optional< string > > handleMessage(const string &rawMessage, ptr< CscMessagingRequestContext > context)
Definition: CscMessageHandler.h:40
conscience_core::communication::CscMessageHandlerResult::bytes
const unsigned char * bytes
Definition: CscMessageHandler.h:16
CscMessagingRequestContext.h
conscience_core::communication::CscMessageHandlerResult
Definition: CscMessageHandler.h:9
conscience_core::communication::CscMessageHandler::~CscMessageHandler
virtual ~CscMessageHandler()
Definition: CscMessageHandler.h:34
CscCommon.h
conscience_core::communication
Definition: CscEntityClient.h:6
conscience_core::communication::CscMessageHandler::CscMessageHandler
CscMessageHandler()
Definition: CscMessageHandler.h:33
conscience_core::communication::CscMessageHandler
Definition: CscMessageHandler.h:31
conscience_core::communication::CscMessageHandlerResult::bytesCount
size_t bytesCount
Definition: CscMessageHandler.h:17
conscience_core::communication::messageHandlerResultString
CscMessageHandlerResult messageHandlerResultString(const string &message)
Definition: CscMessageHandler.h:19
conscience_core::bridging::commands::environment_objects::optional< string >
const ptr< CscObjectModel > const string const CscPoint3d const CscPoint3d optional< string >
Definition: environmentObjectsCommands.h:373
conscience_core::communication::CscMessageHandler::handleLowLevelMessage
virtual optional< string > handleLowLevelMessage(const string &message)=0
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29