util/XmlQoSBase.h

Go to the documentation of this file.
00001 /*-----------------------------------------------------------------------------
00002 Name:      XmlQoSBase.h
00003 Project:   xmlBlaster.org
00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00005 Comment:   Handling one QoS (quality of service), knows how to parse it 
00006            with SAX
00007 -----------------------------------------------------------------------------*/
00008 
00009 #ifndef _UTIL_XMLQOSBASE_H
00010 #define _UTIL_XMLQOSBASE_H
00011 
00012 #include <util/xmlBlasterDef.h>
00013 #include <util/parser/XmlHandlerBase.h>
00014 #include <util/ReferenceCounterBase.h>
00015 #include <util/ReferenceHolder.h>
00016 #include <string>
00017 
00018 namespace org { namespace xmlBlaster { namespace util {
00031     class Dll_Export XmlQoSBase : public parser::XmlHandlerBase, public ReferenceCounterBase
00032     {
00033 
00034     private:
00035 
00036        std::string me()
00037        {
00038           return "XmlQoSBase";
00039        }
00040        
00041     protected:
00042 
00043        bool inQos_; // parsing inside <qos> ? </qos>
00044        
00045     public:
00046 
00051        XmlQoSBase(org::xmlBlaster::util::Global& global);
00052 
00053     protected:
00054 
00060        bool isEmpty(const std::string &qos);
00061 
00073        bool startElementBase(const std::string &name, const parser::AttributeMap& /*attrs*/);
00074 
00075     public:
00081        void startElement(const std::string &name, const parser::AttributeMap &attrs);
00082        
00083     protected:
00096        bool endElementBase(const std::string &name);
00097 
00098     public:
00104        void endElement(const std::string &name);
00105     };
00106 }}} // namespace
00107 
00108 
00109 #endif
00110