[KMTESTS:CC]
[reactos.git] / rostests / rosautotest / CJournaledTestList.h
1 /*
2 * PROJECT: ReactOS Automatic Testing Utility
3 * LICENSE: GNU GPLv2 or any later version as published by the Free Software Foundation
4 * PURPOSE: Class implementing a journaled test list for the Crash Recovery feature
5 * COPYRIGHT: Copyright 2009 Colin Finck <colin@reactos.org>
6 */
7
8 class CJournaledTestList : public CTestList
9 {
10 private:
11 HANDLE m_hJournal;
12 size_t m_ListIterator;
13 vector<CTestInfo> m_List;
14 wstring m_JournalFile;
15
16 void LoadJournalFile();
17 void OpenJournal(DWORD DesiredAccess, bool CreateNew = false);
18 void SerializeIntoJournal(const string& String);
19 void SerializeIntoJournal(const wstring& String);
20 void UnserializeFromBuffer(char** Buffer, string& Output);
21 void UnserializeFromBuffer(char** Buffer, wstring& Output);
22 void UpdateJournal();
23 void WriteInitialJournalFile();
24
25 public:
26 CJournaledTestList(CTest* Test);
27 ~CJournaledTestList();
28
29 CTestInfo* GetNextTestInfo();
30 };