No need to support "prefix" in DllComponentLoader

...which is only used for extension components, and only while they are live-
deployed into an soffice process and thus offloaded to an additional uno
process (which never happens for bundled extensions), cf.
cppuhelper::ServiceManager::loadImplementation
(cppuhelper/source/servicemanager.cxx), and (at least non-bundled) extensions
should never use the "prefix" feature anyway, cf.
3bafe5f5f5 "Extension shared library components
must not use the 'prefix' feature."

Change-Id: I19c4b71029eccf0c4f3d4481ea5f3542205f685e
This commit is contained in:
Stephan Bergmann
2013-10-11 15:46:14 +02:00
parent f1702566be
commit 22edbdf53c

View File

@@ -161,31 +161,13 @@ void DllComponentLoader::initialize( const ::com::sun::star::uno::Sequence< ::co
//*************************************************************************
Reference<XInterface> SAL_CALL DllComponentLoader::activate(
const OUString & rImplName, const OUString &, const OUString & rLibName,
const Reference< XRegistryKey > & xKey )
const Reference< XRegistryKey > & )
throw(CannotActivateFactoryException, RuntimeException)
{
OUString aPrefix;
if( xKey.is() )
{
Reference<XRegistryKey > xActivatorKey = xKey->openKey(
OUString("/UNO/ACTIVATOR") );
if (xActivatorKey.is() && xActivatorKey->getValueType() == RegistryValueType_ASCII )
{
Reference<XRegistryKey > xPrefixKey = xKey->openKey(
OUString("/UNO/PREFIX") );
if( xPrefixKey.is() && xPrefixKey->getValueType() == RegistryValueType_ASCII )
{
aPrefix = xPrefixKey->getAsciiValue();
if( !aPrefix.isEmpty() )
aPrefix = aPrefix + "_";
}
}
}
return loadSharedLibComponentFactory(
cppu::bootstrap_expandUri(rLibName), OUString(), rImplName, m_xSMgr,
css::uno::Reference<css::registry::XRegistryKey>(), aPrefix );
css::uno::Reference<css::registry::XRegistryKey>(), OUString() );
}