using System.Collections.Generic;
using System.IO;
using System.Reflection;

namespace QC.CTDS.DM.SharedLibrary;

public static class Constants
{
	public static readonly string IndeterminateState = "indeterminate";

	public static readonly int LogFileCleanupInterval = 5;

	public static readonly string GenerateReportPowerPointOption = "-ppt";

	public static readonly string GenerateReportFormatDescriptorOption = "-f";

	public static readonly string GenerateReportOutputFile = "-o";

	public static readonly string GenerateReportLimitFile = "-l";

	public static readonly string GenerateReportGroupDiscriminatorName = "-gd";

	public static readonly string GenerateReportChartDiscriminatorName = "-cd";

	public static readonly string GenerateReportSheetDiscriminatorName = "-sd";

	public static readonly string GenerateReportValidateFormatDescriptor = "-v";

	public static readonly string GenerateReportSkipDetailedUnitPlots = "-skipDetail";

	public static readonly string GenerateReportSkipStatsColumns = "-skipStatsColumns";

	public static readonly string GenerateReportSuppressStatisticsPlot = "-ss";

	public static readonly string GenerateReportSuppressUnitDetailsPlot = "-sud";

	public static readonly string GenerateReportSuppressUnitPoints = "-sup";

	public static readonly string GenerateReportSuppressLegends = "-sl";

	public static readonly string GenerateReportSuppressDistributionOverlays = "-so";

	public static readonly string GenerateReportSuppressHistogramBins = "-shb";

	public static readonly string GenerateReportCycleColors = "-cup";

	public static readonly string GenerateReportShowLimitUnits = "-lup";

	public static readonly string GenerateReportShowLimitOnScatterPlots = "-lsp";

	public static readonly string GenerateReportIncludeUnitsInLegend = "-ul";

	public static readonly string GenerateReportReducedSummary = "-reducedsummary";

	public static readonly string GenerateReportFailureAnalysis = "-failureanalysis";

	public static readonly string GenerateReportAllFailureAnalysis = "-allfailureanalysis";

	public static readonly string GenerateReportStaticStatsColumns = "-staticstatscolumns";

	public static readonly string GenerateReportShowSerialNumberInChartData = "-suutid";

	public static readonly string GenerateReportDrawLinesForUnitDataPoints = "-dup";

	public static readonly string GenerateReportSuppressAverage = "-sa";

	public static readonly string GenerateReportEnableVerboseLogging = "-d";

	public static readonly string ExcelToPowerpoint = "-xlstoppt";

	public static readonly string FileFolderGroupDataFilesOption = "-g";

	public static readonly string FileFolderGroupRecussiveFilesOption = "-r";

	public static readonly string IncludeInvalidResults = "-inv";

	public static readonly string RunInSequentialMode = "-sequential";

	public static readonly string GenerateReportVersion = "-version";

	public static readonly string GenerateReportAutoFD = "-autoFD";

	public static readonly string GenerateReportAutoLD = "-autoLD";

	public static readonly string SonarSqlCmdLine = "-sql";

	public static readonly string NoLogDataminerRun = "-nolog";

	public static readonly string OpenOutputFiles = "-openoutfiles";

	public static readonly string HelpOption1 = "-help";

	public static readonly string HelpOption2 = "/?";

	public static readonly string SupressCustomLimitLegend = "-scl";

	public static readonly string PreTransformExpression = "-expr";

	public static readonly string PluginsFolderPathCommandLineOption = "-pluginfolderpath";

	public static readonly string OutputPluginName = "-outputPlugin";

	public static readonly string InputPluginName = "-inputplugin";

	public static readonly string DelimiterString = "-delimiter";

	private static string applicationDataPath = "c:\\Qualcomm\\Dataminer.NET";

	private static string defaultTempFilePath = "C:\\Qualcomm\\QMine\\Temp";

	private static List<string> allTestsString = new List<string> { "ALL_TEST", "DM_TIME_ANALYSIS", "DM_TEST_COLL_TIME_ANALYSIS" };

	public static string PluginsFolderPath => Path.Combine(ApplicationFolderPath, "..\\DataminerNetPlugins");

	public static string ApplicationFolderPath => Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

	public static string ApplicationDataPath
	{
		get
		{
			return applicationDataPath;
		}
		set
		{
			applicationDataPath = value;
		}
	}

	public static string DefaultTempFilePath
	{
		get
		{
			return defaultTempFilePath;
		}
		set
		{
			defaultTempFilePath = value;
		}
	}

	public static List<string> AllTestsString
	{
		get
		{
			return allTestsString;
		}
		set
		{
			allTestsString = value;
		}
	}
}
