diff options
| author | Andrew Rabert <ar@nullsum.net> | 2018-12-27 18:27:57 -0500 |
|---|---|---|
| committer | Andrew Rabert <ar@nullsum.net> | 2018-12-27 18:27:57 -0500 |
| commit | a86b71899ec52c44ddc6c3018e8cc5e9d7ff4d62 (patch) | |
| tree | a74f6ea4a8abfa1664a605d31d48bc38245ccf58 /MediaBrowser.Model/LiveTv | |
| parent | 9bac3ac616b01f67db98381feb09d34ebe821f9a (diff) | |
Add GPL modules
Diffstat (limited to 'MediaBrowser.Model/LiveTv')
19 files changed, 949 insertions, 0 deletions
diff --git a/MediaBrowser.Model/LiveTv/BaseTimerInfoDto.cs b/MediaBrowser.Model/LiveTv/BaseTimerInfoDto.cs new file mode 100644 index 000000000..b5bd6ced0 --- /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 + { + /// <summary> + /// Id of the recording. + /// </summary> + public string Id { get; set; } + + public string Type { get; set; } + + /// <summary> + /// Gets or sets the server identifier. + /// </summary> + /// <value>The server identifier.</value> + public string ServerId { get; set; } + + /// <summary> + /// Gets or sets the external identifier. + /// </summary> + /// <value>The external identifier.</value> + public string ExternalId { get; set; } + + /// <summary> + /// ChannelId of the recording. + /// </summary> + public Guid ChannelId { get; set; } + + /// <summary> + /// Gets or sets the external channel identifier. + /// </summary> + /// <value>The external channel identifier.</value> + public string ExternalChannelId { get; set; } + + /// <summary> + /// ChannelName of the recording. + /// </summary> + public string ChannelName { get; set; } + + public string ChannelPrimaryImageTag { get; set; } + + /// <summary> + /// Gets or sets the program identifier. + /// </summary> + /// <value>The program identifier.</value> + public string ProgramId { get; set; } + + /// <summary> + /// Gets or sets the external program identifier. + /// </summary> + /// <value>The external program identifier.</value> + public string ExternalProgramId { get; set; } + + /// <summary> + /// Name of the recording. + /// </summary> + public string Name { get; set; } + + /// <summary> + /// Description of the recording. + /// </summary> + public string Overview { get; set; } + + /// <summary> + /// The start date of the recording, in UTC. + /// </summary> + public DateTime StartDate { get; set; } + + /// <summary> + /// The end date of the recording, in UTC. + /// </summary> + public DateTime EndDate { get; set; } + + /// <summary> + /// Gets or sets the name of the service. + /// </summary> + /// <value>The name of the service.</value> + public string ServiceName { get; set; } + + /// <summary> + /// Gets or sets the priority. + /// </summary> + /// <value>The priority.</value> + public int Priority { get; set; } + + /// <summary> + /// Gets or sets the pre padding seconds. + /// </summary> + /// <value>The pre padding seconds.</value> + public int PrePaddingSeconds { get; set; } + + /// <summary> + /// Gets or sets the post padding seconds. + /// </summary> + /// <value>The post padding seconds.</value> + public int PostPaddingSeconds { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is pre padding required. + /// </summary> + /// <value><c>true</c> if this instance is pre padding required; otherwise, <c>false</c>.</value> + public bool IsPrePaddingRequired { get; set; } + + /// <summary> + /// If the item does not have any backdrops, this will hold the Id of the Parent that has one. + /// </summary> + /// <value>The parent backdrop item id.</value> + public string ParentBackdropItemId { get; set; } + + /// <summary> + /// Gets or sets the parent backdrop image tags. + /// </summary> + /// <value>The parent backdrop image tags.</value> + public string[] ParentBackdropImageTags { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is post padding required. + /// </summary> + /// <value><c>true</c> if this instance is post padding required; otherwise, <c>false</c>.</value> + 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 000000000..bca16f839 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/ChannelType.cs @@ -0,0 +1,19 @@ + +namespace MediaBrowser.Model.LiveTv +{ + /// <summary> + /// Enum ChannelType + /// </summary> + public enum ChannelType + { + /// <summary> + /// The TV + /// </summary> + TV, + + /// <summary> + /// The radio + /// </summary> + Radio + } +} diff --git a/MediaBrowser.Model/LiveTv/DayPattern.cs b/MediaBrowser.Model/LiveTv/DayPattern.cs new file mode 100644 index 000000000..8251795dc --- /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 000000000..c21f6d871 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/GuideInfo.cs @@ -0,0 +1,19 @@ +using System; + +namespace MediaBrowser.Model.LiveTv +{ + public class GuideInfo + { + /// <summary> + /// Gets or sets the start date. + /// </summary> + /// <value>The start date.</value> + public DateTime StartDate { get; set; } + + /// <summary> + /// Gets or sets the end date. + /// </summary> + /// <value>The end date.</value> + 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 000000000..e3abd5974 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs @@ -0,0 +1,104 @@ +using MediaBrowser.Model.Entities; +using System; + +namespace MediaBrowser.Model.LiveTv +{ + /// <summary> + /// Class ChannelQuery. + /// </summary> + public class LiveTvChannelQuery + { + /// <summary> + /// Gets or sets the type of the channel. + /// </summary> + /// <value>The type of the channel.</value> + public ChannelType? ChannelType { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is favorite. + /// </summary> + /// <value><c>null</c> if [is favorite] contains no value, <c>true</c> if [is favorite]; otherwise, <c>false</c>.</value> + public bool? IsFavorite { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is liked. + /// </summary> + /// <value><c>null</c> if [is liked] contains no value, <c>true</c> if [is liked]; otherwise, <c>false</c>.</value> + public bool? IsLiked { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is disliked. + /// </summary> + /// <value><c>null</c> if [is disliked] contains no value, <c>true</c> if [is disliked]; otherwise, <c>false</c>.</value> + public bool? IsDisliked { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether [enable favorite sorting]. + /// </summary> + /// <value><c>true</c> if [enable favorite sorting]; otherwise, <c>false</c>.</value> + public bool EnableFavoriteSorting { get; set; } + + /// <summary> + /// Gets or sets the user identifier. + /// </summary> + /// <value>The user identifier.</value> + public Guid UserId { get; set; } + + /// <summary> + /// Skips over a given number of items within the results. Use for paging. + /// </summary> + /// <value>The start index.</value> + public int? StartIndex { get; set; } + + /// <summary> + /// The maximum number of items to return + /// </summary> + /// <value>The limit.</value> + public int? Limit { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether [add current program]. + /// </summary> + /// <value><c>true</c> if [add current program]; otherwise, <c>false</c>.</value> + public bool AddCurrentProgram { get; set; } + public bool EnableUserData { get; set; } + + /// <summary> + /// Used to specific whether to return news or not + /// </summary> + /// <remarks>If set to null, all programs will be returned</remarks> + public bool? IsNews { get; set; } + + /// <summary> + /// Used to specific whether to return movies or not + /// </summary> + /// <remarks>If set to null, all programs will be returned</remarks> + public bool? IsMovie { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is kids. + /// </summary> + /// <value><c>null</c> if [is kids] contains no value, <c>true</c> if [is kids]; otherwise, <c>false</c>.</value> + public bool? IsKids { get; set; } + /// <summary> + /// Gets or sets a value indicating whether this instance is sports. + /// </summary> + /// <value><c>null</c> if [is sports] contains no value, <c>true</c> if [is sports]; otherwise, <c>false</c>.</value> + public bool? IsSports { get; set; } + public bool? IsSeries { get; set; } + + public string[] SortBy { get; set; } + + /// <summary> + /// The sort order to return results with + /// </summary> + /// <value>The sort order.</value> + 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 000000000..331b1101b --- /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 + { + /// <summary> + /// Gets or sets the services. + /// </summary> + /// <value>The services.</value> + public LiveTvServiceInfo[] Services { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is enabled. + /// </summary> + /// <value><c>true</c> if this instance is enabled; otherwise, <c>false</c>.</value> + public bool IsEnabled { get; set; } + + /// <summary> + /// Gets or sets the enabled users. + /// </summary> + /// <value>The enabled users.</value> + 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 000000000..eb4f20f9e --- /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 000000000..23eedfc88 --- /dev/null +++ b/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs @@ -0,0 +1,58 @@ +using System; + +namespace MediaBrowser.Model.LiveTv +{ + /// <summary> + /// Class ServiceInfo + /// </summary> + public class LiveTvServiceInfo + { + /// <summary> + /// Gets or sets the name. + /// </summary> + /// <value>The name.</value> + public string Name { get; set; } + + /// <summary> + /// Gets or sets the home page URL. + /// </summary> + /// <value>The home page URL.</value> + public string HomePageUrl { get; set; } + + /// <summary> + /// Gets or sets the status. + /// </summary> + /// <value>The status.</value> + public LiveTvServiceStatus Status { get; set; } + + /// <summary> + /// Gets or sets the status message. + /// </summary> + /// <value>The status message.</value> + public string StatusMessage { get; set; } + + /// <summary> + /// Gets or sets the version. + /// </summary> + /// <value>The version.</value> + public string Version { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance has update available. + /// </summary> + /// <value><c>true</c> if this instance has update available; otherwise, <c>false</c>.</value> + public bool HasUpdateAvailable { get; set; } + /// <summary> + /// Gets or sets a value indicating whether this instance is visible. + /// </summary> + /// <value><c>true</c> if this instance is visible; otherwise, <c>false</c>.</value> + 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 000000000..20fe84500 --- /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 000000000..055199fca --- /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 000000000..9a272492c --- /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 000000000..89160948c --- /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 +{ + /// <summary> + /// Class ProgramQuery. + /// </summary> + public class ProgramQuery + { + public ProgramQuery() + { + ChannelIds = new Guid[] { }; + OrderBy = new Tuple<string, SortOrder>[] { }; + Genres = new string[] {}; + GenreIds = new Guid[] { }; + EnableTotalRecordCount = true; + EnableUserData = true; + } + + public bool EnableTotalRecordCount { get; set; } + public bool EnableUserData { get; set; } + + /// <summary> + /// Fields to return within the items, in addition to basic information + /// </summary> + /// <value>The fields.</value> + public ItemFields[] Fields { get; set; } + public bool? EnableImages { get; set; } + public int? ImageTypeLimit { get; set; } + public ImageType[] EnableImageTypes { get; set; } + + /// <summary> + /// Gets or sets the channel ids. + /// </summary> + /// <value>The channel ids.</value> + public Guid[] ChannelIds { get; set; } + + /// <summary> + /// Gets or sets the user identifier. + /// </summary> + /// <value>The user identifier.</value> + public string UserId { get; set; } + public string SeriesTimerId { get; set; } + public string Name { get; set; } + + /// <summary> + /// The earliest date for which a program starts to return + /// </summary> + public DateTime? MinStartDate { get; set; } + + /// <summary> + /// The latest date for which a program starts to return + /// </summary> + public DateTime? MaxStartDate { get; set; } + + /// <summary> + /// The earliest date for which a program ends to return + /// </summary> + public DateTime? MinEndDate { get; set; } + + /// <summary> + /// The latest date for which a program ends to return + /// </summary> + public DateTime? MaxEndDate { get; set; } + + /// <summary> + /// Used to specific whether to return news or not + /// </summary> + /// <remarks>If set to null, all programs will be returned</remarks> + public bool? IsNews { get; set; } + + /// <summary> + /// Used to specific whether to return movies or not + /// </summary> + /// <remarks>If set to null, all programs will be returned</remarks> + public bool? IsMovie { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is kids. + /// </summary> + /// <value><c>null</c> if [is kids] contains no value, <c>true</c> if [is kids]; otherwise, <c>false</c>.</value> + public bool? IsKids { get; set; } + /// <summary> + /// Gets or sets a value indicating whether this instance is sports. + /// </summary> + /// <value><c>null</c> if [is sports] contains no value, <c>true</c> if [is sports]; otherwise, <c>false</c>.</value> + public bool? IsSports { get; set; } + + /// <summary> + /// Skips over a given number of items within the results. Use for paging. + /// </summary> + public int? StartIndex { get; set; } + public bool? IsSeries { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance has aired. + /// </summary> + /// <value><c>null</c> if [has aired] contains no value, <c>true</c> if [has aired]; otherwise, <c>false</c>.</value> + public bool? HasAired { get; set; } + + /// <summary> + /// The maximum number of items to return + /// </summary> + public int? Limit { get; set; } + + public Tuple<string, SortOrder>[] OrderBy { get; set; } + + /// <summary> + /// Limit results to items containing specific genres + /// </summary> + /// <value>The genres.</value> + 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 000000000..9972c4c3f --- /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 + { + /// <summary> + /// Fields to return within the items, in addition to basic information + /// </summary> + /// <value>The fields.</value> + 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[] { }; + } + + /// <summary> + /// Gets or sets the user identifier. + /// </summary> + /// <value>The user identifier.</value> + public string UserId { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is airing. + /// </summary> + /// <value><c>true</c> if this instance is airing; otherwise, <c>false</c>.</value> + public bool? IsAiring { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance has aired. + /// </summary> + /// <value><c>null</c> if [has aired] contains no value, <c>true</c> if [has aired]; otherwise, <c>false</c>.</value> + public bool? HasAired { get; set; } + + /// <summary> + /// The maximum number of items to return + /// </summary> + /// <value>The limit.</value> + public int? Limit { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is movie. + /// </summary> + /// <value><c>null</c> if [is movie] contains no value, <c>true</c> if [is movie]; otherwise, <c>false</c>.</value> + public bool? IsNews { get; set; } + /// <summary> + /// Gets or sets a value indicating whether this instance is movie. + /// </summary> + /// <value><c>null</c> if [is movie] contains no value, <c>true</c> if [is movie]; otherwise, <c>false</c>.</value> + public bool? IsMovie { get; set; } + public bool? IsSeries { get; set; } + /// <summary> + /// Gets or sets a value indicating whether this instance is kids. + /// </summary> + /// <value><c>null</c> if [is kids] contains no value, <c>true</c> if [is kids]; otherwise, <c>false</c>.</value> + public bool? IsKids { get; set; } + /// <summary> + /// Gets or sets a value indicating whether this instance is sports. + /// </summary> + /// <value><c>null</c> if [is sports] contains no value, <c>true</c> if [is sports]; otherwise, <c>false</c>.</value> + 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 000000000..7d20441a5 --- /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 +{ + /// <summary> + /// Class RecordingQuery. + /// </summary> + public class RecordingQuery + { + /// <summary> + /// Gets or sets the channel identifier. + /// </summary> + /// <value>The channel identifier.</value> + public string ChannelId { get; set; } + + /// <summary> + /// Gets or sets the user identifier. + /// </summary> + /// <value>The user identifier.</value> + public Guid UserId { get; set; } + + /// <summary> + /// Gets or sets the identifier. + /// </summary> + /// <value>The identifier.</value> + public string Id { get; set; } + + /// <summary> + /// Skips over a given number of items within the results. Use for paging. + /// </summary> + /// <value>The start index.</value> + public int? StartIndex { get; set; } + + /// <summary> + /// The maximum number of items to return + /// </summary> + /// <value>The limit.</value> + public int? Limit { get; set; } + + /// <summary> + /// Gets or sets the status. + /// </summary> + /// <value>The status.</value> + public RecordingStatus? Status { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether this instance is in progress. + /// </summary> + /// <value><c>null</c> if [is in progress] contains no value, <c>true</c> if [is in progress]; otherwise, <c>false</c>.</value> + public bool? IsInProgress { get; set; } + + /// <summary> + /// Gets or sets the series timer identifier. + /// </summary> + /// <value>The series timer identifier.</value> + public string SeriesTimerId { get; set; } + + /// <summary> + /// Fields to return within the items, in addition to basic information + /// </summary> + /// <value>The fields.</value> + 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 000000000..496e6f421 --- /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 000000000..593996352 --- /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 +{ + /// <summary> + /// Class SeriesTimerInfoDto. + /// </summary> + public class SeriesTimerInfoDto : BaseTimerInfoDto + { + public SeriesTimerInfoDto() + { + ImageTags = new Dictionary<ImageType, string>(); + Days = new DayOfWeek[] { }; + Type = "SeriesTimer"; + } + + /// <summary> + /// Gets or sets a value indicating whether [record any time]. + /// </summary> + /// <value><c>true</c> if [record any time]; otherwise, <c>false</c>.</value> + public bool RecordAnyTime { get; set; } + + public bool SkipEpisodesInLibrary { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether [record any channel]. + /// </summary> + /// <value><c>true</c> if [record any channel]; otherwise, <c>false</c>.</value> + public bool RecordAnyChannel { get; set; } + + public int KeepUpTo { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether [record new only]. + /// </summary> + /// <value><c>true</c> if [record new only]; otherwise, <c>false</c>.</value> + public bool RecordNewOnly { get; set; } + + /// <summary> + /// Gets or sets the days. + /// </summary> + /// <value>The days.</value> + public DayOfWeek[] Days { get; set; } + + /// <summary> + /// Gets or sets the day pattern. + /// </summary> + /// <value>The day pattern.</value> + public DayPattern? DayPattern { get; set; } + + /// <summary> + /// Gets or sets the image tags. + /// </summary> + /// <value>The image tags.</value> + public Dictionary<ImageType, string> ImageTags { get; set; } + + /// <summary> + /// Gets or sets the parent thumb item id. + /// </summary> + /// <value>The parent thumb item id.</value> + public string ParentThumbItemId { get; set; } + + /// <summary> + /// Gets or sets the parent thumb image tag. + /// </summary> + /// <value>The parent thumb image tag.</value> + public string ParentThumbImageTag { get; set; } + + /// <summary> + /// Gets or sets the parent primary image item identifier. + /// </summary> + /// <value>The parent primary image item identifier.</value> + public string ParentPrimaryImageItemId { get; set; } + + /// <summary> + /// Gets or sets the parent primary image tag. + /// </summary> + /// <value>The parent primary image tag.</value> + 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 000000000..95260cc0e --- /dev/null +++ b/MediaBrowser.Model/LiveTv/SeriesTimerQuery.cs @@ -0,0 +1,19 @@ +using MediaBrowser.Model.Entities; + +namespace MediaBrowser.Model.LiveTv +{ + public class SeriesTimerQuery + { + /// <summary> + /// Gets or sets the sort by - SortName, Priority + /// </summary> + /// <value>The sort by.</value> + public string SortBy { get; set; } + + /// <summary> + /// Gets or sets the sort order. + /// </summary> + /// <value>The sort order.</value> + 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 000000000..d1aa3118f --- /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"; + } + + /// <summary> + /// Gets or sets the status. + /// </summary> + /// <value>The status.</value> + public RecordingStatus Status { get; set; } + + /// <summary> + /// Gets or sets the series timer identifier. + /// </summary> + /// <value>The series timer identifier.</value> + public string SeriesTimerId { get; set; } + + /// <summary> + /// Gets or sets the external series timer identifier. + /// </summary> + /// <value>The external series timer identifier.</value> + public string ExternalSeriesTimerId { get; set; } + + /// <summary> + /// Gets or sets the run time ticks. + /// </summary> + /// <value>The run time ticks.</value> + public long? RunTimeTicks { get; set; } + + /// <summary> + /// Gets or sets the program information. + /// </summary> + /// <value>The program information.</value> + public BaseItemDto ProgramInfo { get; set; } + + } +} diff --git a/MediaBrowser.Model/LiveTv/TimerQuery.cs b/MediaBrowser.Model/LiveTv/TimerQuery.cs new file mode 100644 index 000000000..c6202680c --- /dev/null +++ b/MediaBrowser.Model/LiveTv/TimerQuery.cs @@ -0,0 +1,23 @@ +namespace MediaBrowser.Model.LiveTv +{ + public class TimerQuery + { + /// <summary> + /// Gets or sets the channel identifier. + /// </summary> + /// <value>The channel identifier.</value> + public string ChannelId { get; set; } + + public string Id { get; set; } + + /// <summary> + /// Gets or sets the series timer identifier. + /// </summary> + /// <value>The series timer identifier.</value> + public string SeriesTimerId { get; set; } + + public bool? IsActive { get; set; } + + public bool? IsScheduled { get; set; } + } +}
\ No newline at end of file |
