using System; using TweetDuck.Data; namespace TweetDuck.Configuration{ static class Arguments{ // public args public const string ArgDataFolder = "-datafolder"; public const string ArgLogging = "-log"; public const string ArgIgnoreGDPR = "-nogdpr"; public const string ArgNotificationScrollWA = "-nscrollwa"; // internal args public const string ArgRestart = "-restart"; public const string ArgImportCookies = "-importcookies"; public const string ArgDeleteCookies = "-deletecookies"; public const string ArgUpdated = "-updated"; // class data and methods private static readonly CommandLineArgs Current = CommandLineArgs.FromStringArray('-', Environment.GetCommandLineArgs()); public static bool HasFlag(string flag){ return Current.HasFlag(flag); } public static string GetValue(string key, string defaultValue){ return Current.GetValue(key, defaultValue); } public static CommandLineArgs GetCurrentClean(){ CommandLineArgs args = Current.Clone(); args.RemoveFlag(ArgRestart); args.RemoveFlag(ArgImportCookies); args.RemoveFlag(ArgDeleteCookies); args.RemoveFlag(ArgUpdated); return args; } public static CommandLineArgs GetCurrentForInstaller(){ CommandLineArgs args = GetCurrentClean(); args.AddFlag(ArgUpdated); return args; } public static string GetCurrentForInstallerCmd(){ return GetCurrentForInstaller().ToString().Replace("\"", "::"); } } }