using System.Collections.Generic;
using System.Threading.Tasks;
using ElectronNET.API.Entities;
namespace ElectronNET.API.Interfaces
{
///
/// Manage Browser Windows and Views
///
public interface IWindowManager
{
///
/// Quit when all windows are closed. (Default is true)
///
///
/// true if [quit window all closed]; otherwise, false.
///
bool IsQuitOnWindowAllClosed { get; set; }
///
/// Gets the browser windows.
///
///
/// The browser windows.
///
IReadOnlyCollection BrowserWindows { get; }
///
/// Gets the browser views.
///
///
/// The browser view.
///
IReadOnlyCollection BrowserViews { get; }
///
/// Creates the window asynchronous.
///
/// The load URL.
///
Task CreateWindowAsync(string loadUrl = "http://localhost");
///
/// Creates the window asynchronous.
///
/// The options.
/// The load URL.
///
Task CreateWindowAsync(BrowserWindowOptions options, string loadUrl = "http://localhost");
///
/// A BrowserView can be used to embed additional web content into a BrowserWindow.
/// It is like a child window, except that it is positioned relative to its owning window.
/// It is meant to be an alternative to the webview tag.
///
///
Task CreateBrowserViewAsync();
///
/// A BrowserView can be used to embed additional web content into a BrowserWindow.
/// It is like a child window, except that it is positioned relative to its owning window.
/// It is meant to be an alternative to the webview tag.
///
///
///
Task CreateBrowserViewAsync(BrowserViewConstructorOptions options);
}
}