<?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>	samplelib1	</module-name>
    <component-description>
        <author> Joachim Lingner </author>
        <name>	com.sun.star.comp.stoc.JavaVirtualMachine	</name>
        <description>
		</description>
        <loader-name>	com.sun.star.loader.SharedLibrary	</loader-name>
        <language>	c++	</language>
        <status value="final"/>
        <supported-service>	com.sun.star.Unloading1	</supported-service>
        <service-dependency> ... </service-dependency>
		<type> com.sun.star.lang.XSingleComponentFactory		</type>
		<type> com.sun.star.lang.XComponent						</type>
        <type>	com.sun.star.container.XNameAccess	 			</type>
        <type>	com.sun.star.container.XContentEnumerationAccess	</type>
        <type>	com.sun.star.container.XEnumeration	 			</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.lang.XSingleComponentFactory		</type>
        <type>	com.sun.star.uno.XComponentContext				</type>
         <type>	com.sun.star.uno.XUnloadingPreference			</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.beans.XPropertySet					</type>
    </component-description>
    <project-build-dependency>	cppuhelper	</project-build-dependency>
    <project-build-dependency>	cppu		</project-build-dependency>
    <project-build-dependency>	tools		</project-build-dependency>
    <project-build-dependency>	sal			</project-build-dependency>
    <runtime-module-dependency>	cppuhelper3$(COM)	</runtime-module-dependency>
    <runtime-module-dependency>	cppu3		</runtime-module-dependency>
    <runtime-module-dependency>	tl(COM)		</runtime-module-dependency>
    <runtime-module-dependency>	sal3		</runtime-module-dependency>
</module-description>
