00001 /*------------------------------------------------------------------------------ 00002 Name: EraseQueueEntry.h 00003 Project: xmlBlaster.org 00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file 00005 ------------------------------------------------------------------------------*/ 00006 00007 #ifndef _UTIL_QUEUE_ERASEQUEUEENRY_H 00008 #define _UTIL_QUEUE_ERASEQUEUEENRY_H 00009 00010 #include <util/MethodName.h> 00011 #include <util/queue/MsgQueueEntry.h> 00012 #include <client/qos/EraseQos.h> 00013 #include <client/qos/EraseReturnQos.h> 00014 #include <client/key/EraseKey.h> 00015 00016 00025 namespace org { namespace xmlBlaster { namespace util { namespace queue { 00026 00027 class Dll_Export EraseQueueEntry : public org::xmlBlaster::util::queue::MsgQueueEntry 00028 { 00029 public: 00030 00034 EraseQueueEntry(org::xmlBlaster::util::Global& global, 00035 const org::xmlBlaster::client::key::EraseKey& eraseKey, 00036 const org::xmlBlaster::client::qos::EraseQos& eraseQos, 00037 int priority=NORM_PRIORITY, 00038 org::xmlBlaster::util::Timestamp uniqueId = TimestampFactory::getInstance().getTimestamp()); 00039 00040 ~EraseQueueEntry(); 00041 00045 EraseQueueEntry(const EraseQueueEntry& entry); 00046 00050 EraseQueueEntry& operator =(const EraseQueueEntry& entry); 00051 00052 MsgQueueEntry *getClone() const; 00053 00054 virtual bool isErase() const; 00055 00056 // this should actually be in another interface but since it is an only method we put it here. 00057 const org::xmlBlaster::util::queue::MsgQueueEntry& send(org::xmlBlaster::util::dispatch::I_ConnectionsHandler& connectionsHandler) const; 00058 00062 org::xmlBlaster::client::qos::EraseQos getEraseQos() const; 00063 00067 org::xmlBlaster::client::key::EraseKey getEraseKey() const; 00068 00069 org::xmlBlaster::client::qos::EraseReturnQos getEraseReturnQos() const; 00070 00071 std::string toXml(const std::string& indent="") const; 00072 00073 }; 00074 00075 }}}} // namespace 00076 00077 #endif 00078