summaryrefslogtreecommitdiff
path: root/ucb/source/core/ucbserv.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'ucb/source/core/ucbserv.cxx')
-rw-r--r--ucb/source/core/ucbserv.cxx17
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() )
{