Home | History | Annotate | Download | only in browser
      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