diff options
author | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-06 01:54:36 +0000 |
---|---|---|
committer | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-06 01:54:36 +0000 |
commit | 64e199254481d6132c3a7ccdf9b3a743bff86a88 (patch) | |
tree | c10cdf03cbde8439d1d8a7070a6c7f9fdf10f517 /chromeos/dbus/debug_daemon_client.h | |
parent | 81a476c9ce1088345db02cf1647399d0e673d487 (diff) | |
download | chromium_src-64e199254481d6132c3a7ccdf9b3a743bff86a88.zip chromium_src-64e199254481d6132c3a7ccdf9b3a743bff86a88.tar.gz chromium_src-64e199254481d6132c3a7ccdf9b3a743bff86a88.tar.bz2 |
Move files inside chrome/browser/chromeos/dbus to chromeos/dbus
Move files in chrome/browser/chromeos/dbus/ to chromeos/dbus
Add chromeos/dbus/DEPS
Add chromeos.gyp:chromeos_test_support and chromeos.gyp:chromeos_unittests
Add CHROMEOS_EXPORT to classes
Move power related proto targets to chromeos.gyp
Rewrite and sort #includes
BUG=119583
TEST=component chromeos build success, checkdeps success
Review URL: https://chromiumcodereview.appspot.com/9838085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131065 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/dbus/debug_daemon_client.h')
-rw-r--r-- | chromeos/dbus/debug_daemon_client.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/chromeos/dbus/debug_daemon_client.h b/chromeos/dbus/debug_daemon_client.h new file mode 100644 index 0000000..38e4015 --- /dev/null +++ b/chromeos/dbus/debug_daemon_client.h @@ -0,0 +1,53 @@ +// Copyright (c) 2012 The Chromium 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 CHROMEOS_DBUS_DEBUG_DAEMON_CLIENT_H_ +#define CHROMEOS_DBUS_DEBUG_DAEMON_CLIENT_H_ + +#include "base/callback.h" +#include "base/memory/ref_counted_memory.h" +#include "chromeos/chromeos_export.h" +#include "chromeos/dbus/dbus_client_implementation_type.h" + +namespace dbus { +class Bus; +} // namespace dbus + +namespace chromeos { + +// DebugDaemonClient is used to communicate with the debug daemon. +class CHROMEOS_EXPORT DebugDaemonClient { + public: + virtual ~DebugDaemonClient(); + + // Requests to start system/kernel tracing. + virtual void StartSystemTracing() = 0; + + // Called once RequestStopSystemTracing() is complete. Takes one parameter: + // - result: the data collected while tracing was active + typedef base::Callback<void(const scoped_refptr<base::RefCountedString>& + result)> StopSystemTracingCallback; + + // Requests to stop system tracing and calls |callback| when completed. + virtual bool RequestStopSystemTracing(const StopSystemTracingCallback& + callback) = 0; + + // Returns an empty SystemTracingCallback that does nothing. + static StopSystemTracingCallback EmptyStopSystemTracingCallback(); + + // Factory function, creates a new instance and returns ownership. + // For normal usage, access the singleton via DBusThreadManager::Get(). + static DebugDaemonClient* Create(DBusClientImplementationType type, + dbus::Bus* bus); + protected: + // Create() should be used instead. + DebugDaemonClient(); + + private: + DISALLOW_COPY_AND_ASSIGN(DebugDaemonClient); +}; + +} // namespace chromeos + +#endif // CHROMEOS_DBUS_DEBUG_DAEMON_CLIENT_H_ |