private async void Added(DeviceWatcher sender, DeviceInformation deviceInformation) { if (await IsDeviceCompatible(deviceInformation.Id)) { // Protect against race condition if the task runs after the app stopped the deviceWatcher. if (sender == _deviceWatcher) { var args = new Events.DeviceAddedEventArgs() { Device = new Schema.WatcherDevice() { Id = deviceInformation.Id, IsDefault = deviceInformation.IsDefault, IsEnabled = deviceInformation.IsEnabled, Name = deviceInformation.Name, IsPaired = deviceInformation.Pairing.IsPaired, Kind = deviceInformation.Kind.ToString(), Properties = deviceInformation.Properties.ToDictionary(pair => pair.Key, pair => pair.Value) } }; OnDeviceAdded(args); } } }
protected virtual void OnDeviceAdded(Events.DeviceAddedEventArgs e) { DeviceAdded?.Invoke(this, e); }