Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1371)

Unified Diff: device/bluetooth/bluetooth_low_energy_device_mac.mm

Issue 2745983003: Bluetooth: macOS: Adding logs (Closed)
Patch Set: Last fix about GetIdentifier() Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: device/bluetooth/bluetooth_low_energy_device_mac.mm
diff --git a/device/bluetooth/bluetooth_low_energy_device_mac.mm b/device/bluetooth/bluetooth_low_energy_device_mac.mm
index 6fa8927657b9b53b79404a03d6a621a03db24542..44395c62616b78ef07af3b6eb66137a98e39331f 100644
--- a/device/bluetooth/bluetooth_low_energy_device_mac.mm
+++ b/device/bluetooth/bluetooth_low_energy_device_mac.mm
@@ -176,11 +176,13 @@ void BluetoothLowEnergyDeviceMac::ConnectToServiceInsecurely(
void BluetoothLowEnergyDeviceMac::CreateGattConnectionImpl() {
if (!IsGattConnected()) {
+ VLOG(1) << ToString() << ": CreateGattConnection.";
GetMacAdapter()->CreateGattConnection(this);
}
}
void BluetoothLowEnergyDeviceMac::DisconnectGatt() {
+ VLOG(1) << ToString() << ": Disconnect.";
GetMacAdapter()->DisconnectGatt(this);
}
@@ -189,7 +191,7 @@ void BluetoothLowEnergyDeviceMac::DidDiscoverPrimaryServices(NSError* error) {
if (discovery_pending_count_ < 0) {
// This should never happens, just in case it happens with a device,
// discovery_pending_count_ is set back to 0.
- VLOG(1) << GetName()->c_str()
+ VLOG(1) << ToString()
<< ": BluetoothLowEnergyDeviceMac::discovery_pending_count_ "
<< discovery_pending_count_;
discovery_pending_count_ = 0;
@@ -199,30 +201,35 @@ void BluetoothLowEnergyDeviceMac::DidDiscoverPrimaryServices(NSError* error) {
// TODO(http://crbug.com/609320): Need to pass the error.
// TODO(http://crbug.com/609844): Decide what to do if discover failed
// a device services.
- VLOG(1) << "Can't discover primary services: "
+ VLOG(1) << ToString() << ": Can't discover primary services: "
<< error.localizedDescription.UTF8String << " (" << error.domain
- << ": " << error.code << ")";
+ << ": " << error.code << ").";
return;
}
- VLOG(1) << "DidDiscoverPrimaryServices, pending count: "
- << discovery_pending_count_;
if (!IsGattConnected()) {
// Don't create services if the device disconnected.
+ VLOG(1) << ToString()
+ << ": DidDiscoverPrimaryServices, gatt not connected.";
return;
}
+ VLOG(1) << ToString() << ": DidDiscoverPrimaryServices, pending count: "
+ << discovery_pending_count_;
for (CBService* cb_service in GetPeripheral().services) {
BluetoothRemoteGattServiceMac* gatt_service =
GetBluetoothRemoteGattService(cb_service);
- if (!gatt_service) {
- gatt_service = new BluetoothRemoteGattServiceMac(this, cb_service,
- true /* is_primary */);
- auto result_iter = gatt_services_.insert(std::make_pair(
- gatt_service->GetIdentifier(), base::WrapUnique(gatt_service)));
- DCHECK(result_iter.second);
- adapter_->NotifyGattServiceAdded(gatt_service);
+ if (gatt_service) {
+ VLOG(1) << gatt_service->ToString() << ": Known service.";
+ continue;
}
+ gatt_service = new BluetoothRemoteGattServiceMac(this, cb_service,
+ true /* is_primary */);
+ auto result_iter = gatt_services_.insert(std::make_pair(
+ gatt_service->GetIdentifier(), base::WrapUnique(gatt_service)));
+ DCHECK(result_iter.second);
+ VLOG(1) << gatt_service->ToString() << ": New service.";
+ adapter_->NotifyGattServiceAdded(gatt_service);
ortuno 2017/03/14 00:34:33 I like this change but I would keep it out of this
jlebel 2017/03/15 01:08:40 Done.
}
if (discovery_pending_count_ == 0) {
for (auto it = gatt_services_.begin(); it != gatt_services_.end(); ++it) {
@@ -241,14 +248,14 @@ void BluetoothLowEnergyDeviceMac::DidDiscoverCharacteristics(
if (error) {
// TODO(http://crbug.com/609320): Need to pass the error.
// TODO(http://crbug.com/609844): Decide what to do if discover failed
- VLOG(1) << "Can't discover characteristics: "
+ VLOG(1) << ToString() << ": Can't discover characteristics: "
<< error.localizedDescription.UTF8String << " (" << error.domain
- << ": " << error.code << ")";
+ << ": " << error.code << ").";
return;
}
- VLOG(1) << "DidDiscoverCharacteristics.";
if (!IsGattConnected()) {
+ VLOG(1) << ToString() << ": DidDiscoverCharacteristics, gatt disconnected.";
// Don't create characteristics if the device disconnected.
return;
}
@@ -262,7 +269,9 @@ void BluetoothLowEnergyDeviceMac::DidDiscoverCharacteristics(
void BluetoothLowEnergyDeviceMac::DidModifyServices(
NSArray* invalidatedServices) {
- VLOG(1) << "DidModifyServices: ";
+ VLOG(1) << ToString() << ": DidModifyServices: "
+ << " invalidated services "
+ << base::SysNSStringToUTF8([invalidatedServices description]);
for (CBService* cb_service in invalidatedServices) {
BluetoothRemoteGattServiceMac* gatt_service =
GetBluetoothRemoteGattService(cb_service);
@@ -282,7 +291,6 @@ void BluetoothLowEnergyDeviceMac::DidModifyServices(
void BluetoothLowEnergyDeviceMac::DidUpdateValue(
CBCharacteristic* characteristic,
NSError* error) {
- VLOG(1) << "DidUpdateValue.";
BluetoothRemoteGattServiceMac* gatt_service =
GetBluetoothRemoteGattService(characteristic.service);
DCHECK(gatt_service);
@@ -292,7 +300,6 @@ void BluetoothLowEnergyDeviceMac::DidUpdateValue(
void BluetoothLowEnergyDeviceMac::DidWriteValue(
CBCharacteristic* characteristic,
NSError* error) {
- VLOG(1) << "DidWriteValue.";
BluetoothRemoteGattServiceMac* gatt_service =
GetBluetoothRemoteGattService(characteristic.service);
DCHECK(gatt_service);
@@ -302,7 +309,6 @@ void BluetoothLowEnergyDeviceMac::DidWriteValue(
void BluetoothLowEnergyDeviceMac::DidUpdateNotificationState(
CBCharacteristic* characteristic,
NSError* error) {
- VLOG(1) << "DidUpdateNotificationState";
BluetoothRemoteGattServiceMac* gatt_service =
GetBluetoothRemoteGattService(characteristic.service);
DCHECK(gatt_service);
@@ -315,13 +321,13 @@ void BluetoothLowEnergyDeviceMac::DidDiscoverDescriptors(
if (error) {
// TODO(http://crbug.com/609320): Need to pass the error.
// TODO(http://crbug.com/609844): Decide what to do if discover failed
- VLOG(1) << "Can't discover descriptors: "
+ VLOG(1) << ToString() << ": Can't discover descriptors: "
<< error.localizedDescription.UTF8String << " (" << error.domain
- << ": " << error.code << ")";
+ << ": " << error.code << ").";
return;
}
- VLOG(1) << "DidDiscoverDescriptors.";
if (!IsGattConnected()) {
+ VLOG(1) << ToString() << ": DidDiscoverDescriptors, disconnected.";
// Don't discover descriptors if the device disconnected.
return;
}
@@ -353,7 +359,8 @@ std::string BluetoothLowEnergyDeviceMac::GetPeripheralHashAddress(
}
void BluetoothLowEnergyDeviceMac::DiscoverPrimaryServices() {
- VLOG(1) << "DidDiscoverDescriptors pending count" << discovery_pending_count_;
+ VLOG(1) << ToString() << ": DidDiscoverDescriptors, pending count "
ortuno 2017/03/14 00:34:33 This log seems incorrect. Why do we say DidDiscove
jlebel 2017/03/15 01:08:40 Done.
+ << discovery_pending_count_;
++discovery_pending_count_;
[GetPeripheral() discoverServices:nil];
}
@@ -370,6 +377,7 @@ void BluetoothLowEnergyDeviceMac::SendNotificationIfDiscoveryComplete() {
->IsDiscoveryComplete();
}) == gatt_services_.end();
if (discovery_complete) {
+ VLOG(1) << ToString() << ": Discovery complete.";
device_uuids_.ReplaceServiceUUIDs(gatt_services_);
SetGattServicesDiscoveryComplete(true);
adapter_->NotifyGattServicesDiscovered(this);
@@ -406,6 +414,7 @@ void BluetoothLowEnergyDeviceMac::DidDisconnectPeripheral(NSError* error) {
gatt_services_swapped.swap(gatt_services_);
gatt_services_swapped.clear();
device_uuids_.ClearServiceUUIDs();
+ VLOG(1) << ToString() << ": Did disconnect.";
ortuno 2017/03/14 00:34:33 We are double logging here, bluetooth adapter alre
jlebel 2017/03/15 01:08:40 I think this should be done on the device layer. T
scheib 2017/03/21 21:43:30 Unsure if ortuno will agree here or not. I think w
// There are two cases in which this function will be called:
// 1. When the connection to the device breaks (either because
// we closed it or the device closed it).
@@ -419,3 +428,11 @@ void BluetoothLowEnergyDeviceMac::DidDisconnectPeripheral(NSError* error) {
// TODO(http://crbug.com/585897): Need to pass the error.
DidFailToConnectGatt(BluetoothDevice::ConnectErrorCode::ERROR_FAILED);
}
+
+std::string BluetoothLowEnergyDeviceMac::ToString() const {
+ base::Optional<std::string> name = GetName();
+ const char* name_cstr = name ? name->c_str() : "";
ortuno 2017/03/14 02:12:00 You can use GetNameForDisplay() to always get a na
jlebel 2017/03/15 01:08:40 I can't run the unit tests with GetNameForDisplay(
scheib 2017/03/21 21:43:30 :( yeah, we need to fix that some day. Leave a TOD
jlebel 2017/03/21 23:57:59 Done.
+ return std::string("<BluetoothLowEnergyDeviceMac ") + GetIdentifier() +
ortuno 2017/03/14 02:12:00 Could you use a StringPiece here?
jlebel 2017/03/15 01:08:40 I'm not sure to understand how to use StringPiece
scheib 2017/03/21 21:43:30 See string_piece.h top of header file comment. A b
+ ", \"" + name_cstr + "\", " + std::to_string(gatt_services_.size()) +
+ " services>";
+}

Powered by Google App Engine
This is Rietveld 408576698