summaryrefslogtreecommitdiff
path: root/ucb/source
diff options
context:
space:
mode:
Diffstat (limited to 'ucb/source')
-rw-r--r--ucb/source/cacher/cached1.component43
-rw-r--r--ucb/source/cacher/cacheserv.cxx77
-rw-r--r--ucb/source/cacher/makefile.mk8
-rwxr-xr-x[-rw-r--r--]ucb/source/core/cmdenv.cxx2
-rw-r--r--ucb/source/core/exports2.dxp1
-rw-r--r--ucb/source/core/makefile.mk8
-rw-r--r--ucb/source/core/ucb.cxx151
-rw-r--r--ucb/source/core/ucb.hxx6
-rw-r--r--ucb/source/core/ucb1.component46
-rw-r--r--ucb/source/core/ucbserv.cxx87
-rw-r--r--ucb/source/core/ucbstore.cxx39
-rw-r--r--ucb/source/core/ucbstore.hxx6
-rw-r--r--ucb/source/sorter/makefile.mk8
-rw-r--r--ucb/source/sorter/sortmain.cxx55
-rw-r--r--ucb/source/sorter/srtrs1.component34
-rw-r--r--ucb/source/ucp/expand/makefile.mk8
-rw-r--r--ucb/source/ucp/expand/ucpexpand.cxx8
-rw-r--r--ucb/source/ucp/expand/ucpexpand1.component34
-rw-r--r--ucb/source/ucp/ext/makefile.mk8
-rw-r--r--ucb/source/ucp/ext/ucpext.component34
-rw-r--r--ucb/source/ucp/ext/ucpext_services.cxx6
-rw-r--r--ucb/source/ucp/file/exports2.dxp1
-rw-r--r--ucb/source/ucp/file/makefile.mk8
-rw-r--r--ucb/source/ucp/file/prov.cxx54
-rw-r--r--ucb/source/ucp/file/shell.cxx8
-rw-r--r--ucb/source/ucp/file/ucpfile1.component34
-rw-r--r--ucb/source/ucp/ftp/ftpservices.cxx54
-rw-r--r--ucb/source/ucp/ftp/makefile.mk8
-rw-r--r--ucb/source/ucp/ftp/ucpftp1.component34
-rw-r--r--ucb/source/ucp/gio/gio_provider.cxx43
-rw-r--r--ucb/source/ucp/gio/makefile.mk10
-rw-r--r--ucb/source/ucp/gio/ucpgio-ucd.txt6
-rw-r--r--ucb/source/ucp/gio/ucpgio.component34
-rw-r--r--ucb/source/ucp/gvfs/gvfs_provider.cxx45
-rw-r--r--ucb/source/ucp/gvfs/makefile.mk9
-rw-r--r--ucb/source/ucp/gvfs/ucpgvfs-ucd.txt6
-rw-r--r--ucb/source/ucp/gvfs/ucpgvfs.component34
-rw-r--r--ucb/source/ucp/hierarchy/hierarchyservices.cxx63
-rw-r--r--ucb/source/ucp/hierarchy/makefile.mk8
-rw-r--r--ucb/source/ucp/hierarchy/ucphier1.component38
-rw-r--r--ucb/source/ucp/odma/odma_lib.cxx4
-rw-r--r--ucb/source/ucp/odma/odma_services.cxx39
-rw-r--r--ucb/source/ucp/package/makefile.mk9
-rw-r--r--ucb/source/ucp/package/pkgservices.cxx59
-rw-r--r--ucb/source/ucp/package/pkguri.cxx36
-rw-r--r--ucb/source/ucp/package/ucppkg1.component34
-rw-r--r--ucb/source/ucp/tdoc/makefile.mk8
-rw-r--r--ucb/source/ucp/tdoc/tdoc_services.cxx62
-rw-r--r--ucb/source/ucp/tdoc/ucptdoc1.component37
-rw-r--r--ucb/source/ucp/webdav/DAVResourceAccess.cxx3
-rw-r--r--ucb/source/ucp/webdav/makefile.mk8
-rw-r--r--ucb/source/ucp/webdav/ucpdav1.component34
-rw-r--r--ucb/source/ucp/webdav/webdavservices.cxx54
53 files changed, 690 insertions, 863 deletions
diff --git a/ucb/source/cacher/cached1.component b/ucb/source/cacher/cached1.component
new file mode 100644
index 000000000000..aa19e54b5da3
--- /dev/null
+++ b/ucb/source/cacher/cached1.component
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.CachedContentResultSetFactory">
+ <service name="com.sun.star.ucb.CachedContentResultSetFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.CachedContentResultSetStubFactory">
+ <service name="com.sun.star.ucb.CachedContentResultSetStubFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.CachedDynamicResultSetFactory">
+ <service name="com.sun.star.ucb.CachedDynamicResultSetFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory">
+ <service name="com.sun.star.ucb.CachedDynamicResultSetStubFactory"/>
+ </implementation>
+</component>
diff --git a/ucb/source/cacher/cacheserv.cxx b/ucb/source/cacher/cacheserv.cxx
index 3aa0f1de5357..f429286cfdee 100644
--- a/ucb/source/cacher/cacheserv.cxx
+++ b/ucb/source/cacher/cacheserv.cxx
@@ -41,45 +41,6 @@ using namespace com::sun::star::lang;
using namespace com::sun::star::registry;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const OUString & rImplementationName,
- Sequence< OUString > const & rServiceNames )
-{
- OUString aKeyName( OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< XRegistryKey > xKey;
- try
- {
- xKey = static_cast< XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** )
{
@@ -87,44 +48,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // CachedContentResultSetFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- CachedContentResultSetFactory::getImplementationName_Static(),
- CachedContentResultSetFactory::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // CachedContentResultSetStubFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- CachedContentResultSetStubFactory::getImplementationName_Static(),
- CachedContentResultSetStubFactory::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // CachedDynamicResultSetFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- CachedDynamicResultSetFactory::getImplementationName_Static(),
- CachedDynamicResultSetFactory::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // CachedDynamicResultSetStubFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- CachedDynamicResultSetStubFactory::getImplementationName_Static(),
- CachedDynamicResultSetStubFactory::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/ucb/source/cacher/makefile.mk b/ucb/source/cacher/makefile.mk
index 600fefc174f7..24d245ec6ce8 100644
--- a/ucb/source/cacher/makefile.mk
+++ b/ucb/source/cacher/makefile.mk
@@ -66,3 +66,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/cached1.component
+
+$(MISC)/cached1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ cached1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt cached1.component
diff --git a/ucb/source/core/cmdenv.cxx b/ucb/source/core/cmdenv.cxx
index 0f425e814400..5c0136fab063 100644..100755
--- a/ucb/source/core/cmdenv.cxx
+++ b/ucb/source/core/cmdenv.cxx
@@ -183,7 +183,7 @@ UcbCommandEnvironment::createServiceFactory(
const uno::Reference< lang::XMultiServiceFactory >& rxServiceMgr )
{
return uno::Reference< lang::XSingleServiceFactory >(
- cppu::createOneInstanceFactory(
+ cppu::createSingleFactory(
rxServiceMgr,
UcbCommandEnvironment::getImplementationName_Static(),
UcbCommandEnvironment_CreateInstance,
diff --git a/ucb/source/core/exports2.dxp b/ucb/source/core/exports2.dxp
index a1936474f752..8091459f4d84 100644
--- a/ucb/source/core/exports2.dxp
+++ b/ucb/source/core/exports2.dxp
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
_ZTIN3com3sun4star3ucb34InteractiveBadTransferURLExceptionE
diff --git a/ucb/source/core/makefile.mk b/ucb/source/core/makefile.mk
index 34765eb74289..6360f82320d2 100644
--- a/ucb/source/core/makefile.mk
+++ b/ucb/source/core/makefile.mk
@@ -74,3 +74,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucb1.component
+
+$(MISC)/ucb1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucb1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucb1.component
diff --git a/ucb/source/core/ucb.cxx b/ucb/source/core/ucb.cxx
index c13ec9d367c8..30f7e32f3828 100644
--- a/ucb/source/core/ucb.cxx
+++ b/ucb/source/core/ucb.cxx
@@ -43,6 +43,7 @@
#include <com/sun/star/ucb/XParameterizedContentProvider.hpp>
#include <com/sun/star/ucb/XContentProviderFactory.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/uno/Any.hxx>
#include <ucbhelper/cancelcommandexecution.hxx>
@@ -182,6 +183,63 @@ void makeAndAppendXMLName(
}
}
+bool createContentProviderData(
+ const rtl::OUString & rProvider,
+ const uno::Reference< container::XHierarchicalNameAccess >& rxHierNameAccess,
+ ContentProviderData & rInfo)
+{
+ // Obtain service name.
+ rtl::OUStringBuffer aKeyBuffer (rProvider);
+ aKeyBuffer.appendAscii( "/ServiceName" );
+
+ rtl::OUString aValue;
+ try
+ {
+ if ( !( rxHierNameAccess->getByHierarchicalName(
+ aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
+ {
+ OSL_ENSURE( false,
+ "UniversalContentBroker::getContentProviderData - "
+ "Error getting item value!" );
+ }
+ }
+ catch (container::NoSuchElementException &)
+ {
+ return false;
+ }
+
+ rInfo.ServiceName = aValue;
+
+ // Obtain URL Template.
+ aKeyBuffer.append(rProvider);
+ aKeyBuffer.appendAscii( "/URLTemplate" );
+
+ if ( !( rxHierNameAccess->getByHierarchicalName(
+ aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
+ {
+ OSL_ENSURE( false,
+ "UniversalContentBroker::getContentProviderData - "
+ "Error getting item value!" );
+ }
+
+ rInfo.URLTemplate = aValue;
+
+ // Obtain Arguments.
+ aKeyBuffer.append(rProvider);
+ aKeyBuffer.appendAscii( "/Arguments" );
+
+ if ( !( rxHierNameAccess->getByHierarchicalName(
+ aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
+ {
+ OSL_ENSURE( false,
+ "UniversalContentBroker::getContentProviderData - "
+ "Error getting item value!" );
+ }
+
+ rInfo.Arguments = aValue;
+ return true;
+}
+
}
//=========================================================================
@@ -647,28 +705,10 @@ void SAL_CALL UniversalContentBroker::changesOccurred( const util::ChangesEvent&
sal_Int32 nCount = Event.Changes.getLength();
if ( nCount )
{
+ uno::Reference< container::XHierarchicalNameAccess > xHierNameAccess;
+ Event.Base >>= xHierNameAccess;
- uno::Reference< lang::XMultiServiceFactory > xConfigProv(
- m_xSMgr->createInstance(
- rtl::OUString::createFromAscii(
- "com.sun.star.configuration.ConfigurationProvider" ) ),
- uno::UNO_QUERY_THROW );
-
- uno::Sequence< uno::Any > aArguments( 1 );
- beans::PropertyValue aProperty;
- aProperty.Name
- = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "nodepath" ) );
- aProperty.Value <<= Event.Base;
- aArguments[ 0 ] <<= aProperty;
-
- uno::Reference< uno::XInterface > xInterface(
- xConfigProv->createInstanceWithArguments(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.configuration.ConfigurationAccess" ) ),
- aArguments ) );
-
- uno::Reference< container::XHierarchicalNameAccess >
- xHierNameAccess( xInterface, uno::UNO_QUERY_THROW );
+ OSL_ASSERT( xHierNameAccess.is() );
const util::ElementChange* pElementChanges
= Event.Changes.getConstArray();
@@ -682,9 +722,18 @@ void SAL_CALL UniversalContentBroker::changesOccurred( const util::ChangesEvent&
ContentProviderData aInfo;
- createContentProviderData(aKey, xHierNameAccess, aInfo);
-
- aData.push_back(aInfo);
+ // Removal of UCPs from the configuration leads to changesOccurred
+ // notifications, too, but it is hard to tell for a given
+ // ElementChange whether it is an addition or a removal, so as a
+ // heuristic consider as removals those that cause a
+ // NoSuchElementException in createContentProviderData.
+ //
+ // For now, removal of UCPs from the configuration is simply ignored
+ // (and not reflected in the UCB's data structures):
+ if (createContentProviderData(aKey, xHierNameAccess, aInfo))
+ {
+ aData.push_back(aInfo);
+ }
}
prepareAndRegister(aData);
@@ -852,7 +901,10 @@ bool UniversalContentBroker::getContentProviderData(
makeAndAppendXMLName( aElemBuffer, pElems[ n ] );
aElemBuffer.appendAscii( "']" );
- createContentProviderData(aElemBuffer.makeStringAndClear(), xHierNameAccess, aInfo);
+ OSL_VERIFY(
+ createContentProviderData(
+ aElemBuffer.makeStringAndClear(), xHierNameAccess,
+ aInfo));
rListToFill.push_back( aInfo );
}
@@ -884,55 +936,6 @@ bool UniversalContentBroker::getContentProviderData(
return true;
}
-void UniversalContentBroker::createContentProviderData(
- const rtl::OUString & rProvider,
- const uno::Reference< container::XHierarchicalNameAccess >& rxHierNameAccess,
- ContentProviderData & rInfo)
-{
- // Obtain service name.
- rtl::OUStringBuffer aKeyBuffer (rProvider);
- aKeyBuffer.appendAscii( "/ServiceName" );
-
- rtl::OUString aValue;
- if ( !( rxHierNameAccess->getByHierarchicalName(
- aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
- {
- OSL_ENSURE( false,
- "UniversalContentBroker::getContentProviderData - "
- "Error getting item value!" );
- }
-
- rInfo.ServiceName = aValue;
-
- // Obtain URL Template.
- aKeyBuffer.append(rProvider);
- aKeyBuffer.appendAscii( "/URLTemplate" );
-
- if ( !( rxHierNameAccess->getByHierarchicalName(
- aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
- {
- OSL_ENSURE( false,
- "UniversalContentBroker::getContentProviderData - "
- "Error getting item value!" );
- }
-
- rInfo.URLTemplate = aValue;
-
- // Obtain Arguments.
- aKeyBuffer.append(rProvider);
- aKeyBuffer.appendAscii( "/Arguments" );
-
- if ( !( rxHierNameAccess->getByHierarchicalName(
- aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
- {
- OSL_ENSURE( false,
- "UniversalContentBroker::getContentProviderData - "
- "Error getting item value!" );
- }
-
- rInfo.Arguments = aValue;
-}
-
//=========================================================================
//
// ProviderListEntry_Impl implementation.
diff --git a/ucb/source/core/ucb.hxx b/ucb/source/core/ucb.hxx
index 0e44c5bc99b5..d2f6e4e4c41e 100644
--- a/ucb/source/core/ucb.hxx
+++ b/ucb/source/core/ucb.hxx
@@ -40,7 +40,6 @@
#include <com/sun/star/util/XChangesListener.hpp>
#include <com/sun/star/util/XChangesNotifier.hpp>
#include <com/sun/star/container/XContainer.hpp>
-#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
#include <rtl/ustrbuf.hxx>
#include <cppuhelper/weak.hxx>
@@ -204,11 +203,6 @@ private:
void prepareAndRegister( const ucbhelper::ContentProviderDataList& rData);
- void createContentProviderData(
- const rtl::OUString& rProvider,
- const com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess >& rxHierNameAccess,
- ucbhelper::ContentProviderData& rInfo);
-
com::sun::star::uno::Reference<
com::sun::star::lang::XMultiServiceFactory > m_xSMgr;
diff --git a/ucb/source/core/ucb1.component b/ucb/source/core/ucb1.component
new file mode 100644
index 000000000000..e9d408822cc9
--- /dev/null
+++ b/ucb/source/core/ucb1.component
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.CommandEnvironment">
+ <service name="com.sun.star.ucb.CommandEnvironment"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.UcbContentProviderProxyFactory">
+ <service name="com.sun.star.ucb.ContentProviderProxyFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.UcbPropertiesManager">
+ <service name="com.sun.star.ucb.PropertiesManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.UcbStore">
+ <service name="com.sun.star.ucb.Store"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.UniversalContentBroker">
+ <service name="com.sun.star.ucb.UniversalContentBroker"/>
+ </implementation>
+</component>
diff --git a/ucb/source/core/ucbserv.cxx b/ucb/source/core/ucbserv.cxx
index 340fa5db0c0f..a4e5bdc1dccf 100644
--- a/ucb/source/core/ucbserv.cxx
+++ b/ucb/source/core/ucbserv.cxx
@@ -29,7 +29,6 @@
#include "precompiled_ucb.hxx"
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
#include "ucb.hxx"
#include "ucbstore.hxx"
#include "ucbprops.hxx"
@@ -39,46 +38,6 @@
using namespace rtl;
using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-
-//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const OUString & rImplementationName,
- Sequence< OUString > const & rServiceNames )
-{
- OUString aKeyName( OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< XRegistryKey > xKey;
- try
- {
- xKey = static_cast< XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
@@ -88,52 +47,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Universal Content Broker.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- UniversalContentBroker::getImplementationName_Static(),
- UniversalContentBroker::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // UCB Store.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- UcbStore::getImplementationName_Static(),
- UcbStore::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // UCB PropertiesManager.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- UcbPropertiesManager::getImplementationName_Static(),
- UcbPropertiesManager::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // UCP Proxy Factory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- UcbContentProviderProxyFactory::getImplementationName_Static(),
- UcbContentProviderProxyFactory::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // Command Environment.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- ucb_cmdenv::UcbCommandEnvironment::getImplementationName_Static(),
- ucb_cmdenv::UcbCommandEnvironment::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/ucb/source/core/ucbstore.cxx b/ucb/source/core/ucbstore.cxx
index 9500db4f45b6..cd5cb7856d7a 100644
--- a/ucb/source/core/ucbstore.cxx
+++ b/ucb/source/core/ucbstore.cxx
@@ -274,8 +274,9 @@ UcbStore::createPropertySetRegistry( const OUString& )
{
osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
if ( !m_pImpl->m_xTheRegistry.is() )
- m_pImpl->m_xTheRegistry = new PropertySetRegistry( m_xSMgr, *this );
+ m_pImpl->m_xTheRegistry = new PropertySetRegistry( m_xSMgr, getInitArgs() );
}
+
return m_pImpl->m_xTheRegistry;
}
@@ -294,22 +295,6 @@ void SAL_CALL UcbStore::initialize( const Sequence< Any >& aArguments )
}
//=========================================================================
-//
-// New methods.
-//
-//=========================================================================
-
-void UcbStore::removeRegistry()
-{
- if ( m_pImpl->m_xTheRegistry.is() )
- {
- osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
- if ( m_pImpl->m_xTheRegistry.is() )
- m_pImpl->m_xTheRegistry = 0;
- }
-}
-
-//=========================================================================
const Sequence< Any >& UcbStore::getInitArgs() const
{
return m_pImpl->m_aInitArgs;
@@ -323,7 +308,7 @@ const Sequence< Any >& UcbStore::getInitArgs() const
struct PropertySetRegistry_Impl
{
- UcbStore* m_pCreator;
+ const Sequence< Any > m_aInitArgs;
PropertySetMap_Impl m_aPropSets;
Reference< XMultiServiceFactory > m_xConfigProvider;
Reference< XInterface > m_xRootReadAccess;
@@ -332,18 +317,11 @@ struct PropertySetRegistry_Impl
sal_Bool m_bTriedToGetRootReadAccess; // #82494#
sal_Bool m_bTriedToGetRootWriteAccess; // #82494#
- PropertySetRegistry_Impl( UcbStore& rCreator )
- : m_pCreator( &rCreator ),
+ PropertySetRegistry_Impl( const Sequence< Any > &rInitArgs )
+ : m_aInitArgs( rInitArgs ),
m_bTriedToGetRootReadAccess( sal_False ),
m_bTriedToGetRootWriteAccess( sal_False )
{
- m_pCreator->acquire();
- }
-
- ~PropertySetRegistry_Impl()
- {
- m_pCreator->removeRegistry();
- m_pCreator->release();
}
};
@@ -359,9 +337,9 @@ struct PropertySetRegistry_Impl
PropertySetRegistry::PropertySetRegistry(
const Reference< XMultiServiceFactory >& rXSMgr,
- UcbStore& rCreator )
+ const Sequence< Any > &rInitArgs )
: m_xSMgr( rXSMgr ),
- m_pImpl( new PropertySetRegistry_Impl( rCreator ) )
+ m_pImpl( new PropertySetRegistry_Impl( rInitArgs ) )
{
}
@@ -1094,8 +1072,7 @@ Reference< XMultiServiceFactory > PropertySetRegistry::getConfigProvider()
osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
if ( !m_pImpl->m_xConfigProvider.is() )
{
- const Sequence< Any >& rInitArgs
- = m_pImpl->m_pCreator->getInitArgs();
+ const Sequence< Any >& rInitArgs = m_pImpl->m_aInitArgs;
if ( rInitArgs.getLength() > 0 )
{
diff --git a/ucb/source/core/ucbstore.hxx b/ucb/source/core/ucbstore.hxx
index 8c339337f890..7a7a76cb1b99 100644
--- a/ucb/source/core/ucbstore.hxx
+++ b/ucb/source/core/ucbstore.hxx
@@ -93,9 +93,6 @@ public:
throw( ::com::sun::star::uno::Exception,
::com::sun::star::uno::RuntimeException );
- // New
- void removeRegistry();
-
const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >&
getInitArgs() const;
};
@@ -132,7 +129,8 @@ public:
PropertySetRegistry(
const com::sun::star::uno::Reference<
com::sun::star::lang::XMultiServiceFactory >& rXSMgr,
- UcbStore& rCreator );
+ const ::com::sun::star::uno::Sequence<
+ ::com::sun::star::uno::Any >& rInitArgs);
virtual ~PropertySetRegistry();
// XInterface
diff --git a/ucb/source/sorter/makefile.mk b/ucb/source/sorter/makefile.mk
index 68a9959589d2..008e39b4bce3 100644
--- a/ucb/source/sorter/makefile.mk
+++ b/ucb/source/sorter/makefile.mk
@@ -61,3 +61,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/srtrs1.component
+
+$(MISC)/srtrs1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ srtrs1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt srtrs1.component
diff --git a/ucb/source/sorter/sortmain.cxx b/ucb/source/sorter/sortmain.cxx
index d96b4bcff796..5ad9a529e1f2 100644
--- a/ucb/source/sorter/sortmain.cxx
+++ b/ucb/source/sorter/sortmain.cxx
@@ -30,51 +30,10 @@
#include <sortdynres.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
using namespace rtl;
using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-
-//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const OUString & rImplementationName,
- Sequence< OUString > const & rServiceNames )
-{
- OUString aKeyName( OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< XRegistryKey > xKey;
- try
- {
- xKey = static_cast< XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
@@ -84,20 +43,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // SortedDynamicResultSetFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- SortedDynamicResultSetFactory::getImplementationName_Static(),
- SortedDynamicResultSetFactory::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/ucb/source/sorter/srtrs1.component b/ucb/source/sorter/srtrs1.component
new file mode 100644
index 000000000000..c32705160c0f
--- /dev/null
+++ b/ucb/source/sorter/srtrs1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.SortedDynamicResultSetFactory">
+ <service name="com.sun.star.ucb.SortedDynamicResultSetFactory"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/expand/makefile.mk b/ucb/source/ucp/expand/makefile.mk
index 32de160318f2..70e441171a44 100644
--- a/ucb/source/ucp/expand/makefile.mk
+++ b/ucb/source/ucp/expand/makefile.mk
@@ -59,3 +59,11 @@ DEF1NAME = $(SHL1TARGET)
.ENDIF # L10N_framework
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/ucpexpand1.component
+
+$(MISC)/ucpexpand1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpexpand1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpexpand1.component
diff --git a/ucb/source/ucp/expand/ucpexpand.cxx b/ucb/source/ucp/expand/ucpexpand.cxx
index 710cf137ba06..069aa894692b 100644
--- a/ucb/source/ucp/expand/ucpexpand.cxx
+++ b/ucb/source/ucp/expand/ucpexpand.cxx
@@ -273,14 +273,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager,
- registry::XRegistryKey * pRegistryKey )
-{
- return ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, s_entries );
-}
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName,
lang::XMultiServiceFactory * pServiceManager,
diff --git a/ucb/source/ucp/expand/ucpexpand1.component b/ucb/source/ucp/expand/ucpexpand1.component
new file mode 100644
index 000000000000..c8a7e8e18c68
--- /dev/null
+++ b/ucb/source/ucp/expand/ucpexpand1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.ExpandContentProvider">
+ <service name="com.sun.star.ucb.ExpandContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/ext/makefile.mk b/ucb/source/ucp/ext/makefile.mk
index 23c30b3bda5b..e106b8e1ba31 100644
--- a/ucb/source/ucp/ext/makefile.mk
+++ b/ucb/source/ucp/ext/makefile.mk
@@ -63,3 +63,11 @@ SHL1DEF = $(MISC)$/$(SHL1TARGET).def
DEF1NAME = $(SHL1TARGET)
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/ucpext.component
+
+$(MISC)/ucpext.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpext.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpext.component
diff --git a/ucb/source/ucp/ext/ucpext.component b/ucb/source/ucp/ext/ucpext.component
new file mode 100644
index 000000000000..2982529e539c
--- /dev/null
+++ b/ucb/source/ucp/ext/ucpext.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="org.openoffice.comp.ucp.ext.ContentProvider">
+ <service name="com.sun.star.ucb.ExtensionContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/ext/ucpext_services.cxx b/ucb/source/ucp/ext/ucpext_services.cxx
index 8daa33f5cf8c..ce525c2da665 100644
--- a/ucb/source/ucp/ext/ucpext_services.cxx
+++ b/ucb/source/ucp/ext/ucpext_services.cxx
@@ -80,12 +80,6 @@ extern "C"
}
//------------------------------------------------------------------------------------------------------------------
- sal_Bool SAL_CALL component_writeInfo( void * pServiceManager, void * pRegistryKey )
- {
- return ::cppu::component_writeInfoHelper( pServiceManager, pRegistryKey, ::ucb::ucp::ext::s_aServiceEntries );
- }
-
- //------------------------------------------------------------------------------------------------------------------
void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
return ::cppu::component_getFactoryHelper( pImplName, pServiceManager, pRegistryKey , ::ucb::ucp::ext::s_aServiceEntries );
diff --git a/ucb/source/ucp/file/exports2.dxp b/ucb/source/ucp/file/exports2.dxp
index 6c42314f228b..4804c8d0ae57 100644
--- a/ucb/source/ucp/file/exports2.dxp
+++ b/ucb/source/ucp/file/exports2.dxp
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
_ZTIN3com3sun4star3ucb31InteractiveAugmentedIOExceptionE
diff --git a/ucb/source/ucp/file/makefile.mk b/ucb/source/ucp/file/makefile.mk
index 8007a2492399..3d97cb23873c 100644
--- a/ucb/source/ucp/file/makefile.mk
+++ b/ucb/source/ucp/file/makefile.mk
@@ -78,3 +78,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucpfile1.component
+
+$(MISC)/ucpfile1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpfile1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpfile1.component
diff --git a/ucb/source/ucp/file/prov.cxx b/ucb/source/ucp/file/prov.cxx
index a456d2acbd32..2b9c09a7d0fa 100644
--- a/ucb/source/ucp/file/prov.cxx
+++ b/ucb/source/ucp/file/prov.cxx
@@ -31,7 +31,6 @@
#include <osl/file.hxx>
#include <osl/socket.h>
#include <cppuhelper/factory.hxx>
-#include <com/sun/star/registry/XRegistryKey.hpp>
#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBBUTE_HPP_
#include <com/sun/star/beans/PropertyAttribute.hpp>
#endif
@@ -53,45 +52,6 @@ using namespace com::sun::star::ucb;
using namespace com::sun::star::container;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** )
{
@@ -99,20 +59,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // File Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- fileaccess::shell::getImplementationName_static(),
- fileaccess::shell::getSupportedServiceNames_static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/ucb/source/ucp/file/shell.cxx b/ucb/source/ucp/file/shell.cxx
index 769e58c08819..f324c93b878f 100644
--- a/ucb/source/ucp/file/shell.cxx
+++ b/ucb/source/ucp/file/shell.cxx
@@ -33,6 +33,7 @@
#endif
#include "osl/diagnose.h"
+#include <rtl/uri.hxx>
#include <rtl/ustrbuf.hxx>
#include <osl/time.h>
#include <osl/file.hxx>
@@ -2054,9 +2055,14 @@ shell::copy_recursive( const rtl::OUString& srcUnqPath,
rtl::OUString newDstUnqPath = dstUnqPath;
rtl::OUString tit;
if( aFileStatus.isValid( FileStatusMask_FileName ) )
- tit = aFileStatus.getFileName();
+ tit = rtl::Uri::encode( aFileStatus.getFileName(),
+ rtl_UriCharClassPchar,
+ rtl_UriEncodeIgnoreEscapes,
+ RTL_TEXTENCODING_UTF8 );
+
if( newDstUnqPath.lastIndexOf( sal_Unicode('/') ) != newDstUnqPath.getLength()-1 )
newDstUnqPath += rtl::OUString::createFromAscii( "/" );
+
newDstUnqPath += tit;
if ( newSrcUnqPath != dstUnqPath )
diff --git a/ucb/source/ucp/file/ucpfile1.component b/ucb/source/ucp/file/ucpfile1.component
new file mode 100644
index 000000000000..28032451220a
--- /dev/null
+++ b/ucb/source/ucp/file/ucpfile1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.FileProvider">
+ <service name="com.sun.star.ucb.FileContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/ftp/ftpservices.cxx b/ucb/source/ucp/ftp/ftpservices.cxx
index fb62acd1cbc0..8e5c88ad66c1 100644
--- a/ucb/source/ucp/ftp/ftpservices.cxx
+++ b/ucb/source/ucp/ftp/ftpservices.cxx
@@ -36,45 +36,6 @@ using namespace com::sun::star;
using namespace ftp;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
@@ -82,21 +43,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // FTP Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- FTPContentProvider::getImplementationName_Static(),
- FTPContentProvider::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/ucb/source/ucp/ftp/makefile.mk b/ucb/source/ucp/ftp/makefile.mk
index a0f141004089..c2f1ce154a56 100644
--- a/ucb/source/ucp/ftp/makefile.mk
+++ b/ucb/source/ucp/ftp/makefile.mk
@@ -104,3 +104,11 @@ DEF1NAME=$(SHL1TARGET)
+
+ALLTAR : $(MISC)/ucpftp1.component
+
+$(MISC)/ucpftp1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpftp1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpftp1.component
diff --git a/ucb/source/ucp/ftp/ucpftp1.component b/ucb/source/ucp/ftp/ucpftp1.component
new file mode 100644
index 000000000000..fa4cfe6e7557
--- /dev/null
+++ b/ucb/source/ucp/ftp/ucpftp1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.FTPContentProvider">
+ <service name="com.sun.star.ucb.FTPContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/gio/gio_provider.cxx b/ucb/source/ucp/gio/gio_provider.cxx
index b39bc4462bbe..750f7408e7ec 100644
--- a/ucb/source/ucp/gio/gio_provider.cxx
+++ b/ucb/source/ucp/gio/gio_provider.cxx
@@ -102,55 +102,12 @@ ONE_INSTANCE_SERVICE_FACTORY_IMPL( ContentProvider );
}
-static sal_Bool writeInfo( void *pRegistryKey,
- const rtl::OUString &rImplementationName, uno::Sequence< rtl::OUString > const &rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * > (pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {}
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char **ppEnvTypeName, uno_Environment **)
{
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void *pRegistryKey )
-{
- return pRegistryKey &&
- writeInfo( pRegistryKey,
- ::gio::ContentProvider::getImplementationName_Static(),
- ::gio::ContentProvider::getSupportedServiceNames_Static() );
-}
-
extern "C" void * SAL_CALL component_getFactory( const sal_Char *pImplName,
void *pServiceManager, void * )
{
diff --git a/ucb/source/ucp/gio/makefile.mk b/ucb/source/ucp/gio/makefile.mk
index 86b32fbc0739..4cca611c7ece 100644
--- a/ucb/source/ucp/gio/makefile.mk
+++ b/ucb/source/ucp/gio/makefile.mk
@@ -37,8 +37,6 @@ NO_BSYMBOLIC=TRUE
.INCLUDE: settings.mk
.IF "$(L10N_framework)"==""
-UNIXTEXT=$(MISC)/$(TARGET)-ucd.txt
-
.IF "$(ENABLE_GIO)"!=""
COMPILER_WARN_ALL=TRUE
PKGCONFIG_MODULES=gio-2.0
@@ -79,3 +77,11 @@ SHL1VERSIONMAP=$(SOLARENV)/src/component.map
.ENDIF # L10N_framework
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucpgio.component
+
+$(MISC)/ucpgio.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpgio.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpgio.component
diff --git a/ucb/source/ucp/gio/ucpgio-ucd.txt b/ucb/source/ucp/gio/ucpgio-ucd.txt
deleted file mode 100644
index ce7657fa73e3..000000000000
--- a/ucb/source/ucp/gio/ucpgio-ucd.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-[ComponentDescriptor]
-ImplementationName=com.sun.star.comp.GIOContentProvider
-ComponentName=ucpgio1.uno.so
-LoaderName=com.sun.star.loader.SharedLibrary
-[SupportedServices]
-com.sun.star.ucb.GIOContentProvider
diff --git a/ucb/source/ucp/gio/ucpgio.component b/ucb/source/ucp/gio/ucpgio.component
new file mode 100644
index 000000000000..caa8fc361f7f
--- /dev/null
+++ b/ucb/source/ucp/gio/ucpgio.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.GIOContentProvider">
+ <service name="com.sun.star.ucb.GIOContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/gvfs/gvfs_provider.cxx b/ucb/source/ucp/gvfs/gvfs_provider.cxx
index 52376bf4153e..77415982c63d 100644
--- a/ucb/source/ucp/gvfs/gvfs_provider.cxx
+++ b/ucb/source/ucp/gvfs/gvfs_provider.cxx
@@ -143,42 +143,6 @@ ContentProvider::queryContent(
//============================ shlib entry points =============================================
-
-// cut and paste verbatim from webdav (that sucks).
-static sal_Bool
-writeInfo( void *pRegistryKey,
- const rtl::OUString &rImplementationName,
- uno::Sequence< rtl::OUString > const &rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try {
- xKey = static_cast< registry::XRegistryKey * >
- (pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & ) {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n ) {
- try {
- xKey->createKey( rServiceNames[ n ] );
-
- } catch ( registry::InvalidRegistryException const & ) {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
extern "C" void SAL_CALL
component_getImplementationEnvironment( const sal_Char **ppEnvTypeName,
uno_Environment **/*ppEnv*/ )
@@ -186,15 +150,6 @@ component_getImplementationEnvironment( const sal_Char **ppEnvTypeName,
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-extern "C" sal_Bool SAL_CALL
-component_writeInfo( void */*pServiceManager*/,
- void *pRegistryKey )
-{
- return pRegistryKey &&
- writeInfo( pRegistryKey,
- ::gvfs::ContentProvider::getImplementationName_Static(),
- ::gvfs::ContentProvider::getSupportedServiceNames_Static() );
-}
extern "C" void * SAL_CALL
component_getFactory( const sal_Char *pImplName,
void *pServiceManager,
diff --git a/ucb/source/ucp/gvfs/makefile.mk b/ucb/source/ucp/gvfs/makefile.mk
index a0e8a0bda3bb..87fcca87cf70 100644
--- a/ucb/source/ucp/gvfs/makefile.mk
+++ b/ucb/source/ucp/gvfs/makefile.mk
@@ -37,8 +37,6 @@ NO_BSYMBOLIC=TRUE
.INCLUDE: settings.mk
.IF "$(L10N_framework)"==""
-UNIXTEXT=$(MISC)/$(TARGET)-ucd.txt
-
.IF "$(ENABLE_GNOMEVFS)"!=""
COMPILER_WARN_ALL=TRUE
PKGCONFIG_MODULES=gnome-vfs-2.0
@@ -84,3 +82,10 @@ SHL1VERSIONMAP=$(SOLARENV)/src/component.map
.INCLUDE: target.mk
+ALLTAR : $(MISC)/ucpgvfs.component
+
+$(MISC)/ucpgvfs.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpgvfs.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpgvfs.component
diff --git a/ucb/source/ucp/gvfs/ucpgvfs-ucd.txt b/ucb/source/ucp/gvfs/ucpgvfs-ucd.txt
deleted file mode 100644
index e9ecce6effd2..000000000000
--- a/ucb/source/ucp/gvfs/ucpgvfs-ucd.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-[ComponentDescriptor]
-ImplementationName=com.sun.star.comp.GnomeVFSContentProvider
-ComponentName=ucpgvfs1.uno.so
-LoaderName=com.sun.star.loader.SharedLibrary
-[SupportedServices]
-com.sun.star.ucb.GnomeVFSContentProvider
diff --git a/ucb/source/ucp/gvfs/ucpgvfs.component b/ucb/source/ucp/gvfs/ucpgvfs.component
new file mode 100644
index 000000000000..cec3e4d1e2b1
--- /dev/null
+++ b/ucb/source/ucp/gvfs/ucpgvfs.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.GnomeVFSContentProvider">
+ <service name="com.sun.star.ucb.GnomeVFSContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/hierarchy/hierarchyservices.cxx b/ucb/source/ucp/hierarchy/hierarchyservices.cxx
index e645e006032e..1830ecc35625 100644
--- a/ucb/source/ucp/hierarchy/hierarchyservices.cxx
+++ b/ucb/source/ucp/hierarchy/hierarchyservices.cxx
@@ -29,7 +29,6 @@
#include "precompiled_ucb.hxx"
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
#include "hierarchyprovider.hxx"
#include "hierarchydatasource.hxx"
@@ -37,45 +36,6 @@ using namespace com::sun::star;
using namespace hierarchy_ucp;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
@@ -83,29 +43,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Hierarchy Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- HierarchyContentProvider::getImplementationName_Static(),
- HierarchyContentProvider::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // Hierarchy Data Source.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- HierarchyDataSource::getImplementationName_Static(),
- HierarchyDataSource::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/ucb/source/ucp/hierarchy/makefile.mk b/ucb/source/ucp/hierarchy/makefile.mk
index 00b481b5e7a1..9263faa24b08 100644
--- a/ucb/source/ucp/hierarchy/makefile.mk
+++ b/ucb/source/ucp/hierarchy/makefile.mk
@@ -82,3 +82,11 @@ DEF1NAME=$(SHL1TARGET)
.ENDIF # L10N_framework
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucphier1.component
+
+$(MISC)/ucphier1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucphier1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucphier1.component
diff --git a/ucb/source/ucp/hierarchy/ucphier1.component b/ucb/source/ucp/hierarchy/ucphier1.component
new file mode 100644
index 000000000000..5483187d8674
--- /dev/null
+++ b/ucb/source/ucp/hierarchy/ucphier1.component
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.HierarchyContentProvider">
+ <service name="com.sun.star.ucb.HierarchyContentProvider"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.HierarchyDataSource">
+ <service name="com.sun.star.ucb.DefaultHierarchyDataSource"/>
+ <service name="com.sun.star.ucb.HierarchyDataSource"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/odma/odma_lib.cxx b/ucb/source/ucp/odma/odma_lib.cxx
index 774bcf5f6323..cf9da3a2b942 100644
--- a/ucb/source/ucp/odma/odma_lib.cxx
+++ b/ucb/source/ucp/odma/odma_lib.cxx
@@ -78,10 +78,6 @@ namespace odma
if (bLoaded)
return sal_True;
::rtl::OUString sPath;
- #ifdef WIN
- sPath = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMA.DLL"));
-
- #endif
#ifdef WNT
sPath = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMA32.DLL"));
#endif
diff --git a/ucb/source/ucp/odma/odma_services.cxx b/ucb/source/ucp/odma/odma_services.cxx
index 3e4639e25806..0f5666e2bb53 100644
--- a/ucb/source/ucp/odma/odma_services.cxx
+++ b/ucb/source/ucp/odma/odma_services.cxx
@@ -40,45 +40,6 @@ using namespace com::sun::star::lang;
using namespace com::sun::star::registry;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const OUString & rImplementationName,
- Sequence< OUString > const & rServiceNames )
-{
- OUString aKeyName( OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< XRegistryKey > xKey;
- try
- {
- xKey = static_cast< XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
diff --git a/ucb/source/ucp/package/makefile.mk b/ucb/source/ucp/package/makefile.mk
index 8c6dcda31829..b78150aed2cb 100644
--- a/ucb/source/ucp/package/makefile.mk
+++ b/ucb/source/ucp/package/makefile.mk
@@ -68,6 +68,7 @@ SHL1IMPLIB=i$(TARGET)
SHL1VERSIONMAP=$(SOLARENV)/src/component.map
SHL1STDLIBS=\
+ $(COMPHELPERLIB) \
$(CPPUHELPERLIB) \
$(CPPULIB) \
$(SALLIB) \
@@ -86,3 +87,11 @@ DEF1NAME=$(SHL1TARGET)
.ENDIF # L10N_framework
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucppkg1.component
+
+$(MISC)/ucppkg1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucppkg1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucppkg1.component
diff --git a/ucb/source/ucp/package/pkgservices.cxx b/ucb/source/ucp/package/pkgservices.cxx
index 251ce8c78dd1..ad4af686d2d6 100644
--- a/ucb/source/ucp/package/pkgservices.cxx
+++ b/ucb/source/ucp/package/pkgservices.cxx
@@ -34,50 +34,6 @@
using namespace com::sun::star;
-namespace {
-
-//=========================================================================
-sal_Bool writeInfo(
- void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-} // namespace
-
//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
@@ -86,21 +42,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Write info into registry.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- ::package_ucp::ContentProvider::getImplementationName_Static(),
- ::package_ucp::ContentProvider::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/ucb/source/ucp/package/pkguri.cxx b/ucb/source/ucp/package/pkguri.cxx
index feb8daec7905..8424ed906e92 100644
--- a/ucb/source/ucp/package/pkguri.cxx
+++ b/ucb/source/ucp/package/pkguri.cxx
@@ -36,6 +36,7 @@
#include "rtl/ustrbuf.hxx"
#include "osl/diagnose.h"
+#include "comphelper/storagehelper.hxx"
#include "../inc/urihelper.hxx"
@@ -85,7 +86,7 @@ void PackageUri::init() const
if ( ( m_aUri.getLength() < PACKAGE_URL_SCHEME_LENGTH + 4 ) )
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -100,7 +101,7 @@ void PackageUri::init() const
!= sal_Unicode( '/' ) ) )
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -128,8 +129,8 @@ void PackageUri::init() const
{
m_aParam +=
( m_aParam.getLength()
- ? ::rtl::OUString::createFromAscii( "&purezip" )
- : ::rtl::OUString::createFromAscii( "?purezip" ) );
+ ? ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "&purezip" ) )
+ : ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "?purezip" ) ) );
}
aPureUri = aPureUri.replaceAt( 0,
@@ -143,7 +144,7 @@ void PackageUri::init() const
// Only <scheme>:/// - Empty authority
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
else if ( nEnd == ( aPureUri.getLength() - 1 ) )
@@ -154,7 +155,7 @@ void PackageUri::init() const
// Only <scheme>://// or <scheme>://<something>//
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -175,7 +176,7 @@ void PackageUri::init() const
nStart, aPureUri.getLength() - nStart, aNormPackage );
m_aPackage
= ::ucb_impl::urihelper::decodeSegment( aNormPackage );
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
m_aUri = m_aUri.replaceAt( 0,
( nParam >= 0 )
? nParam
@@ -193,16 +194,19 @@ void PackageUri::init() const
{
m_aPath = aPureUri.copy( nEnd + 1 );
- // Empty path segments or encoded slashes?
- if ( m_aPath.indexOf(
- rtl::OUString::createFromAscii( "//" ) ) != -1
- || m_aPath.indexOf(
- rtl::OUString::createFromAscii( "%2F" ) ) != -1
- || m_aPath.indexOf(
- rtl::OUString::createFromAscii( "%2f" ) ) != -1 )
+ // Unexpected sequences of characters:
+ // - empty path segments
+ // - encoded slashes
+ // - parent folder segments ".."
+ // - current folder segments "."
+ if ( m_aPath.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "//" ) ) ) != -1
+ || m_aPath.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "%2F" ) ) ) != -1
+ || m_aPath.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "%2f" ) ) ) != -1
+ || ::comphelper::OStorageHelper::PathHasSegment( m_aPath, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".." ) ) )
+ || ::comphelper::OStorageHelper::PathHasSegment( m_aPath, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "." ) ) ) )
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -239,7 +243,7 @@ void PackageUri::init() const
else
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
}
}
}
diff --git a/ucb/source/ucp/package/ucppkg1.component b/ucb/source/ucp/package/ucppkg1.component
new file mode 100644
index 000000000000..a2e2418b5602
--- /dev/null
+++ b/ucb/source/ucp/package/ucppkg1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.PackageContentProvider">
+ <service name="com.sun.star.ucb.PackageContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/tdoc/makefile.mk b/ucb/source/ucp/tdoc/makefile.mk
index 83e9599eed72..82c76b34b206 100644
--- a/ucb/source/ucp/tdoc/makefile.mk
+++ b/ucb/source/ucp/tdoc/makefile.mk
@@ -92,3 +92,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucptdoc1.component
+
+$(MISC)/ucptdoc1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucptdoc1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucptdoc1.component
diff --git a/ucb/source/ucp/tdoc/tdoc_services.cxx b/ucb/source/ucp/tdoc/tdoc_services.cxx
index 6f9641d5159b..fc34fd78b1a4 100644
--- a/ucb/source/ucp/tdoc/tdoc_services.cxx
+++ b/ucb/source/ucp/tdoc/tdoc_services.cxx
@@ -39,45 +39,6 @@ using namespace com::sun::star;
using namespace tdoc_ucp;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
@@ -85,29 +46,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Transient Documents Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- ContentProvider::getImplementationName_Static(),
- ContentProvider::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // Transient Documents Document Content Factory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- DocumentContentFactory::getImplementationName_Static(),
- DocumentContentFactory::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/ucb/source/ucp/tdoc/ucptdoc1.component b/ucb/source/ucp/tdoc/ucptdoc1.component
new file mode 100644
index 000000000000..8ba1471bd933
--- /dev/null
+++ b/ucb/source/ucp/tdoc/ucptdoc1.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.TransientDocumentsContentProvider">
+ <service name="com.sun.star.ucb.TransientDocumentsContentProvider"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.TransientDocumentsDocumentContentFactory">
+ <service name="com.sun.star.frame.TransientDocumentsDocumentContentFactory"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/webdav/DAVResourceAccess.cxx b/ucb/source/ucp/webdav/DAVResourceAccess.cxx
index 872d45405735..e4617b7b9ea7 100644
--- a/ucb/source/ucp/webdav/DAVResourceAccess.cxx
+++ b/ucb/source/ucp/webdav/DAVResourceAccess.cxx
@@ -1201,8 +1201,7 @@ sal_Bool DAVResourceAccess::handleException( DAVException & e, int errorCount )
// if we have a bad connection try again. Up to three times.
case DAVException::DAV_HTTP_ERROR:
// retry up to three times, if not a client-side error.
- if ( e.getStatus() > 0 &&
- ( e.getStatus() < 400 || e.getStatus() > 499 ) &&
+ if ( ( e.getStatus() < 400 || e.getStatus() >= 500 ) &&
errorCount < 3 )
{
return sal_True;
diff --git a/ucb/source/ucp/webdav/makefile.mk b/ucb/source/ucp/webdav/makefile.mk
index 73ee298697e8..162d58266406 100644
--- a/ucb/source/ucp/webdav/makefile.mk
+++ b/ucb/source/ucp/webdav/makefile.mk
@@ -158,3 +158,11 @@ DEF1NAME=$(SHL1TARGET)
# --- Targets ----------------------------------------------------------
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucpdav1.component
+
+$(MISC)/ucpdav1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpdav1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpdav1.component
diff --git a/ucb/source/ucp/webdav/ucpdav1.component b/ucb/source/ucp/webdav/ucpdav1.component
new file mode 100644
index 000000000000..4e18b566e1a4
--- /dev/null
+++ b/ucb/source/ucp/webdav/ucpdav1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.WebDAVContentProvider">
+ <service name="com.sun.star.ucb.WebDAVContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/webdav/webdavservices.cxx b/ucb/source/ucp/webdav/webdavservices.cxx
index 9fb6d9e82bcf..7a38636e9dc7 100644
--- a/ucb/source/ucp/webdav/webdavservices.cxx
+++ b/ucb/source/ucp/webdav/webdavservices.cxx
@@ -35,45 +35,6 @@
using namespace com::sun::star;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
@@ -81,21 +42,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // WebDAV Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- ::webdav_ucp::ContentProvider::getImplementationName_Static(),
- ::webdav_ucp::ContentProvider::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{