kdeprintd.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 KDEPRINTD_H
00021 #define KDEPRINTD_H
00022 
00023 #include <kdedmodule.h>
00024 #include <qptrlist.h>
00025 #include <qstringlist.h>
00026 #include <qptrdict.h>
00027 #include <qguardedptr.h>
00028 #include <qintdict.h>
00029 
00030 class KPrintProcess;
00031 class KProcess;
00032 class StatusWindow;
00033 
00034 class KDEPrintd : public KDEDModule
00035 {
00036     Q_OBJECT
00037     K_DCOP
00038 
00039 public:
00040     KDEPrintd(const QCString& obj);
00041     ~KDEPrintd();
00042 
00043 k_dcop:
00044     int print(const QString& cmd, const QStringList& files, bool remove);
00045     QString openPassDlg(const QString& user);
00046     ASYNC statusMessage(const QString& msg, int pid = -1, const QString& appName = QString::null);
00047     QString requestPassword( const QString& user, const QString& host, int port, int seqNbr );
00048     void initPassword( const QString& user, const QString& passwd, const QString& host, int port );
00049 
00050 protected slots:
00051     void slotPrintTerminated( KPrintProcess* );
00052     void slotPrintError( KPrintProcess*, const QString& );
00053     void slotClosed();
00054     void processRequest();
00055 
00056 protected:
00057     bool checkFiles(QString& cmd, const QStringList& files);
00058 
00059 private:
00060     class Request;
00061     QPtrList<KPrintProcess> m_processpool;
00062     QIntDict<StatusWindow>  m_windows;
00063     QPtrList<Request>       m_requestsPending;
00064 };
00065 
00066 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys