blob: c460ebc84edbedd738f316f6551f917158575031 [file] [log] [blame]
// Copyright 2021 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 RMAD_RMAD_INTERFACE_H_
#define RMAD_RMAD_INTERFACE_H_
#include <base/callback.h>
#include <rmad/proto_bindings/rmad.pb.h>
namespace rmad {
class RmadInterface {
public:
RmadInterface() = default;
virtual ~RmadInterface() = default;
using GetCurrentStateCallback =
base::Callback<void(const GetCurrentStateReply&)>;
virtual void GetCurrentState(const GetCurrentStateRequest& request,
const GetCurrentStateCallback& callback) = 0;
using TransitionStateCallback =
base::Callback<void(const TransitionStateReply&)>;
virtual void TransitionState(const TransitionStateRequest& request,
const TransitionStateCallback& callback) = 0;
using AbortRmaCallback = base::Callback<void(const AbortRmaReply&)>;
virtual void AbortRma(const AbortRmaRequest& request,
const AbortRmaCallback& callback) = 0;
};
} // namespace rmad
#endif // RMAD_RMAD_INTERFACE_H_