(radio: Radio)
| 48 | |
| 49 | impl Adapter { |
| 50 | pub(crate) fn new(radio: Radio) -> Result<Self> { |
| 51 | let watcher = Arc::new(Mutex::new(BLEWatcher::new()?)); |
| 52 | let manager = Arc::new(AdapterManager::default()); |
| 53 | |
| 54 | let radio_clone = radio.clone(); |
| 55 | let manager_clone = manager.clone(); |
| 56 | let handler = TypedEventHandler::new(move |_sender, _args| { |
| 57 | let state = get_central_state(&radio_clone); |
| 58 | manager_clone.emit(CentralEvent::StateUpdate(state.into())); |
| 59 | Ok(()) |
| 60 | }); |
| 61 | if let Err(err) = radio.StateChanged(&handler) { |
| 62 | eprintln!("radio.StateChanged error: {}", err); |
| 63 | } |
| 64 | |
| 65 | Ok(Adapter { |
| 66 | watcher, |
| 67 | manager, |
| 68 | radio, |
| 69 | }) |
| 70 | } |
| 71 | } |
| 72 | |
| 73 | impl Debug for Adapter { |
nothing calls this directly
no test coverage detected