<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE COMPONENTDESCRIPTION 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 xmlns:xlink="http://www.w3.org/1999/xlink">
	<module-name>mysqlc</module-name>
	<component-description>
		<Author>Georg Richter</Author>
		<Name>com.sun.star.comp.sdbc.mysqlc</Name>
		<Description>
			This is the implementation of the MySQL Connector/OO.org.
		</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>
		<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>	cppu1		</runtime-module-dependency>
	<runtime-module-dependency>	sal1		</runtime-module-dependency>
	<runtime-module-dependency>	vos			</runtime-module-dependency>

	<type>	com.sun.star.registry.XRegistryKey			</type>
	<type>	com.sun.star.util.XCancellable				</type>
	<type>	com.sun.star.util.XNumberFormatter			</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.uno.XComponentContext			</type>
	<type>	com.sun.star.beans.PropertyAttribute		</type>
	<type>	com.sun.star.beans.XPropertyState			</type>
	<type>	com.sun.star.beans.XPropertySet				</type>
	<type>	com.sun.star.beans.PropertyValue			</type>
	<type>	com.sun.star.beans.XMultiPropertySet		</type>
	<type>	com.sun.star.beans.XFastPropertySet			</type>
	<type>	com.sun.star.lang.XSingleServiceFactory		</type>
	<type>	com.sun.star.lang.XTypeProvider				</type>
	<type>	com.sun.star.lang.XSingleComponentFactory	</type>
	<type>	com.sun.star.lang.EventObject				</type>
	<type>	com.sun.star.lang.XComponent				</type>
	<type>	com.sun.star.lang.IllegalArgumentException	</type>
	<type>	com.sun.star.lang.DisposedException			</type>
	<type>	com.sun.star.lang.XMultiServiceFactory		</type>
	<type>	com.sun.star.lang.XServiceInfo				</type>
	<type>	com.sun.star.lang.XUnoTunnel				</type>
	<type>	com.sun.star.java.XJavaThreadRegister_11	</type>
	<type>	com.sun.star.java.XJavaVM					</type>
	<type>	com.sun.star.sdbc.FetchDirection			</type>
	<type>	com.sun.star.sdbc.XConnection				</type>
	<type>	com.sun.star.sdbc.XStatement				</type>
	<type>	com.sun.star.sdbc.XResultSet				</type>
	<type>	com.sun.star.sdbc.XResultSetMetaDataSupplier</type>
	<type>	com.sun.star.sdbc.XColumnLocate				</type>
	<type>	com.sun.star.sdbc.XResultSetUpdate			</type>
	<type>	com.sun.star.sdbc.XWarningsSupplier			</type>
	<type>	com.sun.star.sdbc.XRowUpdate				</type>
	<type>	com.sun.star.sdbc.XMultipleResults			</type>
	<type>	com.sun.star.sdbc.XBatchExecution			</type>
	<type>	com.sun.star.sdbc.XPreparedBatchExecution	</type>
	<type>	com.sun.star.sdbc.XParameters				</type>
	<type>	com.sun.star.sdbc.XOutParameters			</type>
	<type>	com.sun.star.sdbc.DriverPropertyInfo		</type>
	<type>	com.sun.star.sdbc.SQLWarning				</type>
	<type>	com.sun.star.sdbc.XRow						</type>
	<type>	com.sun.star.sdbc.ColumnSearch				</type>
	<type>	com.sun.star.sdbc.ColumnValue				</type>
	<type>	com.sun.star.sdbc.DataType					</type>
	<type>	com.sun.star.sdbc.XDriver					</type>
	<type>	com.sun.star.sdbc.TransactionIsolation		</type>
	<type>	com.sun.star.sdbc.ResultSetType				</type>
	<type>	com.sun.star.sdbc.ResultSetConcurrency		</type>
	<type>	com.sun.star.sdbcx.XRowLocate				</type>
	<type>	com.sun.star.sdbcx.XDeleteRows				</type>
	<type>	com.sun.star.sdbcx.CompareBookmark			</type>
	<type>	com.sun.star.sdb.XColumnUpdate				</type>
	<type>	com.sun.star.sdb.XColumn					</type>
</module-description>
