<?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>	ScriptProtocolHandler	</module-name>
    <component-description>
        <author> Noel Power</author>
        <name>	com.sun.star.frame.ProtocolHandler</name>
        <description>
	This component is part of the Scripting Framework
</description>
        <loader-name>	com.sun.star.loader.SharedLibrary	</loader-name>
        <language>	c++	</language>
        <status value="com"/>
        <supported-service>	 com.sun.star.frame.ProtocolHandler </supported-service>
        <type>	com.sun.star.frame.XDispatchProvider </type>
        <type>	com.sun.star.frame.XNotifyingDispatch </type>
        <type>	com.sun.star.lang.XServiceInfo </type>
        <type>	com.sun.star.lang.XInitialization </type>
        <type>	com.sun.star.io.IOException </type>
        <type>	com.sun.star.uri.XUriReference </type>
        <type>	com.sun.star.uri.XUriReferenceFactory </type>
        <type>	com.sun.star.uri.XVndSunStarScriptUrl </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>	cppuhelper2$(COM) 	</runtime-module-dependency>
    <runtime-module-dependency>	cppu2	</runtime-module-dependency>
    <runtime-module-dependency>	sal2		</runtime-module-dependency>
</module-description>
