1 /*------------------------------------------------------------------------------
2 Name: ClientQueueProperty.h
3 Project: xmlBlaster.org
4 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
5 Comment: Holding callback queue properties
6 ------------------------------------------------------------------------------*/
7
8 /**
9 * Helper class holding callback queue properties.
10 * <p />
11 * See org::xmlBlaster::util::qos::ConnectQos for XML sysntax.
12 * @see org.xmlBlaster.client.qos.ConnectQos
13 */
14
15 #ifndef _UTIL_QUEUE_QUEUEPROPERTY_H
16 #define _UTIL_QUEUE_QUEUEPROPERTY_H
17
18
19 #include <util/xmlBlasterDef.h>
20 #include <util/Constants.h>
21 #include <util/qos/storage/QueuePropertyBase.h>
22 #include <util/qos/address/Address.h>
23 #include <string>
24
25 namespace org { namespace xmlBlaster { namespace util { namespace qos { namespace storage {
26
27 class Dll_Export ClientQueueProperty : public QueuePropertyBase
28 {
29 protected:
30
31 public:
32 /**
33 * @param nodeId If not null, the command line properties will look for prop[nodeId] as well,
34 * e.g. -queue/maxEntries and -queue/maxEntries[heron] will be searched
35 */
36 ClientQueueProperty(org::xmlBlaster::util::Global& global, const std::string& nodeId);
37
38 ClientQueueProperty(const QueuePropertyBase& prop);
39
40 ClientQueueProperty& operator =(const QueuePropertyBase& prop);
41
42 /**
43 * Show some important settings for logging
44 */
45 std::string getSettings();
46
47 /**
48 */
49 void setAddress(const org::xmlBlaster::util::qos::address::AddressBaseRef& address);
50
51 /**
52 * clears up all addresses and allocates new ones.
53 */
54 void setAddresses(const AddressVector& addresses);
55
56 /**
57 * @return null if none available
58 */
59 org::xmlBlaster::util::qos::address::AddressBaseRef getCurrentAddress();
60
61 /**
62 * Get a usage std::string for the connection parameters
63 */
64 static std::string usage();
65
66 };
67
68 }}}}} // namespace
69
70 #endif
syntax highlighted by Code2HTML, v. 0.9.1