util/queue/ConnectQueueEntry.h

Go to the documentation of this file.
00001 /*------------------------------------------------------------------------------
00002 Name:      ConnectQueueEntry.h
00003 Project:   xmlBlaster.org
00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00005 ------------------------------------------------------------------------------*/
00006 #ifndef _UTIL_QUEUE_CONNECTQUEUEENRY_H
00007 #define _UTIL_QUEUE_CONNECTQUEUEENRY_H
00008 
00009 #include <util/MethodName.h>
00010 #include <util/queue/MsgQueueEntry.h>
00011 
00021 namespace org { namespace xmlBlaster { namespace util { namespace queue {
00022 
00023 class Dll_Export ConnectQueueEntry : public org::xmlBlaster::util::queue::MsgQueueEntry
00024 {
00029    mutable BlobHolder blobHolder_;
00030 
00034    ConnectQueueEntry& operator =(const ConnectQueueEntry& entry);
00035 
00036 public:
00037 
00042    ConnectQueueEntry(org::xmlBlaster::util::Global& global,
00043                      const org::xmlBlaster::util::qos::ConnectQosRef& connectQos,
00044                      int priority=MAX_PRIORITY,
00045                      org::xmlBlaster::util::Timestamp uniqueId = TimestampFactory::getInstance().getTimestamp());
00046 
00050    ConnectQueueEntry(const ConnectQueueEntry& entry);
00051 
00052    MsgQueueEntry *getClone() const;
00053 
00054    ~ConnectQueueEntry();
00055 
00060    const void* getEmbeddedObject() const;
00061    
00062    virtual bool isConnect() const;
00063 
00064    // this should actually be in another interface but since it is an only method we put it here.
00065    const org::xmlBlaster::util::queue::MsgQueueEntry& send(org::xmlBlaster::util::dispatch::I_ConnectionsHandler& connectionsHandler) const;
00066 
00067    size_t getSizeInBytes() const;
00068 
00072    org::xmlBlaster::util::qos::ConnectQosRef getConnectQos() const;
00073 
00077    org::xmlBlaster::util::qos::ConnectReturnQosRef getConnectReturnQos() const;
00078 
00079    std::string toXml(const std::string& indent="") const;
00080 
00081 };
00082 
00083 }}}} // namespace
00084 
00085 #endif
00086