crash_upload_list.h revision a3f7b4e666c476898878fa745f637129375cd889
15f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer// Use of this source code is governed by a BSD-style license that can be
35f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer// found in the LICENSE file.
45f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
55f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer#ifndef CHROME_BROWSER_CRASH_UPLOAD_LIST_H_
65f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer#define CHROME_BROWSER_CRASH_UPLOAD_LIST_H_
75f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
85f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer#include "chrome/browser/upload_list.h"
95f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
105f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer// An upload list manager for crash reports from breakpad.
115f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerclass CrashUploadList : public UploadList {
125f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer public:
135f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  // Static factory method that creates the platform-specific implementation
145f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  // of the crash upload list with the given callback delegate.
155f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  static CrashUploadList* Create(Delegate* delegate);
165f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
175f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  // Should match kReporterLogFilename in
185f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  // breakpad/src/client/apple/Framework/BreakpadDefines.h.
195f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  static const char* kReporterLogFilename;
205f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
215f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  // Creates a new crash upload list with the given callback delegate.
225f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  CrashUploadList(Delegate* delegate, const base::FilePath& upload_log_path);
235f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
245f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer protected:
255f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  virtual ~CrashUploadList();
265f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
275f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer private:
285f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer  DISALLOW_COPY_AND_ASSIGN(CrashUploadList);
295f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer};
305f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
315f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer#endif  // CHROME_BROWSER_CRASH_UPLOAD_LIST_H_
325f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer