Conscience Core
Public Member Functions | List of all members
conscience_core::communication::CscMessageHandler Class Referenceabstract

#include <CscMessageHandler.h>

Inheritance diagram for conscience_core::communication::CscMessageHandler:
conscience_core::core_objects::entities::CscRealEntitiesCollectorMessagingHandler conscience_core::core_objects::entities::CscRealEntityMessageHandler conscience_server::ConscienceServerCommandHandler

Public Member Functions

 CscMessageHandler ()
 
virtual ~CscMessageHandler ()
 
virtual optional< CscMessageHandlerResulthandleMessage (const string &messageSubject, const vector< string > &args, optional< int > knowledgeId, ptr< CscMessagingRequestContext > context)=0
 
virtual optional< string > handleLowLevelMessage (const string &message)=0
 

Detailed Description

This class handles messages received by a CscMessagingManager

Constructor & Destructor Documentation

◆ CscMessageHandler()

conscience_core::communication::CscMessageHandler::CscMessageHandler ( )
inline

◆ ~CscMessageHandler()

virtual conscience_core::communication::CscMessageHandler::~CscMessageHandler ( )
inlinevirtual

Member Function Documentation

◆ handleLowLevelMessage()

virtual optional<string> conscience_core::communication::CscMessageHandler::handleLowLevelMessage ( const string &  message)
pure virtual

Handle a low level message. Low level means it is interpreted early in the message processing cycle. Typically it will be processed before encryption, placeholders interpolation or chunks reconstitution. It's useful to answer a simple, non sensitive, unencrypted message, for instance before communication is being secured.

Returns
a string if message has been handled (can be empty string). Return empty optional to declare message as not handled.

Implemented in conscience_server::ConscienceServerCommandHandler, conscience_core::core_objects::entities::CscRealEntityMessageHandler, and conscience_core::core_objects::entities::CscRealEntitiesCollectorMessagingHandler.

◆ handleMessage()

virtual optional<CscMessageHandlerResult> conscience_core::communication::CscMessageHandler::handleMessage ( const string &  messageSubject,
const vector< string > &  args,
optional< int >  knowledgeId,
ptr< CscMessagingRequestContext context 
)
pure virtual

Implement this method to handle Conscience messages received by the CscMessagingManager.

Parameters
messageSubjectaction / verb for this message, it is typically something like: GET_SCENE_OBJECTS
argsmessage's arguments
knowledgeIdmessage can optionally take a knowledgeId argument, which is a contextual information
contextinformation about the context of the message, contains the originator, and allows to respond
Note
MessageHandler implementation can just delegate most of the messages to Conscience Command API (please see processKnowledgeItemCommand)
See also
CscMessagingManager::sendBack(const string &response, ptr<CscMessagingRequestContext>)

Implemented in conscience_server::ConscienceServerCommandHandler, conscience_core::core_objects::entities::CscRealEntityMessageHandler, and conscience_core::core_objects::entities::CscRealEntitiesCollectorMessagingHandler.


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