File: qsqldriver.sip

package info (click to toggle)
python-qt4 4.0.1-5
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 18,632 kB
  • ctags: 2,639
  • sloc: python: 29,409; sh: 5,646; cpp: 3,168; xml: 149; makefile: 109
file content (119 lines) | stat: -rw-r--r-- 3,927 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// qsqldriver.sip generated by MetaSIP on Sat Jul 15 18:43:36 2006
//
// This file is part of the QtSql Python extension module.
//
// Copyright (c) 2006
// 	Riverbank Computing Limited <info@riverbankcomputing.co.uk>
// 
// This file is part of PyQt.
// 
// This copy of PyQt is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2, or (at your option) any later
// version.
// 
// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
// details.
// 
// You should have received a copy of the GNU General Public License along with
// PyQt; see the file LICENSE.  If not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


class QSqlDriver : QObject
{
%TypeHeaderCode
#include <qsqldriver.h>
%End

%ConvertToSubClassCode
    static struct class_graph {
            char *name;
            sipWrapperType **type;
            int yes, no;
        } graph[] = {
            {sipName_QSqlQueryModel,	&sipClass_QSqlQueryModel,	3, 1},
            {sipName_QSqlRelationalDelegate,	&sipClass_QSqlRelationalDelegate,	-1, 2},
            {sipName_QSqlDriver,	&sipClass_QSqlDriver,	-1, -1},
            {sipName_QSqlTableModel,	&sipClass_QSqlTableModel,	4, -1},
            {sipName_QSqlRelationalTableModel,	&sipClass_QSqlRelationalTableModel,	-1, -1},
        };
    
        int i = 0;
    
        sipClass = NULL;
    
        do
        {
            struct class_graph *cg = &graph[i];
    
            if (cg->name != NULL && sipCpp->inherits(cg->name))
            {
                sipClass = *cg->type;
                i = cg->yes;
            }
            else
                i = cg->no;
        }
        while (i >= 0);
%End

public:
    enum DriverFeature
    {
        Transactions,
        QuerySize,
        BLOB,
        Unicode,
        PreparedQueries,
        NamedPlaceholders,
        PositionalPlaceholders,
        LastInsertId,
        BatchOperations,
    };

    enum StatementType
    {
        WhereStatement,
        SelectStatement,
        UpdateStatement,
        InsertStatement,
        DeleteStatement,
    };

    enum IdentifierType
    {
        FieldName,
        TableName,
    };

    explicit QSqlDriver(QObject *parent /TransferThis/ = 0);
    virtual ~QSqlDriver();
    virtual bool isOpen() const;
    bool isOpenError() const;
    virtual bool beginTransaction() /ReleaseGIL/;
    virtual bool commitTransaction() /ReleaseGIL/;
    virtual bool rollbackTransaction() /ReleaseGIL/;
    virtual QStringList tables(QSql::TableType tableType) const;
    virtual QSqlIndex primaryIndex(const QString &tableName) const;
    virtual QSqlRecord record(const QString &tableName) const;
    virtual QString formatValue(const QSqlField &field, bool trimStrings = false) const;
    virtual QString escapeIdentifier(const QString &identifier, QSqlDriver::IdentifierType type) const;
    virtual QString sqlStatement(QSqlDriver::StatementType type, const QString &tableName, const QSqlRecord &rec, bool preparedStatement) const;
    QSqlError lastError() const;
    virtual QVariant handle() const;
    virtual bool hasFeature(QSqlDriver::DriverFeature f) const = 0;
    virtual void close() = 0;
    virtual QSqlResult *createResult() const = 0 /Factory/;
    virtual bool open(const QString &db, const QString &user = QString(), const QString &password = QString(), const QString &host = QString(), int port = -1, const QString &connOpts = QString()) = 0 /ReleaseGIL/;

protected:
    virtual void setOpen(bool o);
    virtual void setOpenError(bool e);
    virtual void setLastError(const QSqlError &e);

private:
    QSqlDriver(const QSqlDriver &);
};