package org.ovirt.engine.ui.userportal.client.uicommonext;
import java.util.logging.Logger;
import com.google.gwt.core.client.GWT;
import org.ovirt.engine.core.compat.Event;
import org.ovirt.engine.ui.uicommon.models.vms.IRdp;
import org.ovirt.engine.ui.uicommon.models.vms.RdpConsoleModel;
import org.ovirt.engine.ui.userportal.client.protocols.RdpConnector;
import org.ovirt.engine.ui.userportal.client.util.ClientAgentType;
public class RDPInterfaceImpl implements IRdp {
private static Logger logger = Logger.getLogger(RDPInterfaceImpl.class
.getName());
private String address;
private String guestID;
private boolean useLocalDrives;
private Event disconnectedEvent = new Event(RdpConsoleModel.RdpDisconnectedEventDefinition);
@Override
public String getAddress() {
return address;
}
@Override
public void setAddress(String value) {
address = value;
}
@Override
public String getGuestID() {
return guestID;
}
@Override
public void setGuestID(String value) {
guestID = value;
}
@Override
public boolean getUseLocalDrives() {
return useLocalDrives;
}
@Override
public void setUseLocalDrives(boolean value) {
useLocalDrives = value;
}
@Override
public void Connect() {
RdpConnector connector = new RdpConnector(getAddress(), getDisconnectedEvent());
connector.setRedirectDrives(getUseLocalDrives());
connector.connect();
}
public String getRDPCabURL() {
return GWT.getModuleBaseURL() + "msrdp.cab";
}
public static boolean isBrowserSupported() {
ClientAgentType cat = new ClientAgentType();
logger.finer("Determining whether browser [" + cat.browser
+ "], version [" + cat.version + "] on OS [" + cat.os
+ "] is supported by spice");
if ((cat.os.equalsIgnoreCase("Windows"))
&& (cat.browser.equalsIgnoreCase("Explorer"))
&& (cat.version >= 7.0)) {
return true;
}
return false;
}
@Override
public Event getDisconnectedEvent() {
return disconnectedEvent;
}
}