1 #ifndef FIPA_ACL_CONVERSATION_MONITOR_H
2 #define FIPA_ACL_CONVERSATION_MONITOR_H
6 #include <boost/thread/mutex.hpp>
8 #include <fipa_acl/conversation_monitor/conversation.h>
9 #include <fipa_acl/message_generator/acl_message.h>
145 std::map<fipa::acl::ConversationID, ConversationPtr> mActiveConversations;
152 #endif // FIPA_ACL_CONVERSATION_MONITOR_H
std::string ConversationID
ConversationPtr getConversation(const fipa::acl::ConversationID &conversationId)
boost::shared_ptr< Conversation > ConversationPtr
bool removeConversation(const fipa::acl::ConversationID &conversationId)
ConversationMonitor(const AgentID &self, const std::string &protocolDirectory="")
ConversationPtr getOrCreateConversation(const fipa::acl::ConversationID &conversationId)
std::vector< fipa::acl::ConversationID > getActiveConversations()
This library provides a statemachine to monitor a message flow based on performatives. The conversation monitor is capable of monitoring the conversation based on the protocol specified in the messages. There are scxml documents specifying how these protocols are defined. Protocols may contain subprotocols, which is partially supported.
ConversationPtr updateConversation(const fipa::acl::ACLMessage &msg)
This class provides a representation of a message conforming to the FIPA specification SC00061...
ConversationPtr startConversation(const std::string &topic)
Implements the general AgentID functionality, which is present throughout the fipa specifications(FIP...
virtual ~ConversationMonitor()