1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
/*
* XPP - The X Printing Panel
* --------------------------
*
* cupsHelper - This class was originally written by Michael Goffioul
* (e-mail: gofioul@emic.ucl.ac.be) for QTCUPS, another excellent
* printing frontend for CUPS. This version has the same functions,
* but is more general, it is not dependent on QT, and it also overloads
* printf to get rid of console messages completely and to take the
* information out of these messages
*
* Thank you for your great work, Michael!
*
* Copyright 2000 by Till Kamppeter and Michael Goffioul
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
* 02111-1307 USA
*
*/
#ifndef CUPSHELPER_H
#define CUPSHELPER_H
#include <cups/cups.h>
#include <cups/ipp.h>
const char* cupsGetPassword(const char *prompt);
const char* cupsGetPasswordFromLibrary(const char *prompt);
const char* cupsUser();
const char* cupsUserFromLibrary();
const char* cupsServer();
const char* cupsServerFromLibrary();
int ippPort();
int ippPortFromLibrary();
#include <string.h>
class CupsHelper {
public:
CupsHelper();
~CupsHelper();
static void setLoginInfo(const char *usr = 0, const char *pwd = 0);
static void setHostInfo(const char *host, int port = 631);
static int port();
static const char* host();
static const char* password();
static const char* login();
static ipp_t* newIppRequest();
static ipp_t* processRequest(ipp_t *req, const char *res);
static bool checkHost();
static const char* cupsGetPassword();
static void setup();
static int printerType(const char *name);
private: // Private attributes
static char host_[256];
static char password_[256];
static char login_[256];
static int port_;
static int count_;
};
#endif
|