// Copyright (c) 2012 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 DEBUGD_SRC_SYSTRACE_TOOL_H_
#define DEBUGD_SRC_SYSTRACE_TOOL_H_

#include <string>

#include <base/macros.h>
#include <dbus/file_descriptor.h>

#include "debugd/src/subprocess_tool.h"

namespace debugd {

class SystraceTool {
 public:
  SystraceTool() = default;
  ~SystraceTool() = default;

  std::string Start(const std::string& categories);
  void Stop(const dbus::FileDescriptor& outfd);
  std::string Status();

 private:
  DISALLOW_COPY_AND_ASSIGN(SystraceTool);
};

}  // namespace debugd

#endif  // DEBUGD_SRC_SYSTRACE_TOOL_H_
