mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
using ErsatzTV.Core.Domain; |
|
using ErsatzTV.Core.Domain.Filler; |
|
|
|
namespace ErsatzTV.Core.Scheduling.Engine; |
|
|
|
public interface ISchedulingEngine |
|
{ |
|
ISchedulingEngine WithPlayoutId(int playoutId); |
|
|
|
ISchedulingEngine WithMode(PlayoutBuildMode mode); |
|
|
|
ISchedulingEngine WithSeed(int seed); |
|
|
|
ISchedulingEngine WithReferenceData(PlayoutReferenceData referenceData); |
|
|
|
ISchedulingEngine BuildBetween(DateTimeOffset start, DateTimeOffset finish); |
|
|
|
ISchedulingEngine RemoveBefore(DateTimeOffset removeBefore); |
|
|
|
ISchedulingEngine RestoreOrReset(Option<PlayoutAnchor> maybeAnchor); |
|
|
|
// content definitions |
|
Task<ISchedulingEngine> AddCollection(string key, string collectionName, PlaybackOrder playbackOrder); |
|
Task<ISchedulingEngine> AddSearch(string key, string query, PlaybackOrder playbackOrder); |
|
|
|
// content instructions |
|
ISchedulingEngine AddCount( |
|
string content, |
|
int count, |
|
Option<FillerKind> fillerKind, |
|
string customTitle, |
|
bool disableWatermarks); |
|
|
|
// control instructions |
|
ISchedulingEngine WaitUntil(TimeOnly waitUntil, bool tomorrow, bool rewindOnReset); |
|
|
|
|
|
|
|
PlayoutAnchor GetAnchor(); |
|
|
|
ISchedulingEngineState GetState(); |
|
}
|
|
|