| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "device/bluetooth/bluetooth_remote_gatt_service_chromeos.h" | 5 #include "device/bluetooth/bluetooth_remote_gatt_service_chromeos.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
| 9 #include "chromeos/dbus/bluetooth_gatt_service_client.h" | 9 #include "chromeos/dbus/bluetooth_gatt_service_client.h" |
| 10 #include "chromeos/dbus/dbus_thread_manager.h" | 10 #include "chromeos/dbus/dbus_thread_manager.h" |
| 11 #include "device/bluetooth/bluetooth_device_chromeos.h" |
| 11 #include "device/bluetooth/bluetooth_remote_gatt_characteristic_chromeos.h" | 12 #include "device/bluetooth/bluetooth_remote_gatt_characteristic_chromeos.h" |
| 12 | 13 |
| 13 namespace chromeos { | 14 namespace chromeos { |
| 14 | 15 |
| 15 namespace { | 16 namespace { |
| 16 | 17 |
| 17 // Stream operator for logging vector<uint8>. | 18 // Stream operator for logging vector<uint8>. |
| 18 std::ostream& operator<<(std::ostream& out, const std::vector<uint8> bytes) { | 19 std::ostream& operator<<(std::ostream& out, const std::vector<uint8> bytes) { |
| 19 out << "["; | 20 out << "["; |
| 20 for (std::vector<uint8>::const_iterator iter = bytes.begin(); | 21 for (std::vector<uint8>::const_iterator iter = bytes.begin(); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 } | 96 } |
| 96 | 97 |
| 97 bool BluetoothRemoteGattServiceChromeOS::IsPrimary() const { | 98 bool BluetoothRemoteGattServiceChromeOS::IsPrimary() const { |
| 98 BluetoothGattServiceClient::Properties* properties = | 99 BluetoothGattServiceClient::Properties* properties = |
| 99 DBusThreadManager::Get()->GetBluetoothGattServiceClient()-> | 100 DBusThreadManager::Get()->GetBluetoothGattServiceClient()-> |
| 100 GetProperties(object_path_); | 101 GetProperties(object_path_); |
| 101 DCHECK(properties); | 102 DCHECK(properties); |
| 102 return properties->primary.value(); | 103 return properties->primary.value(); |
| 103 } | 104 } |
| 104 | 105 |
| 106 device::BluetoothDevice* BluetoothRemoteGattServiceChromeOS::GetDevice() const { |
| 107 return device_; |
| 108 } |
| 109 |
| 105 std::vector<device::BluetoothGattCharacteristic*> | 110 std::vector<device::BluetoothGattCharacteristic*> |
| 106 BluetoothRemoteGattServiceChromeOS::GetCharacteristics() const { | 111 BluetoothRemoteGattServiceChromeOS::GetCharacteristics() const { |
| 107 std::vector<device::BluetoothGattCharacteristic*> characteristics; | 112 std::vector<device::BluetoothGattCharacteristic*> characteristics; |
| 108 for (CharacteristicMap::const_iterator iter = characteristics_.begin(); | 113 for (CharacteristicMap::const_iterator iter = characteristics_.begin(); |
| 109 iter != characteristics_.end(); ++iter) { | 114 iter != characteristics_.end(); ++iter) { |
| 110 characteristics.push_back(iter->second); | 115 characteristics.push_back(iter->second); |
| 111 } | 116 } |
| 112 return characteristics; | 117 return characteristics; |
| 113 } | 118 } |
| 114 | 119 |
| 115 std::vector<device::BluetoothGattService*> | 120 std::vector<device::BluetoothGattService*> |
| 116 BluetoothRemoteGattServiceChromeOS::GetIncludedServices() const { | 121 BluetoothRemoteGattServiceChromeOS::GetIncludedServices() const { |
| 117 // TODO(armansito): Return the actual included services here. | 122 // TODO(armansito): Return the actual included services here. |
| 118 return std::vector<device::BluetoothGattService*>(); | 123 return std::vector<device::BluetoothGattService*>(); |
| 119 } | 124 } |
| 120 | 125 |
| 121 device::BluetoothGattCharacteristic* | 126 device::BluetoothGattCharacteristic* |
| 122 BluetoothRemoteGattServiceChromeOS::GetCharacteristic( | 127 BluetoothRemoteGattServiceChromeOS::GetCharacteristic( |
| 123 const std::string& identifier) { | 128 const std::string& identifier) const { |
| 124 CharacteristicMap::const_iterator iter = | 129 CharacteristicMap::const_iterator iter = |
| 125 characteristics_.find(dbus::ObjectPath(identifier)); | 130 characteristics_.find(dbus::ObjectPath(identifier)); |
| 126 if (iter == characteristics_.end()) | 131 if (iter == characteristics_.end()) |
| 127 return NULL; | 132 return NULL; |
| 128 return iter->second; | 133 return iter->second; |
| 129 } | 134 } |
| 130 | 135 |
| 131 bool BluetoothRemoteGattServiceChromeOS::AddCharacteristic( | 136 bool BluetoothRemoteGattServiceChromeOS::AddCharacteristic( |
| 132 device::BluetoothGattCharacteristic* characteristic) { | 137 device::BluetoothGattCharacteristic* characteristic) { |
| 133 VLOG(1) << "Characteristics cannot be added to a remote GATT service."; | 138 VLOG(1) << "Characteristics cannot be added to a remote GATT service."; |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 return; | 242 return; |
| 238 | 243 |
| 239 VLOG(1) << "GATT characteristic value has changed: " << object_path.value() | 244 VLOG(1) << "GATT characteristic value has changed: " << object_path.value() |
| 240 << ": " << properties->value.value(); | 245 << ": " << properties->value.value(); |
| 241 FOR_EACH_OBSERVER(device::BluetoothGattService::Observer, observers_, | 246 FOR_EACH_OBSERVER(device::BluetoothGattService::Observer, observers_, |
| 242 GattCharacteristicValueChanged(this, iter->second, | 247 GattCharacteristicValueChanged(this, iter->second, |
| 243 properties->value.value())); | 248 properties->value.value())); |
| 244 } | 249 } |
| 245 | 250 |
| 246 } // namespace chromeos | 251 } // namespace chromeos |
| OLD | NEW |