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_
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"
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
{
26 FakeBluetoothAgentManagerClient();
27 virtual ~FakeBluetoothAgentManagerClient();
29 // BluetoothAgentManagerClient overrides
30 virtual void Init(dbus::Bus
* bus
) OVERRIDE
;
31 virtual void RegisterAgent(const dbus::ObjectPath
& agent_path
,
32 const std::string
& capability
,
33 const base::Closure
& callback
,
34 const ErrorCallback
& error_callback
) OVERRIDE
;
35 virtual void UnregisterAgent(const dbus::ObjectPath
& agent_path
,
36 const base::Closure
& callback
,
37 const ErrorCallback
& error_callback
) OVERRIDE
;
38 virtual void RequestDefaultAgent(const dbus::ObjectPath
& agent_path
,
39 const base::Closure
& callback
,
40 const ErrorCallback
& error_callback
)
43 // Register, unregister and retrieve pointers to agent service providers.
44 void RegisterAgentServiceProvider(
45 FakeBluetoothAgentServiceProvider
* service_provider
);
46 void UnregisterAgentServiceProvider(
47 FakeBluetoothAgentServiceProvider
* service_provider
);
48 FakeBluetoothAgentServiceProvider
* GetAgentServiceProvider();
51 // The single agent service provider we permit, owned by the application
53 FakeBluetoothAgentServiceProvider
* service_provider_
;
56 } // namespace chromeos
58 #endif // CHROMEOS_DBUS_FAKE_BLUETOOTH_AGENT_MANAGER_CLIENT_H_