aboutsummaryrefslogtreecommitdiffstats
path: root/kde2
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2001-05-21 21:33:56 +0000
committerFritz Elfert <felfert@to.com>2001-05-21 21:33:56 +0000
commit54c8cf6f971719937edbd38c4e78c57c69894a30 (patch)
tree4047b2bc78ab999fbf28c39ccf43c8d39f6ace1a /kde2
parent422a24ab12eb8ae22be9ee17de6dcc879f202f41 (diff)
downloadplptools-54c8cf6f971719937edbd38c4e78c57c69894a30.tar.gz
plptools-54c8cf6f971719937edbd38c4e78c57c69894a30.tar.bz2
plptools-54c8cf6f971719937edbd38c4e78c57c69894a30.zip
Implemented slave_status (to correctly return idle slaves to pool).
Fixed some NLS probs.
Diffstat (limited to 'kde2')
-rw-r--r--kde2/kioslave/kio_plp.cpp37
-rw-r--r--kde2/kioslave/kio_plp.h1
2 files changed, 32 insertions, 6 deletions
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 <kinstance.h>
#include <kdebug.h>
+#include <kglobal.h>
#include <klocale.h>
#include <kconfig.h>
@@ -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<rfsv::errs> res = plpRpcs->getOwnerInfo(b);
+ Enum<rfsv::errs>res = 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);