18#ifndef _LOG4CXX_XML_DOM_CONFIGURATOR_H
19#define _LOG4CXX_XML_DOM_CONFIGURATOR_H
35#if LOG4CXX_HAS_DOMCONFIGURATOR
64class LOG4CXX_EXPORT DOMConfigurator :
65 virtual public spi::Configurator
71 typedef std::map<LogString, AppenderPtr> AppenderMap;
76 LOG4CXX_NS::helpers::Pool& p,
77 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
81 AppenderMap& appenders);
87 LOG4CXX_NS::helpers::Pool& p,
88 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
89 apr_xml_elem* appenderRef,
91 AppenderMap& appenders);
97 LOG4CXX_NS::helpers::Pool& p,
98 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
99 apr_xml_elem* appenderElement,
101 AppenderMap& appenders);
106 void parseErrorHandler(
107 LOG4CXX_NS::helpers::Pool& p,
108 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
109 apr_xml_elem* element,
112 AppenderMap& appenders);
118 LOG4CXX_NS::helpers::Pool& p,
119 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
120 apr_xml_elem* element,
121 std::vector<LOG4CXX_NS::spi::FilterPtr>& filters);
127 LOG4CXX_NS::helpers::Pool& p,
128 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
129 apr_xml_elem* loggerElement,
131 AppenderMap& appenders);
136 void parseLoggerFactory(
137 LOG4CXX_NS::helpers::Pool& p,
138 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
139 apr_xml_elem* factoryElement);
145 LOG4CXX_NS::helpers::Pool& p,
146 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
147 apr_xml_elem* factoryElement);
152 LOG4CXX_NS::rolling::RollingPolicyPtr parseRollingPolicy(
153 LOG4CXX_NS::helpers::Pool& p,
154 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
155 apr_xml_elem* factoryElement);
160 void parseRoot(LOG4CXX_NS::helpers::Pool& p,
161 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
162 apr_xml_elem* rootElement, apr_xml_doc* doc, AppenderMap& appenders);
167 void parseChildrenOfLoggerElement(
168 LOG4CXX_NS::helpers::Pool& p,
169 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
170 apr_xml_elem* catElement,
173 AppenderMap& appenders );
179 LOG4CXX_NS::helpers::Pool& p,
180 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
181 apr_xml_elem* layout_element);
187 LOG4CXX_NS::helpers::Pool& p,
188 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
189 apr_xml_elem* element,
193 LOG4CXX_NS::helpers::Pool& p,
194 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
196 LOG4CXX_NS::config::PropertySetter& propSetter);
203 LOG4CXX_NS::helpers::Pool& p,
204 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
205 apr_xml_elem* element,
207 AppenderMap& appenders);
217 DOMConfigurator(LOG4CXX_NS::helpers::Pool& p);
223#if LOG4CXX_WCHAR_T_API
229#if LOG4CXX_UNICHAR_API || LOG4CXX_LOGCHAR_IS_UNICHAR
235#if LOG4CXX_CFSTRING_API
248#if LOG4CXX_WCHAR_T_API
257#if LOG4CXX_UNICHAR_API || LOG4CXX_LOGCHAR_IS_UNICHAR
266#if LOG4CXX_CFSTRING_API
292#if LOG4CXX_WCHAR_T_API
299#if LOG4CXX_UNICHAR_API || LOG4CXX_LOGCHAR_IS_UNICHAR
306#if LOG4CXX_CFSTRING_API
326 LOG4CXX_NS::helpers::CharsetDecoderPtr& utf8Decoder,
328 const std::string& attrName);
334 DOMConfigurator(
const DOMConfigurator&);
335 DOMConfigurator& operator=(
const DOMConfigurator&);
336 static XMLWatchdog* xdog;
338 LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(DOMConfiguratorPrivate, m_priv)
const struct __CFString * CFStringRef
Definition: logstring.h:30
std::shared_ptr< Object > ObjectPtr
Definition: optionconverter.h:41
std::shared_ptr< LoggerRepository > LoggerRepositoryPtr
Definition: optionconverter.h:33
ConfigurationStatus
Definition: configurator.h:30
std::basic_string< logchar > LogString
Definition: logstring.h:60
std::shared_ptr< Layout > LayoutPtr
Definition: appender.h:42
LOG4CXX_PTR_DEF(Appender)
std::shared_ptr< Appender > AppenderPtr
Definition: basicconfigurator.h:29
std::shared_ptr< Logger > LoggerPtr
Definition: defaultloggerfactory.h:27
#define LOG4CXX_CAST_ENTRY(Interface)
Definition: object.h:158
#define END_LOG4CXX_CAST_MAP()
Definition: object.h:152
#define DECLARE_LOG4CXX_OBJECT(object)
Definition: object.h:43
#define BEGIN_LOG4CXX_CAST_MAP()
Definition: object.h:146