Files
ScadaBridge/src/ZB.MOM.WW.ScadaBridge.CentralUI/Services/INotificationChannelCatalog.cs
T

22 lines
992 B
C#

using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
/// <summary>
/// Exposes the set of notification delivery channels that actually have a registered
/// delivery adapter, so the Central UI never offers a notification-list Type that the
/// central node cannot deliver. The list is derived from the registered
/// <see cref="ZB.MOM.WW.ScadaBridge.NotificationOutbox.Delivery.INotificationDeliveryAdapter"/>
/// set (each adapter handles a single <see cref="NotificationType"/>) rather than from
/// the <see cref="NotificationType"/> enum, so adding/removing an adapter changes the UI
/// options automatically.
/// </summary>
public interface INotificationChannelCatalog
{
/// <summary>
/// The distinct notification channels that have a registered delivery adapter,
/// in a stable order. Never empty in a correctly configured central node.
/// </summary>
IReadOnlyList<NotificationType> SupportedChannels { get; }
}