/// <summary> /// Depart event as a NetworkMonitorEventListener /// </summary> /// <param name="owme"> DeviceMonitorEvent depart </param> public virtual void deviceDeparture(DeviceMonitorEvent devt) { for (int i = 0; i < devt.DeviceCount; i++) { Debug.WriteLine("REMOVE: " + devt.getAddressAsStringAt(i)); } }
/// <summary> /// Arrival event as a NetworkMonitorEventListener /// </summary> /// <param name="owme"> DeviceMonitorEvent add </param> public virtual void deviceArrival(DeviceMonitorEvent devt) { for (int i = 0; i < devt.DeviceCount; i++) { Debug.WriteLine("ADD: " + devt.getAddressAsStringAt(i)); } }
/// <summary> /// Arrival event as a NetworkMonitorEventListener /// </summary> /// <param name="nme"> NetworkMonitorEvent add </param> public virtual void deviceArrival(DeviceMonitorEvent dme) { for (int i = 0; i < dme.DeviceCount; i++) { Debug.WriteLine("ADD: " + dme.getPathForContainerAt(i) + dme.getAddressAsStringAt(i)); // if new devices is a TemperatureContainter the start a thread to read it OneWireContainer owc = dme.getContainerAt(i); if (owc is TemperatureContainer) { //TODO SetValue("TemperatureContainer", owc); //TODO SetValue("OWPath", dme.getPathForContainerAt(i)); var t = Task <BackgroundTaskRegistration> .Run(() => { return(BackgroundTaskHelper.Register( WatchTempBackgroundTaskEntryPoint, WatchTempBackgroundTaskName, new SystemTrigger(SystemTriggerType.TimeZoneChange, false), null)); }); t.Wait(); // add to vector for later cleanup watchers.Add(t.Result); } } }
/// <summary> /// Depart event as a NetworkMonitorEventListener /// </summary> /// <param name="nme"> NetworkMonitorEvent depart </param> public virtual void deviceDeparture(DeviceMonitorEvent dme) { for (int i = 0; i < dme.DeviceCount; i++) { Debug.WriteLine("REMOVE: " + dme.getPathForContainerAt(i) + dme.getAddressAsStringAt(i)); // kill the temp watcher BackgroundTaskHelper.Unregister(WatchTempBackgroundTaskName); } }
private static string GetEventAsPrintableText(DeviceMonitorEvent ev) { string message = $"Event type {ev.GetType().Name}, (readers: {string.Join(", ", ev.Readers)})"; Console.WriteLine("Event select"); switch (ev) { case ReadersDetached detached: message += "detached"; subscription?.Dispose(); break; case ReadersAttached attached: message += "attached"; subscription = monitorFactory .CreateObservable(SCardScope.System, SmartCardReaderName) .Select(GetEventText) .Do(Console.WriteLine) .Subscribe( onNext: _ => { }, onError: OnError); break; case DeviceMonitorInitialized initialized: message += "initialized"; SmartCardReaderName = ev.Readers.Where(n => !n.Contains("SAM")).First(); message += $" {SmartCardReaderName}"; subscription = monitorFactory .CreateObservable(SCardScope.System, SmartCardReaderName) .Select(GetEventText) .Do(Console.WriteLine) .Subscribe( onNext: _ => { }, onError: OnError); break; } return(message); }
private static void OnNext(DeviceMonitorEvent ev) { Console.WriteLine($"Event type {ev.GetType()}, (readers: {string.Join(", ", ev.Readers)})"); }
private static string GetEventAsPrintableText(DeviceMonitorEvent ev) { return($"Event type {ev.GetType().Name}, (readers: {string.Join(", ", ev.Readers)})"); }