blob: afba5a3158783c878295bbf7df01b5253501e3c8 [file] [log] [blame]
// Copyright 2018 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_ROUTINES_DIAG_PROCESS_ADAPTER_IMPL_H_
#define DIAGNOSTICS_CROS_HEALTHD_ROUTINES_DIAG_PROCESS_ADAPTER_IMPL_H_
#include <string>
#include <vector>
#include "diagnostics/cros_healthd/routines/diag_process_adapter.h"
namespace diagnostics {
// Production implementation of DiagProcessAdapter.
class DiagProcessAdapterImpl final : public DiagProcessAdapter {
public:
DiagProcessAdapterImpl();
DiagProcessAdapterImpl(const DiagProcessAdapterImpl&) = delete;
DiagProcessAdapterImpl& operator=(const DiagProcessAdapterImpl&) = delete;
~DiagProcessAdapterImpl() override;
base::TerminationStatus GetStatus(
const base::ProcessHandle& handle) const override;
bool StartProcess(const std::vector<std::string>& args,
base::ProcessHandle* handle) override;
bool KillProcess(const base::ProcessHandle& handle) override;
private:
std::string exe_path_;
};
} // namespace diagnostics
#endif // DIAGNOSTICS_CROS_HEALTHD_ROUTINES_DIAG_PROCESS_ADAPTER_IMPL_H_