using NetWorkHelper.ICommond;
using System.Collections.Generic;
namespace NetWorkHelper.Addins
{
///
/// 用于加载/卸载,管理各种插件接口。
///
public interface IAddinManager
{
#region Property
///
/// CopyToMemory 是否将插件拷贝到内存后加载
///
bool CopyToMemory { get; set; }
///
/// AddinList 已加载的插件列表
///
IList AddinList { get; } //集合中为IAddin
#endregion
#region Method
///
/// LoadDefault 加载当前目录或子目录下的所有有效插件
///
void LoadDefault();
///
/// LoadAllAddins 加载指定目录下的所有插件
///
void LoadAllAddins(string addinFolderPath, bool searchChildFolder);
///
/// LoadAddinAssembly 加载指定的插件
///
void LoadAddinAssembly(string assemblyPath);
///
/// Clear 清空所有已经加载的插件
///
void Clear();
///
/// DynRemoveAddin 动态移除指定的插件
///
void DynRemoveAddin(int addinKey);
///
/// EnableAddin 启用指定的插件
///
void EnableAddin(int addinKey);
///
/// EnableAddin 禁用指定的插件
///
void DisableAddin(int addinKey);
IAddin GetAddin(int addinKey);
#endregion
#region Event
event NetWorkEventHandler AddinsChanged;
#endregion
}
}