chromium/components/policy/core/common/cloud/reporting_job_configuration_base.h

// Copyright 2020 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_POLICY_CORE_COMMON_CLOUD_REPORTING_JOB_CONFIGURATION_BASE_H_
#define COMPONENTS_POLICY_CORE_COMMON_CLOUD_REPORTING_JOB_CONFIGURATION_BASE_H_

#include <memory>
#include <optional>
#include <string>
#include <string_view>

#include "base/functional/callback.h"
#include "base/values.h"
#include "components/policy/core/common/cloud/cloud_policy_constants.h"
#include "components/policy/core/common/cloud/device_management_service.h"
#include "components/policy/policy_export.h"

namespace policy {

class DMAuth;

// Base for common elements in JobConfigurations for the Reporting pipeline.
// Ensures the following elements are added to each request.
// Device dictionary:
// "device": {
//   "dmToken": "abcdef1234",
//   "clientId": "abcdef1234",
//   "osVersion": "10.0.0.0",
//   "osPlatform": "Windows",
//   "name": "George"
// }
//
// Browser dictionary:
// "browser": {
//   "browserId": "abcdef1234",
//   "chromeVersion": "10.0.0.0",
//   "machineUser": "abcdef1234"
// }
class POLICY_EXPORT ReportingJobConfigurationBase
    : public JobConfigurationBase {};

}  // namespace policy

#endif  // COMPONENTS_POLICY_CORE_COMMON_CLOUD_REPORTING_JOB_CONFIGURATION_BASE_H_