YarpServiceAsynchReplyType.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_YARPSERVICEASYNCHREPLYTYPE_H
00031 #define __COMMUNICATION_YARPSERVICEASYNCHREPLYTYPE_H
00032
00033 namespace mermaid
00034 {
00035 namespace support
00036 {
00037 namespace communication
00038 {
00039 class YarpServiceAsynchReplyType;
00040 }
00041 }
00042 }
00043
00044 #include <yarp/os/all.h>
00045
00046
00047 #include <ServiceReply.hpp>
00048 #include <ServiceRequest.hpp>
00049
00050 namespace mermaid
00051 {
00052 namespace support
00053 {
00054 namespace communication
00055 {
00056
00057 using boost::shared_ptr;
00058 using mermaid::support::service::ServiceReply;
00059 using mermaid::support::service::ServiceRequest;
00060
00061 using yarp::os::Bottle;
00062 using yarp::os::ConnectionReader;
00063 using yarp::os::ConnectionWriter;
00064 using yarp::os::Portable;
00065
00066
00067
00068
00069
00070
00071 class YarpServiceAsynchReplyType : public Portable
00072 {
00073 public:
00074 YarpServiceAsynchReplyType();
00075 YarpServiceAsynchReplyType (const YarpServiceAsynchReplyType &ysart);
00076 YarpServiceAsynchReplyType& operator= (const YarpServiceAsynchReplyType &ysart);
00077
00078
00079 virtual bool write (ConnectionWriter& connection);
00080 virtual bool read (ConnectionReader& connection);
00081
00082 virtual std::string getRequesterEntityName();
00083 virtual std::string getRequesterServiceName();
00084 virtual std::string getTargetEntityName();
00085 virtual std::string getTargetServiceName();
00086 virtual std::string getTargetServiceInterfaceName();
00087 virtual int getRequestId();
00088
00089
00090
00091 void convertFromServiceReply (ServiceReply &sr);
00092 shared_ptr<ServiceReply> convertToServiceReply (shared_ptr<ServiceRequest> originalRequest);
00093
00094
00095 Bottle& getReplyData();
00096
00097 private:
00098 std::string requesterEntityName_;
00099 std::string requesterServiceName_;
00100 std::string targetEntityName_;
00101 std::string targetServiceName_;
00102 std::string targetServiceInterfaceName_;
00103 int requestId_;
00104 std::string executionStatus_;
00105 Bottle replyData_;
00106 };
00107 }
00108 }
00109 }
00110 #endif // __COMMUNICATION_YARPSERVICEASYNCHREPLYTYPE_H