<?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>	ScriptProvider	</module-name>
    <component-description>
        <author> Noel Power</author>
        <name>	com.sun.star.script.provider.ScriptProvider	</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="drafts"/>
        <supported-service>	com.sun.star.script.provider.ScriptProvider	</supported-service>
        <type>	com.sun.star.beans.XPropertySet					</type>
        <type>	com.sun.star.uno.Exception					</type>
        <type>	com.sun.star.io.IOException					</type>
        <type>	com.sun.star.io.XStream					</type>
        <type>	com.sun.star.script.provider.XScript </type>
        <type>	com.sun.star.script.provider.XScriptProvider </type>
        <type>	com.sun.star.script.browse.XBrowseNode </type>
        <type>	com.sun.star.script.browse.BrowseNodeTypes </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>
