drivermanager_p.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KEXIDB_DRIVER_MNGR_P_H
00021 #define KEXIDB_DRIVER_MNGR_P_H
00022
00023 #include <kexidb/object.h>
00024
00025 #include <qobject.h>
00026 #include <qasciidict.h>
00027
00028 namespace KexiDB {
00029
00032 class KEXI_DB_EXPORT DriverManagerInternal : public QObject, public KexiDB::Object
00033 {
00034 Q_OBJECT
00035 public:
00036 ~DriverManagerInternal();
00037
00040 KexiDB::Driver* driver(const QString& name);
00041
00042 KexiDB::Driver::Info driverInfo(const QString &name);
00043
00044 static DriverManagerInternal *self();
00045
00047 void incRefCount();
00048
00051 void decRefCount();
00052
00055 void aboutDelete( Driver* drv );
00056
00057 protected slots:
00062 void slotAppQuits();
00063
00064 protected:
00066 DriverManagerInternal();
00067
00068 bool lookupDrivers();
00069
00070 static KexiDB::DriverManagerInternal* s_self;
00071
00072 DriverManager::ServicesMap m_services;
00073 DriverManager::ServicesMap m_services_lcase;
00074 DriverManager::ServicesMap m_services_by_mimetype;
00075 Driver::InfoMap m_driversInfo;
00076 QAsciiDict<KexiDB::Driver> m_drivers;
00077 ulong m_refCount;
00078
00079 QString m_serverErrMsg;
00080 int m_serverResultNum;
00081 QString m_serverResultName;
00083 QMap<int,QString> m_componentLoadingErrors;
00084
00085 QStringList possibleProblems;
00086
00087 bool lookupDriversNeeded : 1;
00088
00089 friend class DriverManager;
00090 };
00091 }
00092
00093 #endif
00094
This file is part of the documentation for Kexi 2.0 alpha.