Slightly better handling of plugin reloading.

This commit is contained in:
Fyren
2016-06-06 22:26:34 +00:00
parent b9f7f20046
commit 4e654704dc
2 changed files with 53 additions and 20 deletions
+5 -3
View File
@@ -88,7 +88,8 @@ enum class PluginState
Evicted,
// The plugin is waiting to be unloaded.
WaitingToUnload
WaitingToUnload,
WaitingToUnloadAndReload,
};
class CPlugin :
@@ -176,7 +177,7 @@ public:
return m_state;
}
void SetRegistered();
void SetWaitingToUnload();
void SetWaitingToUnload(bool andReload=false);
PluginStatus GetDisplayStatus() const {
return m_status;
@@ -426,7 +427,7 @@ public:
bool LibraryExists(const char *lib);
bool ReloadPlugin(CPlugin *pl);
bool ReloadPlugin(CPlugin *pl, bool print=false);
void UnloadAll();
@@ -463,6 +464,7 @@ private:
bool FindOrRequirePluginDeps(CPlugin *pPlugin);
void UnloadPluginImpl(CPlugin *plugin);
void ReloadPluginImpl(int id, const char filename[], PluginType ptype, bool print);
void Purge(CPlugin *plugin);
public: