chromium/components/enterprise/browser/reporting/report_scheduler.cc

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/enterprise/browser/reporting/report_scheduler.h"

#include <string>
#include <utility>
#include <vector>

#include "base/metrics/histogram_functions.h"
#include "base/notreached.h"
#include "base/syslog_logging.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "components/enterprise/browser/controller/browser_dm_token_storage.h"
#include "components/enterprise/browser/reporting/common_pref_names.h"
#include "components/enterprise/browser/reporting/reporting_delegate_factory.h"
#include "components/policy/core/common/cloud/cloud_policy_client.h"
#include "components/policy/core/common/cloud/device_management_service.h"
#include "components/policy/core/common/cloud/dm_token.h"
#include "components/prefs/pref_service.h"

em;

namespace enterprise_reporting {

namespace {

const int kMaximumRetry =;  // Retry 10 times takes about 15 to 19 hours.

bool IsBrowserVersionUploaded(ReportScheduler::ReportTrigger trigger) {}

}  // namespace

ReportScheduler::Delegate::Delegate() = default;
ReportScheduler::Delegate::~Delegate() = default;

ReportScheduler::CreateParams::CreateParams() = default;
ReportScheduler::CreateParams::CreateParams(
    ReportScheduler::CreateParams&& other) = default;
ReportScheduler::CreateParams& ReportScheduler::CreateParams::operator=(
    ReportScheduler::CreateParams&& other) = default;
ReportScheduler::CreateParams::~CreateParams() = default;

void ReportScheduler::Delegate::SetReportTriggerCallback(
    ReportScheduler::ReportTriggerCallback callback) {}

ReportScheduler::ReportScheduler(CreateParams params)
    :{}

ReportScheduler::~ReportScheduler() = default;

bool ReportScheduler::IsReportingEnabled() const {}

bool ReportScheduler::IsNextReportScheduledForTesting() const {}

ReportScheduler::ReportTrigger ReportScheduler::GetActiveTriggerForTesting()
    const {}

void ReportScheduler::SetReportUploaderForTesting(
    std::unique_ptr<ReportUploader> uploader) {}

ReportScheduler::Delegate* ReportScheduler::GetDelegateForTesting() {}

void ReportScheduler::OnDMTokenUpdated() {}

void ReportScheduler::UploadFullReport(base::OnceClosure on_report_uploaded) {}

void ReportScheduler::RegisterPrefObserver() {}

void ReportScheduler::OnReportEnabledPrefChanged() {}

void ReportScheduler::Stop() {}

void ReportScheduler::RestartReportTimer() {}

bool ReportScheduler::SetupBrowserPolicyClientRegistration() {}

void ReportScheduler::Start(base::Time last_upload_time) {}

void ReportScheduler::GenerateAndUploadReport(ReportTrigger trigger) {}

void ReportScheduler::OnReportGenerated(ReportRequestQueue requests) {}

void ReportScheduler::OnReportUploaded(ReportUploader::ReportStatus status) {}

void ReportScheduler::RunPendingTriggers() {}

// static
void ReportScheduler::RecordUploadTrigger(ReportTrigger trigger) {}

ReportType ReportScheduler::TriggerToReportType(
    ReportScheduler::ReportTrigger trigger) {}

policy::DMToken ReportScheduler::GetDMToken() {}

}  // namespace enterprise_reporting