<?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>	syssh	</module-name>
    <component-description>
        <author> Tino Rachui </author>
        <name>com.sun.star.comp.system.SystemShellExecute</name>
        <description>
	The win32 implementation of a SystemShellExecute service.
</description>
        <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
        <language>	c++	</language>
        <status value="beta"/>
		<supported-service>	com.sun.star.system.SystemShellExecute </supported-service>
        <service-dependency>...</service-dependency>
		<type>	com.sun.star.system.XSystemShellExecute	</type>
		<type>	com.sun.star.system.SystemShellExecuteException	</type>
		<type>	com.sun.star.system.SystemShellExecuteFlags </type>
        <type>	com.sun.star.lang.XMultiServiceFactory		</type>
        <type>	com.sun.star.lang.XSingleServiceFactory		</type>
        <type>	com.sun.star.lang.XSingleComponentFactory	</type>
        <type>	com.sun.star.lang.XServiceInfo				</type>
        <type>	com.sun.star.lang.XTypeProvider				</type>
        <type>	com.sun.star.lang.XComponent				</type>
		<type>  com.sun.star.lang.EventObject				</type>
		<type>	com.sun.star.uno.XComponentContext			</type>
        <type>	com.sun.star.lang.IllegalArgumentException	</type>
        <type>	com.sun.star.uno.TypeClass					</type>
        <type>	com.sun.star.uno.XWeak						</type>
        <type>	com.sun.star.uno.XAggregation				</type>
        <type>	com.sun.star.registry.XRegistryKey			</type>
        <type>	com.sun.star.container.XSet					</type>
    </component-description>
    <project-build-dependency>	cppuhelper	</project-build-dependency>
    <project-build-dependency>	cppu		</project-build-dependency>
    <project-build-dependency>	sal			</project-build-dependency>
    <runtime-module-dependency>	cppuhelper	</runtime-module-dependency>
    <runtime-module-dependency>	cppu2		</runtime-module-dependency>
    <runtime-module-dependency>	sal2		</runtime-module-dependency>
</module-description>
