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