YarpServiceAsynchInputPort.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_YARPSERVICEASYNCHINPUTPORT_H
00031 #define __COMMUNICATION_YARPSERVICEASYNCHINPUTPORT_H
00032
00033 namespace mermaid
00034 {
00035 namespace support
00036 {
00037 namespace communication
00038 {
00039 class YarpServiceAsynchInputPort;
00040 }
00041 }
00042 }
00043
00044 #include "YarpServiceAsynchRequestType.hpp"
00045
00046
00047 #include <Service.hpp>
00048
00049 #include <yarp/os/all.h>
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 YarpServiceAsynchInputPort : public BufferedPort<YarpServiceAsynchRequestType>
00070 {
00071 public:
00072 YarpServiceAsynchInputPort (shared_ptr<Service> s);
00073 virtual ~YarpServiceAsynchInputPort();
00074
00075 virtual void onRead (YarpServiceAsynchRequestType& request);
00076
00077 private:
00078 shared_ptr<Service> targetService_;
00079 };
00080 }
00081 }
00082 }
00083
00084 #endif // __COMMUNICATION_YARPSERVICEASYNCHINPUTPORT_H