| Index: chromeos/dbus/fake_bluetooth_media_transport_client.h
|
| diff --git a/chromeos/dbus/fake_bluetooth_media_transport_client.h b/chromeos/dbus/fake_bluetooth_media_transport_client.h
|
| index f88908f6111db8919c39632a6bac9022d075118a..319b2ae3c4e0518d527936f0c323e82f87d71856 100644
|
| --- a/chromeos/dbus/fake_bluetooth_media_transport_client.h
|
| +++ b/chromeos/dbus/fake_bluetooth_media_transport_client.h
|
| @@ -17,6 +17,8 @@
|
|
|
| namespace chromeos {
|
|
|
| +class FakeBluetoothMediaEndpointServiceProvider;
|
| +
|
| class CHROMEOS_EXPORT FakeBluetoothMediaTransportClient
|
| : public BluetoothMediaTransportClient {
|
| public:
|
| @@ -62,23 +64,56 @@ class CHROMEOS_EXPORT FakeBluetoothMediaTransportClient
|
| const base::Closure& callback,
|
| const ErrorCallback& error_callback) override;
|
|
|
| - // Makes the transport valid/invalid for a given media endpoint path. The
|
| - // transport object is assigned to the given endpoint if valid is true, false
|
| + // Makes the transport valid/invalid for a given media endpoint. The transport
|
| + // object is assigned to the given endpoint if valid is true, false
|
| // otherwise.
|
| - void SetValid(const dbus::ObjectPath& endpoint_path, bool valid);
|
| + void SetValid(FakeBluetoothMediaEndpointServiceProvider* endpoint,
|
| + bool valid);
|
| +
|
| + // Set state/volume property to a certain value.
|
| + void SetState(const dbus::ObjectPath& endpoint_path,
|
| + const std::string& state);
|
| + void SetVolume(const dbus::ObjectPath& endpoint_path,
|
| + const uint16_t& volume);
|
| +
|
| + // Gets the transport path associated with the given endpoint path.
|
| + dbus::ObjectPath GetTransportPath(const dbus::ObjectPath& endpoint_path);
|
| +
|
| + // Gets the endpoint path associated with the given transport_path.
|
| + dbus::ObjectPath GetEndpointPath(const dbus::ObjectPath& transport_path);
|
|
|
| private:
|
| + // This class is used for simulating the scenario where each media endpoint
|
| + // has a corresponding transport path and properties. Once an endpoint is
|
| + // assigned with a transport path, an object of Transport is created.
|
| + class Transport {
|
| + public:
|
| + Transport(const dbus::ObjectPath& transport_path,
|
| + Properties* transport_properties);
|
| + ~Transport();
|
| +
|
| + // An unique transport path.
|
| + dbus::ObjectPath path;
|
| +
|
| + // The property set bound with |path|.
|
| + scoped_ptr<Properties> properties;
|
| + };
|
| +
|
| // Property callback passed while a Properties structure is created.
|
| void OnPropertyChanged(const std::string& property_name);
|
|
|
| - // The path of the media transport object.
|
| - dbus::ObjectPath object_path_;
|
| + // Map of endpoints with valid transport. Each pair is composed of an endpoint
|
| + // path and a Transport structure containing a transport path and its
|
| + // properties.
|
| + std::map<dbus::ObjectPath, Transport*> endpoint_to_transport_map_;
|
|
|
| - // Indicates whether endpoints are assigned with the transport object.
|
| - std::map<dbus::ObjectPath, bool> endpoints_;
|
| + // Map of valid transports. Each pair is composed of a transport path as the
|
| + // key and an endpoint path as the value. This map is used to get the
|
| + // corresponding endpoint path when GetProperties() is called.
|
| + std::map<dbus::ObjectPath, dbus::ObjectPath> transport_to_endpoint_map_;
|
|
|
| - // The fake property set of the media transport object.
|
| - scoped_ptr<Properties> properties_;
|
| + // The path of the media transport object.
|
| + dbus::ObjectPath object_path_;
|
|
|
| ObserverList<BluetoothMediaTransportClient::Observer> observers_;
|
|
|
|
|