cupsdconf.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef CUPSDCONF_H
00021 #define CUPSDCONF_H
00022
00023 #include <qstring.h>
00024 #include <qstringlist.h>
00025 #include <qptrlist.h>
00026 #include <qtextstream.h>
00027
00028 #include "cupsdcomment.h"
00029
00030 enum LogLevelType { LOGLEVEL_DEBUG2 = 0, LOGLEVEL_DEBUG, LOGLEVEL_INFO, LOGLEVEL_WARN, LOGLEVEL_ERROR, LOGLEVEL_NONE };
00031 enum OrderType { ORDER_ALLOW_DENY = 0, ORDER_DENY_ALLOW };
00032 enum AuthTypeType { AUTHTYPE_NONE = 0, AUTHTYPE_BASIC, AUTHTYPE_DIGEST };
00033 enum AuthClassType { AUTHCLASS_ANONYMOUS = 0, AUTHCLASS_USER, AUTHCLASS_SYSTEM, AUTHCLASS_GROUP };
00034 enum EncryptionType { ENCRYPT_ALWAYS = 0, ENCRYPT_NEVER, ENCRYPT_REQUIRED, ENCRYPT_IFREQUESTED };
00035 enum BrowseProtocolType { BROWSE_ALL = 0, BROWSE_CUPS, BROWSE_SLP };
00036
00037 struct CupsLocation;
00038 struct CupsResource;
00039 enum ResourceType { RESOURCE_GLOBAL, RESOURCE_PRINTER, RESOURCE_CLASS, RESOURCE_ADMIN };
00040
00041 struct CupsdConf
00042 {
00043
00044 CupsdConf();
00045 ~CupsdConf();
00046
00047 bool loadFromFile(const QString& filename);
00048 bool saveToFile(const QString& filename);
00049 bool parseOption(const QString& line);
00050 bool parseLocation(CupsLocation *location, QTextStream& file);
00051
00052 bool loadAvailableResources();
00053
00054 static CupsdConf* get();
00055 static void release();
00056
00057
00058 static CupsdConf *unique_;
00059
00060
00061 QString servername_;
00062 QString serveradmin_;
00063 QString user_;
00064 QString group_;
00065 QString remroot_;
00066
00067
00068 QString accesslog_;
00069 QString errorlog_;
00070 QString pagelog_;
00071 int loglevel_;
00072 int maxlogsize_;
00073
00074
00075 QString datadir_;
00076 QString requestroot_;
00077 QString serverbin_;
00078 QString serverroot_;
00079 QString tempdir_;
00080 QString fontpath_;
00081
00082
00083 QString documentroot_;
00084 QString defaultcharset_;
00085 QString defaultlanguage_;
00086
00087
00088 int preservejobhistory_;
00089 int preservejobfiles_;
00090 int autopurgejobs_;
00091 int maxjobs_;
00092 int filterlimit_;
00093 QString classification_;
00094 int classifyoverride_;
00095
00096
00097 QString printcap_;
00098 QString ripcache_;
00099
00100
00101 QValueList<int> port_;
00102 int hostnamelookups_;
00103 int keepalive_;
00104 int keepalivetimeout_;
00105 int maxclients_;
00106 int maxrequestsize_;
00107 int timeout_;
00108
00109
00110 int browsing_;
00111 int browseprotocols_;
00112 int browseshortnames_;
00113 int implicitclasses_;
00114 int hideimplicitmembers_;
00115 int implicitanyclasses_;
00116
00117
00118 QStringList browseaddress_;
00119 int browseport_;
00120 QStringList browserelay_;
00121 QStringList browsepoll_;
00122
00123
00124 QStringList browseallow_;
00125 QStringList browsedeny_;
00126 int browseorder_;
00127
00128
00129 int browseinterval_;
00130 int browsetimeout_;
00131
00132
00133 QString systemgroup_;
00134 QPtrList<CupsLocation> locations_;
00135 QPtrList<CupsResource> resources_;
00136
00137
00138 QString servercertificate_;
00139 QString serverkey_;
00140
00141
00142 CupsdComment comments_;
00143 };
00144
00145 struct CupsLocation
00146 {
00147 CupsLocation();
00148 CupsLocation(const CupsLocation& loc);
00149
00150 bool parseOption(const QString& line);
00151 bool parseResource(const QString& line);
00152
00153 CupsResource *resource_;
00154 QString resourcename_;
00155 int authtype_;
00156 int authclass_;
00157 QString authgroupname_;
00158 int order_;
00159 QStringList allow_;
00160 QStringList deny_;
00161 int encryption_;
00162 };
00163
00164 struct CupsResource
00165 {
00166 CupsResource();
00167 CupsResource(const QString& path);
00168
00169 void setPath(const QString& path);
00170
00171 int type_;
00172 QString path_;
00173 QString text_;
00174
00175 static QString textToPath(const QString& text);
00176 static QString pathToText(const QString& path);
00177 static int typeFromPath(const QString& path);
00178 static int typeFromText(const QString& text);
00179 static QString typeToIconName(int type);
00180 };
00181
00182 #endif
This file is part of the documentation for kdeprint Library Version 3.2.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Mar 4 22:45:11 2004 by
doxygen 1.3.6-20040222 written by
Dimitri van Heesch, © 1997-2003