Skip to content

Commit

Permalink
Apply the new device crate changes
Browse files Browse the repository at this point in the history
  • Loading branch information
zakorgy committed Nov 4, 2016
1 parent 35b206a commit 4eec2c6
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 10 deletions.
23 changes: 21 additions & 2 deletions components/bluetooth/lib.rs
Expand Up @@ -312,6 +312,17 @@ impl BluetoothManager {
device_id
}

fn device_from_service_id(&self, service_id: &str) -> Option<BluetoothDevice> {
let device_id = match self.service_to_device.get(service_id) {
Some(id) => id,
None => return None,
};
match self.cached_devices.get(device_id) {
Some(d) => Some(d.clone()),
None => None,
}
}

// Service

fn get_and_cache_gatt_services(&mut self,
Expand Down Expand Up @@ -617,11 +628,15 @@ impl BluetoothManager {
Some(a) => a,
None => return drop(sender.send(Err(BluetoothError::Type(ADAPTER_ERROR.to_string())))),
};
let device = match self.device_from_service_id(&service_id) {
Some(device) => device,
None => return drop(sender.send(Err(BluetoothError::NotFound))),
};
let primary_service = match self.get_gatt_service(&mut adapter, &service_id) {
Some(s) => s,
None => return drop(sender.send(Err(BluetoothError::NotFound))),
};
let services = primary_service.get_includes().unwrap_or(vec!());
let services = primary_service.get_includes(device).unwrap_or(vec!());
for service in services {
if let Ok(service_uuid) = service.get_uuid() {
if uuid == service_uuid {
Expand All @@ -644,11 +659,15 @@ impl BluetoothManager {
Some(a) => a,
None => return drop(sender.send(Err(BluetoothError::Type(ADAPTER_ERROR.to_string())))),
};
let device = match self.device_from_service_id(&service_id) {
Some(device) => device,
None => return drop(sender.send(Err(BluetoothError::NotFound))),
};
let primary_service = match self.get_gatt_service(&mut adapter, &service_id) {
Some(s) => s,
None => return drop(sender.send(Err(BluetoothError::NotFound))),
};
let services = primary_service.get_includes().unwrap_or(vec!());
let services = primary_service.get_includes(device).unwrap_or(vec!());
let mut services_vec = vec!();
for service in services {
if let Ok(service_uuid) = service.get_uuid() {
Expand Down
8 changes: 4 additions & 4 deletions components/servo/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions ports/cef/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 4eec2c6

Please sign in to comment.