util/qos/storage/QueuePropertyFactory.h

Go to the documentation of this file.
00001 /*------------------------------------------------------------------------------
00002 Name:      QueuePropertyFactory.h
00003 Project:   xmlBlaster.org
00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00005 Comment:   Holding callback queue properties
00006 Author:    laghi
00007 ------------------------------------------------------------------------------*/
00008 
00009 
00016 #ifndef _UTIL_QUEUE_QUEUEPROPERTYFACTORY_H
00017 #define _UTIL_QUEUE_QUEUEPROPERTYFACTORY_H
00018 
00019 #include <util/qos/storage/QueuePropertyBase.h>
00020 #include <util/parser/XmlHandlerBase.h>
00021 #include <util/qos/address/AddressFactory.h>
00022 #include <util/qos/address/Address.h>
00023 #include <util/qos/address/CallbackAddress.h>
00024 
00025 namespace org { namespace xmlBlaster { namespace util { namespace qos { namespace storage {
00026 
00027 class Dll_Export QueuePropertyFactory : public parser::XmlHandlerBase
00028 {
00029 private:
00030    const std::string  ME;
00031    QueuePropertyBase  prop_;
00032    bool               inAddress_;
00033    org::xmlBlaster::util::qos::address::AddressFactory addressFactory_;
00034    std::string  RELATING;
00035 
00036 public:
00037    QueuePropertyFactory(org::xmlBlaster::util::Global& global);
00038 
00039    ~QueuePropertyFactory();
00040 
00041    QueuePropertyBase getQueueProperty();
00042 
00046    void startElement(const std::string &name, const parser::AttributeMap& attrs);
00047 
00048    void characters(const std::string &ch);
00049 
00051    void endElement(const std::string &name);
00052 
00053 /*
00054    QueuePropertyBase&
00055    readQueueProperty(const std::string& literal, QueuePropertyBase& prop);
00056 */
00057    QueuePropertyBase readObject(const std::string& literal);
00058 
00059 };
00060 
00061 }}}}} // namespaces
00062 
00063 #endif