Bump version to 5.0-14
[LibreOffice.git] / connectivity / workben / skeleton / how_to_write_a_driver.txt
blobe336f3664df2039ec7778f1ea150b29ac6543380
2 # This file is part of the LibreOffice project.
4 # This Source Code Form is subject to the terms of the Mozilla Public
5 # License, v. 2.0. If a copy of the MPL was not distributed with this
6 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 # This file incorporates work covered by the following license notice:
10 #   Licensed to the Apache Software Foundation (ASF) under one or more
11 #   contributor license agreements. See the NOTICE file distributed
12 #   with this work for additional information regarding copyright
13 #   ownership. The ASF licenses this file to you under the Apache
14 #   License, Version 2.0 (the "License"); you may not use this file
15 #   except in compliance with the License. You may obtain a copy of
16 #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 How to write my own sdbc driver
21 all example files can be found in connectivity/workben/skeleton
23 Pre implementation steps
24 - copy all files from connectivity/workben/skeleton into your new created directory under
25   connectivity/source/drivers and rename the first char of the files to one which isn't used so far
26   ( please have a look at the other drivers )
27 - search all occurrences of skeleton and replace them to a name which you prefer
29 1. Implement a class called driver or modify the existing skeleton      -> have a look at SDriver.?xx 
30 2. Implement a class called connection                                                          -> have a look at SConnection.?xx       
31 3. Have a look at the DatabaseMetaData                                                          -> see SDatabaseMetaData.cxx
32         The methods which should be implemented at least are
33                 - getTableTypes
34                 - getTables
35                 - getTypeInfo
36                 - getColumns
38 4. You need a statement to show/access some data                                        -> have a look at SStatement.cxx
39                                                                                                                                         -> especially executeQuery()
41 5. The ResultSet: without you see nothing                                                       -> look at SResultSet.cxx
42 6. The ResultSetMetaData needed to get some information about what are waiting for us
43                                                                                                                                         -> look at SResultSetMetaData.cxx
45 7. The prepared statement is the last class we have to implement now
46         -> you have to allow statements like "SELECT * FROM table WHERE id = ?"
49 8. insert entry in version.mk
50 # ----------------------------SKELETON settings-----------------------------------#
51 # target
52 SKELETON_TARGET=skeleton
54 # the major 
55 SKELETON_MAJOR=2
56 # the minor 
57 SKELETON_MINOR=0
58 # the micro 
59 SKELETON_MICRO=0
61 # this is a c++ compatible library 
62 SKELETON_CPP=1
64 SKELETON=$(SKELETON_TARGET_TARGET)_$(CMPEXT)
67 9. copy dll to program dir of office and register the dll
69 10. congratulations you have now implement your own driver :-)