summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/fake_bluetooth_gatt_descriptor_client.h
diff options
context:
space:
mode:
authorrkc <rkc@chromium.org>2015-09-28 16:15:40 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-28 23:16:34 +0000
commit5d3c8959a7aee861b6750fd734cad96bd24e1f9f (patch)
tree20e59e629ef2adead10bbd7933c2313f5c8af693 /chromeos/dbus/fake_bluetooth_gatt_descriptor_client.h
parent6bdfb7dfb3ce2e571697629895089cffc42b48e6 (diff)
downloadchromium_src-5d3c8959a7aee861b6750fd734cad96bd24e1f9f.zip
chromium_src-5d3c8959a7aee861b6750fd734cad96bd24e1f9f.tar.gz
chromium_src-5d3c8959a7aee861b6750fd734cad96bd24e1f9f.tar.bz2
Refactor DBusThreadManager to split away BT clients.
To be able to reuse the bluetooth DBus clients on linux, we need to be able to separate them out from DBusThreadManager and move them out of //chromeos. This CL introduces no functional change but instead only refactors the code so we now have a BluezDbusManager that handles a Bluetooth specific DBus client bundle to create all the bluetooth related DBus clients. We will be able to extend this code to add a Linux specific BluezDbusManager implementation, allowing us to reuse all these DBus clients on Linux instead of copy/pasting the code. R=armansito@chromium.org, stevenjb@chromium.org BUG=522663 Review URL: https://codereview.chromium.org/1347193004 Cr-Commit-Position: refs/heads/master@{#351197}
Diffstat (limited to 'chromeos/dbus/fake_bluetooth_gatt_descriptor_client.h')
-rw-r--r--chromeos/dbus/fake_bluetooth_gatt_descriptor_client.h104
1 files changed, 0 insertions, 104 deletions
diff --git a/chromeos/dbus/fake_bluetooth_gatt_descriptor_client.h b/chromeos/dbus/fake_bluetooth_gatt_descriptor_client.h
deleted file mode 100644
index fe405c7..0000000
--- a/chromeos/dbus/fake_bluetooth_gatt_descriptor_client.h
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2014 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_FAKE_BLUETOOTH_GATT_DESCRIPTOR_CLIENT_H_
-#define CHROMEOS_DBUS_FAKE_BLUETOOTH_GATT_DESCRIPTOR_CLIENT_H_
-
-#include <map>
-#include <string>
-
-#include "base/memory/weak_ptr.h"
-#include "base/observer_list.h"
-#include "chromeos/chromeos_export.h"
-#include "chromeos/dbus/bluetooth_gatt_descriptor_client.h"
-#include "dbus/object_path.h"
-
-namespace chromeos {
-
-// FakeBluetoothGattDescriptorClient simulates the behavior of the Bluetooth
-// Daemon GATT characteristic descriptor objects and is used in test cases in
-// place of a mock and on the Linux desktop.
-class CHROMEOS_EXPORT FakeBluetoothGattDescriptorClient
- : public BluetoothGattDescriptorClient {
- public:
- struct Properties : public BluetoothGattDescriptorClient::Properties {
- explicit Properties(const PropertyChangedCallback& callback);
- ~Properties() override;
-
- // dbus::PropertySet override
- void Get(dbus::PropertyBase* property,
- dbus::PropertySet::GetCallback callback) override;
- void GetAll() override;
- void Set(dbus::PropertyBase* property,
- dbus::PropertySet::SetCallback callback) override;
- };
-
- FakeBluetoothGattDescriptorClient();
- ~FakeBluetoothGattDescriptorClient() override;
-
- // DBusClient override.
- void Init(dbus::Bus* bus) override;
-
- // BluetoothGattDescriptorClient overrides.
- void AddObserver(Observer* observer) override;
- void RemoveObserver(Observer* observer) override;
- std::vector<dbus::ObjectPath> GetDescriptors() override;
- Properties* GetProperties(const dbus::ObjectPath& object_path) override;
- void ReadValue(const dbus::ObjectPath& object_path,
- const ValueCallback& callback,
- const ErrorCallback& error_callback) override;
- void WriteValue(const dbus::ObjectPath& object_path,
- const std::vector<uint8>& value,
- const base::Closure& callback,
- const ErrorCallback& error_callback) override;
-
- // Makes the descriptor with the UUID |uuid| visible under the characteristic
- // with object path |characteristic_path|. Descriptor object paths are
- // hierarchical to their characteristics. |uuid| must belong to a descriptor
- // for which there is a constant defined below, otherwise this method has no
- // effect. Returns the object path of the created descriptor. In the no-op
- // case, returns an invalid path.
- dbus::ObjectPath ExposeDescriptor(const dbus::ObjectPath& characteristic_path,
- const std::string& uuid);
- void HideDescriptor(const dbus::ObjectPath& descriptor_path);
-
- // Object path components and UUIDs of GATT characteristic descriptors.
- static const char kClientCharacteristicConfigurationPathComponent[];
- static const char kClientCharacteristicConfigurationUUID[];
-
- private:
- // Property callback passed when we create Properties structures.
- void OnPropertyChanged(const dbus::ObjectPath& object_path,
- const std::string& property_name);
-
- // Notifies observers.
- void NotifyDescriptorAdded(const dbus::ObjectPath& object_path);
- void NotifyDescriptorRemoved(const dbus::ObjectPath& object_path);
-
- // Mapping from object paths to Properties structures.
- struct DescriptorData {
- DescriptorData();
- ~DescriptorData();
-
- scoped_ptr<Properties> properties;
- };
- typedef std::map<dbus::ObjectPath, DescriptorData*> PropertiesMap;
- PropertiesMap properties_;
-
- // List of observers interested in event notifications from us.
- base::ObserverList<Observer> observers_;
-
- // Weak pointer factory for generating 'this' pointers that might live longer
- // than we do.
- // Note: This should remain the last member so it'll be destroyed and
- // invalidate its weak pointers before any other members are destroyed.
- base::WeakPtrFactory<FakeBluetoothGattDescriptorClient>
- weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(FakeBluetoothGattDescriptorClient);
-};
-
-} // namespace chromeos
-
-#endif // CHROMEOS_DBUS_FAKE_BLUETOOTH_GATT_DESCRIPTOR_CLIENT_H_