client/qos/UnSubscribeQos.h

Go to the documentation of this file.
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