public void Shutdown() { StopScanning(); if (_service != null) { _service.Dispose(); _service = null; } if (_peripheral != null) { _peripheral.Dispose(); _peripheral = null; } if (_centralManager != null) { _centralManager.Dispose(); _centralManager = null; } if (_dispatchQueue != null) { _dispatchQueue.Dispose(); _dispatchQueue = null; } }
public void Dispose() { if (dfuController != null) { dfuController.Dispose(); dfuController = null; } if (dfuServiceInitiator != null) { dfuServiceInitiator.Dispose(); dfuServiceInitiator = null; } if (dfuFirmware != null) { dfuFirmware.Dispose(); dfuFirmware = null; } if (cbCentralManager != null) { cbCentralManager.Dispose(); cbCentralManager = null; } }
private Task <PermissionStatus> RequestBluetoothAsync() { var manager = new CBCentralManager(); var tcs = new TaskCompletionSource <PermissionStatus>(manager); manager.UpdatedState += StatusCollback; return(tcs.Task.ReturnInTimeoutAsync(PermissionStatus.Unknown, PermissionTimeout)); void StatusCollback(object sender, EventArgs e) { var state = manager.State; manager.UpdatedState -= StatusCollback; var result = PermissionStatus.Unknown; switch (state) { case CBCentralManagerState.PoweredOff: case CBCentralManagerState.Unsupported: result = PermissionStatus.Disabled; break; case CBCentralManagerState.PoweredOn: result = PermissionStatus.Granted; break; case CBCentralManagerState.Unauthorized: result = PermissionStatus.Denied; break; case CBCentralManagerState.Resetting: default: result = PermissionStatus.Unknown; break; } manager.Dispose(); manager = null; tcs.SetResult(result); } }
public void TearDown() { heartRateMonitorUUID?.Dispose(); mgrDelegate?.Dispose(); // make sure that our delegate does not get messages after the mgr was disposed mgr?.Dispose(); }
public void TearDown() { // should dispose the delegate mgr.Dispose(); }
public void Dispose() { cbManager.Dispose(); }