// 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_ROUTINES_DIAG_PROCESS_ADAPTER_H_
#define DIAGNOSTICS_ROUTINES_DIAG_PROCESS_ADAPTER_H_

#include <string>
#include <vector>

#include <base/process/kill.h>
#include <base/process/process_handle.h>

namespace diagnostics {

// Provides an interface for controlling a single child process.
class DiagProcessAdapter {
 public:
  virtual ~DiagProcessAdapter() = default;

  // Retrieves the status of the child process.
  virtual base::TerminationStatus GetStatus(
      const base::ProcessHandle& handle) const = 0;

  // Launches the specified process.
  virtual bool StartProcess(const std::vector<std::string>& args,
                            base::ProcessHandle* handle) = 0;

  // Kills the process which was started earlier by StartProcess.
  virtual bool KillProcess(const base::ProcessHandle& handle) = 0;
};

}  // namespace diagnostics

#endif  // DIAGNOSTICS_ROUTINES_DIAG_PROCESS_ADAPTER_H_
