<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module-description PUBLIC "-//W3C//DTD HTML 3.2//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>
	<module-name>file</module-name>
	<component-description>
		<author>Ocke Jannsen</author>
		<name>com.sun.star.sdbc.driver.file.Driver</name>
		<description>This library implements basic functionallity for file-base drivers.
</description>
		<loader-name>com.sun.star.loader.SharedLibrary</loader-name>
		<language>c++</language>
		<status value="final"/>
		<supported-service>com.sun.star.sdbc.Driver</supported-service>
		<supported-service>com.sun.star.sdbcx.Driver</supported-service>
		<service-dependency>	...	</service-dependency>
	</component-description>
	<project-build-dependency>cppuhelper</project-build-dependency>
	<project-build-dependency>cppu</project-build-dependency>
	<project-build-dependency>sal</project-build-dependency>
	<project-build-dependency>vos</project-build-dependency>
	<runtime-module-dependency>cppuhelper</runtime-module-dependency>
	<runtime-module-dependency>cppu</runtime-module-dependency>
	<runtime-module-dependency>sal</runtime-module-dependency>
	<runtime-module-dependency>vos</runtime-module-dependency>
	<runtime-module-dependency>osl</runtime-module-dependency>
	<runtime-module-dependency>svtools-light1</runtime-module-dependency>
	<runtime-module-dependency>svtools</runtime-module-dependency>
	<runtime-module-dependency>ucbhelper</runtime-module-dependency>
	<runtime-module-dependency>dbtools</runtime-module-dependency>
	<runtime-module-dependency>unotools</runtime-module-dependency>
	<runtime-module-dependency>comphelper</runtime-module-dependency>
</module-description>
