//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- #pragma once #include "Core/ICustomConfigFlags.h" class HostConfigFlags : public ICustomConfigFlags { public: #define FLAG(Type, Name, Desc, Default) \ Type Name; \ bool Name##IsEnabled; #include "HostConfigFlagsList.h" static HostConfigFlags flags; static LPWSTR* argsVal; static int argsCount; static void(__stdcall *pfnPrintUsage)(); static void HandleArgsFlag(int& argc, _Inout_updates_to_(argc, argc) LPWSTR argv[]); virtual bool ParseFlag(LPCWSTR flagsString, ICmdLineArgsParser * parser) override; virtual void PrintUsage() override; static void PrintUsageString(); private: int nDummy; HostConfigFlags(); template void Parse(ICmdLineArgsParser * parser, T * value); };