Kaydet (Commit) 71d49cb1 authored tarafından Jens-Heiner Rechtien's avatar Jens-Heiner Rechtien

INTEGRATION: CWS sb76 (1.1.2); FILE ADDED

2007/08/31 11:26:51 sb 1.1.2.1: #i77885# Consolidate stoc libraries; patch by jnavrati.
üst 42b632cb
<?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>
/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: services.cxx,v $
*
* $Revision: 1.2 $
*
* last change: $Author: hr $ $Date: 2007-09-27 12:56:37 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
*
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2005 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library 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 for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
************************************************************************/
// 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;
}
//==================================================================================================
sal_Bool SAL_CALL component_writeInfo(
void * pServiceManager, void * pRegistryKey )
{
return component_writeInfoHelper( pServiceManager, pRegistryKey, g_entries );
}
//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
return component_getFactoryHelper( pImplName, pServiceManager, pRegistryKey , g_entries );
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment