protected void OnPeripheralDisconnected(string error = "") { // This should be the only method setting Idle State ThrowIfDisposed(); if ((State == CentralManagerState.Idle) || (State == CentralManagerState.Disposed)) { return; } State = CentralManagerState.Idle; Debug.WriteLine($"Periperal disconnected: btaddr={ConnectedPeripheral.Address} reason='{error}'"); var args = new PeripheralDisconnectedEventArgs { Error = error, Peripheral = ConnectedPeripheral }; ConnectedPeripheral.OnDisconnected(this); ConnectedPeripheral = null; PeripheralDisconnected?.Invoke(this, args); }
protected virtual void OnPeripheralDisconnected() { PeripheralDisconnected?.Invoke(this, EventArgs.Empty); }