kmdriverdb.h
00001 /* 00002 * This file is part of the KDE libraries 00003 * Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be> 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Library General Public 00007 * License version 2 as published by the Free Software Foundation. 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 KMDRIVERDB_H 00021 #define KMDRIVERDB_H 00022 00023 #include <qobject.h> 00024 #include <qptrlist.h> 00025 #include <qdict.h> 00026 #include <qstring.h> 00027 00028 #include "kmdbentry.h" 00029 00030 class KMDBCreator; 00031 00032 class KMDriverDB : public QObject 00033 { 00034 Q_OBJECT 00035 public: 00036 static KMDriverDB* self(); 00037 00038 KMDriverDB(QObject *parent = 0, const char *name = 0); 00039 ~KMDriverDB(); 00040 00041 void init(QWidget *parent = 0); 00042 KMDBEntryList* findEntry(const QString& manu, const QString& model); 00043 KMDBEntryList* findPnpEntry(const QString& manu, const QString& model); 00044 QDict<KMDBEntryList>* findModels(const QString& manu); 00045 const QDict< QDict<KMDBEntryList> >& manufacturers() const { return m_entries; } 00046 00047 protected: 00048 void loadDbFile(); 00049 void insertEntry(KMDBEntry *entry); 00050 QString dbFile(); 00051 00052 protected slots: 00053 void slotDbCreated(); 00054 00055 signals: 00056 void dbLoaded(bool reloaded); 00057 void error(const QString&); 00058 00059 private: 00060 KMDBCreator *m_creator; 00061 QDict< QDict<KMDBEntryList> > m_entries; 00062 QDict< QDict<KMDBEntryList> > m_pnpentries; 00063 00064 static KMDriverDB *m_self; 00065 }; 00066 00067 #endif