00001 #ifndef OSQL_DRIVER_H 00002 #define OSQL_DRIVER_H 00003 00004 #include <qobject.h> 00005 #include <qstring.h> 00006 00007 #include "osqltable.h" 00008 00009 class QLibrary; 00010 00011 namespace Opie { 00012 namespace DB { 00013 00014 class OSQLResult; 00015 class OSQLQuery; 00016 class OSQLError; 00017 00026 class OSQLDriver : public QObject{ 00027 Q_OBJECT 00028 public: 00029 enum Capabilities { RowID=0 }; 00035 OSQLDriver( QLibrary* lib=0 ); 00036 00037 virtual ~OSQLDriver(); 00041 virtual QString id()const = 0; 00042 00046 virtual void setUserName( const QString& ) = 0; 00047 00051 virtual void setPassword( const QString& )= 0; 00052 00056 virtual void setUrl( const QString& ) = 0; 00057 00061 virtual void setOptions( const QStringList& ) = 0; 00062 00066 virtual bool open() = 0; 00067 virtual bool close() = 0; 00068 00069 virtual OSQLError lastError() = 0; 00070 00075 virtual OSQLResult query( OSQLQuery* ) = 0; 00076 00080 virtual OSQLTable::ValueList tables() const = 0l; 00081 virtual bool sync(); 00082 00083 00084 private: 00085 QLibrary* m_lib; 00086 class OSQLDriverPrivate; 00087 OSQLDriverPrivate *d; 00088 00089 }; 00090 00091 } 00092 } 00093 00094 #endif
1.4.2