2021-09-01 01:16:29 -04:00
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
namespace Schedulable.Show
|
|
|
|
{
|
|
|
|
public class Show
|
|
|
|
{
|
|
|
|
public PreshowTaskList PreShow { get; set; }
|
|
|
|
public TaskList PostShow { get; set; }
|
|
|
|
|
|
|
|
#region components
|
|
|
|
public class TaskList
|
|
|
|
{
|
|
|
|
public IEnumerable<Checklistable> Manual { get; set; }
|
2021-09-03 03:38:21 -04:00
|
|
|
public IEnumerable<CommandLine> Commands { get; set; }
|
2021-09-01 01:16:29 -04:00
|
|
|
}
|
|
|
|
public class PreshowTaskList : TaskList
|
|
|
|
{
|
|
|
|
public IEnumerable<string> AgentsNeeded { get; set; }
|
2021-09-03 03:38:21 -04:00
|
|
|
public IEnumerable<CommandLineCheck> Checks { get; set; }
|
2021-09-01 01:16:29 -04:00
|
|
|
}
|
|
|
|
public class Checklistable
|
|
|
|
{
|
|
|
|
//for humans
|
|
|
|
public string Label { get; set; }
|
|
|
|
public IEnumerable<Checklistable> Items { get; set; } //if no items, just throw up a checkbox
|
|
|
|
}
|
2021-09-03 03:38:21 -04:00
|
|
|
public class CommandLine
|
|
|
|
{
|
|
|
|
public string cmd { get; set; }
|
|
|
|
public string args { get; set; }
|
2021-09-03 04:22:51 -04:00
|
|
|
public TimeSpan leadTime { get; set; }
|
2021-09-03 03:38:21 -04:00
|
|
|
}
|
2021-09-03 04:22:51 -04:00
|
|
|
public class CommandLineCheck
|
2021-09-03 03:38:21 -04:00
|
|
|
{
|
2021-09-03 04:22:51 -04:00
|
|
|
public string cmd { get; set; }
|
|
|
|
public string args { get; set; }
|
2021-09-03 03:38:21 -04:00
|
|
|
public string target { get; set; }
|
|
|
|
}
|
2021-09-01 01:16:29 -04:00
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
public class TwitchStream : Show
|
|
|
|
{
|
|
|
|
public string TwitchTitle { get; set; }
|
|
|
|
public string TwitchCategory { get; set; }
|
|
|
|
}
|
|
|
|
public class YoutubeRelease : Show { }
|
|
|
|
}
|