util/qos/StatusQosFactory.h

Go to the documentation of this file.
00001 /*------------------------------------------------------------------------------
00002 Name:      StatusQosFactory.h
00003 Project:   xmlBlaster.org
00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00005 ------------------------------------------------------------------------------*/
00006 
00007 #ifndef _UTIL_QOS_STATUSQOSFACTORY_H
00008 #define _UTIL_QOS_STATUSQOSFACTORY_H
00009 
00010 #include <util/xmlBlasterDef.h>
00011 #include <util/qos/StatusQosData.h>
00012 #include <util/parser/XmlHandlerBase.h>
00013 
00030 namespace org { namespace xmlBlaster { namespace util { namespace qos {
00031 
00032 class Dll_Export StatusQosFactory: public org::xmlBlaster::util::parser::XmlHandlerBase
00033 {
00034 private:
00035    std::string                    ME;
00036    org::xmlBlaster::util::Global& global_;
00037    org::xmlBlaster::util::I_Log&    log_;
00038    StatusQosData                  statusQosData_;
00039 
00041    bool inState_; //     = false;
00042    bool inSubscribe_; //  = false;
00043    bool inKey_; //       = false;
00044    bool inQos_;
00045    bool inIsPersistent_; // QosData
00046 
00047    void prep();
00048 
00049 public:
00050    StatusQosFactory(org::xmlBlaster::util::Global& global);
00051 
00058    void startElement(const std::string &name, const parser::AttributeMap& attrs);
00059 
00065    void endElement(const std::string &name);
00066 
00067    StatusQosData readObject(const std::string& qos);
00068 
00069 };
00070 
00071 }}}} // namespaces
00072 
00073 #endif
00074