#ifndef CHROME_BROWSER_ENTERPRISE_CONNECTORS_REPORTING_CRASH_REPORTING_CONTEXT_H_
#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_REPORTING_CRASH_REPORTING_CONTEXT_H_
#include "base/memory/singleton.h"
#include "base/timer/timer.h"
#include "chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.h"
#include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h"
#if !BUILDFLAG(IS_CHROMEOS)
#include "third_party/crashpad/crashpad/client/crash_report_database.h"
#endif
namespace enterprise_connectors {
class RealtimeReportingClient;
class CrashReportingContext
: public policy::ChromeBrowserCloudManagementController::Observer { … };
#if !BUILDFLAG(IS_CHROMEOS)
std::vector<crashpad::CrashReportDatabase::Report> GetNewReportsFromDatabase(
time_t latest_creation_time,
crashpad::CrashReportDatabase* database);
void SetLatestCrashReportTime(PrefService* local_state, time_t timestamp);
time_t GetLatestCrashReportTime(PrefService* local_state);
void UploadToReportingServer(
base::WeakPtr<RealtimeReportingClient> reporting_client,
PrefService* local_state,
std::vector<crashpad::CrashReportDatabase::Report> reports);
base::TimeDelta GetCrashpadPollingInterval();
#endif
}
#endif