using CRSim.Core.Models;
using CRSim.Core.Models.Plugin;
using System.Collections.ObjectModel;
namespace CRSim.Core.Abstractions;
///
/// 插件服务。用于管理应用各插件的加载和设置。
///
public interface IPluginService
{
///
/// 插件包文件扩展名。
///
public static readonly string PluginPackageExtension = ".crsp";
internal static List LoadedPluginsInternal { get; } = [];
///
/// 已加载的插件信息列表。
///
public static List LoadedPlugins => LoadedPluginsInternal;
internal static List OnlinePluginsInternal { get; } = [];
public static List OnlinePlugins => OnlinePluginsInternal;
Task InstallPluginOnlineAsync(PluginInfo plugin);
Task InstallPluginLocalAsync(string filePath);
Task PackPluginAsync(PluginInfo plugin, string filePath);
Task LoadOnlinePluginsAsync();
List<(string, Station)> GetStationData();
}