1 /*
2  * PROJECT:     ReactOS Automatic Testing Utility
3  * LICENSE:     GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
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 };
31