summaryrefslogtreecommitdiff
path: root/libsql/osqlerror.h
Unidiff
Diffstat (limited to 'libsql/osqlerror.h') (more/less context) (show whitespace changes)
-rw-r--r--libsql/osqlerror.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/libsql/osqlerror.h b/libsql/osqlerror.h
new file mode 100644
index 0000000..35a4368
--- a/dev/null
+++ b/libsql/osqlerror.h
@@ -0,0 +1,59 @@
1#ifndef OSQL_ERROR_H
2#define OSQL_ERROR_H
3
4#include <qstring.h>
5#include <qvaluelist.h>
6
7/**
8 * OSQLError is the base class of all errors
9 */
10class OSQLError {
11public:
12 typedef QValueList<OSQLError> ValueList;
13 enum Type { None = 0, // NoError
14 Internal, // Internal Error in OSQL
15 Unknown, // Unknown Error
16 Transaction, // Transaction Error
17 Statement, // Wrong Statement
18 Connection, // Connection Error( lost )
19 Driver // Driver Specefic error
20 };
21 enum DriverError {
22 DriverInternal=0, // internal DriverError
23 Permission, // Permission Problem
24 Abort, // Abort of the SQL
25 Busy, // Busy Error
26 Locked, // Locked
27 NoMem, // No Memory
28 ReadOnly, // Database is read only
29 Interrupt, // Interrupt
30 IOErr, // IO Error
31 Corrupt, // Database Corruption
32 NotFound, // Table not Found
33 Full, // Full
34 CantOpen, // Can not open Table/Database
35 Protocol, // internal protocol error
36 Schema, // schema changed
37 TooBig, // Data too big
38 Mismatch, // Type mismatch
39 Misuse // misuse
40 };
41 OSQLError( const QString& driverText = QString::null,
42 const QString& driverDatabaseText = QString::null,
43 int type = None, int subNumber = -1 );
44 ~OSQLError();
45
46 QString driverText()const;
47 QString databaseText()const;
48 int type()const;
49 int subNumber()const;
50private:
51 QString m_drvText;
52 QString m_drvDBText;
53 int m_type;
54 int m_number;
55 class OSQLErrorPrivate;
56 OSQLErrorPrivate* d;
57};
58
59#endif