00001 /*------------------------------------------------------------------------------ 00002 Name: CbQueueProperty.h 00003 Project: xmlBlaster.org 00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file 00005 Comment: Holding callback queue properties 00006 Version: $Id: CbQueueProperty.h 13445 2005-07-15 01:54:35Z ruff $ 00007 ------------------------------------------------------------------------------*/ 00008 00016 #ifndef _UTIL_QUEUE_CBQUEUEPROPERTY_H 00017 #define _UTIL_QUEUE_CBQUEUEPROPERTY_H 00018 00019 #include <util/xmlBlasterDef.h> 00020 #include <util/Constants.h> 00021 #include <util/qos/storage/QueuePropertyBase.h> 00022 #include <util/qos/address/CallbackAddress.h> 00023 00024 #include <string> 00025 00026 00027 00028 00029 namespace org { namespace xmlBlaster { namespace util { namespace qos { namespace storage { 00030 00031 class Dll_Export CbQueueProperty : public QueuePropertyBase 00032 { 00033 protected: 00034 00040 public: 00041 CbQueueProperty(org::xmlBlaster::util::Global& global, const std::string& relating, const std::string& nodeId); 00042 00043 CbQueueProperty(const QueuePropertyBase& prop); 00044 00045 CbQueueProperty& operator =(const QueuePropertyBase& prop); 00046 00050 std::string getSettings(); 00051 00056 static std::string& toLowerCase(std::string& ref); 00057 00061 void setRelating(const std::string& relating); 00062 00063 bool isSubjectRelated(); 00064 00065 bool isSessionRelated(); 00066 00067 bool onOverflowDeadMessage(); 00068 00072 void setCallbackAddress(const org::xmlBlaster::util::qos::address::AddressBaseRef& address); 00073 00076 void setCallbackAddresses(const AddressVector& addresses); 00077 00081 AddressVector getCallbackAddresses(); 00082 00086 org::xmlBlaster::util::qos::address::AddressBaseRef getCurrentCallbackAddress(); 00087 00091 static std::string usage(); 00092 }; 00093 00094 }}}}} // namespace 00095 00096 #endif