diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch) | |
tree | 5ac38a06f3dde268dc7927dc155896926aaf7012 /kdeprint/cups/kmcupsmanager.h | |
download | tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdeprint/cups/kmcupsmanager.h')
-rw-r--r-- | kdeprint/cups/kmcupsmanager.h | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/kdeprint/cups/kmcupsmanager.h b/kdeprint/cups/kmcupsmanager.h new file mode 100644 index 000000000..54307fc86 --- /dev/null +++ b/kdeprint/cups/kmcupsmanager.h @@ -0,0 +1,106 @@ +/* + * This file is part of the KDE libraries + * Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License version 2 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + **/ + +#ifndef KMCUPSMANAGER_H +#define KMCUPSMANAGER_H + +#include "kmmanager.h" + +class IppRequest; +class KLibrary; +class KExtendedSocket; + +namespace KNetwork { + class KStreamSocket; +} + +class KMCupsManager : public KMManager +{ + friend class KMWIppPrinter; + friend class KMCupsJobManager; + + Q_OBJECT +public: + KMCupsManager(QObject *parent, const char *name, const QStringList & /*args*/); + virtual ~KMCupsManager(); + + // printer management functions + bool createPrinter(KMPrinter *p); + bool removePrinter(KMPrinter *p); + bool enablePrinter(KMPrinter *p, bool state); + bool startPrinter(KMPrinter *p, bool state); + bool completePrinter(KMPrinter *p); + bool completePrinterShort(KMPrinter *p); + bool setDefaultPrinter(KMPrinter *p); + bool testPrinter(KMPrinter *p); + + // printer listing functions + // driver DB functions + QString driverDbCreationProgram(); + QString driverDirectory(); + + DrMain* loadPrinterDriver(KMPrinter *p, bool config = false); + DrMain* loadFileDriver(const QString& filename); + bool savePrinterDriver(KMPrinter *p, DrMain *d); + + bool restartServer(); + bool configureServer(QWidget *parent = 0); + QStringList detectLocalPrinters(); + + void createPluginActions(KActionCollection*); + void validatePluginActions(KActionCollection*, KMPrinter*); + QString stateInformation(); + +public slots: + void exportDriver(); + void printerIppReport(); + +protected slots: + void slotConnectionFailed( int ); + void slotConnectionSuccess(); + void slotAsyncConnect(); + + void hostPingSlot(); + void hostPingFailedSlot(); + +protected: + // the real printer listing job is done here + void listPrinters(); + void loadServerPrinters(); + void processRequest(IppRequest*); + bool setPrinterState(KMPrinter *p, int st); + DrMain* loadDriverFile(const QString& filename); + DrMain* loadMaticDriver(const QString& drname); + void saveDriverFile(DrMain *driver, const QString& filename); + void reportIppError(IppRequest*); + void* loadCupsdConfFunction(const char*); + void unloadCupsdConf(); + QString cupsInstallDir(); + void ippReport(IppRequest&, int, const QString&); + void checkUpdatePossibleInternal(); + +private: + KLibrary *m_cupsdconf; + KMPrinter *m_currentprinter; + KNetwork::KStreamSocket *m_socket; + bool m_hostSuccess; + bool m_lookupDone; +}; + +#endif |