00001 /*------------------------------------------------------------------------------ 00002 Name: EraseQos.h 00003 Project: xmlBlaster.org 00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file 00005 ------------------------------------------------------------------------------*/ 00006 00024 #ifndef _CLIENT_QOS_ERASEQOS_H 00025 #define _CLIENT_QOS_ERASEQOS_H 00026 00027 #include <util/xmlBlasterDef.h> 00028 #include <client/qos/UnSubscribeQos.h> 00029 #include <util/qos/HistoryQos.h> 00030 00031 namespace org { namespace xmlBlaster { namespace client { namespace qos { 00032 00033 class Dll_Export EraseQos : public org::xmlBlaster::client::qos::UnSubscribeQos 00034 { 00035 public: 00036 EraseQos(org::xmlBlaster::util::Global& global); 00037 00038 EraseQos(org::xmlBlaster::util::Global& global, const org::xmlBlaster::util::qos::QueryQosData& data); 00039 00040 EraseQos(const EraseQos& qos); 00041 00042 EraseQos& operator =(const EraseQos& qos); 00043 00050 template <typename T_VALUE> void addClientProperty( 00051 const std::string& name, 00052 const T_VALUE& value, 00053 const std::string& type="", 00054 const std::string& encoding="") { 00055 data_.addClientProperty(name, value, type, encoding); 00056 } 00057 00063 void setForceDestroy(bool forceDestroy); 00064 00065 void setHistoryQos(org::xmlBlaster::util::qos::HistoryQos historyQos); 00066 00067 /* 00068 * Mark the erase request to be persistent. 00069 * <p> 00070 * NOTE: The request is only persistent in the client side 00071 * queue if we are polling for xmlBlaster. 00072 * </p> 00073 void setPersistent(bool persistent); 00074 */ 00075 00076 /* 00077 * NOT IMPLEMENTED 00078 * @param notify true - notify subscribers that message is erased (default is true) 00079 void setWantNotify(bool notify); 00080 */ 00081 }; 00082 00083 }}}} // namespace 00084 00085 #endif 00086