summaryrefslogtreecommitdiffstats
path: root/kioslave/finger/kio_finger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kioslave/finger/kio_finger.cpp')
-rw-r--r--kioslave/finger/kio_finger.cpp266
1 files changed, 0 insertions, 266 deletions
diff --git a/kioslave/finger/kio_finger.cpp b/kioslave/finger/kio_finger.cpp
deleted file mode 100644
index 8f330b95e..000000000
--- a/kioslave/finger/kio_finger.cpp
+++ /dev/null
@@ -1,266 +0,0 @@
-
-/***************************************************************************
- kio_finger.cpp - description
- -------------------
- begin : Sun Aug 12 2000
- copyright : (C) 2000 by Andreas Schlapbach
- email : schlpbch@iam.unibe.ch
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * 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. *
- * *
- ***************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <string.h>
-
-#include <tqtextstream.h>
-#include <tqdict.h>
-#include <tqcstring.h>
-#include <tqfile.h>
-#include <tqregexp.h>
-
-#include <kdebug.h>
-#include <kinstance.h>
-#include <kglobal.h>
-#include <kstandarddirs.h>
-#include <klocale.h>
-#include <kurl.h>
-
-#include "kio_finger.h"
-
-
-using namespace TDEIO;
-
-static const TQString defaultRefreshRate = "60";
-
-extern "C"
-{
- KDE_EXPORT int kdemain( int argc, char **argv )
- {
- TDEInstance instance( "kio_finger" );
-
- //kdDebug() << "*** Starting kio_finger " << getpid() << endl;
-
- if (argc != 4)
- {
- fprintf(stderr, "Usage: kio_finger protocol domain-socket1 domain-socket2\n");
- exit(-1);
- }
-
- FingerProtocol slave(argv[2], argv[3]);
- slave.dispatchLoop();
-
- //kdDebug() << "*** kio_finger Done" << endl;
- return 0;
- }
-}
-
-
-/* ---------------------------------------------------------------------------------- */
-
-
-FingerProtocol::FingerProtocol(const TQCString &pool_socket, const TQCString &app_socket)
- : TQObject(), SlaveBase("finger", pool_socket, app_socket)
-{
- myStdStream = new TQString();
- getProgramPath();
-}
-
-
-/* ---------------------------------------------------------------------------------- */
-
-
-FingerProtocol::~FingerProtocol()
-{
- //kdDebug() << "FingerProtocol::~FingerProtocol()" << endl;
- delete myURL;
- delete myPerlPath;
- delete myFingerPath;
- delete myFingerPerlScript;
- delete myFingerCSSFile;
- delete myStdStream;
-}
-
-
-/* ---------------------------------------------------------------------------------- */
-
-
-void FingerProtocol::get(const KURL& url )
-{
- //kdDebug() << "kio_finger::get(const KURL& url)" << endl ;
-
- this->parseCommandLine(url);
-
- //kdDebug() << "myURL: " << myURL->prettyURL() << endl;
-
- // Reset the stream
- *myStdStream="";
-
- TQString query = myURL->query();
- TQString refreshRate = defaultRefreshRate;
-
- //kdDebug() << "query: " << query << endl;
-
- // Check the validity of the query
-
- TQRegExp regExp("?refreshRate=[0-9][0-9]*", true, true);
- if (query.contains(regExp)) {
- //kdDebug() << "looks like a valid query" << endl;
- TQRegExp regExp( "([0-9]+)" );
- regExp.search(query);
- refreshRate = regExp.cap(0);
- }
-
- //kdDebug() << "Refresh rate: " << refreshRate << endl;
-
- myTDEProcess = new TDEProcess();
- *myTDEProcess << *myPerlPath << *myFingerPerlScript
- << *myFingerPath << *myFingerCSSFile
- << refreshRate << myURL->host() << myURL->user() ;
-
- connect(myTDEProcess, TQT_SIGNAL(receivedStdout(TDEProcess *, char *, int)),
- this, TQT_SLOT(slotGetStdOutput(TDEProcess *, char *, int)));
- //connect(myTDEProcess, TQT_SIGNAL(receivedStderr(TDEProcess *, char *, int)),
- // this, TQT_SLOT(slotGetStdOutput(TDEProcess *, char *, int)));
-
- myTDEProcess->start(TDEProcess::Block, TDEProcess::All);
-
- data(TQCString(TQString(*myStdStream).local8Bit()));
-
- data(TQByteArray());
- finished();
-
- //clean up
-
- delete myTDEProcess;
-}
-
-
-/* ---------------------------------------------------------------------------------- */
-
-
-void FingerProtocol::slotGetStdOutput(TDEProcess* /* p */, char *s, int len)
-{
- //kdDebug() << "void FingerProtocol::slotGetStdoutOutput()" << endl;
- *myStdStream += TQString::fromLocal8Bit(s, len);
-}
-
-
-/* ---------------------------------------------------------------------------------- */
-
-
-void FingerProtocol::mimetype(const KURL & /*url*/)
-{
- mimeType("text/html");
- finished();
-}
-
-
-/* ---------------------------------------------------------------------------------- */
-
-
-void FingerProtocol::getProgramPath()
-{
- //kdDebug() << "kfingerMainWindow::getProgramPath()" << endl;
- // Not to sure wether I'm using the right error number here. - schlpbch -
-
- myPerlPath = new TQString(TDEGlobal::dirs()->findExe("perl"));
- if (myPerlPath->isEmpty())
- {
- //kdDebug() << "Perl command not found" << endl;
- this->error(ERR_CANNOT_LAUNCH_PROCESS,
- i18n("Could not find the Perl program on your system, please install."));
- exit();
- }
- else
- {
- //kdDebug() << "Perl command found:" << *myPerlPath << endl;
- }
-
- myFingerPath = new TQString(TDEGlobal::dirs()->findExe("finger"));
- if ((myFingerPath->isEmpty()))
- {
- //kdDebug() << "Finger command not found" << endl;
- this->error(ERR_CANNOT_LAUNCH_PROCESS,
- i18n("Could not find the Finger program on your system, please install."));
- exit();
- }
- else
- {
- //kdDebug() << "Finger command found:" << *myFingerPath << endl;
- }
-
- myFingerPerlScript = new TQString(locate("data","kio_finger/kio_finger.pl"));
- if (myFingerPerlScript->isEmpty())
- {
- //kdDebug() << "kio_finger.pl script not found" << endl;
- this->error(ERR_CANNOT_LAUNCH_PROCESS,
- i18n("kio_finger Perl script not found."));
- exit();
- }
- else
- {
- //kdDebug() << "kio_finger perl script found: " << *myFingerPerlScript << endl;
- }
-
- myFingerCSSFile = new TQString(locate("data","kio_finger/kio_finger.css"));
- if (myFingerCSSFile->isEmpty())
- {
- //kdDebug() << "kio_finger.css file not found" << endl;
- this->warning(i18n("kio_finger CSS script not found. Output will look ugly."));
- }
- else
- {
- //kdDebug() << "kio_finger CSS file found: " << *myFingerCSSFile << endl;
- }
-}
-
-
-/* --------------------------------------------------------------------------- */
-
-
-void FingerProtocol::parseCommandLine(const KURL& url)
-{
- myURL = new KURL(url);
-
- /*
- * Generate a valid finger url
- */
-
- if(myURL->isEmpty() || !myURL->isValid() ||
- (myURL->user().isEmpty() && myURL->host().isEmpty()))
- {
- myURL->setProtocol("finger");
- myURL->setUser("");
- myURL->setHost("localhost");
- }
-
- /*
- * If no specific port is specified, set it to 79.
- */
-
- if(myURL->port() == 0) {
- myURL->setPort(79);
- }
-
- /*
- * If no refresh rate is given, set it to defaultRefreshRate
- */
-
- if (myURL->query().isEmpty()) {
- myURL->setQuery("?refreshRate="+defaultRefreshRate);
- }
-}
-
-/* ---------------------------------------------------------------------------------- */
-#include "kio_finger.moc"
-/* ---------------------------------------------------------------------------------- */
-