setServiceFlags(QtServiceBase::CanBeSuspended);
}
+void AniOni::handleUdpClientError()
+{
+ using namespace AniDBUdpClient;
+
+ qDebug() << "ERROR CODE" << Client::instance()->error();
+ LocalMyList::instance()->database()->log(tr("UDP Client connection error: %1")
+ .arg(Client::instance()->errorString()), 3);
+
+ switch (Client::instance()->error())
+ {
+ case NoError:
+ break;
+
+ case HostLookupError:
+ Client::instance()->clearErrors();
+ QTimer::singleShot(1000, Client::instance(), SLOT(connect()));
+ break;
+
+ case BannedError:
+ case ServerError:
+ case ConnectionTimedOutError:
+ Client::instance()->clearErrors();
+ QTimer::singleShot(1000 * 60 * 40, Client::instance(), SLOT(connect()));
+ break;
+
+ case BindError:
+ case AuthenticationError:
+ case ClientBannedError:
+ case EncryptionError:
+ case UnknownError:
+ default:
+ qWarning("Unrecoverable connection error");
+ application()->exit(1);
+ return;
+ break;
+ }
+}
+
void AniOni::start()
{
- #ifdef Q_OS_WIN
+ #if defined(Q_OS_WIN)
QSettings s(QDir::currentPath() + "/anioni.ini", QSettings::IniFormat);
- #elif Q_OS_UNIX
- qDebug() << "Reading" << s.fileName();
+ #elif defined(Q_OS_UNIX)
QSettings s("/etc/anioni/anioni.ini", QSettings::IniFormat);
#else
QSettings s(QSettings::IniFormat, QSettings::SystemScope, "anioni", "anioni");