Clarify plugin states.

This commit is contained in:
David Anderson 2015-09-20 12:20:57 -07:00
parent 485ade2610
commit 903315747d

View File

@ -65,16 +65,38 @@ namespace SourceMod
*/ */
enum PluginStatus enum PluginStatus
{ {
Plugin_Running=0, /**< Plugin is running */ // @brief The plugin is running normally.
/* All states below are unexecutable */ Plugin_Running=0,
Plugin_Paused, /**< Plugin is loaded but paused */
Plugin_Error, /**< Plugin is loaded but errored/locked */ // @brief The plugin is paused and no code may be executed until it
/* All states below do not have all natives */ // is resumed.
Plugin_Loaded, /**< Plugin has passed loading and can be finalized */ Plugin_Paused,
Plugin_Failed, /**< Plugin has a fatal failure */
Plugin_Created, /**< Plugin is created but not initialized */ // @brief The plugin encountered a fatal error, but it may be loaded
Plugin_Uncompiled, /**< Plugin is not yet compiled by the JIT */ // again later.
Plugin_BadLoad, /**< Plugin failed to load */ Plugin_Error,
// @brief The plugin loaded, but has not yet been linked into the
// dependency system. It may not have all its natives bound yet.
Plugin_Loaded,
// @brief The plugin encountered a fatal, unrecoverable error.
Plugin_Failed,
// @brief The plugin successfully compiled, but we have not yet begun
// the loading and initialization process. This state should not be
// observable.
Plugin_Created,
// @brief The plugin has not yet been compiled. This state should not
// be observable. Plugins in this state do not have a context or
// runtime.
Plugin_Uncompiled,
// @brief The plugin could not be loaded. Either its file was missing
// or could not be recognized as a valid SourcePawn binary. Plugins
// in this state do not have a context or runtime.
Plugin_BadLoad
}; };