Home | History | Annotate | Download | only in dbus
      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.
      4 
      5 #ifndef CHROMEOS_DBUS_FAKE_BLUETOOTH_AGENT_MANAGER_CLIENT_H_
      6 #define CHROMEOS_DBUS_FAKE_BLUETOOTH_AGENT_MANAGER_CLIENT_H_
      7 
      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"
     15 
     16 namespace chromeos {
     17 
     18 class FakeBluetoothAgentServiceProvider;
     19 
     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   virtual ~FakeBluetoothAgentManagerClient();
     28 
     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)
     41       OVERRIDE;
     42 
     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();
     49 
     50  private:
     51   // The single agent service provider we permit, owned by the application
     52   // using it.
     53   FakeBluetoothAgentServiceProvider* service_provider_;
     54 };
     55 
     56 }  // namespace chromeos
     57 
     58 #endif  // CHROMEOS_DBUS_FAKE_BLUETOOTH_AGENT_MANAGER_CLIENT_H_
     59