1 /*
2     SPDX-FileCopyrightText: 2010-2012 Daniel Nicoletti <dantti12@gmail.com>
3 
4     SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #include "KCupsServer.h"
8 
9 #include <cups/adminutil.h>
10 #include <cups/cups.h>
11 
12 #include <config.h>
13 
KCupsServer()14 KCupsServer::KCupsServer()
15 {
16 }
17 
KCupsServer(const QVariantHash & arguments)18 KCupsServer::KCupsServer(const QVariantHash &arguments)
19 {
20     m_arguments = arguments;
21 }
22 
allowRemoteAdmin() const23 bool KCupsServer::allowRemoteAdmin() const
24 {
25     return m_arguments[QLatin1String(CUPS_SERVER_REMOTE_ADMIN)].toBool();
26 }
27 
setAllowRemoteAdmin(bool allow)28 void KCupsServer::setAllowRemoteAdmin(bool allow)
29 {
30     m_arguments[QLatin1String(CUPS_SERVER_REMOTE_ADMIN)] = allow ? QLatin1String("1") : QLatin1String("0");
31 }
32 
allowUserCancelAnyJobs() const33 bool KCupsServer::allowUserCancelAnyJobs() const
34 {
35     return m_arguments[QLatin1String(CUPS_SERVER_USER_CANCEL_ANY)].toBool();
36 }
37 
setAllowUserCancelAnyJobs(bool allow)38 void KCupsServer::setAllowUserCancelAnyJobs(bool allow)
39 {
40     m_arguments[QLatin1String(CUPS_SERVER_USER_CANCEL_ANY)] = allow ? QLatin1String("1") : QLatin1String("0");
41 }
42 
showSharedPrinters() const43 bool KCupsServer::showSharedPrinters() const
44 {
45 #if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 6
46     return m_arguments.value(CUPS_SERVER_REMOTE_PRINTERS).toBool();
47 #else
48     return false;
49 #endif
50 }
51 
setShowSharedPrinters(bool show)52 void KCupsServer::setShowSharedPrinters(bool show)
53 {
54 #if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 6
55     m_arguments[CUPS_SERVER_REMOTE_PRINTERS] = show ? QLatin1String("1") : QLatin1String("0");
56 #else
57     Q_UNUSED(show)
58 #endif // CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 6
59 }
60 
sharePrinters() const61 bool KCupsServer::sharePrinters() const
62 {
63     return m_arguments[QLatin1String(CUPS_SERVER_SHARE_PRINTERS)].toBool();
64 }
65 
setSharePrinters(bool share)66 void KCupsServer::setSharePrinters(bool share)
67 {
68     m_arguments[QLatin1String(CUPS_SERVER_SHARE_PRINTERS)] = share ? QLatin1String("1") : QLatin1String("0");
69 }
70 
allowPrintingFromInternet() const71 bool KCupsServer::allowPrintingFromInternet() const
72 {
73     return m_arguments[QLatin1String(CUPS_SERVER_REMOTE_ANY)].toBool();
74 }
75 
setAllowPrintingFromInternet(bool allow)76 void KCupsServer::setAllowPrintingFromInternet(bool allow)
77 {
78     m_arguments[QLatin1String(CUPS_SERVER_REMOTE_ANY)] = allow ? QLatin1String("1") : QLatin1String("0");
79 }
80 
arguments() const81 QVariantHash KCupsServer::arguments() const
82 {
83     return m_arguments;
84 }
85