util/queue/SubscribeQueueEntry.h

Go to the documentation of this file.
00001 /*------------------------------------------------------------------------------
00002 Name:      SubscribeQueueEntry.h
00003 Project:   xmlBlaster.org
00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00005 ------------------------------------------------------------------------------*/
00006 
00007 #ifndef _UTIL_QUEUE_SUBSCRIBEQUEUEENRY_H
00008 #define _UTIL_QUEUE_SUBSCRIBEQUEUEENRY_H
00009 
00010 #include <util/MethodName.h>
00011 #include <util/queue/MsgQueueEntry.h>
00012 #include <client/qos/SubscribeQos.h>
00013 #include <client/qos/SubscribeReturnQos.h>
00014 #include <client/key/SubscribeKey.h>
00015 
00016 
00025 namespace org { namespace xmlBlaster { namespace util { namespace queue {
00026 
00027 class Dll_Export SubscribeQueueEntry : public org::xmlBlaster::util::queue::MsgQueueEntry
00028 {
00029 public:
00030 
00034    SubscribeQueueEntry(org::xmlBlaster::util::Global& global,
00035                        const org::xmlBlaster::client::key::SubscribeKey& subscribeKey,
00036                        const org::xmlBlaster::client::qos::SubscribeQos& subscribeQos,
00037                        int priority=NORM_PRIORITY,
00038                        org::xmlBlaster::util::Timestamp uniqueId = TimestampFactory::getInstance().getTimestamp());
00039 
00040    ~SubscribeQueueEntry();
00041 
00045    SubscribeQueueEntry(const SubscribeQueueEntry& entry);
00046 
00050    SubscribeQueueEntry& operator =(const SubscribeQueueEntry& entry);
00051 
00052    MsgQueueEntry *getClone() const;
00053 
00054    virtual bool isSubscribe() 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::SubscribeQos getSubscribeQos() const;
00063 
00067    org::xmlBlaster::client::key::SubscribeKey getSubscribeKey() const;
00068  
00069    org::xmlBlaster::client::qos::SubscribeReturnQos getSubscribeReturnQos() const;
00070 
00071    std::string toXml(const std::string& indent="") const;
00072 
00073 };
00074 
00075 }}}} // namespace
00076 
00077 #endif
00078