ServiceReply.hpp

Go to the documentation of this file.
00001 /*
00002 Copyright 2007, 2008, 2009, 2010, 2011 Instituto de Sistemas e Robotica, Instituto Superior Tecnico
00003 
00004 This file is part of MeRMaID.
00005 
00006 MeRMaID is free software: you can redistribute it and/or modify
00007 it under the terms of the GNU Lesser General Public License as published by
00008 the Free Software Foundation, either version 3 of the License, or
00009 (at your option) any later version.
00010 
00011 MeRMaID is distributed in the hope that it will be useful,
00012 but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 GNU Lesser General Public License for more details.
00015 
00016 You should have received a copy of the GNU Lesser General Public License
00017 along with MeRMaID.  If not, see <http://www.gnu.org/licenses/>.
00018 */
00019 
00020 
00021 
00022 /**
00023  * @Filename ServiceReply.hpp
00024  * @Description ServiceReply declaration
00025  * @Status Work in Progress
00026  * @Version $Id: ServiceReply.hpp 1 2011-03-04 18:13:18Z jreis $
00027  * @Maintainer
00028  */
00029 
00030 #ifndef __SERVICE_SERVICEASYNCHREPLY_H
00031 #define __SERVICE_SERVICEASYNCHREPLY_H
00032 
00033 namespace mermaid
00034 {
00035   namespace support
00036   {
00037     namespace service
00038     {
00039       class ServiceReply;
00040     }
00041   }
00042 }
00043 
00044 #include <DataBox.hpp>
00045 #include <DataValueVector.hpp>
00046 
00047 
00048 #include "ServiceRequest.hpp"
00049 
00050 namespace mermaid
00051 {
00052   namespace support
00053   {
00054     namespace service
00055     {
00056     
00057       using mermaid::support::data::DataBox;
00058       using mermaid::support::data::DataValueVector;
00059       using boost::shared_ptr;
00060       
00061       /**
00062       * @Class ServiceReply ServiceReply.hpp "ServiceReply.hpp"
00063       * @Description Class representing a Service Reply
00064       * @Author Marco Barbosa
00065       */
00066       class ServiceReply
00067       {
00068         public:
00069           ServiceReply (shared_ptr<ServiceRequest> originalRequest, std::string executionStatus = "OK");
00070           ServiceReply (const ServiceReply &sr);
00071           ServiceReply& operator= (const ServiceReply &sr);
00072           
00073           
00074           std::string getRequesterEntityName();
00075           std::string getRequesterServiceName();
00076           std::string getTargetEntityName();
00077           std::string getTargetServiceName();
00078           std::string getTargetServiceInterfaceName();
00079           int getRequestId();
00080           bool executionIsOk();
00081           std::string getExecutionStatus();
00082           
00083           //shared_ptr<DataValueVector> getReplyValueVector();
00084           //void setReplyValueVector(shared_ptr<DataValueVector> valueVector);
00085           shared_ptr<DataBox> getReplyDataBox();
00086           void setReplyDataBox (shared_ptr<DataBox> dataBox);
00087           //void setReplyDataStructure(std::string structureName);
00088           
00089         protected:
00090         
00091           ServiceReply();
00092           
00093           std::string requesterEntityName_;
00094           std::string requesterServiceName_;
00095           std::string targetEntityName_;
00096           std::string targetServiceName_;
00097           std::string targetServiceInterfaceName_;
00098           int requestId_;
00099           std::string executionStatus_;
00100           //shared_ptr<DataValueVector> replyValueVector_;
00101           shared_ptr<DataBox> replyDataBox_;
00102           std::string dataStructureName_;
00103           
00104       }; // class ServiceRequest
00105       
00106     } // namespace service
00107   } // namespace support
00108 } // namespace mermaid
00109 #endif // __SERVICE_SERVICEASYNCHREPLY_H
Generated on Fri Mar 4 22:14:58 2011 for MeRMaID::support by  doxygen 1.6.3