1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_CRASH_UPLOAD_LIST_WIN_H_ 6 #define CHROME_BROWSER_CRASH_UPLOAD_LIST_WIN_H_ 7 #pragma once 8 9 #include "chrome/browser/crash_upload_list.h" 10 #include "base/compiler_specific.h" 11 12 // A CrashUploadList that retrieves the list of reported crashes 13 // from the Windows Event Log. 14 class CrashUploadListWin : public CrashUploadList { 15 public: 16 explicit CrashUploadListWin(Delegate* delegate); 17 18 protected: 19 // Loads the list of crashes from the Windows Event Log. 20 virtual void LoadCrashList() OVERRIDE; 21 22 private: 23 // Returns whether the event record is likely a Chrome crash log. 24 bool IsPossibleCrashLogRecord(EVENTLOGRECORD* record) const; 25 26 // Parses the event record and adds it to the crash list. 27 void ProcessPossibleCrashLogRecord(EVENTLOGRECORD* record); 28 29 DISALLOW_COPY_AND_ASSIGN(CrashUploadListWin); 30 }; 31 32 #endif // CHROME_BROWSER_CRASH_UPLOAD_LIST_WIN_H_ 33