blob: b97964a5a21ccb3e8e6eb82a9e1c3f85396f3390 [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_COMMON_SYSTEM_DEBUGD_ADAPTER_IMPL_H_
#define DIAGNOSTICS_COMMON_SYSTEM_DEBUGD_ADAPTER_IMPL_H_
#include <memory>
#include "diagnostics/common/system/debugd_adapter.h"
namespace org {
namespace chromium {
class debugdProxyInterface;
} // namespace chromium
} // namespace org
namespace diagnostics {
class DebugdAdapterImpl final : public DebugdAdapter {
public:
explicit DebugdAdapterImpl(
std::unique_ptr<org::chromium::debugdProxyInterface> debugd_proxy);
DebugdAdapterImpl(const DebugdAdapterImpl&) = delete;
DebugdAdapterImpl& operator=(const DebugdAdapterImpl&) = delete;
~DebugdAdapterImpl() override;
// DebugdAdapter overrides:
void GetSmartAttributes(const StringResultCallback& callback) override;
void GetNvmeIdentity(const StringResultCallback& callback) override;
void RunNvmeShortSelfTest(const StringResultCallback& callback) override;
void RunNvmeLongSelfTest(const StringResultCallback& callback) override;
void StopNvmeSelfTest(const StringResultCallback& callback) override;
void GetNvmeLog(uint32_t page_id,
uint32_t length,
bool raw_binary,
const StringResultCallback& callback) override;
private:
std::unique_ptr<org::chromium::debugdProxyInterface> debugd_proxy_;
};
} // namespace diagnostics
#endif // DIAGNOSTICS_COMMON_SYSTEM_DEBUGD_ADAPTER_IMPL_H_