client/qos/GetReturnQos.h

Go to the documentation of this file.
00001 /*------------------------------------------------------------------------------
00002 Name:      GetReturnQos.h
00003 Project:   xmlBlaster.org
00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00005 ------------------------------------------------------------------------------*/
00006 
00033 #ifndef _CLIENT_QOS_GETRETURNQOS_H
00034 #define _CLIENT_QOS_GETRETURNQOS_H
00035 
00036 #include <util/qos/MsgQosData.h>
00037 
00038 namespace org { namespace xmlBlaster { namespace client { namespace qos {
00039 
00040 class Dll_Export GetReturnQos
00041 {
00042 protected:
00043    std::string     ME;
00044    org::xmlBlaster::util::Global&    global_;
00045    org::xmlBlaster::util::I_Log&       log_;
00046    org::xmlBlaster::util::qos::MsgQosData data_;
00047 
00048 public:
00049 
00050    GetReturnQos(org::xmlBlaster::util::Global& global, const org::xmlBlaster::util::qos::MsgQosData& data);
00051 
00052    GetReturnQos(const GetReturnQos& data);
00053 
00054    GetReturnQos& operator=(const GetReturnQos&);
00055 
00056    org::xmlBlaster::util::qos::MsgQosData& getData() { return data_; }
00057 
00061    bool isVolatile() const;
00062 
00066    bool isPersistent() const;
00067 
00071    bool isReadonly() const;
00072 
00077    org::xmlBlaster::util::SessionNameRef getSender();
00078 
00084    org::xmlBlaster::util::PriorityEnum getPriority() const;
00085 
00094    long getRemainingLifeStatic() const;
00095 
00102    std::string toXml(const std::string& extraOffset="");
00103 
00104 
00109    std::string getState() const;
00110 
00114    bool isOk() const;
00115 
00120    bool isErased() const;
00121 
00129    bool isTimeout() const;
00130 
00136    org::xmlBlaster::util::Timestamp getRcvTimestamp() const;
00137 
00138     // the following where not present before ...
00139    org::xmlBlaster::util::qos::RouteVector getRouteNodes();
00140 
00141    std::string getRcvTime() const;
00142 
00146    const org::xmlBlaster::util::qos::QosData::ClientPropertyMap& getClientProperties() const;
00147 
00148    bool hasClientProperty(const std::string& name) const {
00149       return data_.hasClientProperty(name);
00150    }
00151 
00156    template <typename T_VALUE> T_VALUE getClientProperty(
00157             const std::string& name,
00158             const T_VALUE& defaultValue) {
00159       return data_.getClientProperty(name, defaultValue);
00160    }
00161 
00162 };
00163 
00164 }}}}
00165 
00166 #endif