From 2a649539b723a01649102ff7be3cab2bbdff834d Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Tue, 10 Jun 2014 18:15:55 +0200 Subject: MetafileXmlDump: No need to specify the stream, simplify the API. Change-Id: Ia08f67e359bbd26cefdba8661f0b0c4ae2147382 --- test/source/mtfxmldump.cxx | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'test/source/mtfxmldump.cxx') diff --git a/test/source/mtfxmldump.cxx b/test/source/mtfxmldump.cxx index e1a6abdff0f3..5e329a3b85a2 100644 --- a/test/source/mtfxmldump.cxx +++ b/test/source/mtfxmldump.cxx @@ -8,6 +8,7 @@ */ #include +#include #include #include @@ -137,9 +138,8 @@ OUString convertLineStyleToString(LineStyle eAlign) } // anonymous namespace -MetafileXmlDump::MetafileXmlDump(SvStream& rStream) : - maFilter(512, false), - mrStream(rStream) +MetafileXmlDump::MetafileXmlDump() : + maFilter(512, false) {} MetafileXmlDump::~MetafileXmlDump() @@ -160,9 +160,16 @@ void MetafileXmlDump::filterNoneActionTypes() maFilter.assign(512, false); } -void MetafileXmlDump::dump(GDIMetaFile& rMetaFile) +xmlDocPtr MetafileXmlDump::dumpAndParse(GDIMetaFile& rMetaFile, const OUString& rTempStreamName) { - xmlOutputBufferPtr xmlOutBuffer = xmlOutputBufferCreateIO(lclWriteCallback, lclCloseCallback, &mrStream, NULL); + SvStream *pStream = NULL; + + if (rTempStreamName.isEmpty()) + pStream = new SvMemoryStream(); + else + pStream = new SvFileStream(rTempStreamName, STREAM_STD_READWRITE); + + xmlOutputBufferPtr xmlOutBuffer = xmlOutputBufferCreateIO(lclWriteCallback, lclCloseCallback, pStream, NULL); xmlTextWriterPtr xmlWriter = xmlNewTextWriter( xmlOutBuffer ); xmlTextWriterSetIndent( xmlWriter, 1 ); @@ -392,6 +399,14 @@ void MetafileXmlDump::dump(GDIMetaFile& rMetaFile) aWriter.endElement(); aWriter.endDocument(); + + pStream->Seek(STREAM_SEEK_TO_BEGIN); + + xmlDocPtr pDoc = XmlTestTools::parseXmlStream(pStream); + + delete pStream; + + return pDoc; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3