YarpDataFeedInputPort.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef __COMMUNICATION_YARPDATAFEEDINPUTPORT_H
00031 #define __COMMUNICATION_YARPDATAFEEDINPUTPORT_H
00032
00033 namespace mermaid
00034 {
00035 namespace support
00036 {
00037 namespace communication
00038 {
00039 class YarpDataFeedInputPort;
00040 }
00041 }
00042 }
00043
00044
00045 #include <Service.hpp>
00046
00047 #include <yarp/os/all.h>
00048
00049 #include <string>
00050
00051 namespace mermaid
00052 {
00053 namespace support
00054 {
00055 namespace communication
00056 {
00057
00058 using yarp::os::Bottle;
00059 using yarp::os::BufferedPort;
00060
00061 using boost::shared_ptr;
00062 using mermaid::support::service::Service;
00063
00064
00065
00066
00067
00068
00069 class YarpDataFeedInputPort : public BufferedPort<Bottle>
00070 {
00071 public:
00072 YarpDataFeedInputPort (std::string producerEntityName, std::string producerServiceName, std::string datafeedName, shared_ptr<Service> consumerService);
00073
00074 bool connect();
00075
00076 std::string getProducerEntityName();
00077 std::string getProducerServiceName();
00078 std::string getDataFeedName();
00079 shared_ptr<Service> getConsumerService();
00080
00081 virtual ~YarpDataFeedInputPort();
00082
00083 virtual void onRead (Bottle& data);
00084
00085 private:
00086 std::string producerEntityName_;
00087 std::string producerServiceName_;
00088 std::string dataFeedName_;
00089 shared_ptr<Service> consumerService_;
00090
00091 };
00092 }
00093 }
00094 }
00095
00096
00097 #endif // __COMMUNICATION_YARPDATAFEEDINPUTPORT_H