2021-07-07 17:47:20 +00:00
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Flow.Launcher.Plugin
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// This interface is to indicate and allow plugins to asyncronously reload their
|
|
|
|
|
|
/// in memory data cache or other mediums when user makes a new change
|
|
|
|
|
|
/// that is not immediately captured. For example, for BrowserBookmark and Program
|
|
|
|
|
|
/// plugin does not automatically detect when a user added a new bookmark or program,
|
|
|
|
|
|
/// so this interface's function is exposed to allow user manually do the reloading after
|
|
|
|
|
|
/// those new additions.
|
|
|
|
|
|
///
|
|
|
|
|
|
/// The command that allows user to manual reload is exposed via Plugin.Sys, and
|
|
|
|
|
|
/// it will call the plugins that have implemented this interface.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public interface IAsyncReloadable : IFeatures
|
|
|
|
|
|
{
|
2022-08-09 00:35:38 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Reload plugin data
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <returns></returns>
|
2021-07-07 17:47:20 +00:00
|
|
|
|
Task ReloadDataAsync();
|
|
|
|
|
|
}
|
2022-08-09 00:35:38 +00:00
|
|
|
|
}
|