using System;
using System.Threading.Tasks;
namespace JiShe.CollectBus.DynamicModule
{
///
/// 提供动态管理ABP模块的功能
///
public interface IDynamicModuleManager
{
///
/// 获取已注册的模块类型
///
/// 当前应用程序中已注册的所有模块类型
Type[] GetRegisteredModuleTypes();
///
/// 重新初始化指定的模块
///
/// 要重新初始化的模块类型
/// 表示异步操作的任务
Task ReinitializeModuleAsync(Type moduleType);
///
/// 卸载指定的模块
///
/// 要卸载的模块类型
/// 表示异步操作的任务
Task UnloadModuleAsync(Type moduleType);
///
/// 检查模块是否已加载
///
/// 要检查的模块类型
/// 如果模块已加载,则为true;否则为false
bool IsModuleLoaded(Type moduleType);
///
/// 根据模块名称获取模块类型
///
/// 模块名称
/// 模块类型,如果找不到则为null
Type GetModuleTypeByName(string moduleName);
}
}