From a86b71899ec52c44ddc6c3018e8cc5e9d7ff4d62 Mon Sep 17 00:00:00 2001 From: Andrew Rabert Date: Thu, 27 Dec 2018 18:27:57 -0500 Subject: Add GPL modules --- MediaBrowser.Model/LiveTv/BaseTimerInfoDto.cs | 127 +++++++++++++++++++++ MediaBrowser.Model/LiveTv/ChannelType.cs | 19 +++ MediaBrowser.Model/LiveTv/DayPattern.cs | 9 ++ MediaBrowser.Model/LiveTv/GuideInfo.cs | 19 +++ MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs | 104 +++++++++++++++++ MediaBrowser.Model/LiveTv/LiveTvInfo.cs | 32 ++++++ MediaBrowser.Model/LiveTv/LiveTvOptions.cs | 88 ++++++++++++++ MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs | 58 ++++++++++ MediaBrowser.Model/LiveTv/LiveTvServiceStatus.cs | 8 ++ MediaBrowser.Model/LiveTv/LiveTvTunerStatus.cs | 10 ++ MediaBrowser.Model/LiveTv/ProgramAudio.cs | 12 ++ MediaBrowser.Model/LiveTv/ProgramQuery.cs | 117 +++++++++++++++++++ .../LiveTv/RecommendedProgramQuery.cs | 73 ++++++++++++ MediaBrowser.Model/LiveTv/RecordingQuery.cs | 82 +++++++++++++ MediaBrowser.Model/LiveTv/RecordingStatus.cs | 14 +++ MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs | 92 +++++++++++++++ MediaBrowser.Model/LiveTv/SeriesTimerQuery.cs | 19 +++ MediaBrowser.Model/LiveTv/TimerInfoDto.cs | 43 +++++++ MediaBrowser.Model/LiveTv/TimerQuery.cs | 23 ++++ 19 files changed, 949 insertions(+) create mode 100644 MediaBrowser.Model/LiveTv/BaseTimerInfoDto.cs create mode 100644 MediaBrowser.Model/LiveTv/ChannelType.cs create mode 100644 MediaBrowser.Model/LiveTv/DayPattern.cs create mode 100644 MediaBrowser.Model/LiveTv/GuideInfo.cs create mode 100644 MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs create mode 100644 MediaBrowser.Model/LiveTv/LiveTvInfo.cs create mode 100644 MediaBrowser.Model/LiveTv/LiveTvOptions.cs create mode 100644 MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs create mode 100644 MediaBrowser.Model/LiveTv/LiveTvServiceStatus.cs create mode 100644 MediaBrowser.Model/LiveTv/LiveTvTunerStatus.cs create mode 100644 MediaBrowser.Model/LiveTv/ProgramAudio.cs create mode 100644 MediaBrowser.Model/LiveTv/ProgramQuery.cs create mode 100644 MediaBrowser.Model/LiveTv/RecommendedProgramQuery.cs create mode 100644 MediaBrowser.Model/LiveTv/RecordingQuery.cs create mode 100644 MediaBrowser.Model/LiveTv/RecordingStatus.cs create mode 100644 MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs create mode 100644 MediaBrowser.Model/LiveTv/SeriesTimerQuery.cs create mode 100644 MediaBrowser.Model/LiveTv/TimerInfoDto.cs create mode 100644 MediaBrowser.Model/LiveTv/TimerQuery.cs (limited to 'MediaBrowser.Model/LiveTv') diff --git a/MediaBrowser.Model/LiveTv/BaseTimerInfoDto.cs b/MediaBrowser.Model/LiveTv/BaseTimerInfoDto.cs new file mode 100644 index 0000000000..b5bd6ced0f --- /dev/null +++ b/MediaBrowser.Model/LiveTv/BaseTimerInfoDto.cs @@ -0,0 +1,127 @@ +using MediaBrowser.Model.Dto; +using System; +using System.Collections.Generic; + +namespace MediaBrowser.Model.LiveTv +{ + public class BaseTimerInfoDto : IHasServerId + { + /// + /// Id of the recording. + /// + public string Id { get; set; } + + public string Type { get; set; } + + /// + /// Gets or sets the server identifier. + /// + /// The server identifier. + public string ServerId { get; set; } + + /// + /// Gets or sets the external identifier. + /// + /// The external identifier. + public string ExternalId { get; set; } + + /// + /// ChannelId of the recording. + /// + public Guid ChannelId { get; set; } + + /// + /// Gets or sets the external channel identifier. + /// + /// The external channel identifier. + public string ExternalChannelId { get; set; } + + /// + /// ChannelName of the recording. + /// + public string ChannelName { get; set; } + + public string ChannelPrimaryImageTag { get; set; } + + /// + /// Gets or sets the program identifier. + /// + /// The program identifier. + public string ProgramId { get; set; } + + /// + /// Gets or sets the external program identifier. + /// + /// The external program identifier. + public string ExternalProgramId { get; set; } + + /// + /// Name of the recording. + /// + public string Name { get; set; } + + /// + /// Description of the recording. + /// + public string Overview { get; set; } + + /// + /// The start date of the recording, in UTC. + /// + public DateTime StartDate { get; set; } + + /// + /// The end date of the recording, in UTC. + /// + public DateTime EndDate { get; set; } + + /// + /// Gets or sets the name of the service. + /// + /// The name of the service. + public string ServiceName { get; set; } + + /// + /// Gets or sets the priority. + /// + /// The priority. + public int Priority { get; set; } + + /// + /// Gets or sets the pre padding seconds. + /// + /// The pre padding seconds. + public int PrePaddingSeconds { get; set; } + + /// + /// Gets or sets the post padding seconds. + /// + /// The post padding seconds. + public int PostPaddingSeconds { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is pre padding required. + /// + /// true if this instance is pre padding required; otherwise, false. + public bool IsPrePaddingRequired { get; set; } + + /// + /// If the item does not have any backdrops, this will hold the Id of the Parent that has one. + /// + /// The parent backdrop item id. + public string ParentBackdropItemId { get; set; } + + /// + /// Gets or sets the parent backdrop image tags. + /// + /// The parent backdrop image tags. + public string[] ParentBackdropImageTags { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is post padding required. + /// + /// true if this instance is post padding required; otherwise, false. + public bool IsPostPaddingRequired { get; set; } + public KeepUntil KeepUntil { get; set; } + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/ChannelType.cs b/MediaBrowser.Model/LiveTv/ChannelType.cs new file mode 100644 index 0000000000..bca16f8396 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/ChannelType.cs @@ -0,0 +1,19 @@ + +namespace MediaBrowser.Model.LiveTv +{ + /// + /// Enum ChannelType + /// + public enum ChannelType + { + /// + /// The TV + /// + TV, + + /// + /// The radio + /// + Radio + } +} diff --git a/MediaBrowser.Model/LiveTv/DayPattern.cs b/MediaBrowser.Model/LiveTv/DayPattern.cs new file mode 100644 index 0000000000..8251795dc3 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/DayPattern.cs @@ -0,0 +1,9 @@ +namespace MediaBrowser.Model.LiveTv +{ + public enum DayPattern + { + Daily, + Weekdays, + Weekends + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/GuideInfo.cs b/MediaBrowser.Model/LiveTv/GuideInfo.cs new file mode 100644 index 0000000000..c21f6d8717 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/GuideInfo.cs @@ -0,0 +1,19 @@ +using System; + +namespace MediaBrowser.Model.LiveTv +{ + public class GuideInfo + { + /// + /// Gets or sets the start date. + /// + /// The start date. + public DateTime StartDate { get; set; } + + /// + /// Gets or sets the end date. + /// + /// The end date. + public DateTime EndDate { get; set; } + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs b/MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs new file mode 100644 index 0000000000..e3abd59748 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs @@ -0,0 +1,104 @@ +using MediaBrowser.Model.Entities; +using System; + +namespace MediaBrowser.Model.LiveTv +{ + /// + /// Class ChannelQuery. + /// + public class LiveTvChannelQuery + { + /// + /// Gets or sets the type of the channel. + /// + /// The type of the channel. + public ChannelType? ChannelType { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is favorite. + /// + /// null if [is favorite] contains no value, true if [is favorite]; otherwise, false. + public bool? IsFavorite { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is liked. + /// + /// null if [is liked] contains no value, true if [is liked]; otherwise, false. + public bool? IsLiked { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is disliked. + /// + /// null if [is disliked] contains no value, true if [is disliked]; otherwise, false. + public bool? IsDisliked { get; set; } + + /// + /// Gets or sets a value indicating whether [enable favorite sorting]. + /// + /// true if [enable favorite sorting]; otherwise, false. + public bool EnableFavoriteSorting { get; set; } + + /// + /// Gets or sets the user identifier. + /// + /// The user identifier. + public Guid UserId { get; set; } + + /// + /// Skips over a given number of items within the results. Use for paging. + /// + /// The start index. + public int? StartIndex { get; set; } + + /// + /// The maximum number of items to return + /// + /// The limit. + public int? Limit { get; set; } + + /// + /// Gets or sets a value indicating whether [add current program]. + /// + /// true if [add current program]; otherwise, false. + public bool AddCurrentProgram { get; set; } + public bool EnableUserData { get; set; } + + /// + /// Used to specific whether to return news or not + /// + /// If set to null, all programs will be returned + public bool? IsNews { get; set; } + + /// + /// Used to specific whether to return movies or not + /// + /// If set to null, all programs will be returned + public bool? IsMovie { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is kids. + /// + /// null if [is kids] contains no value, true if [is kids]; otherwise, false. + public bool? IsKids { get; set; } + /// + /// Gets or sets a value indicating whether this instance is sports. + /// + /// null if [is sports] contains no value, true if [is sports]; otherwise, false. + public bool? IsSports { get; set; } + public bool? IsSeries { get; set; } + + public string[] SortBy { get; set; } + + /// + /// The sort order to return results with + /// + /// The sort order. + public SortOrder? SortOrder { get; set; } + + public LiveTvChannelQuery() + { + EnableUserData = true; + SortBy = new string[] {}; + } + } +} diff --git a/MediaBrowser.Model/LiveTv/LiveTvInfo.cs b/MediaBrowser.Model/LiveTv/LiveTvInfo.cs new file mode 100644 index 0000000000..331b1101b0 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/LiveTvInfo.cs @@ -0,0 +1,32 @@ +using System.Collections.Generic; +using System; + +namespace MediaBrowser.Model.LiveTv +{ + public class LiveTvInfo + { + /// + /// Gets or sets the services. + /// + /// The services. + public LiveTvServiceInfo[] Services { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is enabled. + /// + /// true if this instance is enabled; otherwise, false. + public bool IsEnabled { get; set; } + + /// + /// Gets or sets the enabled users. + /// + /// The enabled users. + public string[] EnabledUsers { get; set; } + + public LiveTvInfo() + { + Services = new LiveTvServiceInfo[] { }; + EnabledUsers = new string[] {}; + } + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/LiveTvOptions.cs b/MediaBrowser.Model/LiveTv/LiveTvOptions.cs new file mode 100644 index 0000000000..eb4f20f9e8 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/LiveTvOptions.cs @@ -0,0 +1,88 @@ +using MediaBrowser.Model.Dto; +using System; + +namespace MediaBrowser.Model.LiveTv +{ + public class LiveTvOptions + { + public int? GuideDays { get; set; } + public string RecordingPath { get; set; } + public string MovieRecordingPath { get; set; } + public string SeriesRecordingPath { get; set; } + public bool EnableRecordingSubfolders { get; set; } + public bool EnableOriginalAudioWithEncodedRecordings { get; set; } + + public TunerHostInfo[] TunerHosts { get; set; } + public ListingsProviderInfo[] ListingProviders { get; set; } + + public int PrePaddingSeconds { get; set; } + public int PostPaddingSeconds { get; set; } + + public string[] MediaLocationsCreated { get; set; } + + public string RecordingPostProcessor { get; set; } + public string RecordingPostProcessorArguments { get; set; } + + public LiveTvOptions() + { + TunerHosts = new TunerHostInfo[] { }; + ListingProviders = new ListingsProviderInfo[] { }; + MediaLocationsCreated = new string[] { }; + RecordingPostProcessorArguments = "\"{path}\""; + } + } + + public class TunerHostInfo + { + public string Id { get; set; } + public string Url { get; set; } + public string Type { get; set; } + public string DeviceId { get; set; } + public string FriendlyName { get; set; } + public bool ImportFavoritesOnly { get; set; } + public bool AllowHWTranscoding { get; set; } + public bool EnableStreamLooping { get; set; } + public string Source { get; set; } + public int TunerCount { get; set; } + public string UserAgent { get; set; } + + public TunerHostInfo() + { + AllowHWTranscoding = true; + } + } + + public class ListingsProviderInfo + { + public string Id { get; set; } + public string Type { get; set; } + public string Username { get; set; } + public string Password { get; set; } + public string ListingsId { get; set; } + public string ZipCode { get; set; } + public string Country { get; set; } + public string Path { get; set; } + + public string[] EnabledTuners { get; set; } + public bool EnableAllTuners { get; set; } + public string[] NewsCategories { get; set; } + public string[] SportsCategories { get; set; } + public string[] KidsCategories { get; set; } + public string[] MovieCategories { get; set; } + public NameValuePair[] ChannelMappings { get; set; } + public string MoviePrefix { get; set; } + public string PreferredLanguage { get; set; } + public string UserAgent { get; set; } + + public ListingsProviderInfo() + { + NewsCategories = new string[] { "news", "journalism", "documentary", "current affairs" }; + SportsCategories = new string[] { "sports", "basketball", "baseball", "football" }; + KidsCategories = new string[] { "kids", "family", "children", "childrens", "disney" }; + MovieCategories = new string[] { "movie" }; + EnabledTuners = new string[] { }; + EnableAllTuners = true; + ChannelMappings = new NameValuePair[] {}; + } + } +} diff --git a/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs b/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs new file mode 100644 index 0000000000..23eedfc889 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs @@ -0,0 +1,58 @@ +using System; + +namespace MediaBrowser.Model.LiveTv +{ + /// + /// Class ServiceInfo + /// + public class LiveTvServiceInfo + { + /// + /// Gets or sets the name. + /// + /// The name. + public string Name { get; set; } + + /// + /// Gets or sets the home page URL. + /// + /// The home page URL. + public string HomePageUrl { get; set; } + + /// + /// Gets or sets the status. + /// + /// The status. + public LiveTvServiceStatus Status { get; set; } + + /// + /// Gets or sets the status message. + /// + /// The status message. + public string StatusMessage { get; set; } + + /// + /// Gets or sets the version. + /// + /// The version. + public string Version { get; set; } + + /// + /// Gets or sets a value indicating whether this instance has update available. + /// + /// true if this instance has update available; otherwise, false. + public bool HasUpdateAvailable { get; set; } + /// + /// Gets or sets a value indicating whether this instance is visible. + /// + /// true if this instance is visible; otherwise, false. + public bool IsVisible { get; set; } + + public string[] Tuners { get; set; } + + public LiveTvServiceInfo() + { + Tuners = new string[] { }; + } + } +} diff --git a/MediaBrowser.Model/LiveTv/LiveTvServiceStatus.cs b/MediaBrowser.Model/LiveTv/LiveTvServiceStatus.cs new file mode 100644 index 0000000000..20fe845003 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/LiveTvServiceStatus.cs @@ -0,0 +1,8 @@ +namespace MediaBrowser.Model.LiveTv +{ + public enum LiveTvServiceStatus + { + Ok = 0, + Unavailable = 1 + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/LiveTvTunerStatus.cs b/MediaBrowser.Model/LiveTv/LiveTvTunerStatus.cs new file mode 100644 index 0000000000..055199fca7 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/LiveTvTunerStatus.cs @@ -0,0 +1,10 @@ +namespace MediaBrowser.Model.LiveTv +{ + public enum LiveTvTunerStatus + { + Available = 0, + Disabled = 1, + RecordingTv = 2, + LiveTv = 3 + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/ProgramAudio.cs b/MediaBrowser.Model/LiveTv/ProgramAudio.cs new file mode 100644 index 0000000000..9a272492ca --- /dev/null +++ b/MediaBrowser.Model/LiveTv/ProgramAudio.cs @@ -0,0 +1,12 @@ +namespace MediaBrowser.Model.LiveTv +{ + public enum ProgramAudio + { + Mono, + Stereo, + Dolby, + DolbyDigital, + Thx, + Atmos + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/ProgramQuery.cs b/MediaBrowser.Model/LiveTv/ProgramQuery.cs new file mode 100644 index 0000000000..89160948c9 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/ProgramQuery.cs @@ -0,0 +1,117 @@ +using MediaBrowser.Model.Entities; +using System; +using MediaBrowser.Model.Querying; + +namespace MediaBrowser.Model.LiveTv +{ + /// + /// Class ProgramQuery. + /// + public class ProgramQuery + { + public ProgramQuery() + { + ChannelIds = new Guid[] { }; + OrderBy = new Tuple[] { }; + Genres = new string[] {}; + GenreIds = new Guid[] { }; + EnableTotalRecordCount = true; + EnableUserData = true; + } + + public bool EnableTotalRecordCount { get; set; } + public bool EnableUserData { get; set; } + + /// + /// Fields to return within the items, in addition to basic information + /// + /// The fields. + public ItemFields[] Fields { get; set; } + public bool? EnableImages { get; set; } + public int? ImageTypeLimit { get; set; } + public ImageType[] EnableImageTypes { get; set; } + + /// + /// Gets or sets the channel ids. + /// + /// The channel ids. + public Guid[] ChannelIds { get; set; } + + /// + /// Gets or sets the user identifier. + /// + /// The user identifier. + public string UserId { get; set; } + public string SeriesTimerId { get; set; } + public string Name { get; set; } + + /// + /// The earliest date for which a program starts to return + /// + public DateTime? MinStartDate { get; set; } + + /// + /// The latest date for which a program starts to return + /// + public DateTime? MaxStartDate { get; set; } + + /// + /// The earliest date for which a program ends to return + /// + public DateTime? MinEndDate { get; set; } + + /// + /// The latest date for which a program ends to return + /// + public DateTime? MaxEndDate { get; set; } + + /// + /// Used to specific whether to return news or not + /// + /// If set to null, all programs will be returned + public bool? IsNews { get; set; } + + /// + /// Used to specific whether to return movies or not + /// + /// If set to null, all programs will be returned + public bool? IsMovie { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is kids. + /// + /// null if [is kids] contains no value, true if [is kids]; otherwise, false. + public bool? IsKids { get; set; } + /// + /// Gets or sets a value indicating whether this instance is sports. + /// + /// null if [is sports] contains no value, true if [is sports]; otherwise, false. + public bool? IsSports { get; set; } + + /// + /// Skips over a given number of items within the results. Use for paging. + /// + public int? StartIndex { get; set; } + public bool? IsSeries { get; set; } + + /// + /// Gets or sets a value indicating whether this instance has aired. + /// + /// null if [has aired] contains no value, true if [has aired]; otherwise, false. + public bool? HasAired { get; set; } + + /// + /// The maximum number of items to return + /// + public int? Limit { get; set; } + + public Tuple[] OrderBy { get; set; } + + /// + /// Limit results to items containing specific genres + /// + /// The genres. + public Guid[] GenreIds { get; set; } + public string[] Genres { get; set; } + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/RecommendedProgramQuery.cs b/MediaBrowser.Model/LiveTv/RecommendedProgramQuery.cs new file mode 100644 index 0000000000..9972c4c3f6 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/RecommendedProgramQuery.cs @@ -0,0 +1,73 @@ +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Querying; +using System; + +namespace MediaBrowser.Model.LiveTv +{ + public class RecommendedProgramQuery + { + /// + /// Fields to return within the items, in addition to basic information + /// + /// The fields. + public ItemFields[] Fields { get; set; } + public bool? EnableImages { get; set; } + public int? ImageTypeLimit { get; set; } + public ImageType[] EnableImageTypes { get; set; } + public Guid[] GenreIds { get; set; } + + public bool EnableTotalRecordCount { get; set; } + + public RecommendedProgramQuery() + { + EnableTotalRecordCount = true; + GenreIds = new Guid[] { }; + } + + /// + /// Gets or sets the user identifier. + /// + /// The user identifier. + public string UserId { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is airing. + /// + /// true if this instance is airing; otherwise, false. + public bool? IsAiring { get; set; } + + /// + /// Gets or sets a value indicating whether this instance has aired. + /// + /// null if [has aired] contains no value, true if [has aired]; otherwise, false. + public bool? HasAired { get; set; } + + /// + /// The maximum number of items to return + /// + /// The limit. + public int? Limit { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is movie. + /// + /// null if [is movie] contains no value, true if [is movie]; otherwise, false. + public bool? IsNews { get; set; } + /// + /// Gets or sets a value indicating whether this instance is movie. + /// + /// null if [is movie] contains no value, true if [is movie]; otherwise, false. + public bool? IsMovie { get; set; } + public bool? IsSeries { get; set; } + /// + /// Gets or sets a value indicating whether this instance is kids. + /// + /// null if [is kids] contains no value, true if [is kids]; otherwise, false. + public bool? IsKids { get; set; } + /// + /// Gets or sets a value indicating whether this instance is sports. + /// + /// null if [is sports] contains no value, true if [is sports]; otherwise, false. + public bool? IsSports { get; set; } + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/RecordingQuery.cs b/MediaBrowser.Model/LiveTv/RecordingQuery.cs new file mode 100644 index 0000000000..7d20441a5c --- /dev/null +++ b/MediaBrowser.Model/LiveTv/RecordingQuery.cs @@ -0,0 +1,82 @@ +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Querying; +using System; + +namespace MediaBrowser.Model.LiveTv +{ + /// + /// Class RecordingQuery. + /// + public class RecordingQuery + { + /// + /// Gets or sets the channel identifier. + /// + /// The channel identifier. + public string ChannelId { get; set; } + + /// + /// Gets or sets the user identifier. + /// + /// The user identifier. + public Guid UserId { get; set; } + + /// + /// Gets or sets the identifier. + /// + /// The identifier. + public string Id { get; set; } + + /// + /// Skips over a given number of items within the results. Use for paging. + /// + /// The start index. + public int? StartIndex { get; set; } + + /// + /// The maximum number of items to return + /// + /// The limit. + public int? Limit { get; set; } + + /// + /// Gets or sets the status. + /// + /// The status. + public RecordingStatus? Status { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is in progress. + /// + /// null if [is in progress] contains no value, true if [is in progress]; otherwise, false. + public bool? IsInProgress { get; set; } + + /// + /// Gets or sets the series timer identifier. + /// + /// The series timer identifier. + public string SeriesTimerId { get; set; } + + /// + /// Fields to return within the items, in addition to basic information + /// + /// The fields. + public ItemFields[] Fields { get; set; } + public bool? EnableImages { get; set; } + public bool? IsLibraryItem { get; set; } + public bool? IsNews { get; set; } + public bool? IsMovie { get; set; } + public bool? IsSeries { get; set; } + public bool? IsKids { get; set; } + public bool? IsSports { get; set; } + public int? ImageTypeLimit { get; set; } + public ImageType[] EnableImageTypes { get; set; } + + public bool EnableTotalRecordCount { get; set; } + + public RecordingQuery() + { + EnableTotalRecordCount = true; + } + } +} diff --git a/MediaBrowser.Model/LiveTv/RecordingStatus.cs b/MediaBrowser.Model/LiveTv/RecordingStatus.cs new file mode 100644 index 0000000000..496e6f421f --- /dev/null +++ b/MediaBrowser.Model/LiveTv/RecordingStatus.cs @@ -0,0 +1,14 @@ + +namespace MediaBrowser.Model.LiveTv +{ + public enum RecordingStatus + { + New, + InProgress, + Completed, + Cancelled, + ConflictedOk, + ConflictedNotOk, + Error + } +} diff --git a/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs b/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs new file mode 100644 index 0000000000..5939963522 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs @@ -0,0 +1,92 @@ +using MediaBrowser.Model.Entities; +using System; +using System.Collections.Generic; +using MediaBrowser.Model.Serialization; + +namespace MediaBrowser.Model.LiveTv +{ + /// + /// Class SeriesTimerInfoDto. + /// + public class SeriesTimerInfoDto : BaseTimerInfoDto + { + public SeriesTimerInfoDto() + { + ImageTags = new Dictionary(); + Days = new DayOfWeek[] { }; + Type = "SeriesTimer"; + } + + /// + /// Gets or sets a value indicating whether [record any time]. + /// + /// true if [record any time]; otherwise, false. + public bool RecordAnyTime { get; set; } + + public bool SkipEpisodesInLibrary { get; set; } + + /// + /// Gets or sets a value indicating whether [record any channel]. + /// + /// true if [record any channel]; otherwise, false. + public bool RecordAnyChannel { get; set; } + + public int KeepUpTo { get; set; } + + /// + /// Gets or sets a value indicating whether [record new only]. + /// + /// true if [record new only]; otherwise, false. + public bool RecordNewOnly { get; set; } + + /// + /// Gets or sets the days. + /// + /// The days. + public DayOfWeek[] Days { get; set; } + + /// + /// Gets or sets the day pattern. + /// + /// The day pattern. + public DayPattern? DayPattern { get; set; } + + /// + /// Gets or sets the image tags. + /// + /// The image tags. + public Dictionary ImageTags { get; set; } + + /// + /// Gets or sets the parent thumb item id. + /// + /// The parent thumb item id. + public string ParentThumbItemId { get; set; } + + /// + /// Gets or sets the parent thumb image tag. + /// + /// The parent thumb image tag. + public string ParentThumbImageTag { get; set; } + + /// + /// Gets or sets the parent primary image item identifier. + /// + /// The parent primary image item identifier. + public string ParentPrimaryImageItemId { get; set; } + + /// + /// Gets or sets the parent primary image tag. + /// + /// The parent primary image tag. + public string ParentPrimaryImageTag { get; set; } + } + + public enum KeepUntil + { + UntilDeleted, + UntilSpaceNeeded, + UntilWatched, + UntilDate + } +} diff --git a/MediaBrowser.Model/LiveTv/SeriesTimerQuery.cs b/MediaBrowser.Model/LiveTv/SeriesTimerQuery.cs new file mode 100644 index 0000000000..95260cc0e4 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/SeriesTimerQuery.cs @@ -0,0 +1,19 @@ +using MediaBrowser.Model.Entities; + +namespace MediaBrowser.Model.LiveTv +{ + public class SeriesTimerQuery + { + /// + /// Gets or sets the sort by - SortName, Priority + /// + /// The sort by. + public string SortBy { get; set; } + + /// + /// Gets or sets the sort order. + /// + /// The sort order. + public SortOrder SortOrder { get; set; } + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/LiveTv/TimerInfoDto.cs b/MediaBrowser.Model/LiveTv/TimerInfoDto.cs new file mode 100644 index 0000000000..d1aa3118fb --- /dev/null +++ b/MediaBrowser.Model/LiveTv/TimerInfoDto.cs @@ -0,0 +1,43 @@ +using MediaBrowser.Model.Dto; + +namespace MediaBrowser.Model.LiveTv +{ + public class TimerInfoDto : BaseTimerInfoDto + { + public TimerInfoDto() + { + Type = "Timer"; + } + + /// + /// Gets or sets the status. + /// + /// The status. + public RecordingStatus Status { get; set; } + + /// + /// Gets or sets the series timer identifier. + /// + /// The series timer identifier. + public string SeriesTimerId { get; set; } + + /// + /// Gets or sets the external series timer identifier. + /// + /// The external series timer identifier. + public string ExternalSeriesTimerId { get; set; } + + /// + /// Gets or sets the run time ticks. + /// + /// The run time ticks. + public long? RunTimeTicks { get; set; } + + /// + /// Gets or sets the program information. + /// + /// The program information. + public BaseItemDto ProgramInfo { get; set; } + + } +} diff --git a/MediaBrowser.Model/LiveTv/TimerQuery.cs b/MediaBrowser.Model/LiveTv/TimerQuery.cs new file mode 100644 index 0000000000..c6202680c5 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/TimerQuery.cs @@ -0,0 +1,23 @@ +namespace MediaBrowser.Model.LiveTv +{ + public class TimerQuery + { + /// + /// Gets or sets the channel identifier. + /// + /// The channel identifier. + public string ChannelId { get; set; } + + public string Id { get; set; } + + /// + /// Gets or sets the series timer identifier. + /// + /// The series timer identifier. + public string SeriesTimerId { get; set; } + + public bool? IsActive { get; set; } + + public bool? IsScheduled { get; set; } + } +} \ No newline at end of file -- cgit v1.2.3