// Event handler for receiving observer removed events private void ObserverRemoved(object sender, ObservedResource obs) { observer = null; // Here, we cancel the token, which should stop the RFIDHardwareManager CancelToken?.Cancel(); Log.Information("ObserverRemoved {@observer}", obs); }
// Event handler for receiving new resource observer events private void ObserverCreated(object sender, ObservedResource obs) { // Store the incoming observed resource observer = obs; Log.Information("ObserverCreated {@observer}", obs); CancelToken = new CancellationTokenSource(); // Start the RFID reader hardware using an asynchronous Task Log.Information("Starting the RFID reader..."); RFIDTask = new Task(() => { RFIDHardwareManager(CancelToken.Token); }); RFIDTask.Start(); Log.Information("Started RFID Reader"); }