diff options
Diffstat (limited to 'stoc/source/bootstrap')
-rw-r--r-- | stoc/source/bootstrap/bootstrap.xml | 358 | ||||
-rw-r--r-- | stoc/source/bootstrap/makefile.mk | 50 | ||||
-rw-r--r-- | stoc/source/bootstrap/services.cxx | 141 |
3 files changed, 549 insertions, 0 deletions
diff --git a/stoc/source/bootstrap/bootstrap.xml b/stoc/source/bootstrap/bootstrap.xml new file mode 100644 index 000000000000..3a90bbdccf71 --- /dev/null +++ b/stoc/source/bootstrap/bootstrap.xml @@ -0,0 +1,358 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd"> +<module-description xmlns:xlink="http://www.w3.org/1999/xlink"> + <module-name> bootstrap.uno </module-name> + <component-description> + <author> Juergen Schmidt </author> + <name> com.sun.star.comp.stoc.DLLComponentLoader </name> + <description> + This component provides a mechanism to load an external compoment implemented as + a shared library. +</description> + <loader-name> com.sun.star.loader.SharedLibrary </loader-name> + <language> c++ </language> + <status value="final"/> + <supported-service> com.sun.star.loader.SharedLibrary </supported-service> + <type> com.sun.star.util.XMacroExpander </type> + <type> com.sun.star.loader.XImplementationLoader </type> + <type> com.sun.star.lang.IllegalArgumentException </type> + <type> com.sun.star.lang.XInitialization </type> + <type> com.sun.star.lang.XTypeProvider </type> + <type> com.sun.star.lang.XServiceInfo </type> + <type> com.sun.star.lang.XSingleServiceFactory </type> + <type> com.sun.star.lang.XMultiServiceFactory </type> + <type> com.sun.star.registry.XRegistryKey </type> + <type> com.sun.star.beans.XPropertySet </type> + <type> com.sun.star.container.XSet </type> + <type> com.sun.star.uno.XAggregation </type> + <type> com.sun.star.uno.XComponentContext </type> + <type> com.sun.star.lang.XSingleComponentFactory </type> + <type> com.sun.star.uno.XWeak </type> + <type> com.sun.star.uno.TypeClass </type> + <type> com.sun.star.uno.DeploymentException </type> + </component-description> + <component-description> + <author> Juergen Schmidt </author> + <name> com.sun.star.comp.stoc.NestedRegistry </name> + <description> + This component provides access to a simple hierachical registry. The registry based on + two registry file. +</description> + <loader-name> com.sun.star.loader.SharedLibrary </loader-name> + <language> c++ </language> + <status value="final"/> + <supported-service> com.sun.star.registry.NestedRegistry </supported-service> + <reference-docu xlink:href="http://www.sun.com" xlink:type="simple"/> + <service-dependency> com.sun.star.registry.SimpleRegistry </service-dependency> + <type> com.sun.star.lang.XInitialization </type> + <type> com.sun.star.lang.XTypeProvider </type> + <type> com.sun.star.lang.XServiceInfo </type> + <type> com.sun.star.lang.XSingleServiceFactory </type> + <type> com.sun.star.lang.XMultiServiceFactory </type> + <type> com.sun.star.registry.XSimpleRegistry </type> + <type> com.sun.star.registry.XRegistryKey </type> + <type> com.sun.star.lang.XSingleComponentFactory </type> + <type> com.sun.star.uno.XComponentContext </type> + <type> com.sun.star.uno.XAggregation </type> + <type> com.sun.star.uno.XWeak </type> + <type> com.sun.star.uno.TypeClass </type> + <type> com.sun.star.container.XEnumerationAccess </type> + </component-description> + <component-description> + <author> Juergen Schmidt </author> + <name> com.sun.star.comp.stoc.ImplementationRegistration </name> + <description> + This component provides a mechanism to register or deregister an external component + to the current uno environment or better to the current service manager. +</description> + <loader-name> com.sun.star.loader.SharedLibrary </loader-name> + <language> c++ </language> + <status value="final"/> + <supported-service> com.sun.star.registry.ImplementationRegistration </supported-service> + <service-dependency> com.sun.star.registry.SimpleRegistry </service-dependency> + <service-dependency> com.sun.star.loader.SharedLibrary </service-dependency> + <service-dependency> com.sun.star.loader.Java </service-dependency> + <type> com.sun.star.loader.XImplementationLoader </type> + <type> com.sun.star.lang.XInitialization </type> + <type> com.sun.star.lang.XTypeProvider </type> + <type> com.sun.star.lang.XServiceInfo </type> + <type> com.sun.star.lang.XSingleServiceFactory </type> + <type> com.sun.star.lang.XSingleComponentFactory </type> + <type> com.sun.star.lang.XMultiServiceFactory </type> + <type> com.sun.star.registry.XSimpleRegistry </type> + <type> com.sun.star.registry.XRegistryKey </type> + <type> com.sun.star.registry.XImplementationRegistration2 </type> + <type> com.sun.star.beans.XPropertySet </type> + <type> com.sun.star.container.XSet </type> + <type> com.sun.star.container.XHierarchicalNameAccess </type> + <type> com.sun.star.reflection.XServiceTypeDescription </type> + <type> com.sun.star.uno.XAggregation </type> + <type> com.sun.star.uno.XWeak </type> + <type> com.sun.star.uno.TypeClass </type> + <type> com.sun.star.uno.XComponentContext </type> + </component-description> + <component-description> + <author> Daniel Boelzle </author> + <name> com.sun.star.comp.stoc.RegistryTypeDescriptionProvider </name> + <description> +This provider service supports the XHierarchicalNameAccess interface to read type descriptions +and constants from a registry source. +</description> + <loader-name> com.sun.star.loader.SharedLibrary </loader-name> + <language> C++ </language> + <status value="final"/> + <supported-service> com.sun.star.reflection.TypeDescriptionProvider </supported-service> + <service-dependency>com.sun.star.reflection.TypeDescriptionManager</service-dependency> + <type> com.sun.star.reflection.XTypeDescription </type> + <type> com.sun.star.reflection.XConstantsTypeDescription </type> + <type> com.sun.star.reflection.XEnumTypeDescription </type> + <type> com.sun.star.reflection.XIndirectTypeDescription </type> + <type> com.sun.star.reflection.XInterfaceMemberTypeDescription </type> + <type> com.sun.star.reflection.XInterfaceAttributeTypeDescription2 </type> + <type> com.sun.star.reflection.XMethodParameter </type> + <type> com.sun.star.reflection.XModuleTypeDescription </type> + <type> com.sun.star.reflection.XInterfaceMethodTypeDescription </type> + <type> com.sun.star.reflection.XInterfaceTypeDescription </type> + <type> com.sun.star.reflection.XInterfaceTypeDescription2 </type> + <type> com.sun.star.reflection.XCompoundTypeDescription </type> + <type> com.sun.star.reflection.XServiceConstructorDescription </type> + <type> com.sun.star.reflection.XServiceTypeDescription </type> + <type> com.sun.star.reflection.XServiceTypeDescription2 </type> + <type> com.sun.star.reflection.XSingletonTypeDescription2 </type> + <type> com.sun.star.reflection.XTypeDescriptionEnumerationAccess </type> + <type> com.sun.star.reflection.XParameter </type> + <type> com.sun.star.reflection.XPublished</type> + <type> com.sun.star.reflection.XStructTypeDescription</type> + <type> com.sun.star.lang.DisposedException </type> + <type> com.sun.star.lang.XComponent </type> + <type> com.sun.star.lang.XTypeProvider </type> + <type> com.sun.star.lang.XServiceInfo </type> + <type> com.sun.star.lang.XSingleComponentFactory </type> + <type> com.sun.star.lang.XMultiComponentFactory </type> + <type> com.sun.star.lang.XSingleServiceFactory </type> + <type> com.sun.star.lang.XMultiServiceFactory </type> + <type> com.sun.star.lang.XInitialization </type> + <type> com.sun.star.registry.XSimpleRegistry </type> + <type> com.sun.star.beans.PropertyAttribute </type> + <type> com.sun.star.beans.XPropertySet </type> + <type> com.sun.star.container.NoSuchElementException </type> + <type> com.sun.star.container.XHierarchicalNameAccess </type> + <type> com.sun.star.container.XSet </type> + <type> com.sun.star.uno.XAggregation </type> + <type> com.sun.star.uno.XComponentContext </type> + <type> com.sun.star.uno.XWeak </type> + <type> com.sun.star.uno.XInterface </type> + <type> com.sun.star.uno.TypeClass </type> + <type> com.sun.star.uno.RuntimeException </type> + </component-description> + <component-description> + <author>boelzle@sun.com</author> + <name>com.sun.star.security.comp.stoc.AccessController</name> +<description> +This service is an implementation of the com.sun.star.security.AccessController service. +</description> + <loader-name>com.sun.star.loader.SharedLibrary</loader-name> + <language>C++</language> + <status value="under construction"/> + <supported-service>com.sun.star.security.AccessController</supported-service> + <service-dependency> unknown, because of used policy </service-dependency> + <type>com.sun.star.security.XAccessController</type> + <type>com.sun.star.security.XPolicy</type> + <type>com.sun.star.security.RuntimePermission</type> + <type>com.sun.star.security.AllPermission</type> + <type>com.sun.star.io.FilePermission</type> + <type>com.sun.star.connection.SocketPermission</type> + <type>com.sun.star.registry.XRegistryKey</type> + <type>com.sun.star.lang.DisposedException</type> + <type>com.sun.star.lang.XTypeProvider</type> + <type>com.sun.star.lang.XComponent</type> + <type>com.sun.star.lang.XServiceInfo</type> + <type>com.sun.star.lang.XSingleComponentFactory</type> + <type>com.sun.star.lang.XSingleServiceFactory</type> + <type>com.sun.star.lang.XMultiComponentFactory</type> + <type>com.sun.star.lang.XMultiServiceFactory</type> + <type>com.sun.star.lang.XInitialization</type> + <type>com.sun.star.uno.XWeak</type> + <type>com.sun.star.uno.XAggregation</type> + <type>com.sun.star.uno.DeploymentException</type> + <type>com.sun.star.uno.XCurrentContext</type> + <type>com.sun.star.uno.XComponentContext</type> + <type>com.sun.star.uno.TypeClass</type> + </component-description> + <component-description> + <author>boelzle@sun.com</author> + <name>com.sun.star.security.comp.stoc.FilePolicy</name> +<description> +This service is an implementation of the com.sun.star.security.Policy service. +</description> + <loader-name>com.sun.star.loader.SharedLibrary</loader-name> + <language>C++</language> + <status value="under construction"/> + <supported-service>com.sun.star.security.Policy</supported-service> + <type>com.sun.star.security.XAccessController</type> + <type>com.sun.star.security.XPolicy</type> + <type>com.sun.star.security.RuntimePermission</type> + <type>com.sun.star.security.AllPermission</type> + <type>com.sun.star.io.FilePermission</type> + <type>com.sun.star.connection.SocketPermission</type> + <type>com.sun.star.registry.XRegistryKey</type> + <type>com.sun.star.lang.XTypeProvider</type> + <type>com.sun.star.lang.XComponent</type> + <type>com.sun.star.lang.XServiceInfo</type> + <type>com.sun.star.lang.XSingleComponentFactory</type> + <type>com.sun.star.lang.XSingleServiceFactory</type> + <type>com.sun.star.lang.XMultiComponentFactory</type> + <type>com.sun.star.lang.XMultiServiceFactory</type> + <type>com.sun.star.uno.XWeak</type> + <type>com.sun.star.uno.XAggregation</type> + <type>com.sun.star.uno.XCurrentContext</type> + <type>com.sun.star.uno.XComponentContext</type> + <type>com.sun.star.uno.TypeClass</type> + </component-description> + <component-description> + <author> Juergen Schmidt </author> + <name> com.sun.star.comp.stoc.SimpleRegistry </name> + <description> + This component provides access to a simple hierachical registry. The registry based on + one registry file. +</description> + <loader-name> com.sun.star.loader.SharedLibrary </loader-name> + <language> c++ </language> + <status value="final"/> + <supported-service> com.sun.star.registry.SimpleRegistry </supported-service> + <type> com.sun.star.lang.XTypeProvider </type> + <type> com.sun.star.lang.XServiceInfo </type> + <type> com.sun.star.lang.XSingleServiceFactory </type> + <type> com.sun.star.lang.XSingleComponentFactory </type> + <type> com.sun.star.lang.XMultiServiceFactory </type> + <type> com.sun.star.lang.XMultiComponentFactory </type> + <type> com.sun.star.registry.XSimpleRegistry </type> + <type> com.sun.star.registry.XRegistryKey </type> + <type> com.sun.star.uno.XAggregation </type> + <type> com.sun.star.uno.XWeak </type> + <type> com.sun.star.uno.TypeClass </type> + <type> com.sun.star.uno.XComponentContext </type> + </component-description> + <component-description> + <author> Juergen Schmidt </author> + <name> com.sun.star.comp.stoc.OServiceManager </name> + <description> + This component provides an administration object which manages + factories for many services. The services could be accessed with + the service name by using createInstance or createInstanceWithArguments. + To support the servicemanager with the needed information about a + service implementation, for e.g. which component implements the service, + two ways are possible: + - register a component persistent in a registry on which the servicemanager + works, using the com.sun.star.registry.ImplementationRegistration service. + - insert a corresponding factory for the service directly using the + interface XSet. + + For creating an object of a requested service the service manager checks + if a factory for this service is avaible, if not the registry will be + searched for information about this service. If there is an appropriate + entry, the component is loaded, a factory is created and announced to the + service manager. Finding a factory the service manager calls the factory + for creating new objects. +</description> + <loader-name> com.sun.star.loader.SharedLibrary </loader-name> + <language> c++ </language> + <status value="final"/> + <supported-service> com.sun.star.lang.MultiServiceFactory </supported-service> + <supported-service> com.sun.star.lang.ServiceManager </supported-service> + <type> com.sun.star.lang.XUnoTunnel </type> + <type> com.sun.star.lang.XComponent </type> + <type> com.sun.star.lang.XEventListener </type> + <type> com.sun.star.lang.XInitialization </type> + <type> com.sun.star.lang.XTypeProvider </type> + <type> com.sun.star.lang.XServiceInfo </type> + <type> com.sun.star.lang.XSingleServiceFactory </type> + <type> com.sun.star.lang.XSingleComponentFactory </type> + <type> com.sun.star.lang.XMultiServiceFactory </type> + <type> com.sun.star.lang.DisposedException </type> + <type> com.sun.star.registry.XSimpleRegistry </type> + <type> com.sun.star.beans.XPropertySet </type> + <type> com.sun.star.container.XSet </type> + <type> com.sun.star.container.XEnumeration </type> + <type> com.sun.star.container.XContentEnumerationAccess </type> + <type> com.sun.star.container.XHierarchicalNameAccess </type> + <type> com.sun.star.uno.XComponentContext </type> + <type> com.sun.star.uno.XAggregation </type> + <type> com.sun.star.uno.XWeak </type> + <type> com.sun.star.uno.TypeClass </type> + <type> com.sun.star.uno.XUnloadingPreference </type> + <type> com.sun.star.beans.PropertyAttribute </type> + </component-description> + <component-description> + <author> Daniel Boelzle </author> + <name> com.sun.star.comp.stoc.TypeDescriptionManager </name> + <description> +This service is the central manager supporting the XHierarchicalNameAccess interface. +At runtime there will only be at most a single instance of the service. +A manager instance is hooked into the C UNO runtime typelib and lives until the service manager +is going down. +You can manually add a provider by inserting it via the XSet interface. +At startup of this service, you must call an initialization, adding all known +providers. +</description> + <loader-name> com.sun.star.loader.SharedLibrary </loader-name> + <language> C++ </language> + <status value="final"/> + <supported-service> com.sun.star.reflection.TypeDescriptionManager </supported-service> + <service-dependency> ... </service-dependency> + <type> com.sun.star.beans.PropertyAttribute </type> + <type> com.sun.star.reflection.XTypeDescription </type> + <type> com.sun.star.reflection.XEnumTypeDescription </type> + <type> com.sun.star.reflection.XArrayTypeDescription </type> + <type> com.sun.star.reflection.XIndirectTypeDescription </type> + <type> com.sun.star.reflection.XInterfaceMemberTypeDescription </type> + <type> com.sun.star.reflection.XInterfaceAttributeTypeDescription </type> + <type> com.sun.star.reflection.XInterfaceAttributeTypeDescription2 </type> + <type> com.sun.star.reflection.XMethodParameter </type> + <type> com.sun.star.reflection.XInterfaceMethodTypeDescription </type> + <type> com.sun.star.reflection.XInterfaceTypeDescription2 </type> + <type> com.sun.star.reflection.XStructTypeDescription </type> + <type> com.sun.star.reflection.XServiceTypeDescription </type> + <type> com.sun.star.reflection.XServiceTypeDescription2 </type> + <type> com.sun.star.reflection.XPropertyTypeDescription </type> + <type> com.sun.star.reflection.XConstantTypeDescription </type> + <type> com.sun.star.reflection.XConstantsTypeDescription </type> + <type> com.sun.star.reflection.XSingletonTypeDescription </type> + <type> com.sun.star.reflection.XSingletonTypeDescription2 </type> + <type> com.sun.star.reflection.XUnionTypeDescription </type> + <type> com.sun.star.reflection.XTypeDescriptionEnumerationAccess </type> + <type> com.sun.star.lang.DisposedException </type> + <type> com.sun.star.lang.XComponent </type> + <type> com.sun.star.lang.XEventListener </type> + <type> com.sun.star.lang.XInitialization </type> + <type> com.sun.star.lang.XTypeProvider </type> + <type> com.sun.star.lang.XServiceInfo </type> + <type> com.sun.star.lang.XSingleServiceFactory </type> + <type> com.sun.star.lang.XSingleComponentFactory </type> + <type> com.sun.star.lang.XMultiComponentFactory </type> + <type> com.sun.star.lang.XMultiServiceFactory </type> + <type> com.sun.star.registry.XRegistryKey </type> + <type> com.sun.star.container.XSet </type> + <type> com.sun.star.container.XHierarchicalNameAccess </type> + <type> com.sun.star.container.XContentEnumerationAccess </type> + <type> com.sun.star.uno.XAggregation </type> + <type> com.sun.star.uno.XWeak </type> + <type> com.sun.star.uno.XComponentContext </type> + <type> com.sun.star.uno.TypeClass </type> + </component-description> + <project-build-dependency> cppuhelper </project-build-dependency> + <project-build-dependency> cppu </project-build-dependency> + <project-build-dependency> sal </project-build-dependency> + <project-build-dependency> registry </project-build-dependency> + <project-build-dependency> store </project-build-dependency> + <project-build-dependency> salhelper </project-build-dependency> + <runtime-module-dependency> cppuhelper3$(COM) </runtime-module-dependency> + <runtime-module-dependency> cppu3 </runtime-module-dependency> + <runtime-module-dependency> sal3 </runtime-module-dependency> + <runtime-module-dependency> reg3 </runtime-module-dependency> + <runtime-module-dependency> store3 </runtime-module-dependency> + <runtime-module-dependency> reg3 </runtime-module-dependency> + <runtime-module-dependency> store3 </runtime-module-dependency> + <runtime-module-dependency> salhelper3(COM) </runtime-module-dependency> + <runtime-module-dependency> salhelper3(COM) </runtime-module-dependency> +</module-description> diff --git a/stoc/source/bootstrap/makefile.mk b/stoc/source/bootstrap/makefile.mk new file mode 100644 index 000000000000..9eb1a11cbad9 --- /dev/null +++ b/stoc/source/bootstrap/makefile.mk @@ -0,0 +1,50 @@ +#************************************************************************* +# +# 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. +# +#************************************************************************* +PRJ=..$/.. + +PRJNAME= stoc +TARGET = bootstrap +ENABLE_EXCEPTIONS=TRUE +BOOTSTRAP_SERVICE=TRUE +COMP1TYPELIST = bootstrap + +# --- openoffice.org.orig/Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# ------------------------------------------------------------------ + +.INCLUDE : ..$/cppumaker.mk + +# --- openoffice.org.orig/Files ------------------------------------------------------ + +SLOFILES= \ + $(SLO)$/services.obj + +# --- openoffice.org.orig/Targets ------------------------------------------------------ + +.INCLUDE : target.mk diff --git a/stoc/source/bootstrap/services.cxx b/stoc/source/bootstrap/services.cxx new file mode 100644 index 000000000000..7d295f4de78c --- /dev/null +++ b/stoc/source/bootstrap/services.cxx @@ -0,0 +1,141 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_stoc.hxx" + +#include "bootstrapservices.hxx" + +#include "cppuhelper/factory.hxx" +#include "cppuhelper/implementationentry.hxx" +#include "sal/types.h" +#include "uno/environment.h" +#include "uno/lbnames.h" + +#include <stdio.h> + +using namespace com::sun::star; +using namespace com::sun::star::uno; +using namespace cppu; +using namespace osl; +using namespace rtl; + +extern rtl_StandardModuleCount g_moduleCount; + +using namespace stoc_bootstrap; + +static struct ImplementationEntry g_entries[] = +{ + //servicemanager + { + OServiceManager_CreateInstance, smgr_getImplementationName, + smgr_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt , 0 + }, + { + ORegistryServiceManager_CreateInstance, regsmgr_getImplementationName, + regsmgr_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt , 0 + }, + { + OServiceManagerWrapper_CreateInstance, smgr_wrapper_getImplementationName, + smgr_wrapper_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt , 0 + }, + //security + { + ac_create, ac_getImplementationName, + ac_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt, 0 + }, + { + filepolicy_create, filepolicy_getImplementationName, + filepolicy_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt, 0 + }, + //simpleregistry + { + SimpleRegistry_CreateInstance, simreg_getImplementationName, + simreg_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt , 0 + }, + //defaultregistry + { + NestedRegistry_CreateInstance, defreg_getImplementationName, + defreg_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt , 0 + }, + //implementationregistry + { + ImplementationRegistration_CreateInstance, impreg_getImplementationName, + impreg_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt , 0 + }, + //loader + { + DllComponentLoader_CreateInstance, loader_getImplementationName, + loader_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt , 0 + }, + //registry_tdprovider + { + ProviderImpl_create, rdbtdp_getImplementationName, + rdbtdp_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt , 0 + }, + //tdmanager + { + ManagerImpl_create, tdmgr_getImplementationName, + tdmgr_getSupportedServiceNames, createSingleComponentFactory, + &g_moduleCount.modCnt , 0 + }, + //end + { 0, 0, 0, 0, 0, 0 } +}; + +extern "C" +{ + +sal_Bool SAL_CALL component_canUnload( TimeValue *pTime ) +{ + return g_moduleCount.canUnload( &g_moduleCount , pTime ); +} + +//================================================================================================== +void SAL_CALL component_getImplementationEnvironment( + const sal_Char ** ppEnvTypeName, uno_Environment ** ) +{ + *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; +} +//================================================================================================== +void * SAL_CALL component_getFactory( + const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey ) +{ + return component_getFactoryHelper( pImplName, pServiceManager, pRegistryKey , g_entries ); +} + +} |