package com.bocloud.cmp.model.horizon;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * VMware.Hv.DisplayProtocolSettings
 * 
 * @author HP
 *
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class VmwareHorizonDesktopDisplayProtocolSettings {

	/**
	 * The list of supported display protocols for the desktop. This property has a
	 * default value of ["PCOIP", "RDP", "BLAST"]. This property cannot be updated.
	 * This property will be one of: "RDP" Microsoft Remote Desktop Protocol.
	 * "PCOIP" PC over IP. "BLAST" BLAST.
	 */
	private List<String> supportedDisplayProtocols;
	/**
	 * The default display protocol for the desktop. For a managed desktop, this
	 * will default to "PCOIP". For an unmanaged desktop, this will default to
	 * "RDP". This property will be one of: "RDP" Microsoft Remote Desktop Protocol.
	 * "PCOIP" PC over IP. "BLAST" BLAST.
	 * 
	 */
	private String defaultDisplayProtocol;
	/**
	 * Whether the users can choose the protocol. This property has a default value
	 * of true.
	 */
	private Boolean allowUsersToChooseProtocol;
	/**
	 * Settings specific to 3D rendering when allowed protocol is PCOIP or BLAST.
	 * 
	 */
	private VmwareHorizonDesktopPCoIPDisplaySettings pcoipDisplaySettings;
	/**
	 * HTML Access, enabled by VMware Blast technology, allows users to connect to
	 * View machines from Web browsers. View Client software does not have to be
	 * installed on the client devices. To enable HTML Access, you must install the
	 * HTML Machine Access feature pack. Also, Blast must be configured as a
	 * supported protocol in supportedDisplayProtocols. This property has a default
	 * value of false.
	 */
	private Boolean enableHTMLAccess;
	/**
	 * Enable session collaboration feature. Session collaboration allows a user to
	 * share their remote session with other users. Blast must be configured as a
	 * supported protocol in supportedDisplayProtocols. Since Horizon 7.4 This
	 * property has a default value of false. This property need not be set.
	 */
	private Boolean enableCollaboration;
}
