blob: e2dbda10bc62f2b9b138d76e7a90458609858cf4 [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
Sam Lefflerf81eaa82012-03-01 09:50:30 -08008#include <string>
9
Ben Chan657bed82014-09-02 20:40:51 -070010#include <base/macros.h>
Sam Lefflerf81eaa82012-03-01 09:50:30 -080011#include <dbus-c++/dbus.h>
12
Alex Vakulenko262be3f2014-07-30 15:25:50 -070013#include "debugd/src/subprocess_tool.h"
Sam Lefflerf81eaa82012-03-01 09:50:30 -080014
15namespace debugd {
16
17class SystraceTool {
18 public:
Ben Chan78f89532014-08-29 09:35:09 -070019 SystraceTool() = default;
20 ~SystraceTool() = default;
Sam Lefflerf81eaa82012-03-01 09:50:30 -080021
Ben Chana0011d82014-05-13 00:19:29 -070022 std::string Start(const std::string& categories, DBus::Error* error);
23 void Stop(const DBus::FileDescriptor& outfd, DBus::Error* error);
24 std::string Status(DBus::Error* error);
Ben Chan657bed82014-09-02 20:40:51 -070025
26 private:
27 DISALLOW_COPY_AND_ASSIGN(SystraceTool);
Sam Lefflerf81eaa82012-03-01 09:50:30 -080028};
29
Ben Chana0011d82014-05-13 00:19:29 -070030} // namespace debugd
Sam Lefflerf81eaa82012-03-01 09:50:30 -080031
Alex Vakulenko262be3f2014-07-30 15:25:50 -070032#endif // DEBUGD_SRC_SYSTRACE_TOOL_H_