summaryrefslogtreecommitdiff
path: root/vcl/source/components/factory.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/components/factory.cxx')
-rw-r--r--vcl/source/components/factory.cxx15
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();