summaryrefslogtreecommitdiff
path: root/framework/source/xml/imagesconfiguration.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'framework/source/xml/imagesconfiguration.cxx')
-rw-r--r--framework/source/xml/imagesconfiguration.cxx28
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;
}