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