From 54c8cf6f971719937edbd38c4e78c57c69894a30 Mon Sep 17 00:00:00 2001 From: Fritz Elfert Date: Mon, 21 May 2001 21:33:56 +0000 Subject: Implemented slave_status (to correctly return idle slaves to pool). Fixed some NLS probs. --- kde2/kioslave/kio_plp.cpp | 37 +++++++++++++++++++++++++++++++------ kde2/kioslave/kio_plp.h | 1 + 2 files changed, 32 insertions(+), 6 deletions(-) (limited to 'kde2/kioslave') diff --git a/kde2/kioslave/kio_plp.cpp b/kde2/kioslave/kio_plp.cpp index 2c03009..5853205 100644 --- a/kde2/kioslave/kio_plp.cpp +++ b/kde2/kioslave/kio_plp.cpp @@ -37,6 +37,7 @@ #include #include +#include #include #include @@ -66,7 +67,7 @@ extern "C" { int kdemain( int argc, char **argv ) { - KInstance instance( "kio_nfs" ); + KInstance instance("kio_plp"); if (argc != 4) { fprintf(stderr, "Usage: kio_plp protocol domain-socket1 domain-socket2\n"); @@ -74,6 +75,7 @@ kdemain( int argc, char **argv ) { } kdDebug(PLP_DEBUGAREA) << "PLP: kdemain: starting" << endl; + KGlobal::locale()->insertCatalogue(QString::fromLatin1("plptools")); PLPProtocol slave(argv[2], argv[3]); slave.dispatchLoop(); return 0; @@ -113,7 +115,9 @@ removeFirstPart(const QString& path, QString &removed) { } PLPProtocol::PLPProtocol (const QCString &pool, const QCString &app) - :SlaveBase("psion", pool, app), plpRfsv(0), plpRfsvSocket(0) { + :SlaveBase("psion", pool, app), plpRfsv(0), plpRfsvSocket(0), + plpRpcs(0), plpRpcsSocket(0) +{ kdDebug(PLP_DEBUGAREA) << "PLPProtocol::PLPProtocol(" << pool << "," << app << ")" << endl; @@ -168,8 +172,14 @@ closeConnection() { delete(plpRfsv); if (plpRfsvSocket) delete(plpRfsvSocket); + if (plpRpcs) + delete(plpRpcs); + if (plpRpcsSocket) + delete(plpRpcsSocket); plpRfsv = 0; plpRfsvSocket = 0; + plpRpcs = 0; + plpRpcsSocket = 0; } bool PLPProtocol:: @@ -237,27 +247,33 @@ openConnection() { closeConnection(); plpRfsvSocket = new ppsocket(); - QString estr = i18n("Could not connect to ncpd at %1:%2").arg(currentHost).arg(currentPort); + QString estr = QString("%1:%2").arg(currentHost).arg(currentPort); if (!plpRfsvSocket->connect((char *)(currentHost.data()), currentPort)) { + closeConnection(); error(ERR_COULD_NOT_CONNECT, estr); return; } rfsvfactory factory(plpRfsvSocket); plpRfsv = factory.create(false); if (plpRfsv == 0L) { - error(ERR_COULD_NOT_CONNECT, estr); + closeConnection(); + error(ERR_COULD_NOT_CONNECT, estr + ": " + + KGlobal::locale()->translate((const char *)factory.getError())); return; } plpRpcsSocket = new ppsocket(); if (!plpRpcsSocket->connect((char *)(currentHost.data()), currentPort)) { + closeConnection(); error(ERR_COULD_NOT_CONNECT, estr); return; } rpcsfactory factory2(plpRpcsSocket); plpRpcs = factory2.create(false); if (plpRpcs == 0L) { - error(ERR_COULD_NOT_CONNECT, estr); + closeConnection(); + error(ERR_COULD_NOT_CONNECT, estr + ": " + + KGlobal::locale()->translate((const char *)factory2.getError())); return; } @@ -272,6 +288,9 @@ openConnection() { plpRpcs->getMachineInfo(machInfo); } + drives.clear(); + drivechars.clear(); + u_int32_t devbits; if ((res = plpRfsv->devlist(devbits)) == rfsv::E_PSI_GEN_NONE) { @@ -300,6 +319,12 @@ openConnection() { kdDebug(PLP_DEBUGAREA) << "openConnection succeeded" << endl; } +void PLPProtocol:: +slave_status() { + kdDebug(PLP_DEBUGAREA) << "PLP::slave_status " << (plpRfsv != 0) << endl; + slaveStatus(QString::null, (plpRfsv != 0)); +} + bool PLPProtocol:: checkConnection() { kdDebug(PLP_DEBUGAREA) << "PLP::checkConnection" << endl; @@ -1109,7 +1134,7 @@ special(const QByteArray &a) { kdDebug(PLP_DEBUGAREA) << "get Ownerinfo" << endl; bufferArray b; - Enum res = plpRpcs->getOwnerInfo(b); + Enumres = plpRpcs->getOwnerInfo(b); if (res != rfsv::E_PSI_GEN_NONE) { error(ERR_COULD_NOT_STAT, "Owner"); return; diff --git a/kde2/kioslave/kio_plp.h b/kde2/kioslave/kio_plp.h index c5c0701..4f2763a 100644 --- a/kde2/kioslave/kio_plp.h +++ b/kde2/kioslave/kio_plp.h @@ -54,6 +54,7 @@ public: virtual void chmod(const KURL& url, int permissions); virtual void rename(const KURL &src, const KURL &dest, bool overwrite); virtual void copy(const KURL& src, const KURL &dest, int mode, bool overwrite ); + virtual void slave_status(void); virtual void special(const QByteArray &a); void calcprogress(long total); -- cgit v1.2.3