blob: b31bd5f3ff0011fc21c2ad1a338734221eb7797f [file] [log] [blame]
// Copyright 2020 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_EXECUTOR_EXECUTOR_MOJO_SERVICE_H_
#define DIAGNOSTICS_CROS_HEALTHD_EXECUTOR_EXECUTOR_MOJO_SERVICE_H_
#include <mojo/public/cpp/bindings/binding.h>
#include "mojo/cros_healthd_executor.mojom.h"
namespace diagnostics {
// Production implementation of the
// chromeos::cros_healthd_executor::mojom::Executor Mojo interface.
class ExecutorMojoService final
: public chromeos::cros_healthd_executor::mojom::Executor {
public:
explicit ExecutorMojoService(
chromeos::cros_healthd_executor::mojom::ExecutorRequest request);
ExecutorMojoService(const ExecutorMojoService&) = delete;
ExecutorMojoService& operator=(const ExecutorMojoService&) = delete;
// chromeos::cros_healthd_executor::mojom::Executor overrides:
void GetFanSpeed(GetFanSpeedCallback callback) override;
void RunMemtester(RunMemtesterCallback callback) override;
private:
// Provides a Mojo endpoint that cros_healthd can call to access the
// executor's Mojo methods.
mojo::Binding<chromeos::cros_healthd_executor::mojom::Executor> binding_;
};
} // namespace diagnostics
#endif // DIAGNOSTICS_CROS_HEALTHD_EXECUTOR_EXECUTOR_MOJO_SERVICE_H_