00001 /*------------------------------------------------------------------------------ 00002 Name: UnSubscribeQos.h 00003 Project: xmlBlaster.org 00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file 00005 ------------------------------------------------------------------------------*/ 00006 00021 #ifndef _CLIENT_QOS_UNSUBSCRIBEQOS_H 00022 #define _CLIENT_QOS_UNSUBSCRIBEQOS_H 00023 00024 #include <util/xmlBlasterDef.h> 00025 #include <util/qos/QueryQosData.h> 00026 00027 namespace org { namespace xmlBlaster { namespace client { namespace qos { 00028 00029 class Dll_Export UnSubscribeQos 00030 { 00031 protected: 00032 std::string ME; 00033 org::xmlBlaster::util::Global& global_; 00034 mutable org::xmlBlaster::util::qos::QueryQosData data_; 00035 00036 public: 00040 UnSubscribeQos(org::xmlBlaster::util::Global& global); 00041 00047 UnSubscribeQos(org::xmlBlaster::util::Global& global, 00048 const org::xmlBlaster::util::qos::QueryQosData& data); 00049 00050 UnSubscribeQos(const UnSubscribeQos& qos); 00051 00052 UnSubscribeQos& operator =(const UnSubscribeQos& qos); 00053 00060 template <typename T_VALUE> void addClientProperty( 00061 const std::string& name, 00062 const T_VALUE& value, 00063 const std::string& type="", 00064 const std::string& encoding="") { 00065 data_.addClientProperty(name, value, type, encoding); 00066 } 00067 00071 template <typename T_VALUE> T_VALUE getClientProperty( 00072 const std::string& name, 00073 const T_VALUE& defaultValue) { 00074 return data_.getClientProperty(name, defaultValue); 00075 } 00076 00077 bool hasClientProperty(const std::string& name) const { 00078 return data_.hasClientProperty(name); 00079 } 00080 00085 std::string toXml() const; 00086 00087 const org::xmlBlaster::util::qos::QueryQosData& getData() const; 00088 }; 00089 00090 }}}} 00091 00092 #endif