feat: add RouteDescriptorCollectionChanged event to notify changes in route descriptors

This commit is contained in:
Neil Dorin 2026-06-30 17:00:26 -06:00
parent aae41b5947
commit 4bb2917b69

View file

@ -1,4 +1,5 @@
using PepperDash.Core;
using System;
using PepperDash.Core;
using Serilog.Events;
using System.Collections.Generic;
using System.Linq;
@ -27,6 +28,8 @@ public class RouteDescriptorCollection
private readonly List<RouteDescriptor> RouteDescriptors = new List<RouteDescriptor>();
public event EventHandler RouteDescriptorCollectionChanged;
/// <summary>
/// Gets an enumerable collection of all RouteDescriptors in this collection.
/// </summary>
@ -70,6 +73,8 @@ public class RouteDescriptorCollection
descriptor?.InputPort?.Key ?? "auto",
descriptor?.SignalType);
RouteDescriptors.Add(descriptor);
RouteDescriptorCollectionChanged?.Invoke(this, EventArgs.Empty);
}
/// <summary>
@ -110,7 +115,10 @@ public class RouteDescriptorCollection
? GetRouteDescriptorForDestination(destination)
: GetRouteDescriptorForDestinationAndInputPort(destination, inputPortKey);
if (descr != null)
{
RouteDescriptors.Remove(descr);
RouteDescriptorCollectionChanged?.Invoke(this, EventArgs.Empty);
}
Debug.LogMessage(LogEventLevel.Information, "Found route descriptor {routeDescriptor}", destination, descr);