1 /* 2 * PROJECT: ReactOS Automatic Testing Utility 3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) 4 * PURPOSE: Main header file 5 * COPYRIGHT: Copyright 2009-2015 Colin Finck (colin@reactos.org) 6 */ 7 8 #ifndef _ROSAUTOTEST_H_ 9 #define _ROSAUTOTEST_H_ 10 11 /* General includes */ 12 #include <iostream> 13 #include <memory> 14 #include <sstream> 15 #include <string> 16 #include <vector> 17 #include <iomanip> 18 19 using namespace std; 20 21 #define WIN32_NO_STATUS 22 #define _INC_WINDOWS 23 #define COM_NO_WINDOWS_H 24 #include <windef.h> 25 #include <winbase.h> 26 #include <winnls.h> 27 #include <reason.h> 28 #include <shlobj.h> 29 #include <wininet.h> 30 #include <winreg.h> 31 32 #include <ndk/rtlfuncs.h> 33 #include <reactos/buildno.h> 34 35 /* Class includes */ 36 #include "auto_array_ptr.h" 37 #include "CConfiguration.h" 38 #include "CFatalException.h" 39 #include "CInvalidParameterException.h" 40 #include "CPipe.h" 41 #include "CProcess.h" 42 #include "CPipedProcess.h" 43 #include "CSimpleException.h" 44 #include "CTestException.h" 45 #include "CTestInfo.h" 46 #include "CTest.h" 47 #include "CTestList.h" 48 #include "CJournaledTestList.h" 49 #include "CVirtualTestList.h" 50 #include "CWebService.h" 51 #include "CWineTest.h" 52 53 #include <rosautotestmsg.h> 54 55 /* Useful macros */ 56 #define EXCEPTION(Message) throw CSimpleException(Message) 57 #define FATAL(Message) throw CFatalException(__FILE__, __LINE__, Message) 58 #define SSEXCEPTION throw CSimpleException(ss.str()) 59 #define TESTEXCEPTION(Message) throw CTestException(Message) 60 61 /* main.c */ 62 extern CConfiguration Configuration; 63 64 /* misc.c */ 65 VOID FreeLogs(VOID); 66 VOID InitLogs(VOID); 67 extern HANDLE hLog; 68 69 /* shutdown.c */ 70 bool ShutdownSystem(); 71 72 /* tools.c */ 73 wstring AsciiToUnicode(const char* AsciiString); 74 wstring AsciiToUnicode(const string& AsciiString); 75 string EscapeString(const char* Input); 76 string EscapeString(const string& Input); 77 string GetINIValue(PCWCH AppName, PCWCH KeyName, PCWCH FileName); 78 bool IsNumber(const char* Input); 79 string StringOut(const string& String, bool forcePrint = true); 80 string UnicodeToAscii(PCWSTR UnicodeString); 81 string UnicodeToAscii(const wstring& UnicodeString); 82 83 #endif /* _ROSAUTOTEST_H_ */ 84