Files
C4IT-F4SD-Client/F4SD-ActionConnector/Events/ActionConnectorEvents.cs
Meik 0b52999b1d feat: expand cockpit integrations and support workflows
Add Phoenix remote desktop, action connector, documentation engine, and gamification support. Refactor support-case processing and search/action UI, and update installer assets and dependencies.
2026-07-13 11:16:53 +02:00

41 lines
1.9 KiB
C#

using System;
using F4SD.ActionConnector.Payloads;
namespace F4SD.ActionConnector.Events
{
/// <summary>
/// Static event bus. F4SD calls the methods after a business event occurs.
/// The connector engine subscribes to the corresponding events and dispatches configured actions.
/// </summary>
public static class ActionConnectorEvents
{
/// <summary>Raised when a support case is closed.</summary>
public static event EventHandler<TriggerEventArgs<CaseClosedPayload>> CaseClosed;
/// <summary>Raised when a new support case is created.</summary>
public static event EventHandler<TriggerEventArgs<CaseCreatedPayload>> CaseCreated;
/// <summary>Raised once during application startup, after configuration is loaded.</summary>
public static event EventHandler<TriggerEventArgs<ApplicationStartupPayload>> ApplicationStartup;
/// <summary>
/// Raised after every sync action completes. The Cockpit Client subscribes here
/// to display results without coupling to specific trigger types.
/// </summary>
public static event EventHandler<ActionCompletedEventArgs> ActionCompleted;
public static void RaiseCaseClosed(object sender, CaseClosedPayload payload)
=> CaseClosed?.Invoke(sender, new TriggerEventArgs<CaseClosedPayload>(payload));
public static void RaiseCaseCreated(object sender, CaseCreatedPayload payload)
=> CaseCreated?.Invoke(sender, new TriggerEventArgs<CaseCreatedPayload>(payload));
public static void RaiseApplicationStartup(object sender, ApplicationStartupPayload payload)
=> ApplicationStartup?.Invoke(sender, new TriggerEventArgs<ApplicationStartupPayload>(payload));
public static void RaiseActionCompleted(object sender, ActionCompletedEventArgs args)
=> ActionCompleted?.Invoke(sender, args);
}
}