summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@frugalware.org>2011-12-22 01:46:33 +0100
committerMiklos Vajna <vmiklos@frugalware.org>2011-12-22 01:47:34 +0100
commitacfdec468d54d44f94ca6752bbbfbdab07ef9a0c (patch)
tree46eb636fcc94a346d159881fb5c84df8c366367e /writerfilter
parenta308f9172f86349c324a8cb07979f7b051811321 (diff)
writerfilter: fix dbglevel=2 build
This basically reverts e8f980d10cf95b8bced1ca18a55b2a4784f6dcc9 and b0e993d42e1df8c68c4c2684ab9dda27a1329594, while keeping callcatcher happy.
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/inc/resourcemodel/TagLogger.hxx11
-rw-r--r--writerfilter/source/resourcemodel/TagLogger.cxx69
2 files changed, 80 insertions, 0 deletions
diff --git a/writerfilter/inc/resourcemodel/TagLogger.hxx b/writerfilter/inc/resourcemodel/TagLogger.hxx
index 44dc9015791e..f5ca4ebecf32 100644
--- a/writerfilter/inc/resourcemodel/TagLogger.hxx
+++ b/writerfilter/inc/resourcemodel/TagLogger.hxx
@@ -73,7 +73,18 @@ namespace writerfilter
void element(const std::string & name);
void unoPropertySet(uno::Reference<beans::XPropertySet> rPropSet);
#endif
+#if OSL_DEBUG_LEVEL > 1
+ void startElement(const std::string & name);
+#endif
void attribute(const std::string & name, const std::string & value);
+#if OSL_DEBUG_LEVEL > 1
+ void attribute(const std::string & name, const ::rtl::OUString & value);
+ void attribute(const std::string & name, sal_uInt32 value);
+ void attribute(const std::string & name, const uno::Any aAny);
+ void chars(const std::string & chars);
+ void chars(const ::rtl::OUString & chars);
+ void endElement();
+#endif
#ifdef DEBUG_CONTEXT_HANDLER
void propertySet(writerfilter::Reference<Properties>::Pointer_t props,
diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx
index dcdd461ea5ad..7ee16fe22367 100644
--- a/writerfilter/source/resourcemodel/TagLogger.cxx
+++ b/writerfilter/source/resourcemodel/TagLogger.cxx
@@ -156,6 +156,15 @@ namespace writerfilter
#endif
+#if OSL_DEBUG_LEVEL > 1
+ void TagLogger::startElement(const string & name)
+ {
+ xmlChar* xmlName = xmlCharStrdup( name.c_str() );
+ xmlTextWriterStartElement( pWriter, xmlName );
+ xmlFree( xmlName );
+ }
+#endif
+
void TagLogger::attribute(const string & name, const string & value)
{
xmlChar* xmlName = xmlCharStrdup( name.c_str() );
@@ -166,6 +175,66 @@ namespace writerfilter
xmlFree( xmlName );
}
+#if OSL_DEBUG_LEVEL > 1
+ void TagLogger::attribute(const string & name, const ::rtl::OUString & value)
+ {
+ attribute( name, OUStringToOString( value, RTL_TEXTENCODING_ASCII_US ).getStr() );
+ }
+
+ void TagLogger::attribute(const string & name, sal_uInt32 value)
+ {
+ xmlChar* xmlName = xmlCharStrdup( name.c_str() );
+ xmlTextWriterWriteFormatAttribute( pWriter, xmlName,
+ "%" SAL_PRIuUINT32, value );
+ xmlFree( xmlName );
+ }
+
+ void TagLogger::attribute(const string & name, const uno::Any aAny)
+ {
+ string aTmpStrInt;
+ string aTmpStrFloat;
+ string aTmpStrString;
+
+ sal_Int32 nInt = 0;
+ float nFloat = 0.0;
+ ::rtl::OUString aStr;
+
+ xmlChar* xmlName = xmlCharStrdup( name.c_str() );
+ if ( aAny >>= nInt )
+ {
+ xmlTextWriterWriteFormatAttribute( pWriter, xmlName,
+ "%" SAL_PRIdINT32, nInt );
+ }
+ else if ( aAny >>= nFloat )
+ {
+ xmlTextWriterWriteFormatAttribute( pWriter, xmlName,
+ "%f", nFloat );
+ }
+ else if ( aAny >>= aStr )
+ {
+ attribute( name, aStr );
+ }
+ xmlFree( xmlName );
+ }
+
+ void TagLogger::chars(const string & rChars)
+ {
+ xmlChar* xmlChars = xmlCharStrdup( rChars.c_str() );
+ xmlTextWriterWriteString( pWriter, xmlChars );
+ xmlFree( xmlChars );
+ }
+
+ void TagLogger::chars(const ::rtl::OUString & rChars)
+ {
+ chars(OUStringToOString(rChars, RTL_TEXTENCODING_ASCII_US).getStr());
+ }
+
+ void TagLogger::endElement()
+ {
+ xmlTextWriterEndElement( pWriter );
+ }
+#endif
+
#ifdef DEBUG_CONTEXT_HANDLER
class PropertySetDumpHandler : public Properties
{