// The actual check void ConnectionValidator::slotCheckServerAndAuth() { CheckServerJob *checkJob = new CheckServerJob(_account, this); checkJob->setIgnoreCredentialFailure(true); connect(checkJob, SIGNAL(instanceFound(QUrl,QVariantMap)), SLOT(slotStatusFound(QUrl,QVariantMap))); connect(checkJob, SIGNAL(networkError(QNetworkReply*)), SLOT(slotNoStatusFound(QNetworkReply*))); connect(checkJob, SIGNAL(timeout(QUrl)), SLOT(slotJobTimeout(QUrl))); checkJob->start(); }
// status.php could not be loaded. void ConnectionValidator::slotNoStatusFound(QNetworkReply *reply) { // disconnect from ownCloudInfo disconnect( ownCloudInfo::instance(),SIGNAL(ownCloudInfoFound(QString,QString,QString,QString)), this, SLOT(slotStatusFound(QString,QString,QString,QString))); disconnect( ownCloudInfo::instance(),SIGNAL(noOwncloudFound(QNetworkReply*)), this, SLOT(slotNoStatusFound(QNetworkReply*))); _errors.append( reply->errorString() ); emit connectionResult( StatusNotFound ); }
void ConnectionValidator::checkConnection() { if( _account ) { CheckServerJob *checkJob = new CheckServerJob(_account, false, this); checkJob->setIgnoreCredentialFailure(true); connect(checkJob, SIGNAL(instanceFound(QUrl,QVariantMap)), SLOT(slotStatusFound(QUrl,QVariantMap))); connect(checkJob, SIGNAL(networkError(QNetworkReply*)), SLOT(slotNoStatusFound(QNetworkReply*))); checkJob->start(); } else { _errors << tr("No ownCloud account configured"); emit connectionResult( NotConfigured ); } }
void ConnectionValidator::checkConnection() { if( ownCloudInfo::instance()->isConfigured() ) { connect( ownCloudInfo::instance(),SIGNAL(ownCloudInfoFound(QString,QString,QString,QString)), SLOT(slotStatusFound(QString,QString,QString,QString))); connect( ownCloudInfo::instance(),SIGNAL(noOwncloudFound(QNetworkReply*)), SLOT(slotNoStatusFound(QNetworkReply*))); // checks for status.php ownCloudInfo::instance()->checkInstallation(); } else { emit connectionResult( NotConfigured ); } }
void ConnectionValidator::slotStatusFound( const QString& url, const QString& versionStr, const QString& version, const QString& edition) { // status.php was found. qDebug() << "** Application: ownCloud found: " << url << " with version " << versionStr << "(" << version << ")"; // now check the authentication MirallConfigFile cfgFile(_connection); cfgFile.setOwnCloudVersion( version ); // disconnect from ownCloudInfo disconnect( ownCloudInfo::instance(),SIGNAL(ownCloudInfoFound(QString,QString,QString,QString)), this, SLOT(slotStatusFound(QString,QString,QString,QString))); disconnect( ownCloudInfo::instance(),SIGNAL(noOwncloudFound(QNetworkReply*)), this, SLOT(slotNoStatusFound(QNetworkReply*))); if( version.startsWith("4.0") ) { _errors.append( tr("<p>The configured server for this client is too old.</p>" "<p>Please update to the latest server and restart the client.</p>")); emit connectionResult( ServerVersionMismatch ); return; } QTimer::singleShot( 0, this, SLOT( slotFetchCredentials() )); }