package org.jopenray.rdp;
public class RDPError {
public static final int exDiscReasonNoInfo = 0x0000;
public static final int exDiscReasonAPIInitiatedDisconnect = 0x0001;
public static final int exDiscReasonAPIInitiatedLogoff = 0x0002;
public static final int exDiscReasonServerIdleTimeout = 0x0003;
public static final int exDiscReasonServerLogonTimeout = 0x0004;
public static final int exDiscReasonReplacedByOtherConnection = 0x0005;
public static final int exDiscReasonOutOfMemory = 0x0006;
public static final int exDiscReasonServerDeniedConnection = 0x0007;
public static final int exDiscReasonServerDeniedConnectionFips = 0x0008;
public static final int exDiscReasonLicenseInternal = 0x0100;
public static final int exDiscReasonLicenseNoLicenseServer = 0x0101;
public static final int exDiscReasonLicenseNoLicense = 0x0102;
public static final int exDiscReasonLicenseErrClientMsg = 0x0103;
public static final int exDiscReasonLicenseHwidDoesntMatchLicense = 0x0104;
public static final int exDiscReasonLicenseErrClientLicense = 0x0105;
public static final int exDiscReasonLicenseCantFinishProtocol = 0x0106;
public static final int exDiscReasonLicenseClientEndedProtocol = 0x0107;
public static final int exDiscReasonLicenseErrClientEncryption = 0x0108;
public static final int exDiscReasonLicenseCantUpgradeLicense = 0x0109;
public static final int exDiscReasonLicenseNoRemoteConnections = 0x010a;
/**
* Translate a disconnect code into a text message
*
* @param errorCode
* disconnect code received from server
* @return the text message
*/
public static String getMessageFromDisconnectError(int errorCode) {
String text;
switch (errorCode) {
case exDiscReasonNoInfo:
text = "No information available";
break;
case exDiscReasonAPIInitiatedDisconnect:
text = "Server initiated disconnect";
break;
case exDiscReasonAPIInitiatedLogoff:
text = "Server initiated logoff";
break;
case exDiscReasonServerIdleTimeout:
text = "Server idle timeout reached";
break;
case exDiscReasonServerLogonTimeout:
text = "Server logon timeout reached";
break;
case exDiscReasonReplacedByOtherConnection:
text = "Another user connected to the session";
break;
case exDiscReasonOutOfMemory:
text = "The server is out of memory";
break;
case exDiscReasonServerDeniedConnection:
text = "The server denied the connection";
break;
case exDiscReasonServerDeniedConnectionFips:
text = "The server denied the connection for security reason";
break;
case exDiscReasonLicenseInternal:
text = "Internal licensing error";
break;
case exDiscReasonLicenseNoLicenseServer:
text = "No license server available";
break;
case exDiscReasonLicenseNoLicense:
text = "No valid license available";
break;
case exDiscReasonLicenseErrClientMsg:
text = "Invalid licensing message";
break;
case exDiscReasonLicenseHwidDoesntMatchLicense:
text = "Hardware id doesn't match software license";
break;
case exDiscReasonLicenseErrClientLicense:
text = "Client license error";
break;
case exDiscReasonLicenseCantFinishProtocol:
text = "Network error during licensing protocol";
break;
case exDiscReasonLicenseClientEndedProtocol:
text = "Licensing protocol was not completed";
break;
case exDiscReasonLicenseErrClientEncryption:
text = "Incorrect client license enryption";
break;
case exDiscReasonLicenseCantUpgradeLicense:
text = "Can't upgrade license";
break;
case exDiscReasonLicenseNoRemoteConnections:
text = "The server is not licensed to accept remote connections";
break;
default:
if (errorCode > 0x1000 && errorCode < 0x7fff) {
text = "Internal protocol error";
} else {
text = "Unknown reason";
}
}
return text;
}
}