diff options
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/source/core/xmlexp.cxx | 55 | ||||
-rw-r--r-- | xmloff/source/core/xmlimp.cxx | 31 |
2 files changed, 35 insertions, 51 deletions
diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx index f76e7b677710..835b9ea18f80 100644 --- a/xmloff/source/core/xmlexp.cxx +++ b/xmloff/source/core/xmlexp.cxx @@ -674,11 +674,10 @@ void SAL_CALL SvXMLExport::initialize( const uno::Sequence< uno::Any >& aArgumen if ( xTmpStatus.is() ) mxStatusIndicator = xTmpStatus; - // graphic resolver - uno::Reference<document::XGraphicObjectResolver> xTmpGraphic( - xValue, UNO_QUERY ); - if ( xTmpGraphic.is() ) - mxGraphicResolver = xTmpGraphic; + // graphic storage handler + uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(xValue, UNO_QUERY); + if (xGraphicStorageHandler.is()) + mxGraphicStorageHandler = xGraphicStorageHandler; // object resolver uno::Reference<document::XEmbeddedObjectResolver> xTmpObjectResolver( @@ -1254,18 +1253,17 @@ ErrCode SvXMLExport::exportDoc( enum ::xmloff::token::XMLTokenEnum eClass ) bool bOwnGraphicResolver = false; bool bOwnEmbeddedResolver = false; - if( !mxGraphicResolver.is() || !mxEmbeddedResolver.is() ) + if (!mxGraphicStorageHandler.is() || !mxEmbeddedResolver.is()) { Reference< XMultiServiceFactory > xFactory( mxModel, UNO_QUERY ); if( xFactory.is() ) { try { - if( !mxGraphicResolver.is() ) + if (!mxGraphicStorageHandler.is()) { - mxGraphicResolver.set( - xFactory->createInstance( "com.sun.star.document.ExportGraphicObjectResolver" ), UNO_QUERY); - bOwnGraphicResolver = mxGraphicResolver.is(); + mxGraphicStorageHandler.set(xFactory->createInstance( "com.sun.star.document.ExportGraphicStorageHandler"), UNO_QUERY); + bOwnGraphicResolver = mxGraphicStorageHandler.is(); } if( !mxEmbeddedResolver.is() ) @@ -1441,7 +1439,7 @@ ErrCode SvXMLExport::exportDoc( enum ::xmloff::token::XMLTokenEnum eClass ) if( bOwnGraphicResolver ) { - Reference< XComponent > xComp( mxGraphicResolver, UNO_QUERY ); + uno::Reference<XComponent> xComp(mxGraphicStorageHandler, UNO_QUERY); xComp->dispose(); } @@ -1880,11 +1878,10 @@ OUString SvXMLExport::AddEmbeddedXGraphic(uno::Reference<graphic::XGraphic> cons } else { - uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY); - if (mxGraphicResolver.is() && xGraphicStorageHandler.is()) + if (mxGraphicStorageHandler.is()) { if (!(getExportFlags() & SvXMLExportFlags::EMBEDDED)) - sURL = xGraphicStorageHandler->saveGraphicByName(rxGraphic, rOutMimeType, rRequestedName); + sURL = mxGraphicStorageHandler->saveGraphicByName(rxGraphic, rOutMimeType, rRequestedName); } } return sURL; @@ -1892,18 +1889,13 @@ OUString SvXMLExport::AddEmbeddedXGraphic(uno::Reference<graphic::XGraphic> cons bool SvXMLExport::GetGraphicMimeTypeFromStream(uno::Reference<graphic::XGraphic> const & rxGraphic, OUString & rOutMimeType) { - if (mxGraphicResolver.is()) + if (mxGraphicStorageHandler.is()) { - uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY); - - if (xGraphicStorageHandler.is()) + Reference<XInputStream> xInputStream(mxGraphicStorageHandler->createInputStream(rxGraphic)); + if (xInputStream.is()) { - Reference<XInputStream> xInputStream(xGraphicStorageHandler->createInputStream(rxGraphic)); - if (xInputStream.is()) - { - rOutMimeType = comphelper::GraphicMimeTypeHelper::GetMimeTypeForImageStream(xInputStream); - return true; - } + rOutMimeType = comphelper::GraphicMimeTypeHelper::GetMimeTypeForImageStream(xInputStream); + return true; } } @@ -1913,18 +1905,13 @@ bool SvXMLExport::GetGraphicMimeTypeFromStream(uno::Reference<graphic::XGraphic> bool SvXMLExport::AddEmbeddedXGraphicAsBase64(uno::Reference<graphic::XGraphic> const & rxGraphic) { if ((getExportFlags() & SvXMLExportFlags::EMBEDDED) && - mxGraphicResolver.is()) + mxGraphicStorageHandler.is()) { - uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY); - - if (xGraphicStorageHandler.is()) + Reference<XInputStream> xInputStream(mxGraphicStorageHandler->createInputStream(rxGraphic)); + if (xInputStream.is()) { - Reference<XInputStream> xInputStream(xGraphicStorageHandler->createInputStream(rxGraphic)); - if (xInputStream.is()) - { - XMLBase64Export aBase64Exp(*this); - return aBase64Exp.exportOfficeBinaryDataElement(xInputStream); - } + XMLBase64Export aBase64Exp(*this); + return aBase64Exp.exportOfficeBinaryDataElement(xInputStream); } } diff --git a/xmloff/source/core/xmlimp.cxx b/xmloff/source/core/xmlimp.cxx index 7a08b5656030..9b2b51060341 100644 --- a/xmloff/source/core/xmlimp.cxx +++ b/xmloff/source/core/xmlimp.cxx @@ -529,20 +529,20 @@ void SAL_CALL SvXMLImport::setNamespaceHandler( const uno::Reference< xml::sax:: void SAL_CALL SvXMLImport::startDocument() { SAL_INFO( "xmloff.core", "{ SvXMLImport::startDocument" ); - if( !mxGraphicResolver.is() || !mxEmbeddedResolver.is() ) + if (!mxGraphicStorageHandler.is() || !mxEmbeddedResolver.is()) { Reference< lang::XMultiServiceFactory > xFactory( mxModel, UNO_QUERY ); if( xFactory.is() ) { try { - if( !mxGraphicResolver.is() ) + if (!mxGraphicStorageHandler.is()) { // #99870# Import... instead of Export... - mxGraphicResolver.set( - xFactory->createInstance("com.sun.star.document.ImportGraphicObjectResolver"), + mxGraphicStorageHandler.set( + xFactory->createInstance("com.sun.star.document.ImportGraphicStorageHandler"), UNO_QUERY); - mpImpl->mbOwnGraphicResolver = mxGraphicResolver.is(); + mpImpl->mbOwnGraphicResolver = mxGraphicStorageHandler.is(); } if( !mxEmbeddedResolver.is() ) @@ -630,7 +630,7 @@ void SAL_CALL SvXMLImport::endDocument() if( mpImpl->mbOwnGraphicResolver ) { - Reference< lang::XComponent > xComp( mxGraphicResolver, UNO_QUERY ); + Reference<lang::XComponent> xComp(mxGraphicStorageHandler, UNO_QUERY); xComp->dispose(); } @@ -1037,10 +1037,9 @@ void SAL_CALL SvXMLImport::initialize( const uno::Sequence< uno::Any >& aArgumen if( xTmpStatusIndicator.is() ) mxStatusIndicator = xTmpStatusIndicator; - uno::Reference<document::XGraphicObjectResolver> xTmpGraphicResolver( - xValue, UNO_QUERY ); - if( xTmpGraphicResolver.is() ) - mxGraphicResolver = xTmpGraphicResolver; + uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(xValue, UNO_QUERY); + if (xGraphicStorageHandler.is()) + mxGraphicStorageHandler = xGraphicStorageHandler; uno::Reference<document::XEmbeddedObjectResolver> xTmpObjectResolver( xValue, UNO_QUERY ); @@ -1361,13 +1360,12 @@ bool SvXMLImport::IsPackageURL( const OUString& rURL ) const uno::Reference<graphic::XGraphic> SvXMLImport::loadGraphicByURL(OUString const & rURL) { uno::Reference<graphic::XGraphic> xGraphic; - uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY); - if (xGraphicStorageHandler.is()) + if (mxGraphicStorageHandler.is()) { if (IsPackageURL(rURL)) { - xGraphic = xGraphicStorageHandler->loadGraphic(rURL); + xGraphic = mxGraphicStorageHandler->loadGraphic(rURL); } else { @@ -1384,11 +1382,10 @@ uno::Reference<graphic::XGraphic> SvXMLImport::loadGraphicByURL(OUString const & uno::Reference<graphic::XGraphic> SvXMLImport::loadGraphicFromBase64(uno::Reference<io::XOutputStream> const & rxOutputStream) { uno::Reference<graphic::XGraphic> xGraphic; - uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY); - if (xGraphicStorageHandler.is()) + if (mxGraphicStorageHandler.is()) { - xGraphic = xGraphicStorageHandler->loadGraphicFromOutputStream(rxOutputStream); + xGraphic = mxGraphicStorageHandler->loadGraphicFromOutputStream(rxOutputStream); } return xGraphic; @@ -1397,7 +1394,7 @@ uno::Reference<graphic::XGraphic> SvXMLImport::loadGraphicFromBase64(uno::Refere Reference< XOutputStream > SvXMLImport::GetStreamForGraphicObjectURLFromBase64() { Reference< XOutputStream > xOStm; - Reference< document::XBinaryStreamResolver > xStmResolver( mxGraphicResolver, UNO_QUERY ); + Reference< document::XBinaryStreamResolver > xStmResolver(mxGraphicStorageHandler, UNO_QUERY); if( xStmResolver.is() ) xOStm = xStmResolver->createOutputStream(); |