1、简介
PluginManager管理插件IPlugin的生命周期,从初始化插件到删除插件共八个状态。插件状态表——PluginSpec::enum State { Invalid, Read, Resolved, Loaded, Initialized, Running, Stopped, Deleted};
插件IPlugin的状态记录在与插件对应的插件说明PluginSpec中,状态切换过程如下:
- 当new PluginSpec时,还没有插件与之关联,此时PluginSpec记录的插件状态为无效(Invalid);
- 读取插件文件后,状态切换成已读(Read);
- 读取全部插件后,首先需要解决插件之间的依赖问题,解决完毕后,状态切换成已解决(Resolved);
- 然后安装依赖顺序依次加载插件,状态切换成已加载(Loaded);
- 初始化所有插件,状态切换成已初始化(Initialized);
- 运行插件,状态切换成正在运行(Running);
- 当QtCreator退出时,插件依次退出,状态切换成(Stopped)&#x