blob: 8dedd15c405b035832e731ddf72d3dca2f575e1c (
plain) (
tree)
|
|
package de.bwlehrpool.bwlp_guac;
import org.apache.guacamole.net.auth.Credentials;
import org.apache.guacamole.net.auth.simple.SimpleConnection;
import org.apache.guacamole.protocol.GuacamoleConfiguration;
public class WrappedConnection extends SimpleConnection {
private static final String DEFAULT_ROOT_CONNECTION_GROUP = "ROOT";
private final AvailableClient ac;
private boolean valid = true;
private BwlpUserContext context;
public WrappedConnection(String name, AvailableClient ac) {
super(name, name, makeConfig(ac));
this.ac = ac.clone();
setParentIdentifier(DEFAULT_ROOT_CONNECTION_GROUP);
}
private static GuacamoleConfiguration makeConfig(AvailableClient ac) {
return ac.toGuacConfig();
}
public boolean checkConnection(int retries) {
return this.valid && ac.checkConnection(retries);
}
public boolean isValid() {
return this.valid;
}
public void invalidate() {
this.valid = false;
if (this.context != null) {
this.context.clearConnections();
this.context = null;
}
}
public void setContext(BwlpUserContext context) {
this.context = context;
}
public void remoteLogin(Credentials credentials, String resolution) {
this.ac.remoteLogin(credentials, resolution);
}
}
|