using System.Collections.Generic;
using System;
namespace PepperDash.Essentials.Core
{
///
/// Delegate for handling route change events on devices implementing .
///
/// The routing device where the change occurred.
/// A descriptor of the new route that was established.
///
/// Delegate for RouteChangedEventHandler
///
public delegate void RouteChangedEventHandler(IRoutingWithFeedback midpoint, RouteSwitchDescriptor newRoute);
///
/// Defines a routing device () that provides feedback about its current routes.
///
public interface IRoutingWithFeedback : IRouting
{
///
/// Gets a list describing the currently active routes on this device.
///
List CurrentRoutes { get; }
///
/// Event triggered when a route changes on this device.
///
event RouteChangedEventHandler RouteChanged;
}
}