blob: bfb6849619c5e45b6fd9b735e1487e3a483030b0 [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
Ben Chan657bed82014-09-02 20:40:51 -070011#include <base/macros.h>
Sam Lefflerf81eaa82012-03-01 09:50:30 -080012#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);
Ben Chan657bed82014-09-02 20:40:51 -070026
27 private:
28 DISALLOW_COPY_AND_ASSIGN(SystraceTool);
Sam Lefflerf81eaa82012-03-01 09:50:30 -080029};
30
Ben Chana0011d82014-05-13 00:19:29 -070031} // namespace debugd
Sam Lefflerf81eaa82012-03-01 09:50:30 -080032
Alex Vakulenko262be3f2014-07-30 15:25:50 -070033#endif // DEBUGD_SRC_SYSTRACE_TOOL_H_