<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
<!--***********************************************************
 *
 * 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
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 ***********************************************************-->


<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 component 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 hierarchical 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 hierarchical 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>
