00001 /*------------------------------------------------------------------------------ 00002 Name: SecurityQosFactory.h 00003 Project: xmlBlaster.org 00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file 00005 Comment: The Factory for the simple QosSecurityQos 00006 ------------------------------------------------------------------------------*/ 00007 00019 #ifndef _AUTHENTICATION_SECURITYQOSFACTORY_H 00020 #define _AUTHENTICATION_SECURITYQOSFACTORY_H 00021 00022 #include <authentication/SecurityQos.h> 00023 #include <util/parser/XmlHandlerBase.h> 00024 00025 namespace org { namespace xmlBlaster { namespace authentication { 00026 00027 class Dll_Export SecurityQosFactory: public org::xmlBlaster::util::parser::XmlHandlerBase 00028 { 00029 private: 00030 const std::string ME; 00031 00032 // helper flags for SAX parsing 00033 bool inSecurityService_; 00034 bool inUser_; 00035 bool inPasswd_; 00036 00037 org::xmlBlaster::authentication::SecurityQos securityQos_; 00038 00039 public: 00040 SecurityQosFactory(org::xmlBlaster::util::Global& global); 00041 00042 org::xmlBlaster::authentication::SecurityQos parse(const std::string& xmlQoS_literal); 00043 00050 void startElement(const std::string &name, const org::xmlBlaster::util::parser::AttributeMap& attrs); 00051 00058 void endElement(const std::string &name); 00059 00060 }; 00061 00062 }}} // namespaces 00063 00064 #endif