chromium/components/enterprise/browser/reporting/report_uploader.h

// 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.

#ifndef COMPONENTS_ENTERPRISE_BROWSER_REPORTING_REPORT_UPLOADER_H_
#define COMPONENTS_ENTERPRISE_BROWSER_REPORTING_REPORT_UPLOADER_H_

#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/timer/timer.h"
#include "components/enterprise/browser/reporting/report_request.h"
#include "components/policy/core/common/cloud/cloud_policy_client.h"
#include "net/base/backoff_entry.h"

namespace base {
class OneShotTimer;
}  // namespace base

namespace net {
class BackoffEntry;
}  // namespace net

namespace enterprise_reporting {

// A class that is responsible for uploading multiple requests and retrying in
// case of error.
// Requests will be sent one after another with shared retry count. However, a
// successful request will minus the retry count by one.
class ReportUploader {};

enum ReportResponseMetricsStatus {};

}  // namespace enterprise_reporting

#endif  // COMPONENTS_ENTERPRISE_BROWSER_REPORTING_REPORT_UPLOADER_H_