using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
using Tango.Logging;
using Tango.PMR.Printing;
using Tango.Settings;
using Tango.Web;
namespace Tango.PPC.Common
{
///
/// Represents the main PPC settings.
///
///
public class PPCSettings : SettingsBase
{
///
/// Gets or sets the logging categories.
///
public List LoggingCategories { get; set; }
///
/// Gets or sets the state of the application.
///
public ApplicationStates ApplicationState { get; set; }
///
/// Gets or sets the machine scanning timeout seconds.
///
public int MachineScanningTimeoutSeconds { get; set; }
///
/// Gets or sets the name of the WiFi network to automatically connect to when the application starts.
///
public String AutoConnectWiFiName { get; set; }
///
/// Gets or sets the password of the WiFi network to automatically connect to when the application starts.
///
public String AutoConnectWiFiPassword { get; set; }
///
/// Gets or sets the embedded COM port if not specified will use auto scanning.
///
public String EmbeddedComPort { get; set; }
///
/// Gets or sets the embedded device scanning hint.
///
public String EmbeddedDeviceHint { get; set; }
///
/// Gets or sets a value indicating whether [enable external bridge].
///
public bool EnableExternalBridge { get; set; }
///
/// Gets or sets the external bridge password.
///
public String ExternalBridgePassword { get; set; }
///
/// Gets or sets a value indicating whether [enable hot spot].
///
public bool EnableHotSpot { get; set; }
///
/// Gets or sets the hot spot password.
///
public String HotSpotPassword { get; set; }
///
/// Gets or sets a value indicating whether to enable team viewer service.
///
public bool EnableRemoteAssistance { get; set; }
///
/// Gets or sets the deployment slot.
///
public DeploymentSlot DeploymentSlot { get; set; }
///
/// Gets or sets a value indicating whether to enable the watch dog process.
///
public bool EnableWatchDog { get; set; }
///
/// Gets or sets a value indicating whether to enable the technician mode when the application starts.
///
public bool EnableTechnicianModeByDefault { get; set; }
///
/// Gets or sets the job upload strategy.
///
public JobUploadStrategy JobUploadStrategy { get; set; }
///
/// Gets or sets a value indicating whether to enable gradient generation.
///
public bool EnableGradientGeneration { get; set; }
///
/// Gets or sets the gradient generation resolution.
///
public int GradientGenerationResolution { get; set; }
///
/// Gets or sets a value indicating whether to enable the application lock screen.
///
public bool EnableLockScreen { get; set; }
///
/// Gets or sets the lock screen timeout.
///
public TimeSpan LockScreenTimeout { get; set; }
///
/// Gets or sets the lock screen password.
///
public String LockScreenPassword { get; set; }
///
/// Gets or sets the enable emergency notifications.
///
public bool EnableEmergencyNotifications { get; set; }
///
/// Gets or sets the emergency COM port.
///
public String EmergencyComPort { get; set; }
///
/// Gets or sets a value indicating whether to enable the job liquid quantity validation.
///
public bool EnableJobLiquidQuantityValidation { get; set; }
///
/// Gets the machine service address.
///
///
public String GetMachineServiceAddress()
{
return DeploymentSlot.ToAddress();
}
///
/// Initializes a new instance of the class.
///
public PPCSettings()
{
JobUploadStrategy = JobUploadStrategy.JobDescriptionFile;
EnableGradientGeneration = true;
GradientGenerationResolution = 20;
MachineScanningTimeoutSeconds = 20;
LoggingCategories = new List();
EmbeddedComPort = "COM10";
EmbeddedDeviceHint = "Tango USB Serial Port";
ExternalBridgePassword = "Aa123456";
HotSpotPassword = "Aa123456";
LockScreenTimeout = TimeSpan.FromMinutes(10);
LockScreenPassword = "1111";
DeploymentSlot = DeploymentSlot.TEST;
EnableWatchDog = true;
EnableEmergencyNotifications = true;
EmergencyComPort = "COM2";
EnableJobLiquidQuantityValidation = true;
}
}
}