bootstrap component: Split into implementation functions.
Change-Id: I91cb0177edd79485eab885e995e79b1a19a769d5
This commit is contained in:
@@ -247,12 +247,6 @@ css::uno::Reference<css::uno::XInterface> loadSharedLibComponentFactory(
|
|||||||
{
|
{
|
||||||
#ifndef DISABLE_DYNLOADING
|
#ifndef DISABLE_DYNLOADING
|
||||||
OUString moduleUri(uri);
|
OUString moduleUri(uri);
|
||||||
|
|
||||||
#ifdef ANDROID
|
|
||||||
if ( uri == "bootstrap.uno" SAL_DLLEXTENSION )
|
|
||||||
moduleUri = "libbootstrap.uno" SAL_DLLEXTENSION;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
oslModule lib = osl_loadModule(
|
oslModule lib = osl_loadModule(
|
||||||
moduleUri.pData, SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL );
|
moduleUri.pData, SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL );
|
||||||
if (! lib)
|
if (! lib)
|
||||||
@@ -291,13 +285,6 @@ css::uno::Reference<css::uno::XInterface> loadSharedLibComponentFactory(
|
|||||||
|
|
||||||
// First test library names that aren't app-specific.
|
// First test library names that aren't app-specific.
|
||||||
static lib_to_component_mapping components_mapping[] = {
|
static lib_to_component_mapping components_mapping[] = {
|
||||||
// Sigh, the name under which the bootstrap component is looked for
|
|
||||||
// varies a lot? Or then I just have been confused by some mixed-up
|
|
||||||
// incremental build.
|
|
||||||
{ "bootstrap.uno" SAL_DLLEXTENSION, bootstrap_component_getFactory },
|
|
||||||
{ "bootstrap.uno.a", bootstrap_component_getFactory },
|
|
||||||
{ "libbootstraplo.a", bootstrap_component_getFactory },
|
|
||||||
|
|
||||||
{ "libintrospectionlo.a", introspection_component_getFactory },
|
{ "libintrospectionlo.a", introspection_component_getFactory },
|
||||||
{ "libreflectionlo.a", reflection_component_getFactory },
|
{ "libreflectionlo.a", reflection_component_getFactory },
|
||||||
{ "libstocserviceslo.a", stocservices_component_getFactory },
|
{ "libstocserviceslo.a", stocservices_component_getFactory },
|
||||||
@@ -322,8 +309,17 @@ css::uno::Reference<css::uno::XInterface> loadSharedLibComponentFactory(
|
|||||||
};
|
};
|
||||||
static lib_to_component_mapping direct_components_mapping[] = {
|
static lib_to_component_mapping direct_components_mapping[] = {
|
||||||
{ "com.sun.star.comp.extensions.xml.sax.ParserExpat", com_sun_star_comp_extensions_xml_sax_ParserExpat_component_getFactory },
|
{ "com.sun.star.comp.extensions.xml.sax.ParserExpat", com_sun_star_comp_extensions_xml_sax_ParserExpat_component_getFactory },
|
||||||
{ "com.sun.star.extensions.xml.sax.Writer", com_sun_star_extensions_xml_sax_Writer_component_getFactory },
|
|
||||||
{ "com.sun.star.comp.extensions.xml.sax.FastParser", com_sun_star_comp_extensions_xml_sax_FastParser_component_getFactory },
|
{ "com.sun.star.comp.extensions.xml.sax.FastParser", com_sun_star_comp_extensions_xml_sax_FastParser_component_getFactory },
|
||||||
|
{ "com.sun.star.comp.stoc.DLLComponentLoader.component.getFactory", com_sun_star_comp_stoc_DLLComponentLoader_component_getFactory },
|
||||||
|
{ "com.sun.star.comp.stoc.ImplementationRegistration.component.getFactory", com_sun_star_comp_stoc_ImplementationRegistration_component_getFactory },
|
||||||
|
{ "com.sun.star.comp.stoc.NestedRegistry.component.getFactory", com_sun_star_comp_stoc_NestedRegistry_component_getFactory },
|
||||||
|
{ "com.sun.star.comp.stoc.ORegistryServiceManager.component.getFactory", com_sun_star_comp_stoc_ORegistryServiceManager_component_getFactory },
|
||||||
|
{ "com.sun.star.comp.stoc.OServiceManager.component.getFactory", com_sun_star_comp_stoc_OServiceManager_component_getFactory },
|
||||||
|
{ "com.sun.star.comp.stoc.OServiceManagerWrapper.component.getFactory", com_sun_star_comp_stoc_OServiceManagerWrapper_component_getFactory },
|
||||||
|
{ "com.sun.star.comp.stoc.SimpleRegistry.component.getFactory", com_sun_star_comp_stoc_SimpleRegistry_component_getFactory },
|
||||||
|
{ "com.sun.star.extensions.xml.sax.Writer", com_sun_star_extensions_xml_sax_Writer_component_getFactory },
|
||||||
|
{ "com.sun.star.security.comp.stoc.AccessController.component.getFactory", com_sun_star_security_comp_stoc_AccessController_component_getFactory },
|
||||||
|
{ "com.sun.star.security.comp.stoc.FilePolicy.component.getFactory", com_sun_star_security_comp_stoc_FilePolicy_component_getFactory },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
lib_to_component_mapping *non_app_specific_map = components_mapping;
|
lib_to_component_mapping *non_app_specific_map = components_mapping;
|
||||||
|
@@ -99,7 +99,16 @@ void * xstor_component_getFactory( const char * , void * , void * );
|
|||||||
|
|
||||||
void * com_sun_star_comp_extensions_xml_sax_FastParser_component_getFactory( const char * , void * , void * );
|
void * com_sun_star_comp_extensions_xml_sax_FastParser_component_getFactory( const char * , void * , void * );
|
||||||
void * com_sun_star_comp_extensions_xml_sax_ParserExpat_component_getFactory( const char * , void * , void * );
|
void * com_sun_star_comp_extensions_xml_sax_ParserExpat_component_getFactory( const char * , void * , void * );
|
||||||
|
void * com_sun_star_comp_stoc_DLLComponentLoader_component_getFactory( const char * , void * , void * );
|
||||||
|
void * com_sun_star_comp_stoc_ImplementationRegistration_component_getFactory( const char * , void * , void * );
|
||||||
|
void * com_sun_star_comp_stoc_NestedRegistry_component_getFactory( const char * , void * , void * );
|
||||||
|
void * com_sun_star_comp_stoc_ORegistryServiceManager_component_getFactory( const char * , void * , void * );
|
||||||
|
void * com_sun_star_comp_stoc_OServiceManager_component_getFactory( const char * , void * , void * );
|
||||||
|
void * com_sun_star_comp_stoc_OServiceManagerWrapper_component_getFactory( const char * , void * , void * );
|
||||||
|
void * com_sun_star_comp_stoc_SimpleRegistry_component_getFactory( const char * , void * , void * );
|
||||||
void * com_sun_star_extensions_xml_sax_Writer_component_getFactory( const char * , void * , void * );
|
void * com_sun_star_extensions_xml_sax_Writer_component_getFactory( const char * , void * , void * );
|
||||||
|
void * com_sun_star_security_comp_stoc_AccessController_component_getFactory( const char * , void * , void * );
|
||||||
|
void * com_sun_star_security_comp_stoc_FilePolicy_component_getFactory( const char * , void * , void * );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@@ -42,7 +42,6 @@ $(eval $(call gb_Library_use_libraries,bootstrap,\
|
|||||||
$(eval $(call gb_Library_set_componentfile,bootstrap,stoc/util/bootstrap))
|
$(eval $(call gb_Library_set_componentfile,bootstrap,stoc/util/bootstrap))
|
||||||
|
|
||||||
$(eval $(call gb_Library_add_exception_objects,bootstrap,\
|
$(eval $(call gb_Library_add_exception_objects,bootstrap,\
|
||||||
stoc/source/bootstrap/services \
|
|
||||||
stoc/source/defaultregistry/defaultregistry \
|
stoc/source/defaultregistry/defaultregistry \
|
||||||
stoc/source/implementationregistration/implreg \
|
stoc/source/implementationregistration/implreg \
|
||||||
stoc/source/implementationregistration/mergekeys \
|
stoc/source/implementationregistration/mergekeys \
|
||||||
|
@@ -1,89 +0,0 @@
|
|||||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
||||||
/*
|
|
||||||
* This file is part of the LibreOffice project.
|
|
||||||
*
|
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
*
|
|
||||||
* This file incorporates work covered by the following license notice:
|
|
||||||
*
|
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file distributed
|
|
||||||
* with this work for additional information regarding copyright
|
|
||||||
* ownership. The ASF licenses this file to you under the Apache
|
|
||||||
* License, Version 2.0 (the "License"); you may not use this file
|
|
||||||
* except in compliance with the License. You may obtain a copy of
|
|
||||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#include <rtl/ustring.hxx>
|
|
||||||
#include <com/sun/star/uno/Sequence.hxx>
|
|
||||||
#include <com/sun/star/uno/Reference.hxx>
|
|
||||||
#include <com/sun/star/uno/RuntimeException.hpp>
|
|
||||||
|
|
||||||
namespace com { namespace sun { namespace star { namespace uno {
|
|
||||||
class XInterface;
|
|
||||||
class XComponentContext;
|
|
||||||
} } } }
|
|
||||||
|
|
||||||
namespace stoc_bootstrap
|
|
||||||
{
|
|
||||||
//servicemanager
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL OServiceManager_CreateInstance(
|
|
||||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > & xContext );
|
|
||||||
::com::sun::star::uno::Sequence< OUString > smgr_wrapper_getSupportedServiceNames();
|
|
||||||
OUString smgr_wrapper_getImplementationName();
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL OServiceManagerWrapper_CreateInstance(
|
|
||||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > & xContext )
|
|
||||||
throw (::com::sun::star::uno::Exception);
|
|
||||||
::com::sun::star::uno::Sequence< OUString > smgr_getSupportedServiceNames();
|
|
||||||
OUString smgr_getImplementationName();
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL ORegistryServiceManager_CreateInstance(
|
|
||||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > & xContext )
|
|
||||||
throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
|
|
||||||
::com::sun::star::uno::Sequence< OUString > regsmgr_getSupportedServiceNames();
|
|
||||||
OUString regsmgr_getImplementationName();
|
|
||||||
|
|
||||||
//security
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL ac_create(
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xComponentContext )
|
|
||||||
SAL_THROW( (::com::sun::star::uno::Exception) );
|
|
||||||
::com::sun::star::uno::Sequence< OUString > ac_getSupportedServiceNames() SAL_THROW(());
|
|
||||||
OUString ac_getImplementationName() SAL_THROW(());
|
|
||||||
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL filepolicy_create(
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xComponentContext )
|
|
||||||
SAL_THROW( (com::sun::star::uno::Exception) );
|
|
||||||
::com::sun::star::uno::Sequence< OUString > filepolicy_getSupportedServiceNames() SAL_THROW(());
|
|
||||||
OUString filepolicy_getImplementationName() SAL_THROW(());
|
|
||||||
|
|
||||||
//defaultregistry
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL NestedRegistry_CreateInstance(
|
|
||||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& )
|
|
||||||
throw( ::com::sun::star::uno::Exception);
|
|
||||||
::com::sun::star::uno::Sequence< OUString > defreg_getSupportedServiceNames();
|
|
||||||
OUString defreg_getImplementationName();
|
|
||||||
|
|
||||||
//simpleregistry
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SimpleRegistry_CreateInstance(
|
|
||||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
|
|
||||||
::com::sun::star::uno::Sequence< OUString > simreg_getSupportedServiceNames();
|
|
||||||
OUString simreg_getImplementationName();
|
|
||||||
|
|
||||||
//implementationregistry
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL ImplementationRegistration_CreateInstance(
|
|
||||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& ); // throw(Exception)
|
|
||||||
::com::sun::star::uno::Sequence< OUString > impreg_getSupportedServiceNames();
|
|
||||||
OUString impreg_getImplementationName();
|
|
||||||
|
|
||||||
//loader
|
|
||||||
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL DllComponentLoader_CreateInstance(
|
|
||||||
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& )
|
|
||||||
throw(::com::sun::star::uno::Exception);
|
|
||||||
::com::sun::star::uno::Sequence< OUString > loader_getSupportedServiceNames();
|
|
||||||
OUString loader_getImplementationName();
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
@@ -1,102 +0,0 @@
|
|||||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
||||||
/*
|
|
||||||
* This file is part of the LibreOffice project.
|
|
||||||
*
|
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
*
|
|
||||||
* This file incorporates work covered by the following license notice:
|
|
||||||
*
|
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file distributed
|
|
||||||
* with this work for additional information regarding copyright
|
|
||||||
* ownership. The ASF licenses this file to you under the Apache
|
|
||||||
* License, Version 2.0 (the "License"); you may not use this file
|
|
||||||
* except in compliance with the License. You may obtain a copy of
|
|
||||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#include "bootstrapservices.hxx"
|
|
||||||
|
|
||||||
#include "cppuhelper/factory.hxx"
|
|
||||||
#include "cppuhelper/implementationentry.hxx"
|
|
||||||
#include "sal/types.h"
|
|
||||||
#include "uno/environment.h"
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
using namespace com::sun::star;
|
|
||||||
using namespace com::sun::star::uno;
|
|
||||||
using namespace cppu;
|
|
||||||
using namespace osl;
|
|
||||||
|
|
||||||
using namespace stoc_bootstrap;
|
|
||||||
|
|
||||||
static const struct ImplementationEntry g_entries[] =
|
|
||||||
{
|
|
||||||
//servicemanager
|
|
||||||
{
|
|
||||||
OServiceManager_CreateInstance, smgr_getImplementationName,
|
|
||||||
smgr_getSupportedServiceNames, createSingleComponentFactory,
|
|
||||||
0, 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ORegistryServiceManager_CreateInstance, regsmgr_getImplementationName,
|
|
||||||
regsmgr_getSupportedServiceNames, createSingleComponentFactory,
|
|
||||||
0, 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
OServiceManagerWrapper_CreateInstance, smgr_wrapper_getImplementationName,
|
|
||||||
smgr_wrapper_getSupportedServiceNames, createSingleComponentFactory,
|
|
||||||
0, 0
|
|
||||||
},
|
|
||||||
//security
|
|
||||||
{
|
|
||||||
ac_create, ac_getImplementationName,
|
|
||||||
ac_getSupportedServiceNames, createSingleComponentFactory,
|
|
||||||
0, 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
filepolicy_create, filepolicy_getImplementationName,
|
|
||||||
filepolicy_getSupportedServiceNames, createSingleComponentFactory,
|
|
||||||
0, 0
|
|
||||||
},
|
|
||||||
//simpleregistry
|
|
||||||
{
|
|
||||||
SimpleRegistry_CreateInstance, simreg_getImplementationName,
|
|
||||||
simreg_getSupportedServiceNames, createSingleComponentFactory,
|
|
||||||
0, 0
|
|
||||||
},
|
|
||||||
//defaultregistry
|
|
||||||
{
|
|
||||||
NestedRegistry_CreateInstance, defreg_getImplementationName,
|
|
||||||
defreg_getSupportedServiceNames, createSingleComponentFactory,
|
|
||||||
0, 0
|
|
||||||
},
|
|
||||||
//implementationregistry
|
|
||||||
{
|
|
||||||
ImplementationRegistration_CreateInstance, impreg_getImplementationName,
|
|
||||||
impreg_getSupportedServiceNames, createSingleComponentFactory,
|
|
||||||
0, 0
|
|
||||||
},
|
|
||||||
//loader
|
|
||||||
{
|
|
||||||
DllComponentLoader_CreateInstance, loader_getImplementationName,
|
|
||||||
loader_getSupportedServiceNames, createSingleComponentFactory,
|
|
||||||
0, 0
|
|
||||||
},
|
|
||||||
//end
|
|
||||||
{ 0, 0, 0, 0, 0, 0 }
|
|
||||||
};
|
|
||||||
|
|
||||||
#define component_getFactory bootstrap_component_getFactory
|
|
||||||
|
|
||||||
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
|
|
||||||
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
|
|
||||||
{
|
|
||||||
return component_getFactoryHelper( pImplName, pServiceManager, pRegistryKey , g_entries );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
@@ -37,8 +37,6 @@
|
|||||||
#include <com/sun/star/lang/XInitialization.hpp>
|
#include <com/sun/star/lang/XInitialization.hpp>
|
||||||
#include <com/sun/star/container/XEnumerationAccess.hpp>
|
#include <com/sun/star/container/XEnumerationAccess.hpp>
|
||||||
|
|
||||||
#include <bootstrapservices.hxx>
|
|
||||||
|
|
||||||
using namespace com::sun::star::uno;
|
using namespace com::sun::star::uno;
|
||||||
using namespace com::sun::star::registry;
|
using namespace com::sun::star::registry;
|
||||||
using namespace com::sun::star::lang;
|
using namespace com::sun::star::lang;
|
||||||
@@ -46,29 +44,15 @@ using namespace com::sun::star::container;
|
|||||||
using namespace cppu;
|
using namespace cppu;
|
||||||
using namespace osl;
|
using namespace osl;
|
||||||
|
|
||||||
#define SERVICENAME "com.sun.star.registry.NestedRegistry"
|
static Sequence< OUString > NestedRegistryImpl_getSupportedServiceNames()
|
||||||
#define IMPLNAME "com.sun.star.comp.stoc.NestedRegistry"
|
|
||||||
|
|
||||||
namespace stoc_bootstrap
|
|
||||||
{
|
|
||||||
Sequence< OUString > defreg_getSupportedServiceNames()
|
|
||||||
{
|
{
|
||||||
Sequence< OUString > seqNames(1);
|
Sequence< OUString > seqNames(1);
|
||||||
seqNames.getArray()[0] = OUString(SERVICENAME);
|
seqNames.getArray()[0] = OUString("com.sun.star.registry.NestedRegistry");
|
||||||
return seqNames;
|
return seqNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
OUString defreg_getImplementationName()
|
namespace {
|
||||||
{
|
|
||||||
return OUString(IMPLNAME);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace stoc_defreg
|
|
||||||
{
|
|
||||||
//*************************************************************************
|
|
||||||
// NestedRegistryImpl
|
|
||||||
//*************************************************************************
|
|
||||||
class NestedKeyImpl;
|
class NestedKeyImpl;
|
||||||
|
|
||||||
class NestedRegistryImpl : public WeakAggImplHelper4 < XSimpleRegistry, XInitialization, XServiceInfo, XEnumerationAccess >
|
class NestedRegistryImpl : public WeakAggImplHelper4 < XSimpleRegistry, XInitialization, XServiceInfo, XEnumerationAccess >
|
||||||
@@ -1211,7 +1195,7 @@ sal_Bool SAL_CALL NestedRegistryImpl::hasElements( ) throw (RuntimeException)
|
|||||||
OUString SAL_CALL NestedRegistryImpl::getImplementationName( )
|
OUString SAL_CALL NestedRegistryImpl::getImplementationName( )
|
||||||
throw(RuntimeException)
|
throw(RuntimeException)
|
||||||
{
|
{
|
||||||
return stoc_bootstrap::defreg_getImplementationName();
|
return OUString("com.sun.star.comp.stoc.NestedRegistry");
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool SAL_CALL NestedRegistryImpl::supportsService( const OUString& ServiceName )
|
sal_Bool SAL_CALL NestedRegistryImpl::supportsService( const OUString& ServiceName )
|
||||||
@@ -1223,7 +1207,7 @@ sal_Bool SAL_CALL NestedRegistryImpl::supportsService( const OUString& ServiceNa
|
|||||||
Sequence<OUString> SAL_CALL NestedRegistryImpl::getSupportedServiceNames( )
|
Sequence<OUString> SAL_CALL NestedRegistryImpl::getSupportedServiceNames( )
|
||||||
throw(RuntimeException)
|
throw(RuntimeException)
|
||||||
{
|
{
|
||||||
return stoc_bootstrap::defreg_getSupportedServiceNames();
|
return NestedRegistryImpl_getSupportedServiceNames();
|
||||||
}
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
@@ -1368,17 +1352,15 @@ void SAL_CALL NestedRegistryImpl::mergeKey( const OUString& aKeyName, const OUSt
|
|||||||
m_state++;
|
m_state++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // namespace stco_defreg
|
|
||||||
|
|
||||||
namespace stoc_bootstrap
|
} // namespace
|
||||||
{
|
|
||||||
//*************************************************************************
|
static Reference<XInterface> NestedRegistry_CreateInstance(
|
||||||
Reference<XInterface> SAL_CALL NestedRegistry_CreateInstance(
|
|
||||||
SAL_UNUSED_PARAMETER const Reference<XComponentContext>& )
|
SAL_UNUSED_PARAMETER const Reference<XComponentContext>& )
|
||||||
throw(Exception)
|
throw(Exception)
|
||||||
{
|
{
|
||||||
Reference<XInterface> xRet;
|
Reference<XInterface> xRet;
|
||||||
XSimpleRegistry *pRegistry = (XSimpleRegistry*) new stoc_defreg::NestedRegistryImpl;
|
XSimpleRegistry *pRegistry = (XSimpleRegistry*) new NestedRegistryImpl;
|
||||||
|
|
||||||
if (pRegistry)
|
if (pRegistry)
|
||||||
{
|
{
|
||||||
@@ -1388,6 +1370,17 @@ Reference<XInterface> SAL_CALL NestedRegistry_CreateInstance(
|
|||||||
return xRet;
|
return xRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL
|
||||||
|
com_sun_star_comp_stoc_NestedRegistry_component_getFactory(
|
||||||
|
const char * , void * , void * )
|
||||||
|
{
|
||||||
|
Reference< XSingleComponentFactory > xFactory;
|
||||||
|
xFactory = createSingleComponentFactory(
|
||||||
|
NestedRegistry_CreateInstance,
|
||||||
|
"com.sun.star.comp.stoc.NestedRegistry",
|
||||||
|
NestedRegistryImpl_getSupportedServiceNames() );
|
||||||
|
xFactory->acquire();
|
||||||
|
return xFactory.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -65,14 +65,11 @@ using namespace osl;
|
|||||||
|
|
||||||
#define IMPLNAME "com.sun.star.comp.stoc.ImplementationRegistration"
|
#define IMPLNAME "com.sun.star.comp.stoc.ImplementationRegistration"
|
||||||
#define SERVICENAME "com.sun.star.registry.ImplementationRegistration"
|
#define SERVICENAME "com.sun.star.registry.ImplementationRegistration"
|
||||||
namespace stoc_impreg
|
|
||||||
{
|
namespace {
|
||||||
|
|
||||||
struct StringPool
|
struct StringPool
|
||||||
{
|
{
|
||||||
OUString sImplementationName;
|
|
||||||
OUString sServiceName;
|
|
||||||
OUString TMP;
|
|
||||||
OUString TEMP;
|
|
||||||
OUString slash_UNO_slash_REGISTRY_LINKS;
|
OUString slash_UNO_slash_REGISTRY_LINKS;
|
||||||
OUString slash_IMPLEMENTATIONS;
|
OUString slash_IMPLEMENTATIONS;
|
||||||
OUString slash_UNO;
|
OUString slash_UNO;
|
||||||
@@ -85,11 +82,7 @@ struct StringPool
|
|||||||
OUString com_sun_star_registry_SimpleRegistry;
|
OUString com_sun_star_registry_SimpleRegistry;
|
||||||
OUString Registry;
|
OUString Registry;
|
||||||
StringPool()
|
StringPool()
|
||||||
: sImplementationName( IMPLNAME )
|
: slash_UNO_slash_REGISTRY_LINKS( "/UNO/REGISTRY_LINKS")
|
||||||
, sServiceName( SERVICENAME )
|
|
||||||
, TMP( "TMP" )
|
|
||||||
, TEMP( "TEMP" )
|
|
||||||
, slash_UNO_slash_REGISTRY_LINKS( "/UNO/REGISTRY_LINKS")
|
|
||||||
, slash_IMPLEMENTATIONS( "/IMPLEMENTATIONS" )
|
, slash_IMPLEMENTATIONS( "/IMPLEMENTATIONS" )
|
||||||
, slash_UNO( "/UNO")
|
, slash_UNO( "/UNO")
|
||||||
, slash_UNO_slash_SERVICES( "/UNO/SERVICES")
|
, slash_UNO_slash_SERVICES( "/UNO/SERVICES")
|
||||||
@@ -119,25 +112,14 @@ const StringPool &spool()
|
|||||||
}
|
}
|
||||||
return *pPool;
|
return *pPool;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
namespace stoc_bootstrap
|
static Sequence< OUString > ImplementationRegistration_getSupportedServiceNames()
|
||||||
{
|
|
||||||
Sequence< OUString > impreg_getSupportedServiceNames()
|
|
||||||
{
|
{
|
||||||
Sequence< OUString > seqNames(1);
|
Sequence< OUString > seqNames(1);
|
||||||
seqNames.getArray()[0] = stoc_impreg::spool().sServiceName;
|
seqNames.getArray()[0] = SERVICENAME;
|
||||||
return seqNames;
|
return seqNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
OUString impreg_getImplementationName()
|
|
||||||
{
|
|
||||||
return stoc_impreg::spool().sImplementationName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace stoc_impreg
|
|
||||||
{
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
// static deleteAllLinkReferences()
|
// static deleteAllLinkReferences()
|
||||||
//
|
//
|
||||||
@@ -1327,7 +1309,7 @@ ImplementationRegistration::~ImplementationRegistration() {}
|
|||||||
// XServiceInfo
|
// XServiceInfo
|
||||||
OUString ImplementationRegistration::getImplementationName() throw(RuntimeException)
|
OUString ImplementationRegistration::getImplementationName() throw(RuntimeException)
|
||||||
{
|
{
|
||||||
return stoc_bootstrap::impreg_getImplementationName();
|
return OUString(IMPLNAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
// XServiceInfo
|
// XServiceInfo
|
||||||
@@ -1339,7 +1321,7 @@ sal_Bool ImplementationRegistration::supportsService(const OUString& ServiceName
|
|||||||
// XServiceInfo
|
// XServiceInfo
|
||||||
Sequence< OUString > ImplementationRegistration::getSupportedServiceNames(void) throw(RuntimeException)
|
Sequence< OUString > ImplementationRegistration::getSupportedServiceNames(void) throw(RuntimeException)
|
||||||
{
|
{
|
||||||
return stoc_bootstrap::impreg_getSupportedServiceNames();
|
return ImplementationRegistration_getSupportedServiceNames();
|
||||||
}
|
}
|
||||||
|
|
||||||
Reference< XSimpleRegistry > ImplementationRegistration::getRegistryFromServiceManager()
|
Reference< XSimpleRegistry > ImplementationRegistration::getRegistryFromServiceManager()
|
||||||
@@ -1801,7 +1783,7 @@ void ImplementationRegistration::doRegister(
|
|||||||
|
|
||||||
xSourceKey = xReg->getRootKey();
|
xSourceKey = xReg->getRootKey();
|
||||||
Reference < XRegistryKey > xDestKey = xDest->getRootKey();
|
Reference < XRegistryKey > xDestKey = xDest->getRootKey();
|
||||||
mergeKeys( xDestKey, xSourceKey );
|
stoc_impreg::mergeKeys( xDestKey, xSourceKey );
|
||||||
xDestKey->closeKey();
|
xDestKey->closeKey();
|
||||||
xSourceKey->closeKey();
|
xSourceKey->closeKey();
|
||||||
}
|
}
|
||||||
@@ -1840,17 +1822,26 @@ Reference< XSimpleRegistry > ImplementationRegistration::createTemporarySimpleRe
|
|||||||
OSL_ASSERT( xReg.is() );
|
OSL_ASSERT( xReg.is() );
|
||||||
return xReg;
|
return xReg;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace stoc_bootstrap
|
static Reference<XInterface> ImplementationRegistration_CreateInstance(
|
||||||
{
|
|
||||||
//*************************************************************************
|
|
||||||
Reference<XInterface> SAL_CALL ImplementationRegistration_CreateInstance(
|
|
||||||
const Reference<XComponentContext> & xCtx ) // throw(Exception)
|
const Reference<XComponentContext> & xCtx ) // throw(Exception)
|
||||||
{
|
{
|
||||||
return (XImplementationRegistration *)new stoc_impreg::ImplementationRegistration(xCtx);
|
return (XImplementationRegistration *)new ImplementationRegistration(xCtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL
|
||||||
|
com_sun_star_comp_stoc_ImplementationRegistration_component_getFactory(
|
||||||
|
const char * , void * , void * )
|
||||||
|
{
|
||||||
|
Reference< css::lang::XSingleComponentFactory > xFactory;
|
||||||
|
xFactory = createSingleComponentFactory(
|
||||||
|
ImplementationRegistration_CreateInstance,
|
||||||
|
IMPLNAME,
|
||||||
|
ImplementationRegistration_getSupportedServiceNames() );
|
||||||
|
xFactory->acquire();
|
||||||
|
return xFactory.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -54,26 +54,15 @@ using namespace com::sun::star::registry;
|
|||||||
using namespace cppu;
|
using namespace cppu;
|
||||||
using namespace osl;
|
using namespace osl;
|
||||||
|
|
||||||
namespace stoc_bootstrap
|
namespace {
|
||||||
{
|
|
||||||
Sequence< OUString > loader_getSupportedServiceNames()
|
static Sequence< OUString > DllComponentLoader_getSupportedServiceNames()
|
||||||
{
|
{
|
||||||
Sequence< OUString > seqNames(1);
|
Sequence< OUString > seqNames(1);
|
||||||
seqNames.getArray()[0] = OUString(SERVICENAME);
|
seqNames.getArray()[0] = OUString(SERVICENAME);
|
||||||
return seqNames;
|
return seqNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
OUString loader_getImplementationName()
|
|
||||||
{
|
|
||||||
return OUString(IMPLNAME);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace stoc_loader
|
|
||||||
{
|
|
||||||
//*************************************************************************
|
|
||||||
// DllComponentLoader
|
|
||||||
//*************************************************************************
|
|
||||||
class DllComponentLoader
|
class DllComponentLoader
|
||||||
: public WeakImplHelper3< XImplementationLoader,
|
: public WeakImplHelper3< XImplementationLoader,
|
||||||
XInitialization,
|
XInitialization,
|
||||||
@@ -112,7 +101,7 @@ DllComponentLoader::~DllComponentLoader() {}
|
|||||||
OUString SAL_CALL DllComponentLoader::getImplementationName( )
|
OUString SAL_CALL DllComponentLoader::getImplementationName( )
|
||||||
throw(::com::sun::star::uno::RuntimeException)
|
throw(::com::sun::star::uno::RuntimeException)
|
||||||
{
|
{
|
||||||
return stoc_bootstrap::loader_getImplementationName();
|
return OUString(IMPLNAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool SAL_CALL DllComponentLoader::supportsService( const OUString& ServiceName )
|
sal_Bool SAL_CALL DllComponentLoader::supportsService( const OUString& ServiceName )
|
||||||
@@ -124,7 +113,7 @@ sal_Bool SAL_CALL DllComponentLoader::supportsService( const OUString& ServiceNa
|
|||||||
Sequence<OUString> SAL_CALL DllComponentLoader::getSupportedServiceNames( )
|
Sequence<OUString> SAL_CALL DllComponentLoader::getSupportedServiceNames( )
|
||||||
throw(::com::sun::star::uno::RuntimeException)
|
throw(::com::sun::star::uno::RuntimeException)
|
||||||
{
|
{
|
||||||
return stoc_bootstrap::loader_getSupportedServiceNames();
|
return DllComponentLoader_getSupportedServiceNames();
|
||||||
}
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
@@ -182,16 +171,15 @@ sal_Bool SAL_CALL DllComponentLoader::writeRegistryInfo(
|
|||||||
return sal_True;
|
return sal_True;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace stoc_bootstrap
|
static Reference<XInterface> DllComponentLoader_CreateInstance(
|
||||||
{
|
const Reference<XComponentContext> & xCtx ) throw(Exception)
|
||||||
//*************************************************************************
|
|
||||||
Reference<XInterface> SAL_CALL DllComponentLoader_CreateInstance( const Reference<XComponentContext> & xCtx ) throw(Exception)
|
|
||||||
{
|
{
|
||||||
Reference<XInterface> xRet;
|
Reference<XInterface> xRet;
|
||||||
|
|
||||||
XImplementationLoader *pXLoader = (XImplementationLoader *)new stoc_loader::DllComponentLoader(xCtx);
|
XImplementationLoader *pXLoader = (XImplementationLoader *)new DllComponentLoader(xCtx);
|
||||||
|
|
||||||
if (pXLoader)
|
if (pXLoader)
|
||||||
{
|
{
|
||||||
@@ -201,6 +189,17 @@ Reference<XInterface> SAL_CALL DllComponentLoader_CreateInstance( const Referenc
|
|||||||
return xRet;
|
return xRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL
|
||||||
|
com_sun_star_comp_stoc_DLLComponentLoader_component_getFactory(
|
||||||
|
const char * , void * , void * )
|
||||||
|
{
|
||||||
|
Reference< css::lang::XSingleComponentFactory > xFactory;
|
||||||
|
xFactory = createSingleComponentFactory(
|
||||||
|
DllComponentLoader_CreateInstance,
|
||||||
|
IMPLNAME,
|
||||||
|
DllComponentLoader_getSupportedServiceNames() );
|
||||||
|
xFactory->acquire();
|
||||||
|
return xFactory.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -49,7 +49,6 @@
|
|||||||
|
|
||||||
#include "lru_cache.h"
|
#include "lru_cache.h"
|
||||||
#include "permissions.h"
|
#include "permissions.h"
|
||||||
#include "bootstrapservices.hxx"
|
|
||||||
|
|
||||||
|
|
||||||
#define SERVICE_NAME "com.sun.star.security.AccessController"
|
#define SERVICE_NAME "com.sun.star.security.AccessController"
|
||||||
@@ -62,9 +61,10 @@ using namespace ::osl;
|
|||||||
using namespace ::cppu;
|
using namespace ::cppu;
|
||||||
using namespace ::com::sun::star;
|
using namespace ::com::sun::star;
|
||||||
using namespace ::com::sun::star::uno;
|
using namespace ::com::sun::star::uno;
|
||||||
|
using namespace stoc_sec;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
namespace stoc_sec
|
|
||||||
{
|
|
||||||
// static stuff initialized when loading lib
|
// static stuff initialized when loading lib
|
||||||
static OUString s_envType = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
|
static OUString s_envType = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
|
||||||
const char s_acRestriction[] = "access-control.restriction";
|
const char s_acRestriction[] = "access-control.restriction";
|
||||||
@@ -962,7 +962,7 @@ Reference< security::XAccessControlContext > AccessController::getContext()
|
|||||||
OUString AccessController::getImplementationName()
|
OUString AccessController::getImplementationName()
|
||||||
throw (RuntimeException)
|
throw (RuntimeException)
|
||||||
{
|
{
|
||||||
return stoc_bootstrap::ac_getImplementationName();
|
return OUString(IMPL_NAME);
|
||||||
}
|
}
|
||||||
//__________________________________________________________________________________________________
|
//__________________________________________________________________________________________________
|
||||||
sal_Bool AccessController::supportsService( OUString const & serviceName )
|
sal_Bool AccessController::supportsService( OUString const & serviceName )
|
||||||
@@ -971,41 +971,39 @@ sal_Bool AccessController::supportsService( OUString const & serviceName )
|
|||||||
return cppu::supportsService(this, serviceName);
|
return cppu::supportsService(this, serviceName);
|
||||||
}
|
}
|
||||||
//__________________________________________________________________________________________________
|
//__________________________________________________________________________________________________
|
||||||
Sequence< OUString > AccessController::getSupportedServiceNames()
|
static Sequence< OUString > AccessController_getSupportedServiceNames()
|
||||||
throw (RuntimeException)
|
|
||||||
{
|
|
||||||
return stoc_bootstrap::ac_getSupportedServiceNames();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//##################################################################################################
|
|
||||||
namespace stoc_bootstrap {
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
Reference< XInterface > SAL_CALL ac_create(
|
|
||||||
Reference< XComponentContext > const & xComponentContext )
|
|
||||||
SAL_THROW( (Exception) )
|
|
||||||
{
|
|
||||||
return (OWeakObject *)new stoc_sec::AccessController( xComponentContext );
|
|
||||||
}
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
Sequence< OUString > ac_getSupportedServiceNames() SAL_THROW(())
|
|
||||||
{
|
{
|
||||||
Sequence< OUString > aSNS( 1 );
|
Sequence< OUString > aSNS( 1 );
|
||||||
aSNS.getArray()[0] = OUString(SERVICE_NAME);
|
aSNS.getArray()[0] = OUString(SERVICE_NAME);
|
||||||
return aSNS;
|
return aSNS;
|
||||||
}
|
}
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
OUString ac_getImplementationName() SAL_THROW(())
|
Sequence< OUString > AccessController::getSupportedServiceNames()
|
||||||
|
throw (RuntimeException)
|
||||||
{
|
{
|
||||||
return OUString(IMPL_NAME);
|
return AccessController_getSupportedServiceNames();
|
||||||
}
|
}
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
Reference< XInterface > SAL_CALL filepolicy_create(
|
}
|
||||||
|
|
||||||
|
static Reference< XInterface > SAL_CALL AccessController_create(
|
||||||
Reference< XComponentContext > const & xComponentContext )
|
Reference< XComponentContext > const & xComponentContext )
|
||||||
SAL_THROW( (Exception) );
|
SAL_THROW( (Exception) )
|
||||||
//--------------------------------------------------------------------------------------------------
|
{
|
||||||
Sequence< OUString > filepolicy_getSupportedServiceNames() SAL_THROW(());
|
return (OWeakObject *)new AccessController( xComponentContext );
|
||||||
//--------------------------------------------------------------------------------------------------
|
}
|
||||||
OUString filepolicy_getImplementationName() SAL_THROW(());
|
|
||||||
|
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL
|
||||||
|
com_sun_star_security_comp_stoc_AccessController_component_getFactory(
|
||||||
|
const char * , void * , void * )
|
||||||
|
{
|
||||||
|
Reference< css::lang::XSingleComponentFactory > xFactory;
|
||||||
|
xFactory = createSingleComponentFactory(
|
||||||
|
AccessController_create,
|
||||||
|
IMPL_NAME,
|
||||||
|
AccessController_getSupportedServiceNames() );
|
||||||
|
xFactory->acquire();
|
||||||
|
return xFactory.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -39,8 +39,6 @@
|
|||||||
#include <com/sun/star/io/FilePermission.hpp>
|
#include <com/sun/star/io/FilePermission.hpp>
|
||||||
#include <com/sun/star/connection/SocketPermission.hpp>
|
#include <com/sun/star/connection/SocketPermission.hpp>
|
||||||
|
|
||||||
#include "bootstrapservices.hxx"
|
|
||||||
|
|
||||||
#define SERVICE_NAME "com.sun.star.security.Policy"
|
#define SERVICE_NAME "com.sun.star.security.Policy"
|
||||||
#define IMPL_NAME "com.sun.star.security.comp.stoc.FilePolicy"
|
#define IMPL_NAME "com.sun.star.security.comp.stoc.FilePolicy"
|
||||||
|
|
||||||
@@ -50,8 +48,7 @@ using namespace ::cppu;
|
|||||||
using namespace ::com::sun::star;
|
using namespace ::com::sun::star;
|
||||||
using namespace ::com::sun::star::uno;
|
using namespace ::com::sun::star::uno;
|
||||||
|
|
||||||
namespace stoc_sec
|
namespace {
|
||||||
{
|
|
||||||
|
|
||||||
struct MutexHolder
|
struct MutexHolder
|
||||||
{
|
{
|
||||||
@@ -526,7 +523,7 @@ void FilePolicy::refresh()
|
|||||||
OUString FilePolicy::getImplementationName()
|
OUString FilePolicy::getImplementationName()
|
||||||
throw (RuntimeException)
|
throw (RuntimeException)
|
||||||
{
|
{
|
||||||
return stoc_bootstrap::filepolicy_getImplementationName();
|
return OUString(IMPL_NAME);
|
||||||
}
|
}
|
||||||
//__________________________________________________________________________________________________
|
//__________________________________________________________________________________________________
|
||||||
sal_Bool FilePolicy::supportsService( OUString const & serviceName )
|
sal_Bool FilePolicy::supportsService( OUString const & serviceName )
|
||||||
@@ -535,34 +532,39 @@ sal_Bool FilePolicy::supportsService( OUString const & serviceName )
|
|||||||
return cppu::supportsService(this, serviceName);
|
return cppu::supportsService(this, serviceName);
|
||||||
}
|
}
|
||||||
//__________________________________________________________________________________________________
|
//__________________________________________________________________________________________________
|
||||||
Sequence< OUString > FilePolicy::getSupportedServiceNames()
|
static Sequence< OUString > FilePolicy_getSupportedServiceNames() SAL_THROW(())
|
||||||
throw (RuntimeException)
|
|
||||||
{
|
|
||||||
return stoc_bootstrap::filepolicy_getSupportedServiceNames();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//##################################################################################################
|
|
||||||
namespace stoc_bootstrap
|
|
||||||
{
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
Reference< XInterface > SAL_CALL filepolicy_create(
|
|
||||||
Reference< XComponentContext > const & xComponentContext )
|
|
||||||
SAL_THROW( (Exception) )
|
|
||||||
{
|
|
||||||
return (OWeakObject *)new stoc_sec::FilePolicy( xComponentContext );
|
|
||||||
}
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
Sequence< OUString > filepolicy_getSupportedServiceNames() SAL_THROW(())
|
|
||||||
{
|
{
|
||||||
Sequence< OUString > aSNS( 1 );
|
Sequence< OUString > aSNS( 1 );
|
||||||
aSNS.getArray()[0] = OUString(SERVICE_NAME);
|
aSNS.getArray()[0] = OUString(SERVICE_NAME);
|
||||||
return aSNS;
|
return aSNS;
|
||||||
}
|
}
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
OUString filepolicy_getImplementationName() SAL_THROW(())
|
Sequence< OUString > FilePolicy::getSupportedServiceNames()
|
||||||
|
throw (RuntimeException)
|
||||||
{
|
{
|
||||||
return OUString(IMPL_NAME);
|
return FilePolicy_getSupportedServiceNames();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
static Reference< XInterface > FilePolicy_CreateInstance(
|
||||||
|
Reference< XComponentContext > const & xComponentContext )
|
||||||
|
SAL_THROW( (Exception) )
|
||||||
|
{
|
||||||
|
return (OWeakObject *)new FilePolicy( xComponentContext );
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL
|
||||||
|
com_sun_star_security_comp_stoc_FilePolicy_component_getFactory(
|
||||||
|
const char * , void * , void * )
|
||||||
|
{
|
||||||
|
Reference< css::lang::XSingleComponentFactory > xFactory;
|
||||||
|
xFactory = createSingleComponentFactory(
|
||||||
|
FilePolicy_CreateInstance,
|
||||||
|
IMPL_NAME,
|
||||||
|
FilePolicy_getSupportedServiceNames() );
|
||||||
|
xFactory->acquire();
|
||||||
|
return xFactory.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -55,9 +55,6 @@
|
|||||||
#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
|
#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
|
||||||
#include <com/sun/star/uno/XUnloadingPreference.hpp>
|
#include <com/sun/star/uno/XUnloadingPreference.hpp>
|
||||||
|
|
||||||
#include <bootstrapservices.hxx>
|
|
||||||
|
|
||||||
|
|
||||||
using namespace com::sun::star;
|
using namespace com::sun::star;
|
||||||
using namespace com::sun::star::uno;
|
using namespace com::sun::star::uno;
|
||||||
using namespace com::sun::star::beans;
|
using namespace com::sun::star::beans;
|
||||||
@@ -68,21 +65,9 @@ using namespace cppu;
|
|||||||
using namespace osl;
|
using namespace osl;
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
namespace stoc_bootstrap
|
namespace {
|
||||||
{
|
|
||||||
Sequence< OUString > smgr_wrapper_getSupportedServiceNames()
|
|
||||||
{
|
|
||||||
Sequence< OUString > seqNames(1);
|
|
||||||
seqNames.getArray()[0] = "com.sun.star.lang.MultiServiceFactory";
|
|
||||||
return seqNames;
|
|
||||||
}
|
|
||||||
|
|
||||||
OUString smgr_wrapper_getImplementationName()
|
Sequence< OUString > OServiceManager_getSupportedServiceNames()
|
||||||
{
|
|
||||||
return OUString("com.sun.star.comp.stoc.OServiceManagerWrapper");
|
|
||||||
}
|
|
||||||
|
|
||||||
Sequence< OUString > smgr_getSupportedServiceNames()
|
|
||||||
{
|
{
|
||||||
Sequence< OUString > seqNames(2);
|
Sequence< OUString > seqNames(2);
|
||||||
seqNames.getArray()[0] = "com.sun.star.lang.MultiServiceFactory";
|
seqNames.getArray()[0] = "com.sun.star.lang.MultiServiceFactory";
|
||||||
@@ -90,12 +75,7 @@ Sequence< OUString > smgr_getSupportedServiceNames()
|
|||||||
return seqNames;
|
return seqNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
OUString smgr_getImplementationName()
|
Sequence< OUString > ORegistryServiceManager_getSupportedServiceNames()
|
||||||
{
|
|
||||||
return OUString("com.sun.star.comp.stoc.OServiceManager");
|
|
||||||
}
|
|
||||||
|
|
||||||
Sequence< OUString > regsmgr_getSupportedServiceNames()
|
|
||||||
{
|
{
|
||||||
Sequence< OUString > seqNames(2);
|
Sequence< OUString > seqNames(2);
|
||||||
seqNames.getArray()[0] = "com.sun.star.lang.MultiServiceFactory";
|
seqNames.getArray()[0] = "com.sun.star.lang.MultiServiceFactory";
|
||||||
@@ -103,14 +83,12 @@ Sequence< OUString > regsmgr_getSupportedServiceNames()
|
|||||||
return seqNames;
|
return seqNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
OUString regsmgr_getImplementationName()
|
Sequence< OUString > OServiceManagerWrapper_getSupportedServiceNames()
|
||||||
{
|
{
|
||||||
return OUString( "com.sun.star.comp.stoc.ORegistryServiceManager" );
|
Sequence< OUString > seqNames(1);
|
||||||
|
seqNames.getArray()[0] = "com.sun.star.lang.MultiServiceFactory";
|
||||||
|
return seqNames;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
namespace stoc_smgr
|
|
||||||
{
|
|
||||||
|
|
||||||
static Sequence< OUString > retrieveAsciiValueList(
|
static Sequence< OUString > retrieveAsciiValueList(
|
||||||
const Reference< XSimpleRegistry > &xReg, const OUString &keyName )
|
const Reference< XSimpleRegistry > &xReg, const OUString &keyName )
|
||||||
@@ -437,8 +415,6 @@ public:
|
|||||||
|
|
||||||
// XServiceInfo
|
// XServiceInfo
|
||||||
virtual OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
|
virtual OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
|
||||||
static OUString getImplementationName_Static() throw(::com::sun::star::uno::RuntimeException)
|
|
||||||
{ return stoc_bootstrap::smgr_getImplementationName(); }
|
|
||||||
virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw(::com::sun::star::uno::RuntimeException);
|
virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw(::com::sun::star::uno::RuntimeException);
|
||||||
virtual Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
|
virtual Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
|
||||||
|
|
||||||
@@ -1108,7 +1084,7 @@ OUString OServiceManager::getImplementationName()
|
|||||||
throw(::com::sun::star::uno::RuntimeException)
|
throw(::com::sun::star::uno::RuntimeException)
|
||||||
{
|
{
|
||||||
check_undisposed();
|
check_undisposed();
|
||||||
return getImplementationName_Static();
|
return OUString("com.sun.star.comp.stoc.OServiceManager");
|
||||||
}
|
}
|
||||||
|
|
||||||
// XServiceInfo
|
// XServiceInfo
|
||||||
@@ -1123,7 +1099,7 @@ Sequence< OUString > OServiceManager::getSupportedServiceNames()
|
|||||||
throw(::com::sun::star::uno::RuntimeException)
|
throw(::com::sun::star::uno::RuntimeException)
|
||||||
{
|
{
|
||||||
check_undisposed();
|
check_undisposed();
|
||||||
return stoc_bootstrap::smgr_getSupportedServiceNames();
|
return OServiceManager_getSupportedServiceNames();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1387,7 +1363,7 @@ public:
|
|||||||
|
|
||||||
// XServiceInfo
|
// XServiceInfo
|
||||||
OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException)
|
OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException)
|
||||||
{ return stoc_bootstrap::regsmgr_getImplementationName(); }
|
{ return OUString("com.sun.star.comp.stoc.ORegistryServiceManager"); }
|
||||||
|
|
||||||
Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
|
Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
|
||||||
|
|
||||||
@@ -1626,7 +1602,7 @@ Sequence< OUString > ORegistryServiceManager::getSupportedServiceNames()
|
|||||||
throw(::com::sun::star::uno::RuntimeException)
|
throw(::com::sun::star::uno::RuntimeException)
|
||||||
{
|
{
|
||||||
check_undisposed();
|
check_undisposed();
|
||||||
return stoc_bootstrap::regsmgr_getSupportedServiceNames();
|
return ORegistryServiceManager_getSupportedServiceNames();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1715,37 +1691,67 @@ Any ORegistryServiceManager::getPropertyValue(const OUString& PropertyName)
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
namespace stoc_bootstrap
|
static Reference<XInterface > OServiceManager_CreateInstance(
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Create the ServiceManager
|
|
||||||
*/
|
|
||||||
Reference<XInterface > SAL_CALL OServiceManager_CreateInstance(
|
|
||||||
const Reference< XComponentContext > & xContext )
|
const Reference< XComponentContext > & xContext )
|
||||||
{
|
{
|
||||||
return Reference<XInterface >(
|
return Reference<XInterface >(
|
||||||
static_cast< XInterface * >(
|
static_cast< XInterface * >(
|
||||||
static_cast< OWeakObject * >( new stoc_smgr::OServiceManager( xContext ) ) ) );
|
static_cast< OWeakObject * >( new OServiceManager( xContext ) ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL
|
||||||
* Create the ServiceManager
|
com_sun_star_comp_stoc_OServiceManager_component_getFactory(
|
||||||
*/
|
const char * , void * , void * )
|
||||||
Reference<XInterface > SAL_CALL ORegistryServiceManager_CreateInstance(
|
{
|
||||||
|
Reference< css::lang::XSingleComponentFactory > xFactory;
|
||||||
|
xFactory = createSingleComponentFactory(
|
||||||
|
OServiceManager_CreateInstance,
|
||||||
|
"com.sun.star.comp.stoc.OServiceManager",
|
||||||
|
OServiceManager_getSupportedServiceNames() );
|
||||||
|
xFactory->acquire();
|
||||||
|
return xFactory.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
static Reference<XInterface > ORegistryServiceManager_CreateInstance(
|
||||||
const Reference< XComponentContext > & xContext )
|
const Reference< XComponentContext > & xContext )
|
||||||
throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException)
|
throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException)
|
||||||
{
|
{
|
||||||
return Reference<XInterface >(
|
return Reference<XInterface >(
|
||||||
static_cast< XInterface * >(
|
static_cast< XInterface * >(
|
||||||
static_cast< OWeakObject * >( new stoc_smgr::ORegistryServiceManager( xContext ) ) ) );
|
static_cast< OWeakObject * >( new ORegistryServiceManager( xContext ) ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
Reference<XInterface > SAL_CALL OServiceManagerWrapper_CreateInstance(
|
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL
|
||||||
|
com_sun_star_comp_stoc_ORegistryServiceManager_component_getFactory(
|
||||||
|
const char * , void * , void * )
|
||||||
|
{
|
||||||
|
Reference< css::lang::XSingleComponentFactory > xFactory;
|
||||||
|
xFactory = createSingleComponentFactory(
|
||||||
|
ORegistryServiceManager_CreateInstance,
|
||||||
|
"com.sun.star.comp.stoc.ORegistryServiceManager",
|
||||||
|
ORegistryServiceManager_getSupportedServiceNames() );
|
||||||
|
xFactory->acquire();
|
||||||
|
return xFactory.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
static Reference<XInterface > OServiceManagerWrapper_CreateInstance(
|
||||||
const Reference< XComponentContext > & xContext )
|
const Reference< XComponentContext > & xContext )
|
||||||
throw (Exception)
|
throw (Exception)
|
||||||
{
|
{
|
||||||
return (OWeakObject *)new stoc_smgr::OServiceManagerWrapper( xContext );
|
return (OWeakObject *)new OServiceManagerWrapper( xContext );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL
|
||||||
|
com_sun_star_comp_stoc_OServiceManagerWrapper_component_getFactory(
|
||||||
|
const char * , void * , void * )
|
||||||
|
{
|
||||||
|
Reference< css::lang::XSingleComponentFactory > xFactory;
|
||||||
|
xFactory = createSingleComponentFactory(
|
||||||
|
OServiceManagerWrapper_CreateInstance,
|
||||||
|
"com.sun.star.comp.stoc.OServiceManagerWrapper",
|
||||||
|
OServiceManagerWrapper_getSupportedServiceNames() );
|
||||||
|
xFactory->acquire();
|
||||||
|
return xFactory.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
#include "com/sun/star/uno/XComponentContext.hpp"
|
#include "com/sun/star/uno/XComponentContext.hpp"
|
||||||
#include "com/sun/star/uno/XInterface.hpp"
|
#include "com/sun/star/uno/XInterface.hpp"
|
||||||
#include "com/sun/star/uno/Sequence.hxx"
|
#include "com/sun/star/uno/Sequence.hxx"
|
||||||
|
#include <cppuhelper/factory.hxx>
|
||||||
#include "cppuhelper/implbase1.hxx"
|
#include "cppuhelper/implbase1.hxx"
|
||||||
#include "cppuhelper/implbase2.hxx"
|
#include "cppuhelper/implbase2.hxx"
|
||||||
#include "cppuhelper/weak.hxx"
|
#include "cppuhelper/weak.hxx"
|
||||||
@@ -49,10 +50,14 @@
|
|||||||
#include "rtl/ustring.hxx"
|
#include "rtl/ustring.hxx"
|
||||||
#include "sal/types.h"
|
#include "sal/types.h"
|
||||||
|
|
||||||
#include "bootstrapservices.hxx"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
static css::uno::Sequence< OUString > SimpleRegistry_getSupportedServiceNames() {
|
||||||
|
css::uno::Sequence< OUString > names(1);
|
||||||
|
names[0] = "com.sun.star.registry.SimpleRegistry";
|
||||||
|
return names;
|
||||||
|
}
|
||||||
|
|
||||||
class SimpleRegistry:
|
class SimpleRegistry:
|
||||||
public cppu::WeakImplHelper2<
|
public cppu::WeakImplHelper2<
|
||||||
css::registry::XSimpleRegistry, css::lang::XServiceInfo >
|
css::registry::XSimpleRegistry, css::lang::XServiceInfo >
|
||||||
@@ -96,7 +101,7 @@ private:
|
|||||||
|
|
||||||
virtual OUString SAL_CALL getImplementationName()
|
virtual OUString SAL_CALL getImplementationName()
|
||||||
throw (css::uno::RuntimeException)
|
throw (css::uno::RuntimeException)
|
||||||
{ return stoc_bootstrap::simreg_getImplementationName(); }
|
{ return OUString("com.sun.star.comp.stoc.SimpleRegistry"); }
|
||||||
|
|
||||||
virtual sal_Bool SAL_CALL supportsService(OUString const & ServiceName)
|
virtual sal_Bool SAL_CALL supportsService(OUString const & ServiceName)
|
||||||
throw (css::uno::RuntimeException)
|
throw (css::uno::RuntimeException)
|
||||||
@@ -104,7 +109,7 @@ private:
|
|||||||
|
|
||||||
virtual css::uno::Sequence< OUString > SAL_CALL
|
virtual css::uno::Sequence< OUString > SAL_CALL
|
||||||
getSupportedServiceNames() throw (css::uno::RuntimeException)
|
getSupportedServiceNames() throw (css::uno::RuntimeException)
|
||||||
{ return stoc_bootstrap::simreg_getSupportedServiceNames(); }
|
{ return SimpleRegistry_getSupportedServiceNames(); }
|
||||||
|
|
||||||
Registry registry_;
|
Registry registry_;
|
||||||
};
|
};
|
||||||
@@ -1120,24 +1125,24 @@ void SimpleRegistry::mergeKey(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace stoc_bootstrap {
|
static css::uno::Reference< css::uno::XInterface > SimpleRegistry_CreateInstance(
|
||||||
|
|
||||||
css::uno::Reference< css::uno::XInterface > SimpleRegistry_CreateInstance(
|
|
||||||
SAL_UNUSED_PARAMETER css::uno::Reference< css::uno::XComponentContext >
|
SAL_UNUSED_PARAMETER css::uno::Reference< css::uno::XComponentContext >
|
||||||
const &)
|
const &)
|
||||||
{
|
{
|
||||||
return static_cast< cppu::OWeakObject * >(new SimpleRegistry);
|
return static_cast< cppu::OWeakObject * >(new SimpleRegistry);
|
||||||
}
|
}
|
||||||
|
|
||||||
css::uno::Sequence< OUString > simreg_getSupportedServiceNames() {
|
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL
|
||||||
css::uno::Sequence< OUString > names(1);
|
com_sun_star_comp_stoc_SimpleRegistry_component_getFactory(
|
||||||
names[0] = "com.sun.star.registry.SimpleRegistry";
|
const char * , void * , void * )
|
||||||
return names;
|
{
|
||||||
|
css::uno::Reference< css::lang::XSingleComponentFactory > xFactory;
|
||||||
|
xFactory = cppu::createSingleComponentFactory(
|
||||||
|
SimpleRegistry_CreateInstance,
|
||||||
|
"com.sun.star.comp.stoc.SimpleRegistry",
|
||||||
|
SimpleRegistry_getSupportedServiceNames() );
|
||||||
|
xFactory->acquire();
|
||||||
|
return xFactory.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
OUString simreg_getImplementationName() {
|
|
||||||
return OUString("com.sun.star.comp.stoc.SimpleRegistry");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
|
<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
|
||||||
prefix="bootstrap" xmlns="http://openoffice.org/2010/uno-components">
|
prefix="direct" xmlns="http://openoffice.org/2010/uno-components">
|
||||||
<implementation name="com.sun.star.comp.stoc.DLLComponentLoader">
|
<implementation name="com.sun.star.comp.stoc.DLLComponentLoader">
|
||||||
<service name="com.sun.star.loader.SharedLibrary"/>
|
<service name="com.sun.star.loader.SharedLibrary"/>
|
||||||
</implementation>
|
</implementation>
|
||||||
|
Reference in New Issue
Block a user