#include "mainwindow.h" #include "tools.h" #include "password.h" #include #include using namespace std; #define READ 0 #define WRITE 1 extern QMap rsyncErrorStrings; extern QApplication a; // test return code of rsync // return true in case of error bool testRsyncReturn(MainWindow * w, QProcess * myProcess) { info(DEBUGMACRO, "testRsyncReturn()"); info(DEBUGMACRO, "Exit status: " + QString::number(myProcess->exitStatus())); info(DEBUGMACRO, "Exit code: " + QString::number(myProcess->exitCode())); if (myProcess->exitStatus() != 0 and w->stopDlAsked != true) { info(DEBUGMACRO, "rsync error " + myProcess->errorString()); QMessageBox::warning( w, a.applicationName(), QTranslator::tr("Rsync error:\n") + rsyncErrorStrings[myProcess->error()], //myProcess->errorString(), QMessageBox::Ok, QMessageBox::Ok); return true; } if(myProcess->exitCode() != 0) { info(DEBUGMACRO, "rsync error " + myProcess->errorString()); QMessageBox::warning( w, a.applicationName(), QTranslator::tr("Rsync error:\n") + rsyncErrorStrings[myProcess->exitCode()], QMessageBox::Ok, QMessageBox::Ok); return true; } w->stopDlAsked = false; return false; } QString getFileType(QString filename) { QMimeDatabase db; QMimeType mime = db.mimeTypeForFile(filename); QString returnValue = mime.name().section('/',0 ,0); return returnValue; } QString preparePath(QString path) { return path.trimmed().replace(' ', "\ "); } int whatIpVersion(QString ipAddress) { QStringList fieldList; ulong field; uint i; info(DEBUGMACRO, "ipVersion of server at " + ipAddress); fieldList = ipAddress.split(":"); if (fieldList.count() == 8) { for (i=0;i<8;i++) { field = fieldList[i].toUInt(); if (field > 65535) { return 0; } } info(DEBUGMACRO, "Address is Ip V6"); return 6; } fieldList = ipAddress.split("."); if(fieldList.count() == 4) { for (i=0;i<4;i++) { field = fieldList[i].toUInt(); if (field > 255) { return 0; } } info(DEBUGMACRO, "Address is ip V4"); return 4; } return 0; } QHostAddress searchHosts(QString server) { QString line = ""; QStringList hosts; QFile fileHandle; QHostAddress serverAddress; info(DEBUGMACRO, "reading /etc/hosts"); if (!fileHandle.open(QIODevice::ReadOnly)) { QMessageBox::information(0,MainWindow::tr("Error"), fileHandle.errorString()); }else { QTextStream in(&fileHandle); while(!in.atEnd()) { line = in.readLine(); hosts = line.split(' '); if (hosts.contains(server)) { if (!serverAddress.isNull() and serverAddress.protocol() == QAbstractSocket::IPv4Protocol) { serverAddress.setAddress(hosts.first()); } } } } } void warning(QString message) { QMessageBox::warning( NULL, a.applicationName() + "", message, QMessageBox::Ok, QMessageBox::Ok); } void error(QString message) { QMessageBox::warning( NULL, a.applicationName() + ":" + QTranslator::tr("Error"), message, QMessageBox::Ok, QMessageBox::Ok); } void info(QString debugHeader, QString message) { qInfo("%s %s", debugHeader.toStdString().c_str(), message.toStdString().c_str()); } //void error()