diff options
Diffstat (limited to 'kdeprint/management/kmwlpd.cpp')
-rw-r--r-- | kdeprint/management/kmwlpd.cpp | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/kdeprint/management/kmwlpd.cpp b/kdeprint/management/kmwlpd.cpp deleted file mode 100644 index cce4c7b5a..000000000 --- a/kdeprint/management/kmwlpd.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/* - * This file is part of the KDE libraries - * Copyright (c) 2001 Michael Goffioul <tdeprint@swing.be> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License version 2 as published by the Free Software Foundation. - * - * This library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - **/ - -#include <config.h> -#include "kmwlpd.h" -#include "kmwizard.h" -#include "kmprinter.h" - -#include <kurl.h> -#include <klocale.h> -#include <tqlabel.h> -#include <kdebug.h> -#include <tqlineedit.h> -#include <kmessagebox.h> -#include <kextsock.h> - -static bool checkLpdQueue(const char *host, const char *queue); - -//******************************************************************************************************** - -KMWLpd::KMWLpd(TQWidget *parent, const char *name) -: KMWInfoBase(2,parent,name) -{ - m_ID = KMWizard::LPD; - m_title = i18n("LPD Queue Information"); - m_nextpage = KMWizard::Driver; - - setInfo(i18n("<p>Enter the information concerning the remote LPD queue; " - "this wizard will check it before continuing.</p>")); - setLabel(0,i18n("Host:")); - setLabel(1,i18n("Queue:")); -} - -bool KMWLpd::isValid(TQString& msg) -{ - if (text(0).isEmpty() || text(1).isEmpty()) - { - msg = i18n("Some information is missing."); - return false; - } - - // check LPD queue - if (!checkLpdQueue(text(0).latin1(),text(1).latin1())) - { - if (KMessageBox::warningContinueCancel(this, i18n("Cannot find queue %1 on server %2; do you want to continue anyway?").arg(text(1)).arg(text(0))) == KMessageBox::Cancel) - return false; - } - return true; -} - -void KMWLpd::updatePrinter(KMPrinter *p) -{ - QString dev = TQString::tqfromLatin1("lpd://%1/%2").arg(text(0)).arg(text(1)); - p->setDevice(dev); -} - -//******************************************************************************************************* - -bool checkLpdQueue(const char *host, const char *queue) -{ - KExtendedSocket sock(host, "printer", KExtendedSocket::streamSocket); - sock.setBlockingMode(true); - if (sock.connect() != 0) - return false; - - char res[64] = {0}; - snprintf(res,64,"%c%s\n",(char)4,queue); - if (sock.tqwriteBlock(res, strlen(res)) != (TQ_LONG)(strlen(res))) - return false; - - char buf[1024] = {0}; - int n, tot(1); - while ((n = sock.tqreadBlock(res, 63)) > 0) - { - res[n] = 0; - tot += n; - if (tot >= 1024) - break; - else - strcat(buf, res); - } - sock.close(); - if (strlen(buf) == 0 || strstr(buf, "unknown printer") != NULL) - return false; - return true; -} |