Kexi API Documentation (2.0 alpha)

drivermanager_p.h

Go to the documentation of this file.
00001 /* This file is part of the KDE project
00002    Copyright (C) 2003 Jaroslaw Staniek <js@iidea.pl>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  * Boston, MA 02110-1301, USA.
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 
KDE Logo
This file is part of the documentation for Kexi 2.0 alpha.
Documentation copyright © 2002-2007 the Kexi Team.
Generated on Tue Apr 1 20:48:00 2008 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003