SourceMod SDK
1.7
|
Tracks dependencies and fires dependency listeners. More...
#include <public/IShareSys.h>
Public Member Functions | |
virtual bool | AddInterface (IExtension *myself, SMInterface *iface)=0 |
Adds an interface to the global interface system. More... | |
virtual bool | RequestInterface (const char *iface_name, unsigned int iface_vers, IExtension *myself, SMInterface **pIface)=0 |
Requests an interface from the global interface system. If found, the interface's internal reference count will be increased. More... | |
virtual void | AddNatives (IExtension *myself, const sp_nativeinfo_t *natives)=0 |
Adds a list of natives to the global native pool, to be bound on plugin load. More... | |
virtual IdentityType_t | CreateIdentType (const char *name)=0 |
Creates a new identity type. NOTE: Module authors should never need to use this. Due to the current implementation, there is a hardcoded limit of 15 types. Core uses up a few, so think carefully! More... | |
virtual IdentityType_t | FindIdentType (const char *name)=0 |
Finds an identity type by name. DEFAULT IDENTITY TYPES: "PLUGIN" - An IPlugin object. "MODULE" - An IModule object. "CORE" - An SMGlobalClass or other singleton. More... | |
virtual IdentityToken_t * | CreateIdentity (IdentityType_t type, void *ptr)=0 |
Creates a new identity token. This token is guaranteed to be unique amongst all other open identities. More... | |
virtual void | DestroyIdentType (IdentityType_t type)=0 |
Destroys an identity type. Note that this will delete any identities that are under this type. More... | |
virtual void | DestroyIdentity (IdentityToken_t *identity)=0 |
Destroys an identity token. Any handles being owned by this token, or any handles being. More... | |
virtual void | AddDependency (IExtension *myself, const char *filename, bool require, bool autoload)=0 |
Requires an extension. This tells SourceMod that without this extension, your extension should not be loaded. The name should not include the ".dll" or the ".so" part of the file name. More... | |
virtual void | RegisterLibrary (IExtension *myself, const char *name)=0 |
Registers a library name to an extension. More... | |
virtual void | OverrideNatives (IExtension *myself, const sp_nativeinfo_t *natives)=0 |
Deprecated. Does nothing. More... | |
virtual void | AddCapabilityProvider (IExtension *myself, IFeatureProvider *provider, const char *name)=0 |
Adds a capability provider. Feature providers are used by plugins to determine if a feature exists at runtime. This is distinctly different from checking for a native, because natives may be backed by underlying functionality which is not available. More... | |
virtual void | DropCapabilityProvider (IExtension *myself, IFeatureProvider *provider, const char *name)=0 |
Drops a previously added cap provider. More... | |
virtual FeatureStatus | TestFeature (SourcePawn::IPluginRuntime *rt, FeatureType type, const char *name)=0 |
Tracks dependencies and fires dependency listeners.
|
pure virtual |
Adds a capability provider. Feature providers are used by plugins to determine if a feature exists at runtime. This is distinctly different from checking for a native, because natives may be backed by underlying functionality which is not available.
myself | Extension. |
provider | Feature provider implementation. |
name | Capibility name. |
|
pure virtual |
Requires an extension. This tells SourceMod that without this extension, your extension should not be loaded. The name should not include the ".dll" or the ".so" part of the file name.
myself | IExtension pointer to yourself. |
filename | File of extension to require. |
require | Whether or not this extension is a required dependency. |
autoload | Whether or not to autoload this extension. |
|
pure virtual |
Adds an interface to the global interface system.
myself | Object adding this interface, in order to track dependencies. |
iface | Interface pointer (must be unique). |
|
pure virtual |
Adds a list of natives to the global native pool, to be bound on plugin load.
Adding natives does not bind them to any loaded plugins; the plugins must be reloaded for new natives to take effect.
myself | Identity token of parent object. |
natives | Array of natives to add. The last entry in the array must be filled with NULLs to terminate the array. The array must be static as Core will cache the pointer for the lifetime of the extension. |
|
pure virtual |
Creates a new identity token. This token is guaranteed to be unique amongst all other open identities.
type | Identity type. |
ptr | Private data pointer (cannot be NULL). |
|
pure virtual |
Creates a new identity type. NOTE: Module authors should never need to use this. Due to the current implementation, there is a hardcoded limit of 15 types. Core uses up a few, so think carefully!
name | String containing type name. Must not be empty or NULL. |
|
pure virtual |
Destroys an identity token. Any handles being owned by this token, or any handles being.
identity | Identity to remove. |
|
pure virtual |
Destroys an identity type. Note that this will delete any identities that are under this type.
type | Identity type. |
|
pure virtual |
Drops a previously added cap provider.
myself | Extension. |
provider | Feature provider implementation. |
name | Capibility name. |
|
pure virtual |
Finds an identity type by name. DEFAULT IDENTITY TYPES: "PLUGIN" - An IPlugin object. "MODULE" - An IModule object. "CORE" - An SMGlobalClass or other singleton.
name | String containing type name to search for. |
|
pure virtual |
Deprecated. Does nothing.
myself | Ignored. |
natives | Ignored. |
|
pure virtual |
Registers a library name to an extension.
myself | Extension to register library to. |
name | Library name. |
|
pure virtual |
Requests an interface from the global interface system. If found, the interface's internal reference count will be increased.
iface_name | Interface name. |
iface_vers | Interface version to attempt to match. |
myself | Object requesting this interface, in order to track dependencies. |
pIface | Pointer to store the return value in. |
|
pure virtual |
Tests for a feature.
rt | Plugin to test. |
type | Feature type. |
name | Feature name. |