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