apshandler.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 APSHANDLER_H
00021 #define APSHANDLER_H
00022 
00023 #include "lprhandler.h"
00024 
00025 #include <qmap.h>
00026 
00027 class ApsHandler : public LprHandler
00028 {
00029 public:
00030     ApsHandler(KMManager*);
00031 
00032     bool validate(PrintcapEntry*);
00033     KMPrinter* createPrinter(PrintcapEntry*);
00034     bool completePrinter(KMPrinter*, PrintcapEntry*, bool = true);
00035     DrMain* loadDriver(KMPrinter*, PrintcapEntry*, bool = false);
00036     DrMain* loadDbDriver(const QString&);
00037     void reset();
00038     PrintcapEntry* createEntry(KMPrinter*);
00039     bool savePrinterDriver(KMPrinter*, PrintcapEntry*, DrMain*, bool* = 0);
00040     bool removePrinter(KMPrinter*, PrintcapEntry*);
00041     QString printOptions(KPrinter*);
00042 
00043 protected:
00044     QString driverDirInternal();
00045 
00046 private:
00047     QMap<QString,QString> loadResources(PrintcapEntry*);
00048     QMap<QString,QString> loadVarFile(const QString&);
00049     QString sysconfDir();
00050     QString shareDir();
00051     DrMain* loadApsDriver(bool = false);
00052 
00053 private:
00054     int m_counter;
00055 };
00056 
00057 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys