foomatic2loader.h
00001 /* 00002 * This file is part of the KDE libraries 00003 * Copyright (c) 2001-2003 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 FOOMATIC2LOADER_H 00021 #define FOOMATIC2LOADER_H 00022 00023 #include <qvariant.h> 00024 00025 #include <kdelibs_export.h> 00026 00027 class DrBase; 00028 class DrMain; 00029 00030 class KDEPRINT_EXPORT Foomatic2Loader 00031 { 00032 public: 00033 Foomatic2Loader(); 00034 ~Foomatic2Loader(); 00035 00036 bool read( QIODevice *d ); 00037 bool readFromBuffer( const QString& buffer ); 00038 bool readFromFile( const QString& filename ); 00039 QMap<QString,QVariant> data() const; 00040 DrMain* buildDriver() const; 00041 DrMain* modifyDriver( DrMain* ) const; 00042 00043 static DrMain* loadDriver( const QString& filename ); 00044 00045 private: 00046 QMap<QString,QVariant> m_foodata; 00047 00048 friend int kdeprint_foomatic2parse( void* ); 00049 DrBase* createValue( const QString&, const QMap<QString,QVariant>& ) const; 00050 DrBase* createOption( const QMap<QString,QVariant>& ) const; 00051 }; 00052 00053 inline QMap<QString,QVariant> Foomatic2Loader::data() const 00054 { return m_foodata; } 00055 00056 #endif /* FOOMATIC2LOADER_H */