Files
Ben Marsh 637187c618 Horde: Rename the Horde.Build project to Horde.Server.
#preflight none

[CL 24688228 by Ben Marsh in ue5-main branch]
2023-03-17 09:50:40 -04:00

78 lines
1.5 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using Horde.Server.Streams;
using Horde.Server.Utilities;
namespace Horde.Server.Notifications
{
/// <summary>
/// Base interface for events that users can subscribe for notifications to
/// </summary>
public interface IEvent
{
/// <summary>
/// Converts this event into an API event record
/// </summary>
/// <returns>The API event record</returns>
public EventRecord ToRecord();
}
/// <summary>
/// Event that occurs when a job completes
/// </summary>
public interface IJobCompleteEvent : IEvent
{
/// <summary>
/// The stream id
/// </summary>
StreamId StreamId { get; }
/// <summary>
/// The template id
/// </summary>
TemplateId TemplateId { get; }
}
/// <summary>
/// Event that occurs when a label completes
/// </summary>
public interface ILabelCompleteEvent : IEvent
{
/// <summary>
/// The stream id
/// </summary>
StreamId StreamId { get; }
/// <summary>
/// The template id
/// </summary>
TemplateId TemplateId { get; }
/// <summary>
/// Name of the label to monitor
/// </summary>
string LabelName { get; }
}
/// <summary>
/// Event that occurs when a job step completes
/// </summary>
public interface IStepCompleteEvent : IEvent
{
/// <summary>
/// The stream id
/// </summary>
StreamId StreamId { get; }
/// <summary>
/// The template id
/// </summary>
TemplateId TemplateId { get; }
/// <summary>
/// Name of the step to monitor
/// </summary>
string StepName { get; }
}
}