diff options
| author | 7illusions <z@7illusions.com> | 2014-08-30 19:06:58 +0200 |
|---|---|---|
| committer | 7illusions <z@7illusions.com> | 2014-08-30 19:06:58 +0200 |
| commit | 66ad1699e22029b605e17735e8d9450285d8748a (patch) | |
| tree | ffc92c88d24850b2f82b6b3a8bdd904a2ccc77a5 /MediaBrowser.Model/ApiClient/IApiClient.cs | |
| parent | 34bc54263e886aae777a3537dc50a6535b51330a (diff) | |
| parent | 9d36f518182bc075c19d78084870f5115fa62d1e (diff) | |
Merge pull request #1 from MediaBrowser/master
Update to latest
Diffstat (limited to 'MediaBrowser.Model/ApiClient/IApiClient.cs')
| -rw-r--r-- | MediaBrowser.Model/ApiClient/IApiClient.cs | 273 |
1 files changed, 179 insertions, 94 deletions
diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs index 4f008571c..a9d0f480c 100644 --- a/MediaBrowser.Model/ApiClient/IApiClient.cs +++ b/MediaBrowser.Model/ApiClient/IApiClient.cs @@ -5,6 +5,7 @@ using MediaBrowser.Model.Entities; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.LiveTv; using MediaBrowser.Model.Notifications; +using MediaBrowser.Model.Playlists; using MediaBrowser.Model.Plugins; using MediaBrowser.Model.Querying; using MediaBrowser.Model.Search; @@ -48,7 +49,7 @@ namespace MediaBrowser.Model.ApiClient /// </summary> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{List{GameSystemSummary}}.</returns> - Task<List<GameSystemSummary>> GetGameSystemSummariesAsync(CancellationToken cancellationToken); + Task<List<GameSystemSummary>> GetGameSystemSummariesAsync(CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the async. @@ -57,40 +58,22 @@ namespace MediaBrowser.Model.ApiClient /// <param name="url">The URL.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{``0}.</returns> - Task<T> GetAsync<T>(string url, CancellationToken cancellationToken) + Task<T> GetAsync<T>(string url, CancellationToken cancellationToken = default(CancellationToken)) where T : class; /// <summary> - /// Gets the url needed to stream an audio file - /// </summary> - /// <param name="options">The options.</param> - /// <returns>System.String.</returns> - /// <exception cref="ArgumentNullException">options</exception> - string GetAudioStreamUrl(StreamOptions options); - - /// <summary> - /// Gets the url needed to stream a video file - /// </summary> - /// <param name="options">The options.</param> - /// <returns>System.String.</returns> - /// <exception cref="ArgumentNullException">options</exception> - string GetVideoStreamUrl(VideoStreamOptions options); - - /// <summary> - /// Formulates a url for streaming video using the HLS protocol - /// </summary> - /// <param name="options">The options.</param> - /// <returns>System.String.</returns> - /// <exception cref="ArgumentNullException">options</exception> - string GetHlsVideoStreamUrl(VideoStreamOptions options); - - /// <summary> /// Reports the capabilities. /// </summary> /// <param name="capabilities">The capabilities.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - Task ReportCapabilities(ClientCapabilities capabilities, CancellationToken cancellationToken); + Task ReportCapabilities(ClientCapabilities capabilities, CancellationToken cancellationToken = default(CancellationToken)); + + /// <summary> + /// Logouts this instance. + /// </summary> + /// <returns>Task.</returns> + Task Logout(); /// <summary> /// Gets the index of the game players. @@ -98,7 +81,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="userId">The user id.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{List{ItemIndex}}.</returns> - Task<List<ItemIndex>> GetGamePlayerIndex(string userId, CancellationToken cancellationToken); + Task<List<ItemIndex>> GetGamePlayerIndex(string userId, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the index of the year. @@ -107,7 +90,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="includeItemTypes">The include item types.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{List{ItemIndex}}.</returns> - Task<List<ItemIndex>> GetYearIndex(string userId, string[] includeItemTypes, CancellationToken cancellationToken); + Task<List<ItemIndex>> GetYearIndex(string userId, string[] includeItemTypes, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the critic reviews. @@ -117,7 +100,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="startIndex">The start index.</param> /// <param name="limit">The limit.</param> /// <returns>Task{ItemReviewsResult}.</returns> - Task<QueryResult<ItemReview>> GetCriticReviews(string itemId, CancellationToken cancellationToken, int? startIndex = null, int? limit = null); + Task<QueryResult<ItemReview>> GetCriticReviews(string itemId, CancellationToken cancellationToken = default(CancellationToken), int? startIndex = null, int? limit = null); /// <summary> /// Gets the theme songs async. @@ -127,7 +110,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="inheritFromParents">if set to <c>true</c> [inherit from parents].</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ThemeMediaResult}.</returns> - Task<ThemeMediaResult> GetThemeSongsAsync(string userId, string itemId, bool inheritFromParents, CancellationToken cancellationToken); + Task<ThemeMediaResult> GetThemeSongsAsync(string userId, string itemId, bool inheritFromParents, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the search hints async. @@ -144,7 +127,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="inheritFromParents">if set to <c>true</c> [inherit from parents].</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ThemeMediaResult}.</returns> - Task<ThemeMediaResult> GetThemeVideosAsync(string userId, string itemId, bool inheritFromParents, CancellationToken cancellationToken); + Task<ThemeMediaResult> GetThemeVideosAsync(string userId, string itemId, bool inheritFromParents, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets all theme media async. @@ -154,7 +137,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="inheritFromParents">if set to <c>true</c> [inherit from parents].</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{AllThemeMediaResult}.</returns> - Task<AllThemeMediaResult> GetAllThemeMediaAsync(string userId, string itemId, bool inheritFromParents, CancellationToken cancellationToken); + Task<AllThemeMediaResult> GetAllThemeMediaAsync(string userId, string itemId, bool inheritFromParents, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Marks the notifications read. @@ -186,7 +169,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{Stream}.</returns> /// <exception cref="ArgumentNullException">url</exception> - Task<Stream> GetImageStreamAsync(string url, CancellationToken cancellationToken); + Task<Stream> GetImageStreamAsync(string url, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets a BaseItem @@ -198,6 +181,13 @@ namespace MediaBrowser.Model.ApiClient Task<BaseItemDto> GetItemAsync(string id, string userId); /// <summary> + /// Gets the latest items. + /// </summary> + /// <param name="query">The query.</param> + /// <returns>Task<QueryResult<BaseItemDto>>.</returns> + Task<BaseItemDto[]> GetLatestItems(LatestItemsQuery query); + + /// <summary> /// Gets the intros async. /// </summary> /// <param name="itemId">The item id.</param> @@ -217,9 +207,10 @@ namespace MediaBrowser.Model.ApiClient /// Gets the additional parts. /// </summary> /// <param name="itemId">The item identifier.</param> + /// <param name="userId">The user identifier.</param> /// <returns>Task{BaseItemDto[]}.</returns> Task<ItemsResult> GetAdditionalParts(string itemId, string userId); - + /// <summary> /// Gets the users async. /// </summary> @@ -232,7 +223,7 @@ namespace MediaBrowser.Model.ApiClient /// </summary> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{UserDto[]}.</returns> - Task<UserDto[]> GetPublicUsersAsync(CancellationToken cancellationToken); + Task<UserDto[]> GetPublicUsersAsync(CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets active client sessions. @@ -242,6 +233,12 @@ namespace MediaBrowser.Model.ApiClient Task<SessionInfoDto[]> GetClientSessionsAsync(SessionQuery query); /// <summary> + /// Gets the client session asynchronous. + /// </summary> + /// <returns>Task{SessionInfoDto}.</returns> + Task<SessionInfoDto> GetCurrentSessionAsync(CancellationToken cancellationToken = default(CancellationToken)); + + /// <summary> /// Gets the item counts async. /// </summary> /// <param name="query">The query.</param> @@ -252,25 +249,36 @@ namespace MediaBrowser.Model.ApiClient /// Gets the episodes asynchronous. /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> - Task<ItemsResult> GetEpisodesAsync(EpisodeQuery query); + Task<ItemsResult> GetEpisodesAsync(EpisodeQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the seasons asynchronous. /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> - Task<ItemsResult> GetSeasonsAsync(SeasonQuery query); + Task<ItemsResult> GetSeasonsAsync(SeasonQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Queries for items /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> /// <exception cref="ArgumentNullException">query</exception> - Task<ItemsResult> GetItemsAsync(ItemQuery query); + Task<ItemsResult> GetItemsAsync(ItemQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> + /// Gets the user views. + /// </summary> + /// <param name="userId">The user identifier.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task<ItemsResult>.</returns> + Task<ItemsResult> GetUserViews(string userId, CancellationToken cancellationToken = default(CancellationToken)); + + /// <summary> /// Gets the instant mix from song async. /// </summary> /// <param name="query">The query.</param> @@ -302,44 +310,50 @@ namespace MediaBrowser.Model.ApiClient /// Gets the similar movies async. /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> - Task<ItemsResult> GetSimilarMoviesAsync(SimilarItemsQuery query); + Task<ItemsResult> GetSimilarMoviesAsync(SimilarItemsQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the similar trailers async. /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> - Task<ItemsResult> GetSimilarTrailersAsync(SimilarItemsQuery query); + Task<ItemsResult> GetSimilarTrailersAsync(SimilarItemsQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the similar series async. /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> - Task<ItemsResult> GetSimilarSeriesAsync(SimilarItemsQuery query); + Task<ItemsResult> GetSimilarSeriesAsync(SimilarItemsQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the similar albums async. /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> - Task<ItemsResult> GetSimilarAlbumsAsync(SimilarItemsQuery query); + Task<ItemsResult> GetSimilarAlbumsAsync(SimilarItemsQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the similar games async. /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> - Task<ItemsResult> GetSimilarGamesAsync(SimilarItemsQuery query); + Task<ItemsResult> GetSimilarGamesAsync(SimilarItemsQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the people async. /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> /// <exception cref="ArgumentNullException">userId</exception> - Task<ItemsResult> GetPeopleAsync(PersonsQuery query); + Task<ItemsResult> GetPeopleAsync(PersonsQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the artists. @@ -355,7 +369,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <returns>Task{ItemsResult}.</returns> Task<ItemsResult> GetAlbumArtistsAsync(ArtistsQuery query); - + /// <summary> /// Gets a studio /// </summary> @@ -369,8 +383,9 @@ namespace MediaBrowser.Model.ApiClient /// Gets the next up async. /// </summary> /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ItemsResult}.</returns> - Task<ItemsResult> GetNextUpEpisodesAsync(NextUpQuery query); + Task<ItemsResult> GetNextUpEpisodesAsync(NextUpQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the upcoming episodes asynchronous. @@ -452,9 +467,16 @@ namespace MediaBrowser.Model.ApiClient /// </summary> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{SystemInfo}.</returns> - Task<SystemInfo> GetSystemInfoAsync(CancellationToken cancellationToken); + Task<SystemInfo> GetSystemInfoAsync(CancellationToken cancellationToken = default(CancellationToken)); /// <summary> + /// Gets the public system information asynchronous. + /// </summary> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task<PublicSystemInfo>.</returns> + Task<PublicSystemInfo> GetPublicSystemInfoAsync(CancellationToken cancellationToken = default(CancellationToken)); + + /// <summary> /// Gets a person /// </summary> /// <param name="name">The name.</param> @@ -585,7 +607,7 @@ namespace MediaBrowser.Model.ApiClient Task ReportPlaybackStoppedAsync(PlaybackStopInfo info); /// <summary> - /// Instructs antoher client to browse to a library item. + /// Instructs another client to browse to a library item. /// </summary> /// <param name="sessionId">The session id.</param> /// <param name="itemId">The id of the item to browse to.</param> @@ -638,6 +660,13 @@ namespace MediaBrowser.Model.ApiClient Task SetVolume(string sessionId, int volume); /// <summary> + /// Stops the transcoding processes. + /// </summary> + /// <param name="deviceId">The device identifier.</param> + /// <returns>Task.</returns> + Task StopTranscodingProcesses(string deviceId); + + /// <summary> /// Sets the index of the audio stream. /// </summary> /// <param name="sessionId">The session identifier.</param> @@ -652,7 +681,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="index">The index.</param> /// <returns>Task.</returns> Task SetSubtitleStreamIndex(string sessionId, int? index); - + /// <summary> /// Instructs the client to display a message to the user /// </summary> @@ -714,7 +743,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="client">The client.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{BaseItemDto}.</returns> - Task<DisplayPreferences> GetDisplayPreferencesAsync(string id, string userId, string client, CancellationToken cancellationToken); + Task<DisplayPreferences> GetDisplayPreferencesAsync(string id, string userId, string client, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Updates display preferences for a user @@ -725,7 +754,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{DisplayPreferences}.</returns> /// <exception cref="System.ArgumentNullException">userId</exception> - Task UpdateDisplayPreferencesAsync(DisplayPreferences displayPreferences, string userId, string client, CancellationToken cancellationToken); + Task UpdateDisplayPreferencesAsync(DisplayPreferences displayPreferences, string userId, string client, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Posts a set of data to a url, and deserializes the return stream into T @@ -735,7 +764,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="args">The args.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{``0}.</returns> - Task<T> PostAsync<T>(string url, Dictionary<string, string> args, CancellationToken cancellationToken) + Task<T> PostAsync<T>(string url, Dictionary<string, string> args, CancellationToken cancellationToken = default(CancellationToken)) where T : class; /// <summary> @@ -752,23 +781,16 @@ namespace MediaBrowser.Model.ApiClient IJsonSerializer JsonSerializer { get; set; } /// <summary> - /// Gets or sets the server host name (myserver or 192.168.x.x) - /// </summary> - /// <value>The name of the server host.</value> - string ServerHostName { get; } - - /// <summary> - /// Gets or sets the port number used by the API + /// Gets or sets the server address /// </summary> - /// <value>The server API port.</value> - int ServerApiPort { get; } + /// <value>The server address.</value> + string ServerAddress { get; } /// <summary> /// Changes the server location. /// </summary> - /// <param name="hostName">Name of the host.</param> - /// <param name="apiPort">The API port.</param> - void ChangeServerLocation(string hostName, int apiPort); + /// <param name="address">The address.</param> + void ChangeServerLocation(string address); /// <summary> /// Gets or sets the type of the client. @@ -792,7 +814,31 @@ namespace MediaBrowser.Model.ApiClient /// Gets or sets the current user id. /// </summary> /// <value>The current user id.</value> - string CurrentUserId { get; set; } + string CurrentUserId { get; } + + /// <summary> + /// Gets the access token. + /// </summary> + /// <value>The access token.</value> + string AccessToken { get; } + + /// <summary> + /// Sets the authentication information. + /// </summary> + /// <param name="accessToken">The access token.</param> + /// <param name="userId">The user identifier.</param> + void SetAuthenticationInfo(string accessToken, string userId); + + /// <summary> + /// Sets the authentication information. + /// </summary> + /// <param name="accessToken">The access token.</param> + void SetAuthenticationInfo(string accessToken); + + /// <summary> + /// Clears the authentication information. + /// </summary> + void ClearAuthenticationInfo(); /// <summary> /// Gets the image URL. @@ -833,7 +879,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="options">The options.</param> /// <returns>System.String.</returns> string GetSubtitleUrl(SubtitleDownloadOptions options); - + /// <summary> /// Gets an image url that can be used to download an image from the api /// </summary> @@ -969,7 +1015,7 @@ namespace MediaBrowser.Model.ApiClient /// </summary> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{LiveTvInfo}.</returns> - Task<LiveTvInfo> GetLiveTvInfoAsync(CancellationToken cancellationToken); + Task<LiveTvInfo> GetLiveTvInfoAsync(CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv channels asynchronous. @@ -977,7 +1023,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{LiveTvInfo}.</returns> - Task<QueryResult<ChannelInfoDto>> GetLiveTvChannelsAsync(ChannelQuery query, CancellationToken cancellationToken); + Task<QueryResult<ChannelInfoDto>> GetLiveTvChannelsAsync(LiveTvChannelQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv channel asynchronous. @@ -986,7 +1032,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="userId">The user identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ChannelInfoDto}.</returns> - Task<ChannelInfoDto> GetLiveTvChannelAsync(string id, string userId, CancellationToken cancellationToken); + Task<ChannelInfoDto> GetLiveTvChannelAsync(string id, string userId, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv recordings asynchronous. @@ -994,7 +1040,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{QueryResult{RecordingInfoDto}}.</returns> - Task<QueryResult<RecordingInfoDto>> GetLiveTvRecordingsAsync(RecordingQuery query, CancellationToken cancellationToken); + Task<QueryResult<RecordingInfoDto>> GetLiveTvRecordingsAsync(RecordingQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv recording asynchronous. @@ -1003,7 +1049,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="userId">The user identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{RecordingInfoDto}.</returns> - Task<RecordingInfoDto> GetLiveTvRecordingAsync(string id, string userId, CancellationToken cancellationToken); + Task<RecordingInfoDto> GetLiveTvRecordingAsync(string id, string userId, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv recording groups asynchronous. @@ -1011,7 +1057,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{QueryResult{RecordingGroupDto}}.</returns> - Task<QueryResult<RecordingGroupDto>> GetLiveTvRecordingGroupsAsync(RecordingGroupQuery query, CancellationToken cancellationToken); + Task<QueryResult<RecordingGroupDto>> GetLiveTvRecordingGroupsAsync(RecordingGroupQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv recording group asynchronous. @@ -1020,7 +1066,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="userId">The user identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{RecordingGroupDto}.</returns> - Task<RecordingGroupDto> GetLiveTvRecordingGroupAsync(string id, string userId, CancellationToken cancellationToken); + Task<RecordingGroupDto> GetLiveTvRecordingGroupAsync(string id, string userId, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv timers asynchronous. @@ -1028,7 +1074,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{QueryResult{TimerInfoDto}}.</returns> - Task<QueryResult<TimerInfoDto>> GetLiveTvTimersAsync(TimerQuery query, CancellationToken cancellationToken); + Task<QueryResult<TimerInfoDto>> GetLiveTvTimersAsync(TimerQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv programs asynchronous. @@ -1036,7 +1082,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{QueryResult{ProgramInfoDto}}.</returns> - Task<QueryResult<ProgramInfoDto>> GetLiveTvProgramsAsync(ProgramQuery query, CancellationToken cancellationToken); + Task<QueryResult<ProgramInfoDto>> GetLiveTvProgramsAsync(ProgramQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv program asynchronous. @@ -1045,7 +1091,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="userId">The user identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ProgramInfoDto}.</returns> - Task<ProgramInfoDto> GetLiveTvProgramAsync(string id, string userId, CancellationToken cancellationToken); + Task<ProgramInfoDto> GetLiveTvProgramAsync(string id, string userId, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the recommended live tv programs asynchronous. @@ -1053,7 +1099,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{QueryResult{ProgramInfoDto}}.</returns> - Task<QueryResult<ProgramInfoDto>> GetRecommendedLiveTvProgramsAsync(RecommendedProgramQuery query, CancellationToken cancellationToken); + Task<QueryResult<ProgramInfoDto>> GetRecommendedLiveTvProgramsAsync(RecommendedProgramQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Creates the live tv timer asynchronous. @@ -1061,7 +1107,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="timer">The timer.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - Task CreateLiveTvTimerAsync(BaseTimerInfoDto timer, CancellationToken cancellationToken); + Task CreateLiveTvTimerAsync(BaseTimerInfoDto timer, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Updates the live tv timer asynchronous. @@ -1069,7 +1115,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="timer">The timer.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - Task UpdateLiveTvTimerAsync(TimerInfoDto timer, CancellationToken cancellationToken); + Task UpdateLiveTvTimerAsync(TimerInfoDto timer, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Creates the live tv series timer asynchronous. @@ -1077,7 +1123,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="timer">The timer.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - Task CreateLiveTvSeriesTimerAsync(SeriesTimerInfoDto timer, CancellationToken cancellationToken); + Task CreateLiveTvSeriesTimerAsync(SeriesTimerInfoDto timer, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Updates the live tv series timer asynchronous. @@ -1085,7 +1131,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="timer">The timer.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - Task UpdateLiveTvSeriesTimerAsync(SeriesTimerInfoDto timer, CancellationToken cancellationToken); + Task UpdateLiveTvSeriesTimerAsync(SeriesTimerInfoDto timer, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv timer asynchronous. @@ -1093,7 +1139,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="id">The identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{TimerInfoDto}.</returns> - Task<TimerInfoDto> GetLiveTvTimerAsync(string id, CancellationToken cancellationToken); + Task<TimerInfoDto> GetLiveTvTimerAsync(string id, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv series timers asynchronous. @@ -1101,7 +1147,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{QueryResult{SeriesTimerInfoDto}}.</returns> - Task<QueryResult<SeriesTimerInfoDto>> GetLiveTvSeriesTimersAsync(SeriesTimerQuery query, CancellationToken cancellationToken); + Task<QueryResult<SeriesTimerInfoDto>> GetLiveTvSeriesTimersAsync(SeriesTimerQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv series timer asynchronous. @@ -1109,7 +1155,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="id">The identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{SeriesTimerInfoDto}.</returns> - Task<SeriesTimerInfoDto> GetLiveTvSeriesTimerAsync(string id, CancellationToken cancellationToken); + Task<SeriesTimerInfoDto> GetLiveTvSeriesTimerAsync(string id, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Cancels the live tv timer asynchronous. @@ -1117,7 +1163,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="id">The identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - Task CancelLiveTvTimerAsync(string id, CancellationToken cancellationToken); + Task CancelLiveTvTimerAsync(string id, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Cancels the live tv series timer asynchronous. @@ -1125,7 +1171,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="id">The identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - Task CancelLiveTvSeriesTimerAsync(string id, CancellationToken cancellationToken); + Task CancelLiveTvSeriesTimerAsync(string id, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Deletes the live tv recording asynchronous. @@ -1133,21 +1179,21 @@ namespace MediaBrowser.Model.ApiClient /// <param name="id">The identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - Task DeleteLiveTvRecordingAsync(string id, CancellationToken cancellationToken); + Task DeleteLiveTvRecordingAsync(string id, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the default timer information. /// </summary> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{SeriesTimerInfoDto}.</returns> - Task<SeriesTimerInfoDto> GetDefaultLiveTvTimerInfo(CancellationToken cancellationToken); + Task<SeriesTimerInfoDto> GetDefaultLiveTvTimerInfo(CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the live tv guide information. /// </summary> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{GuideInfo}.</returns> - Task<GuideInfo> GetLiveTvGuideInfo(CancellationToken cancellationToken); + Task<GuideInfo> GetLiveTvGuideInfo(CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the default timer information. @@ -1155,7 +1201,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="programId">The program identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{SeriesTimerInfoDto}.</returns> - Task<SeriesTimerInfoDto> GetDefaultLiveTvTimerInfo(string programId, CancellationToken cancellationToken); + Task<SeriesTimerInfoDto> GetDefaultLiveTvTimerInfo(string programId, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the channel features. @@ -1163,7 +1209,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="channelId">The channel identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{ChannelFeatures}.</returns> - Task<ChannelFeatures> GetChannelFeatures(string channelId, CancellationToken cancellationToken); + Task<ChannelFeatures> GetChannelFeatures(string channelId, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the channel items. @@ -1171,7 +1217,7 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{QueryResult{BaseItemDto}}.</returns> - Task<QueryResult<BaseItemDto>> GetChannelItems(ChannelItemQuery query, CancellationToken cancellationToken); + Task<QueryResult<BaseItemDto>> GetChannelItems(ChannelItemQuery query, CancellationToken cancellationToken = default(CancellationToken)); /// <summary> /// Gets the channels. @@ -1179,6 +1225,45 @@ namespace MediaBrowser.Model.ApiClient /// <param name="query">The query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task{QueryResult{BaseItemDto}}.</returns> - Task<QueryResult<BaseItemDto>> GetChannels(ChannelQuery query, CancellationToken cancellationToken); + Task<QueryResult<BaseItemDto>> GetChannels(ChannelQuery query, CancellationToken cancellationToken = default(CancellationToken)); + + /// <summary> + /// Gets the latest channel items. + /// </summary> + /// <param name="query">The query.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{QueryResult{BaseItemDto}}.</returns> + Task<QueryResult<BaseItemDto>> GetLatestChannelItems(AllChannelMediaQuery query, CancellationToken cancellationToken = default(CancellationToken)); + + /// <summary> + /// Creates the playlist. + /// </summary> + /// <param name="request">The request.</param> + /// <returns>Task<PlaylistCreationResult>.</returns> + Task<PlaylistCreationResult> CreatePlaylist(PlaylistCreationRequest request); + + /// <summary> + /// Adds to playlist. + /// </summary> + /// <param name="playlistId">The playlist identifier.</param> + /// <param name="itemIds">The item ids.</param> + /// <param name="userId">The user identifier.</param> + /// <returns>Task.</returns> + Task AddToPlaylist(string playlistId, IEnumerable<string> itemIds, string userId); + + /// <summary> + /// Removes from playlist. + /// </summary> + /// <param name="playlistId">The playlist identifier.</param> + /// <param name="entryIds">The entry ids.</param> + /// <returns>Task.</returns> + Task RemoveFromPlaylist(string playlistId, IEnumerable<string> entryIds); + + /// <summary> + /// Gets the playlist items. + /// </summary> + /// <param name="query">The query.</param> + /// <returns>Task<QueryResult<BaseItemDto>>.</returns> + Task<QueryResult<BaseItemDto>> GetPlaylistItems(PlaylistItemQuery query); } }
\ No newline at end of file |
