blob: 0f19a9c3712b4f52eaaad37e53726ef2440edc1a [file] [log] [blame]
// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef DIAGNOSTICS_CROS_HEALTHD_CROS_HEALTHD_TELEMETRY_SERVICE_IMPL_H_
#define DIAGNOSTICS_CROS_HEALTHD_CROS_HEALTHD_TELEMETRY_SERVICE_IMPL_H_
#include <utility>
#include <vector>
#include <base/macros.h>
#include <base/optional.h>
#include <base/values.h>
#include "diagnostics/cros_healthd/cros_healthd_telemetry_service.h"
#include "diagnostics/telem/telemetry_group_enum.h"
#include "diagnostics/telem/telemetry_item_enum.h"
namespace diagnostics {
// Production implementation of the CrosHealthdTelemetryService interface.
class CrosHealthdTelemetryServiceImpl final
: public CrosHealthdTelemetryService {
public:
CrosHealthdTelemetryServiceImpl();
~CrosHealthdTelemetryServiceImpl() override;
// CrosHealthdTelemetryService overrides:
base::Optional<base::Value> GetTelemetryItem(TelemetryItemEnum item) override;
std::vector<std::pair<TelemetryItemEnum, base::Optional<base::Value>>>
GetTelemetryGroup(TelemetryGroupEnum group) override;
private:
DISALLOW_COPY_AND_ASSIGN(CrosHealthdTelemetryServiceImpl);
};
} // namespace diagnostics
#endif // DIAGNOSTICS_CROS_HEALTHD_CROS_HEALTHD_TELEMETRY_SERVICE_IMPL_H_