Loading system/gd/rust/linux/client/src/command_handler.rs +51 −49 Original line number Diff line number Diff line Loading @@ -1129,8 +1129,13 @@ impl CommandHandler { match &command[..] { "register-scanner" => { let scanner_callback_id = self.context.lock().unwrap().scanner_callback_id; if let Some(id) = scanner_callback_id { let scanner_callback_id = self .context .lock() .unwrap() .scanner_callback_id .ok_or("Cannot register scanner before registering scanner callback")?; let uuid = self .context .lock() Loading @@ -1138,27 +1143,30 @@ impl CommandHandler { .gatt_dbus .as_mut() .unwrap() .register_scanner(id); .register_scanner(scanner_callback_id); print_info!("Scanner to be registered with UUID = {}", UuidWrapper(&uuid)); } else { print_error!("Cannot register scanner before registering scanner callback"); } } "unregister-scanner" => { let scanner_id = String::from(get_arg(args, 1)?).parse::<u8>(); let scanner_id = String::from(get_arg(args, 1)?) .parse::<u8>() .or(Err("Failed parsing scanner id"))?; if let Ok(id) = scanner_id { self.context.lock().unwrap().gatt_dbus.as_mut().unwrap().unregister_scanner(id); } else { return Err("Failed parsing scanner id".into()); } self.context .lock() .unwrap() .gatt_dbus .as_mut() .unwrap() .unregister_scanner(scanner_id); } "start-scan" => { let scanner_id = String::from(get_arg(args, 1)?).parse::<u8>(); let scanner_id = String::from(get_arg(args, 1)?) .parse::<u8>() .or(Err("Failed parsing scanner id"))?; if let Ok(id) = scanner_id { self.context.lock().unwrap().gatt_dbus.as_mut().unwrap().start_scan( id, scanner_id, // TODO(b/254870159): Construct real settings and filters depending on // command line options. ScanSettings { interval: 0, window: 0, scan_type: ScanType::Active }, Loading @@ -1167,25 +1175,19 @@ impl CommandHandler { rssi_low_threshold: 0, rssi_low_timeout: 0, rssi_sampling_period: 0, condition: btstack::bluetooth_gatt::ScanFilterCondition::Patterns( vec![], ), condition: btstack::bluetooth_gatt::ScanFilterCondition::Patterns(vec![]), }), ); self.context.lock().unwrap().active_scanner_ids.insert(id); } else { return Err("Failed parsing scanner id".into()); } self.context.lock().unwrap().active_scanner_ids.insert(scanner_id); } "stop-scan" => { let scanner_id = String::from(get_arg(args, 1)?).parse::<u8>(); let scanner_id = String::from(get_arg(args, 1)?) .parse::<u8>() .or(Err("Failed parsing scanner id"))?; if let Ok(id) = scanner_id { self.context.lock().unwrap().gatt_dbus.as_mut().unwrap().stop_scan(id); self.context.lock().unwrap().active_scanner_ids.remove(&id); } else { return Err("Failed parsing scanner id".into()); } self.context.lock().unwrap().gatt_dbus.as_mut().unwrap().stop_scan(scanner_id); self.context.lock().unwrap().active_scanner_ids.remove(&scanner_id); } _ => return Err(CommandError::InvalidArgs), } Loading system/gd/rust/linux/stack/src/socket_manager.rs +3 −3 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ impl BluetoothServerSocket { BluetoothServerSocket { id: 0, sock_type: SocketType::Rfcomm, flags: flags, flags, psm: None, channel: Some(DYNAMIC_CHANNEL), name: Some(name), Loading Loading @@ -198,7 +198,7 @@ impl BluetoothSocket { id: 0, remote_device: device, sock_type: SocketType::L2cap, flags: flags, flags, fd: None, port: psm, uuid: None, Loading @@ -212,7 +212,7 @@ impl BluetoothSocket { id: 0, remote_device: device, sock_type: SocketType::Rfcomm, flags: flags, flags, fd: None, port: -1, uuid: Some(uuid), Loading Loading
system/gd/rust/linux/client/src/command_handler.rs +51 −49 Original line number Diff line number Diff line Loading @@ -1129,8 +1129,13 @@ impl CommandHandler { match &command[..] { "register-scanner" => { let scanner_callback_id = self.context.lock().unwrap().scanner_callback_id; if let Some(id) = scanner_callback_id { let scanner_callback_id = self .context .lock() .unwrap() .scanner_callback_id .ok_or("Cannot register scanner before registering scanner callback")?; let uuid = self .context .lock() Loading @@ -1138,27 +1143,30 @@ impl CommandHandler { .gatt_dbus .as_mut() .unwrap() .register_scanner(id); .register_scanner(scanner_callback_id); print_info!("Scanner to be registered with UUID = {}", UuidWrapper(&uuid)); } else { print_error!("Cannot register scanner before registering scanner callback"); } } "unregister-scanner" => { let scanner_id = String::from(get_arg(args, 1)?).parse::<u8>(); let scanner_id = String::from(get_arg(args, 1)?) .parse::<u8>() .or(Err("Failed parsing scanner id"))?; if let Ok(id) = scanner_id { self.context.lock().unwrap().gatt_dbus.as_mut().unwrap().unregister_scanner(id); } else { return Err("Failed parsing scanner id".into()); } self.context .lock() .unwrap() .gatt_dbus .as_mut() .unwrap() .unregister_scanner(scanner_id); } "start-scan" => { let scanner_id = String::from(get_arg(args, 1)?).parse::<u8>(); let scanner_id = String::from(get_arg(args, 1)?) .parse::<u8>() .or(Err("Failed parsing scanner id"))?; if let Ok(id) = scanner_id { self.context.lock().unwrap().gatt_dbus.as_mut().unwrap().start_scan( id, scanner_id, // TODO(b/254870159): Construct real settings and filters depending on // command line options. ScanSettings { interval: 0, window: 0, scan_type: ScanType::Active }, Loading @@ -1167,25 +1175,19 @@ impl CommandHandler { rssi_low_threshold: 0, rssi_low_timeout: 0, rssi_sampling_period: 0, condition: btstack::bluetooth_gatt::ScanFilterCondition::Patterns( vec![], ), condition: btstack::bluetooth_gatt::ScanFilterCondition::Patterns(vec![]), }), ); self.context.lock().unwrap().active_scanner_ids.insert(id); } else { return Err("Failed parsing scanner id".into()); } self.context.lock().unwrap().active_scanner_ids.insert(scanner_id); } "stop-scan" => { let scanner_id = String::from(get_arg(args, 1)?).parse::<u8>(); let scanner_id = String::from(get_arg(args, 1)?) .parse::<u8>() .or(Err("Failed parsing scanner id"))?; if let Ok(id) = scanner_id { self.context.lock().unwrap().gatt_dbus.as_mut().unwrap().stop_scan(id); self.context.lock().unwrap().active_scanner_ids.remove(&id); } else { return Err("Failed parsing scanner id".into()); } self.context.lock().unwrap().gatt_dbus.as_mut().unwrap().stop_scan(scanner_id); self.context.lock().unwrap().active_scanner_ids.remove(&scanner_id); } _ => return Err(CommandError::InvalidArgs), } Loading
system/gd/rust/linux/stack/src/socket_manager.rs +3 −3 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ impl BluetoothServerSocket { BluetoothServerSocket { id: 0, sock_type: SocketType::Rfcomm, flags: flags, flags, psm: None, channel: Some(DYNAMIC_CHANNEL), name: Some(name), Loading Loading @@ -198,7 +198,7 @@ impl BluetoothSocket { id: 0, remote_device: device, sock_type: SocketType::L2cap, flags: flags, flags, fd: None, port: psm, uuid: None, Loading @@ -212,7 +212,7 @@ impl BluetoothSocket { id: 0, remote_device: device, sock_type: SocketType::Rfcomm, flags: flags, flags, fd: None, port: -1, uuid: Some(uuid), Loading