1 /* 2 SPDX-FileCopyrightText: 2010-2012 Daniel Nicoletti <dantti12@gmail.com> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #ifndef KCUPSPRINTER_H 8 #define KCUPSPRINTER_H 9 10 #include <QString> 11 #include <QIcon> 12 13 #include <KCupsConnection.h> 14 15 class Q_DECL_EXPORT KCupsPrinter 16 { 17 Q_ENUMS(Attribute) 18 public: 19 typedef enum { 20 Idle = 3, 21 Printing, 22 Stopped 23 } Status; 24 KCupsPrinter(); 25 explicit KCupsPrinter(const QString &printer, bool isClass = false); 26 27 QString name() const; 28 bool isClass() const; 29 bool isDefault() const; 30 bool isShared() const; 31 bool isAcceptingJobs() const; 32 cups_ptype_e type() const; 33 QString location() const; 34 QString info() const; 35 QString makeAndModel() const; 36 QStringList commands() const; 37 QStringList memberNames() const; 38 QString deviceUri() const; 39 QStringList errorPolicy() const; 40 QStringList errorPolicySupported() const; 41 QStringList opPolicy() const; 42 QStringList opPolicySupported() const; 43 QStringList jobSheetsDefault() const; 44 QStringList jobSheetsSupported() const; 45 QStringList requestingUserNameAllowed() const; 46 QStringList requestingUserNameDenied() const; 47 QStringList authInfoRequired() const; 48 QString uriSupported() const; 49 50 Status state() const; 51 QString stateMsg() const; 52 int markerChangeTime() const; 53 QVariant argument(const QString &name) const; 54 55 /** 56 * Requires enum PrinterType to work properly 57 * 58 */ 59 QIcon icon() const; 60 static QIcon icon(cups_ptype_e type); 61 QString iconName() const; 62 static QString iconName(cups_ptype_e type); 63 64 protected: 65 KCupsPrinter(const QVariantHash &arguments); 66 67 private: 68 friend class KCupsRequest; 69 70 QString m_printer; 71 bool m_isClass; 72 QVariantHash m_arguments; 73 }; 74 75 typedef QList<KCupsPrinter> KCupsPrinters; 76 Q_DECLARE_METATYPE(KCupsPrinters) 77 Q_DECLARE_METATYPE(KCupsPrinter) 78 79 #endif // KCUPSPRINTER_H 80