Slightly better handling of plugin reloading.
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user