using System; using System.Threading.Tasks; using Wino.Core.Domain.Models.Authorization; namespace Wino.Core.Domain.Interfaces { public interface INativeAppService { string GetWebAuthenticationBrokerUri(); Task GetMimeMessageStoragePath(); Task GetEditorBundlePathAsync(); Task LaunchFileAsync(string filePath); Task LaunchUriAsync(Uri uri); /// /// Launches the default browser with the specified uri and waits for protocol activation to finish. /// /// /// Response callback from the browser. Task GetAuthorizationResponseUriAsync(IAuthenticator authenticator, string authorizationUri); /// /// Finalizes GetAuthorizationResponseUriAsync for current IAuthenticator. /// /// void ContinueAuthorization(Uri authorizationResponseUri); bool IsAppRunning(); string GetFullAppVersion(); Task PinAppToTaskbarAsync(); /// /// Some cryptographic shit is needed for requesting Google authentication in UWP. /// GoogleAuthorizationRequest GetGoogleAuthorizationRequest(); /// /// Gets or sets the function that returns a pointer for main window hwnd for UWP. /// This is used to display WAM broker dialog on running UWP app called by a windowless server code. /// Func GetCoreWindowHwnd { get; set; } } }