diff options
Diffstat (limited to 'framework/source/xml/imagesconfiguration.cxx')
-rw-r--r-- | framework/source/xml/imagesconfiguration.cxx | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/framework/source/xml/imagesconfiguration.cxx b/framework/source/xml/imagesconfiguration.cxx index 622b45f5eecc..c65c46cebf8d 100644 --- a/framework/source/xml/imagesconfiguration.cxx +++ b/framework/source/xml/imagesconfiguration.cxx @@ -34,6 +34,7 @@ #include <xml/saxnamespacefilter.hxx> #include <com/sun/star/xml/sax/Parser.hpp> +#include <com/sun/star/xml/sax/Writer.hpp> #include <com/sun/star/io/XActiveDataSource.hpp> #include <com/sun/star/io/XInputStream.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> @@ -50,26 +51,12 @@ using namespace ::com::sun::star::io; namespace framework { -static Reference< XParser > GetSaxParser( - const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext - ) -{ - return Parser::create(rxContext); -} - -static Reference< XDocumentHandler > GetSaxWriter( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory - ) -{ - return Reference< XDocumentHandler >( xServiceFactory->createInstance( SERVICENAME_SAXWRITER), UNO_QUERY) ; -} - sal_Bool ImagesConfiguration::LoadImages( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rInputStream, ImageListsDescriptor& rItems ) { - Reference< XParser > xParser( GetSaxParser( rxContext ) ); + Reference< XParser > xParser = Parser::create( rxContext ); // connect stream to input stream to the parser InputSource aInputSource; @@ -103,18 +90,17 @@ sal_Bool ImagesConfiguration::LoadImages( } sal_Bool ImagesConfiguration::StoreImages( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory, + const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& rOutputStream, const ImageListsDescriptor& rItems ) { - Reference< XDocumentHandler > xWriter( GetSaxWriter( xServiceFactory ) ); - - Reference< ::com::sun::star::io::XActiveDataSource> xDataSource( xWriter , UNO_QUERY ); - xDataSource->setOutputStream( rOutputStream ); + Reference< XWriter > xWriter = Writer::create(rxContext); + xWriter->setOutputStream( rOutputStream ); try { - OWriteImagesDocumentHandler aWriteImagesDocumentHandler( rItems, xWriter ); + Reference< XDocumentHandler > xHandler( xWriter, UNO_QUERY_THROW ); + OWriteImagesDocumentHandler aWriteImagesDocumentHandler( rItems, xHandler ); aWriteImagesDocumentHandler.WriteImagesDocument(); return sal_True; } |