summaryrefslogtreecommitdiff
path: root/stoc/source/bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'stoc/source/bootstrap')
-rw-r--r--stoc/source/bootstrap/bootstrap.xml358
-rw-r--r--stoc/source/bootstrap/makefile.mk50
-rw-r--r--stoc/source/bootstrap/services.cxx141
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 );
+}
+
+}