2
* Copyright (C) 2017 Canonical, Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU Lesser General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
#include "backend/backend.h"
19
PrinterBackend::PrinterBackend(QObject *parent)
24
PrinterBackend::PrinterBackend(const QString &printerName, QObject *parent)
26
, m_printerName(printerName)
30
PrinterBackend::~PrinterBackend()
34
bool PrinterBackend::holdsDefinition() const
39
QString PrinterBackend::printerAdd(const QString &name,
43
const QString &location)
48
QString PrinterBackend::printerAddWithPpd(const QString &name,
50
const QString &ppdFileName,
52
const QString &location)
57
QString PrinterBackend::printerDelete(const QString &name)
62
QString PrinterBackend::printerSetEnabled(const QString &name,
68
QString PrinterBackend::printerSetAcceptJobs(
71
const QString &reason)
76
QString PrinterBackend::printerSetInfo(const QString &name,
82
QString PrinterBackend::printerSetLocation(const QString &name,
83
const QString &location)
88
QString PrinterBackend::printerSetShared(const QString &name,
94
QString PrinterBackend::printerSetJobSheets(const QString &name,
101
QString PrinterBackend::printerSetErrorPolicy(const QString &name,
102
const PrinterEnum::ErrorPolicy &policy)
108
QString PrinterBackend::printerSetOpPolicy(const QString &name,
109
const PrinterEnum::OperationPolicy &policy)
114
QString PrinterBackend::printerSetUsersAllowed(const QString &name,
115
const QStringList &users)
120
QString PrinterBackend::printerSetUsersDenied(const QString &name,
121
const QStringList &users)
126
QString PrinterBackend::printerAddOptionDefault(const QString &name,
127
const QString &option,
128
const QStringList &values)
133
QString PrinterBackend::printerDeleteOptionDefault(const QString &name,
134
const QString &value)
139
QString PrinterBackend::printerAddOption(const QString &name,
140
const QString &option,
141
const QStringList &values)
146
QVariant PrinterBackend::printerGetOption(const QString &name,
147
const QString &option) const
152
QMap<QString, QVariant> PrinterBackend::printerGetOptions(
153
const QString &name, const QStringList &options
156
return QMap<QString, QVariant>();
159
// FIXME: maybe have a PrinterDest iface that has a CupsDest impl?
160
cups_dest_t* PrinterBackend::makeDest(const QString &name,
161
const PrinterJob *options)
166
QList<ColorModel> PrinterBackend::printerGetSupportedColorModels(
167
const QString &name) const
169
return QList<ColorModel>();
172
ColorModel PrinterBackend::printerGetDefaultColorModel(
173
const QString &name) const
179
QList<PrintQuality> PrinterBackend::printerGetSupportedQualities(
180
const QString &name) const
182
return QList<PrintQuality>();
185
PrintQuality PrinterBackend::printerGetDefaultQuality(
186
const QString &name) const
189
return PrintQuality();
192
int PrinterBackend::printFileToDest(const QString &filepath,
193
const QString &title,
194
const cups_dest_t *dest)
199
QString PrinterBackend::printerName() const
204
QString PrinterBackend::description() const
209
QString PrinterBackend::location() const
214
QString PrinterBackend::makeAndModel() const
219
PrinterEnum::State PrinterBackend::state() const
221
return PrinterEnum::State::IdleState;
224
QList<QPageSize> PrinterBackend::supportedPageSizes() const
226
return QList<QPageSize>();
229
QPageSize PrinterBackend::defaultPageSize() const
234
bool PrinterBackend::supportsCustomPageSizes() const
239
QPageSize PrinterBackend::minimumPhysicalPageSize() const
244
QPageSize PrinterBackend::maximumPhysicalPageSize() const
249
QList<int> PrinterBackend::supportedResolutions() const
254
PrinterEnum::DuplexMode PrinterBackend::defaultDuplexMode() const
256
return PrinterEnum::DuplexMode::DuplexNone;
259
QList<PrinterEnum::DuplexMode> PrinterBackend::supportedDuplexModes() const
261
return QList<PrinterEnum::DuplexMode>();
264
QList<Printer*> PrinterBackend::availablePrinters()
266
return QList<Printer*>();
269
QStringList PrinterBackend::availablePrinterNames()
271
return QStringList();
274
Printer* PrinterBackend::getPrinter(const QString &printerName)
279
QString PrinterBackend::defaultPrinterName()
284
PrinterBackend::BackendType PrinterBackend::backendType() const
286
return BackendType::DefaultType;
289
void PrinterBackend::refresh()