diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-02 23:48:59 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-02 23:48:59 -0400 |
| commit | cd8db6fa54cbec936346098939db986ae52776bb (patch) | |
| tree | 4dc4b14ad20d0279c105591bc657ba10c221b579 /MediaBrowser.Model/ApiClient/IConnectionManager.cs | |
| parent | cf745bb888120cc7fe7c9d7d1396d32d6196ddbc (diff) | |
add connection manager interface
Diffstat (limited to 'MediaBrowser.Model/ApiClient/IConnectionManager.cs')
| -rw-r--r-- | MediaBrowser.Model/ApiClient/IConnectionManager.cs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/MediaBrowser.Model/ApiClient/IConnectionManager.cs b/MediaBrowser.Model/ApiClient/IConnectionManager.cs new file mode 100644 index 000000000..6a2d5c8cf --- /dev/null +++ b/MediaBrowser.Model/ApiClient/IConnectionManager.cs @@ -0,0 +1,62 @@ +using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Events; +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Model.ApiClient +{ + public interface IConnectionManager + { + /// <summary> + /// Occurs when [connected]. + /// </summary> + event EventHandler<GenericEventArgs<ConnectionResult>> Connected; + + /// <summary> + /// Gets the API client. + /// </summary> + /// <param name="item">The item.</param> + /// <returns>MediaBrowser.Model.ApiClient.IApiClient.</returns> + IApiClient GetApiClient(BaseItemDto item); + + /// <summary> + /// Connects the specified cancellation token. + /// </summary> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task<ConnectionResult>.</returns> + Task<ConnectionResult> Connect(CancellationToken cancellationToken); + + /// <summary> + /// Connects the specified server. + /// </summary> + /// <param name="server">The server.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task<ConnectionResult>.</returns> + Task<ConnectionResult> Connect(ServerInfo server, CancellationToken cancellationToken); + + /// <summary> + /// Connects the specified server. + /// </summary> + /// <param name="address">The address.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task<ConnectionResult>.</returns> + Task<ConnectionResult> Connect(string address, CancellationToken cancellationToken); + + /// <summary> + /// Logouts this instance. + /// </summary> + /// <returns>Task<ConnectionResult>.</returns> + Task<ConnectionResult> Logout(); + + /// <summary> + /// Authenticates the specified server. + /// </summary> + /// <param name="server">The server.</param> + /// <param name="username">The username.</param> + /// <param name="hash">The hash.</param> + /// <param name="rememberLogin">if set to <c>true</c> [remember login].</param> + /// <returns>Task.</returns> + Task Authenticate(ServerInfo server, string username, byte[] hash, bool rememberLogin); + } +} |
