1 /*
2  * PROJECT:     ReactOS Automatic Testing Utility
3  * LICENSE:     GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4  * PURPOSE:     Class for managing all the configuration parameters
5  * COPYRIGHT:   Copyright 2009 Colin Finck (colin@reactos.org)
6  */
7 
8 class CConfiguration
9 {
10 private:
11     bool m_CrashRecovery;
12     bool m_IsInteractive;
13     bool m_IsReactOS;
14     bool m_PrintToConsole;
15     unsigned long m_RepeatCount;
16     bool m_Shutdown;
17     bool m_Submit;
18     bool m_ListModules;
19     string m_Comment;
20     wstring m_Module;
21     string m_Test;
22 
23     string m_AuthenticationRequestString;
24     string m_SystemInfoRequestString;
25 
26 public:
27     CConfiguration();
28     void ParseParameters(int argc, wchar_t* argv[]);
29     void GetSystemInformation();
30     void GetConfigurationFromFile();
31 
32     bool DoCrashRecovery() const { return m_CrashRecovery; }
33     bool DoPrint() const { return m_PrintToConsole; }
34     bool DoShutdown() const { return m_Shutdown; }
35     bool DoSubmit() const { return m_Submit; }
36     bool IsInteractive() const { return m_IsInteractive; }
37     bool IsReactOS() const { return m_IsReactOS; }
38     unsigned long GetRepeatCount() const { return m_RepeatCount; }
39     bool ListModulesOnly() const { return m_ListModules; }
40     const string& GetComment() const { return m_Comment; }
41     const wstring& GetModule() const { return m_Module; }
42     const string& GetTest() const { return m_Test; }
43 
44     const string& GetAuthenticationRequestString() const { return m_AuthenticationRequestString; }
45     const string& GetSystemInfoRequestString() const { return m_SystemInfoRequestString; }
46 };
47