1 /*------------------------------------------------------------------------------
 2 Name:      QueuePropertyFactory.h
 3 Project:   xmlBlaster.org
 4 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
 5 Comment:   Holding callback queue properties
 6 Author:    laghi
 7 ------------------------------------------------------------------------------*/
 8 
 9 
10 /**
11  * Factory to construct org::xmlBlaster::util::queue::QueueProperty objects
12  * <p />
13  * See org::xmlBlaster::util::qos::ConnectQos for XML syntax.
14  * @see org.xmlBlaster.client.qos.ConnectQos
15  */
16 #ifndef _UTIL_QUEUE_QUEUEPROPERTYFACTORY_H
17 #define _UTIL_QUEUE_QUEUEPROPERTYFACTORY_H
18 
19 #include <util/qos/storage/QueuePropertyBase.h>
20 #include <util/parser/XmlHandlerBase.h>
21 #include <util/qos/address/AddressFactory.h>
22 #include <util/qos/address/Address.h>
23 #include <util/qos/address/CallbackAddress.h>
24 
25 namespace org { namespace xmlBlaster { namespace util { namespace qos { namespace storage {
26 
27 class Dll_Export QueuePropertyFactory : public parser::XmlHandlerBase
28 {
29 private:
30    const std::string  ME;
31    QueuePropertyBase  prop_;
32    bool               inAddress_;
33    org::xmlBlaster::util::qos::address::AddressFactory addressFactory_;
34    std::string  RELATING;
35 
36 public:
37    QueuePropertyFactory(org::xmlBlaster::util::Global& global);
38 
39    ~QueuePropertyFactory();
40 
41    QueuePropertyBase getQueueProperty();
42 
43    /**
44     * Called for XML callback start tag
45     */
46    void startElement(const std::string &name, const parser::AttributeMap& attrs);
47 
48    void characters(const std::string &ch);
49 
50    /** End element. */
51    void endElement(const std::string &name);
52 
53 /*
54    QueuePropertyBase&
55    readQueueProperty(const std::string& literal, QueuePropertyBase& prop);
56 */
57    QueuePropertyBase readObject(const std::string& literal);
58 
59 };
60 
61 }}}}} // namespaces
62 
63 #endif


syntax highlighted by Code2HTML, v. 0.9.1