blob: b40b282c347e93d0d02616a3ad83be142b0a6db0 [file] [log] [blame]
Sam Lefflerf81eaa82012-03-01 09:50:30 -08001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Alex Vakulenko262be3f2014-07-30 15:25:50 -07005#ifndef DEBUGD_SRC_SYSTRACE_TOOL_H_
6#define DEBUGD_SRC_SYSTRACE_TOOL_H_
Sam Lefflerf81eaa82012-03-01 09:50:30 -08007
8#include <map>
9#include <string>
10
11#include <base/basictypes.h>
12#include <dbus-c++/dbus.h>
13
Alex Vakulenko262be3f2014-07-30 15:25:50 -070014#include "debugd/src/subprocess_tool.h"
Sam Lefflerf81eaa82012-03-01 09:50:30 -080015
16namespace debugd {
17
18class SystraceTool {
19 public:
Ben Chan78f89532014-08-29 09:35:09 -070020 SystraceTool() = default;
21 ~SystraceTool() = default;
Sam Lefflerf81eaa82012-03-01 09:50:30 -080022
Ben Chana0011d82014-05-13 00:19:29 -070023 std::string Start(const std::string& categories, DBus::Error* error);
24 void Stop(const DBus::FileDescriptor& outfd, DBus::Error* error);
25 std::string Status(DBus::Error* error);
Sam Lefflerf81eaa82012-03-01 09:50:30 -080026};
27
Ben Chana0011d82014-05-13 00:19:29 -070028} // namespace debugd
Sam Lefflerf81eaa82012-03-01 09:50:30 -080029
Alex Vakulenko262be3f2014-07-30 15:25:50 -070030#endif // DEBUGD_SRC_SYSTRACE_TOOL_H_