3 #ifndef FIPA_SERVICES_MESSAGETRANSPORT_TASK_HPP 4 #define FIPA_SERVICES_MESSAGETRANSPORT_TASK_HPP 6 #include "fipa_services/MessageTransportTaskBase.hpp" 10 #include <boost/thread.hpp> 11 #include <service_discovery/ServiceDiscovery.hpp> 12 #include <fipa_services/ServiceDirectoryEntry.hpp> 18 namespace message_transport {
19 class MessageTransport;
65 friend class MessageTransportTaskBase;
80 typedef std::map<std::string, RTT::base::OutputPortInterface*>
ReceiverPorts;
85 virtual bool addReceiver(::std::string
const & receiver,
bool is_local =
false);
89 virtual ::std::vector< ::std::string > getReceivers();
93 virtual bool removeReceiver(::std::string
const & receiver);
100 bool addReceiverPort(RTT::base::OutputPortInterface* outputPort,
const std::string& name);
106 bool removeReceiverPort(
const std::string& name);
111 void registerService(std::string receiver);
115 void deregisterService(std::string receiver);
120 void serviceAdded(servicediscovery::avahi::ServiceEvent event);
125 void serviceRemoved(servicediscovery::avahi::ServiceEvent event);
130 void connectToMTS(
const std::string& serviceName,
const std::string& ior);
135 bool deliverLetterLocally(
const std::string& receiverName,
const fipa::acl::Letter& letter);
140 void initializeMessageTransport();
174 bool configureHook();
The task context provides and requires services. It uses an ExecutionEngine to perform its functions...
Definition: MessageTransportTask.hpp:63
Definition: EchoTask.hpp:8
ReceiverPorts mReceivers
Definition: MessageTransportTask.hpp:81
std::string mInterface
Definition: MessageTransportTask.hpp:72
boost::mutex mConnectToMTSMutex
Definition: MessageTransportTask.hpp:67
fipa::services::message_transport::MessageTransport * mMessageTransport
Prevents a simulatenous change of the service.
Definition: MessageTransportTask.hpp:70
std::string mClientServiceType
Definition: MessageTransportTask.hpp:73
boost::shared_mutex mServiceChangeMutex
Definition: MessageTransportTask.hpp:68
std::vector< fipa::services::ServiceDirectoryEntry > mExtraServiceDirectoryEntries
Definition: MessageTransportTask.hpp:77
Definition: MessageTransportTask.hpp:14
std::map< std::string, RTT::base::OutputPortInterface * > ReceiverPorts
Definition: MessageTransportTask.hpp:80