diff options
Diffstat (limited to 'ucb/source/core/ucbserv.cxx')
-rw-r--r-- | ucb/source/core/ucbserv.cxx | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/ucb/source/core/ucbserv.cxx b/ucb/source/core/ucbserv.cxx index 9c1379592758..1a1745180d67 100644 --- a/ucb/source/core/ucbserv.cxx +++ b/ucb/source/core/ucbserv.cxx @@ -24,11 +24,11 @@ #include "ucbprops.hxx" #include "provprox.hxx" #include "cmdenv.hxx" +#include "FileAccess.hxx" using namespace com::sun::star::uno; using namespace com::sun::star::lang; - //========================================================================= extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL ucb_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * ) @@ -76,8 +76,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL ucb_component_getFactory( else if ( UcbContentProviderProxyFactory::getImplementationName_Static(). compareToAscii( pImplName ) == 0 ) { - xFactory - = UcbContentProviderProxyFactory::createServiceFactory( xSMgr ); + xFactory = UcbContentProviderProxyFactory::createServiceFactory( xSMgr ); } ////////////////////////////////////////////////////////////////////// @@ -87,11 +86,17 @@ extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL ucb_component_getFactory( else if ( ucb_cmdenv::UcbCommandEnvironment::getImplementationName_Static(). compareToAscii( pImplName ) == 0 ) { - xFactory - = ucb_cmdenv::UcbCommandEnvironment::createServiceFactory( xSMgr ); + xFactory = ucb_cmdenv::UcbCommandEnvironment::createServiceFactory( xSMgr ); } - ////////////////////////////////////////////////////////////////////// + // FilePicker + else if (pServiceManager && rtl_str_compare( pImplName, IMPLEMENTATION_NAME ) == 0) + { + xFactory = cppu::createSingleFactory(xSMgr, + OUString::createFromAscii( pImplName ), + FileAccess_CreateInstance, + FileAccess_getSupportedServiceNames() ); + } if ( xFactory.is() ) { |