00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef LPRHANDLER_H
00021
#define LPRHANDLER_H
00022
00023
#if !defined( _KDEPRINT_COMPILE ) && defined( __GNUC__ )
00024
#warning internal header, do not use except if you are a KDEPrint developer
00025
#endif
00026
00027
#include <qstring.h>
00028
00029
class PrintcapEntry;
00030
class KMPrinter;
00031
class DrMain;
00032
class KMManager;
00033
class KPrinter;
00034
00042
class LprHandler
00043 {
00044
public:
00045 LprHandler(
const QString& name, KMManager *mgr = 0);
00046
virtual ~LprHandler();
00047
00048
virtual bool validate(PrintcapEntry*);
00049
virtual KMPrinter* createPrinter(PrintcapEntry*);
00050
virtual bool completePrinter(KMPrinter*, PrintcapEntry*,
bool shortmode =
true);
00051
virtual DrMain* loadDriver(KMPrinter*, PrintcapEntry*,
bool =
false);
00052
virtual DrMain* loadDbDriver(
const QString&);
00053
virtual bool savePrinterDriver(KMPrinter*, PrintcapEntry*, DrMain*,
bool* = 0);
00054
virtual PrintcapEntry* createEntry(KMPrinter*);
00055
virtual bool removePrinter(KMPrinter*, PrintcapEntry*);
00056
virtual QString printOptions(
KPrinter*);
00057
virtual void reset();
00058
00059
QString name() const;
00060 KMManager* manager() const;
00061
QString driverDirectory();
00062
00063 protected:
00064 DrMain* loadToolDriver(const
QString&);
00065 QString locateDir(const QString& dirname, const QString& paths);
00066 QString cachedDriverDir() const;
00067
void setCachedDriverDir(const QString&);
00068 virtual QString driverDirInternal();
00069
00070 protected:
00071 QString m_name;
00072 KMManager *m_manager;
00073 QString m_cacheddriverdir;
00074 };
00075
00076 inline QString LprHandler::name()
const
00077
{
return m_name; }
00078
00079
inline KMManager* LprHandler::manager()
const
00080
{
return m_manager; }
00081
00082
inline QString LprHandler::cachedDriverDir()
const
00083
{
return m_cacheddriverdir; }
00084
00085
inline void LprHandler::setCachedDriverDir(
const QString& s)
00086 { m_cacheddriverdir = s; }
00087
00088
#endif