<?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>	migrationoo2.uno	</module-name>
    <component-description>
        <author> Joachim Lingner </author>
        <name>	com.sun.star.comp.jvmfwk.MigrationOO2</name>
        <description>
Specifies a factory object to create proxy objects.
These proxy object represent a given target object and can be
aggregated. The proxy objects act UNO conform and do NOT provide
original target interfaces on queryInterface() calls.
</description>
        <loader-name>	com.sun.star.loader.SharedLibrary	</loader-name>
        <language>	C++	</language>
        <status value="final"/>
        <supported-service>	com.sun.star.reflection.ProxyFactory	</supported-service>
        <service-dependency> ... </service-dependency>
        <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.lang.XInitialization          </type>
	<type>  com.sun.star.lang.WrappedTargetException </type>
        <type>	com.sun.star.registry.XRegistryKey         </type>
	<type>	com.sun.star.lang.XSingleComponentFactory </type>
        <type>	com.sun.star.task.XJob </type>
        <type>	com.sun.star.beans.NamedValue </type>
        <type>	com.sun.star.configuration.backend.XLayer </type>
        <type>	com.sun.star.configuration.backend.XLayerHandler </type>
        <type>	com.sun.star.configuration.backend.MalformedDataException </type>
	<type>  com.sun.star.configuration.backend.TemplateIdentifier </type>
    </component-description>
    <component-description>
        <author>Thomas Benisch</author>
        <name>com.sun.star.comp.desktop.migration.Basic</name>
        <description>migration service for Apache OpenOffice Basic and dialogs</description>
        <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
        <language>c++</language>
        <status value="final"/>
        <supported-service>com.sun.star.migration.Basic</supported-service>
        <service-dependency>...</service-dependency>
        <type>com.sun.star.beans.NamedValue</type>
        <type>com.sun.star.lang.IllegalArgumentException</type>
        <type>com.sun.star.lang.XInitialization</type>
        <type>com.sun.star.task.XJob</type>
        <type>com.sun.star.lang.XServiceInfo</type>
        <type>com.sun.star.lang.XTypeProvider</type>
        <type>com.sun.star.uno.XComponentContext</type>
    </component-description>
    <component-description>
        <author>Thomas Benisch</author>
        <name>com.sun.star.comp.desktop.migration.Autocorrection</name>
        <description>migration service for Apache OpenOffice autocorrection</description>
        <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
        <language>c++</language>
        <status value="final"/>
        <supported-service>com.sun.star.migration.Autocorrection</supported-service>
        <service-dependency>...</service-dependency>
        <type>com.sun.star.beans.NamedValue</type>
        <type>com.sun.star.lang.IllegalArgumentException</type>
        <type>com.sun.star.lang.XInitialization</type>
        <type>com.sun.star.task.XJob</type>
        <type>com.sun.star.lang.XServiceInfo</type>
        <type>com.sun.star.lang.XTypeProvider</type>
        <type>com.sun.star.uno.XComponentContext</type>
    </component-description>
    <project-build-dependency>unotools</project-build-dependency>
    <project-build-dependency>tools</project-build-dependency>
    <project-build-dependency>cppuhelper</project-build-dependency>
    <project-build-dependency>cppu</project-build-dependency>
    <project-build-dependency>sal</project-build-dependency>
    <runtime-module-dependency>utl</runtime-module-dependency>
    <runtime-module-dependency>tl</runtime-module-dependency>
    <runtime-module-dependency>cppuhelper3$(COM)</runtime-module-dependency>
    <runtime-module-dependency>cppu3</runtime-module-dependency>
    <runtime-module-dependency>sal3</runtime-module-dependency>
</module-description>
