using System.Threading.Tasks; using ElectronNET.API.Entities; namespace ElectronNET.API.Interfaces { /// /// Manage files and URLs using their default applications. /// public interface IShell { /// /// Show the given file in a file manager. If possible, select the file. /// /// The full path to the directory / file. Task ShowItemInFolderAsync(string fullPath); /// /// Open the given file in the desktop's default manner. /// /// The path to the directory / file. /// The error message corresponding to the failure if a failure occurred, otherwise . Task OpenPathAsync(string path); /// /// Open the given external protocol URL in the desktop’s default manner. /// (For example, mailto: URLs in the user’s default mail agent). /// /// Max 2081 characters on windows. /// The error message corresponding to the failure if a failure occurred, otherwise . Task OpenExternalAsync(string url); /// /// Open the given external protocol URL in the desktop’s default manner. /// (For example, mailto: URLs in the user’s default mail agent). /// /// Max 2081 characters on windows. /// Controls the behavior of OpenExternal. /// The error message corresponding to the failure if a failure occurred, otherwise . Task OpenExternalAsync(string url, OpenExternalOptions options); /// /// Move the given file to trash and returns a status for the operation. /// /// The full path to the directory / file. /// Whether the item was successfully moved to the trash. Task TrashItemAsync(string fullPath); /// /// Play the beep sound. /// void Beep(); /// /// Creates or updates a shortcut link at shortcutPath. /// /// The path to the shortcut. /// Default is /// Structure of a shortcut. /// Whether the shortcut was created successfully. Task WriteShortcutLinkAsync(string shortcutPath, ShortcutLinkOperation operation, ShortcutDetails options); /// /// Resolves the shortcut link at shortcutPath. /// An exception will be thrown when any error happens. /// /// The path tot the shortcut. /// of the shortcut. Task ReadShortcutLinkAsync(string shortcutPath); } }