Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / chromeos / dbus / fake_bluetooth_agent_manager_client.h
blob68c91202c356d8572996e9aac0da689491586742
1 // Copyright (c) 2013 The Chromium 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.
5 #ifndef CHROMEOS_DBUS_FAKE_BLUETOOTH_AGENT_MANAGER_CLIENT_H_
6 #define CHROMEOS_DBUS_FAKE_BLUETOOTH_AGENT_MANAGER_CLIENT_H_
8 #include "base/bind.h"
9 #include "base/callback.h"
10 #include "base/observer_list.h"
11 #include "chromeos/chromeos_export.h"
12 #include "chromeos/dbus/bluetooth_agent_manager_client.h"
13 #include "dbus/object_path.h"
14 #include "dbus/property.h"
16 namespace chromeos {
18 class FakeBluetoothAgentServiceProvider;
20 // FakeBluetoothAgentManagerClient simulates the behavior of the Bluetooth
21 // Daemon's agent manager object and is used both in test cases in place of a
22 // mock and on the Linux desktop.
23 class CHROMEOS_EXPORT FakeBluetoothAgentManagerClient
24 : public BluetoothAgentManagerClient {
25 public:
26 FakeBluetoothAgentManagerClient();
27 ~FakeBluetoothAgentManagerClient() override;
29 // BluetoothAgentManagerClient overrides
30 void Init(dbus::Bus* bus) override;
31 void RegisterAgent(const dbus::ObjectPath& agent_path,
32 const std::string& capability,
33 const base::Closure& callback,
34 const ErrorCallback& error_callback) override;
35 void UnregisterAgent(const dbus::ObjectPath& agent_path,
36 const base::Closure& callback,
37 const ErrorCallback& error_callback) override;
38 void RequestDefaultAgent(const dbus::ObjectPath& agent_path,
39 const base::Closure& callback,
40 const ErrorCallback& error_callback) override;
42 // Register, unregister and retrieve pointers to agent service providers.
43 void RegisterAgentServiceProvider(
44 FakeBluetoothAgentServiceProvider* service_provider);
45 void UnregisterAgentServiceProvider(
46 FakeBluetoothAgentServiceProvider* service_provider);
47 FakeBluetoothAgentServiceProvider* GetAgentServiceProvider();
49 private:
50 // The single agent service provider we permit, owned by the application
51 // using it.
52 FakeBluetoothAgentServiceProvider* service_provider_;
55 } // namespace chromeos
57 #endif // CHROMEOS_DBUS_FAKE_BLUETOOTH_AGENT_MANAGER_CLIENT_H_