Use lo_get_libmap()
This commit is contained in:
parent
0b165a6e0a
commit
0b67dd10f8
@ -46,6 +46,10 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#ifdef IOS
|
||||||
|
#include <osl/detail/ios-bootstrap.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
|
#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
|
||||||
|
|
||||||
|
|
||||||
@ -463,7 +467,6 @@ extern "C"
|
|||||||
extern void * configmgr_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
extern void * configmgr_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
||||||
extern void * fwk_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
extern void * fwk_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
||||||
extern void * i18npool_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
extern void * i18npool_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
||||||
extern void * sc_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
|
||||||
extern void * ucb_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
extern void * ucb_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
||||||
extern void * ucpfile_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
extern void * ucpfile_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
|
||||||
}
|
}
|
||||||
@ -523,23 +526,32 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
|
|||||||
oslGenericFunction pSym = NULL;
|
oslGenericFunction pSym = NULL;
|
||||||
|
|
||||||
#ifdef DISABLE_DYNLOADING
|
#ifdef DISABLE_DYNLOADING
|
||||||
if ( rLibName.equals( OUSTR("bootstrap.uno" SAL_DLLEXTENSION)) )
|
// First test library names that aren't app-specific.
|
||||||
pSym = (oslGenericFunction) bootstrap_component_getFactory;
|
static lib_to_component_mapping non_app_specific_map[] = {
|
||||||
else if ( rLibName.equals( OUSTR("libucb1.a")) )
|
{ "bootstrap.uno" SAL_DLLEXTENSION, bootstrap_component_getFactory },
|
||||||
pSym = (oslGenericFunction) ucb_component_getFactory;
|
{ "configmgr.uno.a", configmgr_component_getFactory },
|
||||||
else if ( rLibName.equals( OUSTR("configmgr.uno.a")) )
|
{ "i18npool.uno.a", i18npool_component_getFactory },
|
||||||
pSym = (oslGenericFunction) configmgr_component_getFactory;
|
{ "libfwklo.a", fwk_component_getFactory },
|
||||||
else if ( rLibName.equals( OUSTR("libucpfile1.a")) )
|
{ "libucb1.a", ucb_component_getFactory },
|
||||||
pSym = (oslGenericFunction) ucpfile_component_getFactory;
|
{ "libucpfile1.a", ucpfile_component_getFactory },
|
||||||
else if ( rLibName.equals( OUSTR("libsclo.a")) )
|
{ NULL, NULL }
|
||||||
pSym = (oslGenericFunction) sc_component_getFactory;
|
};
|
||||||
else if ( rLibName.equals( OUSTR("libfwklo.a")) )
|
for (int i = 0; pSym == NULL && non_app_specific_map[i].lib != NULL; ++i)
|
||||||
pSym = (oslGenericFunction) fwk_component_getFactory;
|
|
||||||
else if ( rLibName.equals( OUSTR("i18npool.uno.a")) )
|
|
||||||
pSym = (oslGenericFunction) i18npool_component_getFactory;
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
|
if ( rLibName.equalsAscii( non_app_specific_map[i].lib ) )
|
||||||
|
pSym = (oslGenericFunction) non_app_specific_map[i].component_getFactory_function;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( pSym == NULL)
|
||||||
|
{
|
||||||
|
const lib_to_component_mapping *map = lo_get_libmap();
|
||||||
|
for (int i = 0; pSym == NULL && map[i].lib != NULL; ++i)
|
||||||
|
{
|
||||||
|
if ( rLibName.equalsAscii( map[i].lib ) )
|
||||||
|
pSym = (oslGenericFunction) map[i].component_getFactory_function;
|
||||||
|
}
|
||||||
#if OSL_DEBUG_LEVEL > 1
|
#if OSL_DEBUG_LEVEL > 1
|
||||||
|
if ( pSym == NULL )
|
||||||
OSL_TRACE( "attempting to load unknown library %s", OUStringToOString( rLibName, RTL_TEXTENCODING_ASCII_US ).getStr() );
|
OSL_TRACE( "attempting to load unknown library %s", OUStringToOString( rLibName, RTL_TEXTENCODING_ASCII_US ).getStr() );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user