00001 /*------------------------------------------------------------------------------ 00002 Name: I_ConnectionsHandler.h 00003 Project: xmlBlaster.org 00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file 00005 Comment: Extended Interface to org::xmlBlaster::client::protocol::I_XmlBlasterConnections for ConnectionHandler 00006 ------------------------------------------------------------------------------*/ 00007 00014 #ifndef _UTIL_DISPATCH_ICONNECTIONSHANDLER_H 00015 #define _UTIL_DISPATCH_ICONNECTIONSHANDLER_H 00016 00017 #include <util/xmlBlasterDef.h> 00018 #include <client/protocol/I_XmlBlasterConnection.h> 00019 00020 // circular dependency I_ConnectionsHandler -> org::xmlBlaster::util::queue::I_Queue -> org::xmlBlaster::util::queue::MsgQueueEntry 00021 #ifndef _UTIL_QUEUE_I_QUEUE_H 00022 namespace org { namespace xmlBlaster { namespace util { namespace queue { 00023 class I_Queue; 00024 }}}} 00025 #endif 00026 00027 namespace org { namespace xmlBlaster { namespace util { namespace dispatch { 00028 00029 enum States {START, ALIVE, POLLING, DEAD, END}; 00030 00031 class Dll_Export I_ConnectionsHandler : public org::xmlBlaster::client::protocol::I_XmlBlasterConnection 00032 { 00033 public: 00034 virtual ~I_ConnectionsHandler() {} 00035 00041 virtual long flushQueue() = 0; 00042 00046 virtual org::xmlBlaster::util::queue::I_Queue* getQueue() = 0; 00047 00052 virtual bool isFailsafe() const = 0; 00053 00054 virtual bool isConnected() const = 0; 00055 00056 virtual org::xmlBlaster::util::qos::ConnectReturnQosRef connectRaw(const org::xmlBlaster::util::qos::ConnectQosRef& connectQos) = 0; 00057 00058 virtual org::xmlBlaster::client::protocol::I_XmlBlasterConnection& getConnection() const = 0; 00059 00060 virtual org::xmlBlaster::util::qos::ConnectReturnQosRef getConnectReturnQos() = 0; 00061 00062 virtual org::xmlBlaster::util::qos::ConnectQosRef getConnectQos() = 0; 00063 00064 }; 00065 00066 00067 }}}} // namespaces 00068 00069 #endif