kmcupsjobmanager.h

00001 /*
00002  *  This file is part of the KDE libraries
00003  *  Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be>
00004  *
00005  *  This library is free software; you can redistribute it and/or
00006  *  modify it under the terms of the GNU Library General Public
00007  *  License version 2 as published by the Free Software Foundation.
00008  *
00009  *  This library is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  *  Library General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU Library General Public License
00015  *  along with this library; see the file COPYING.LIB.  If not, write to
00016  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  *  Boston, MA 02110-1301, USA.
00018  **/
00019 
00020 #ifndef KMCUPSJOBMANAGER_H
00021 #define KMCUPSJOBMANAGER_H
00022 
00023 #include "kmjobmanager.h"
00024 #include "ipprequest.h"
00025 #include <qstringlist.h>
00026 
00027 class KMPrinter;
00028 
00029 class KMCupsJobManager : public KMJobManager
00030 {
00031     Q_OBJECT
00032 
00033 public:
00034     KMCupsJobManager(QObject *parent, const char *name, const QStringList &/*args*/);
00035     virtual ~KMCupsJobManager();
00036 
00037     int actions();
00038     QValueList<KAction*> createPluginActions(KActionCollection*);
00039     void validatePluginActions(KActionCollection*, const QPtrList<KMJob>&);
00040     bool doPluginAction(int, const QPtrList<KMJob>&);
00041 
00042 protected:
00043     bool jobIppReport(KMJob*);
00044     bool changePriority(const QPtrList<KMJob>&, bool);
00045     bool editJobAttributes(KMJob*);
00046 
00047 protected:
00048     bool listJobs(const QString&, JobType, int = 0);
00049     bool sendCommandSystemJob(const QPtrList<KMJob>& jobs, int action, const QString& arg = QString::null);
00050     void parseListAnswer(IppRequest& req, KMPrinter *pr);
00051 };
00052 
00053 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys