#include "errorstrings.h" using namespace amnezia; QString errorString(ErrorCode code){ switch (code) { // General error codes case(NoError): return QObject::tr("No error"); case(UnknownError): return QObject::tr("Unknown Error"); case(NotImplementedError): return QObject::tr("Function not implemented"); // Server errors case(ServerCheckFailed): return QObject::tr("Server check failed"); case(ServerPortAlreadyAllocatedError): return QObject::tr("Server port already used. Check for another software"); case(ServerContainerMissingError): return QObject::tr("Server error: Docker container missing"); case(ServerDockerFailedError): return QObject::tr("Server error: Docker failed"); case(ServerCancelInstallation): return QObject::tr("Installation canceled by user"); // Ssh connection errors case(SshSocketError): return QObject::tr("Ssh connection error"); case(SshTimeoutError): return QObject::tr("Ssh connection timeout"); case(SshProtocolError): return QObject::tr("Ssh protocol error"); case(SshHostKeyError): return QObject::tr("Ssh server ket check failed"); case(SshKeyFileError): return QObject::tr("Ssh key file error"); case(SshAuthenticationError): return QObject::tr("Ssh authentication error"); case(SshClosedByServerError): return QObject::tr("Ssh session closed"); case(SshInternalError): return QObject::tr("Ssh internal error"); // Ssh remote process errors case(SshRemoteProcessCreationError): return QObject::tr("Failed to create remote process on server"); case(FailedToStartRemoteProcessError): return QObject::tr("Failed to start remote process on server"); case(RemoteProcessCrashError): return QObject::tr("Remote process on server crashed"); // Local errors case (FailedToSaveConfigData): return QObject::tr("Failed to save config to disk"); case (OpenVpnConfigMissing): return QObject::tr("OpenVPN config missing"); case (OpenVpnManagementServerError): return QObject::tr("OpenVPN management server error"); // Distro errors case (OpenVpnExecutableMissing): return QObject::tr("OpenVPN executable missing"); case (ShadowSocksExecutableMissing): return QObject::tr("ShadowSocks (ss-local) executable missing"); case (CloakExecutableMissing): return QObject::tr("Cloak (ck-client) executable missing"); case (AmneziaServiceConnectionFailed): return QObject::tr("Amnezia helper service error"); case (OpenSslFailed): return QObject::tr("OpenSSL failed"); // VPN errors case (OpenVpnAdaptersInUseError): return QObject::tr("Can't connect: another VPN connection is active"); case (OpenVpnTapAdapterError): return QObject::tr("Can't setup OpenVPN TAP network adapter"); case (AddressPoolError): return QObject::tr("VPN pool error: no available addresses"); case(InternalError): default: return QObject::tr("Internal error"); } } QDebug operator<<(QDebug debug, const ErrorCode &e) { QDebugStateSaver saver(debug); debug.nospace() << "ErrorCode::" << int(e) << "(" << errorString(e) << ")"; return debug; }