diff options
Diffstat (limited to 'vcl/source/components/factory.cxx')
-rw-r--r-- | vcl/source/components/factory.cxx | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/vcl/source/components/factory.cxx b/vcl/source/components/factory.cxx index 9325c047b5d7..04b0e122cbce 100644 --- a/vcl/source/components/factory.cxx +++ b/vcl/source/components/factory.cxx @@ -42,9 +42,7 @@ using ::rtl::OUStringBuffer; using namespace com::sun::star::uno; using namespace com::sun::star::lang; - // service implementation - extern Sequence< OUString > SAL_CALL vcl_session_getSupportedServiceNames(); extern OUString SAL_CALL vcl_session_getImplementationName(); extern Reference< XInterface > SAL_CALL vcl_session_createInstance( const Reference< XMultiServiceFactory > & ); @@ -74,6 +72,13 @@ extern Reference< XInterface > SAL_CALL DragSource_createInstance( const Referen extern Sequence< OUString > SAL_CALL DropTarget_getSupportedServiceNames(); extern OUString SAL_CALL DropTarget_getImplementationName(); extern Reference< XInterface > SAL_CALL DropTarget_createInstance( const Reference< XMultiServiceFactory > & ); + +namespace rsvg +{ + extern Sequence< OUString > SAL_CALL Rasterizer_getSupportedServiceNames(); + extern OUString SAL_CALL Rasterizer_getImplementationName(); + extern Reference< XInterface > SAL_CALL Rasterizer_createInstance( const Reference< XMultiServiceFactory > & ); +} } extern "C" { @@ -139,6 +144,12 @@ extern "C" { xMgr, vcl::DropTarget_getImplementationName(), vcl::DropTarget_createInstance, vcl::DropTarget_getSupportedServiceNames() ); } + else if( vcl::rsvg::Rasterizer_getImplementationName().equalsAscii( pImplementationName ) ) + { + xFactory = ::cppu::createSingleFactory( + xMgr, vcl::rsvg::Rasterizer_getImplementationName(), vcl::rsvg::Rasterizer_createInstance, + vcl::rsvg::Rasterizer_getSupportedServiceNames() ); + } if( xFactory.is() ) { xFactory->acquire(); |