SourceMod Namespace Reference


Classes

struct  PassInfo
 Parameter passing information. More...
struct  PassEncode
 Parameter encoding information. More...
class  ICallWrapper
 Wraps a C/C++ call. More...
class  IBinTools
 Binary tools interface. More...
class  ITopMenuObjectCallbacks
 Top Menu callbacks for rendering/drawing. More...
class  ITopMenu
 "Top menu" interface, for managing top-level categorized menus. More...
class  ITopMenuManager
 Top menu manager. More...
class  IAdminListener
 Provides callbacks for admin cache operations. More...
class  IAdminSystem
 Provides functions for manipulating the admin options cache. More...
class  IBasicTrie
 A "Trie" data type. More...
class  IADTFactory
class  IDataReader
 Specifies a data pack that can only be read. More...
class  IDataPack
 Specifies a data pack that can only be written. More...
class  IResultRow
 Represents a one database result row. More...
class  IResultSet
 Describes a set of database results. More...
class  IQuery
class  IPreparedQuery
class  IDatabase
 Encapsulates a database connection. More...
struct  DatabaseInfo
 Describes database connection info. More...
class  IDBDriver
 Describes an SQL driver. More...
class  IDBThreadOperation
class  IDBManager
 Describes the DBI manager. More...
class  IExtension
 Encapsulates an IExtensionInterface and its dependencies. More...
class  IExtensionInterface
 The interface an extension must expose. More...
class  IExtensionManager
 Manages the loading/unloading of extensions. More...
class  IForward
 Unmanaged Forward, abstracts calling multiple functions as "forwards," or collections of functions. More...
class  IChangeableForward
 Managed Forward, same as IForward, except the collection can be modified. More...
class  IForwardManager
 Provides functions for creating/destroying managed and unmanaged forwards. More...
class  IGameConfig
 Describes a game private data config file. More...
class  IGameConfigManager
 Manages game config files. More...
struct  sm_sendprop_info_t
 Maps the heirarchy of a SendProp. More...
class  IGameHelpers
struct  TypeAccess
 This is used to define per-type access rights. More...
struct  HandleAccess
 This is used to define per-Handle access rights. More...
struct  HandleSecurity
 This pair of tokens is used for identification. More...
class  IHandleTypeDispatch
 Hooks type-specific Handle operations. More...
class  IHandleSys
 Provides functions for managing Handles. More...
class  ILibrary
class  IDirectory
 Directory browsing abstraction. More...
class  ILibrarySys
 Contains various operating system specific code. More...
class  IMemoryUtils
struct  menu_slots_t
 Pairs an item type with an item menu position. More...
struct  menu_states_t
 Describes menu display information. More...
struct  ItemDrawInfo
 Information about item drawing. More...
struct  menu_vote_result_t
 Contains information about a vote result. More...
class  IMenuPanel
 Sets how a raw menu should be drawn. More...
class  IMenuStyle
 Describes a "MenuStyle" system which manages menu drawing and construction. More...
class  IBaseMenu
 High-level interface for building menus. More...
class  IMenuHandler
 Contains callbacks for menu actions. More...
class  IMenuManager
 Manages menu creation and displaying. More...
class  IGamePlayer
 Abstracts some Half-Life 2 and SourceMod properties about clients. More...
class  IClientListener
 Provides callbacks for important client events. More...
struct  cmd_target_info_t
 Holds the many command target info parameters. More...
class  ICommandTargetProcessor
 Intercepts a command target operation. More...
class  IPlayerManager
struct  sm_plugininfo_s
 Encapsulates plugin public information exposed through "myinfo.". More...
class  IPlugin
 Encapsulates a run-time plugin as maintained by SourceMod. More...
class  IPluginIterator
 Iterates over a list of plugins. More...
class  IPluginsListener
 Listens for plugin-oriented events. More...
class  IPluginManager
 Manages the runtime loading and unloading of plugins. More...
class  IRootConsoleCommand
 Handles a root console menu action. More...
class  IRootConsole
 Manages the root console menu - the "sm" command for servers. More...
class  SMInterface
 Defines the base functionality required by a shared interface. More...
class  IShareSys
 Tracks dependencies and fires dependency listeners. More...
class  ISourceMod
 Contains miscellaneous helper functions. More...
class  ITextListener_INI
 Contains parse events for INI files. More...
struct  SMCStates
 States for line/column. More...
class  ITextListener_SMC
 Describes the events available for reading an SMC stream. More...
class  ITextParsers
 Contains various text stream parsing functions. More...
struct  ThreadParams
 Thread-specific parameters. More...
class  IThreadHandle
 Describes a handle to a thread. More...
class  IThread
 Handles a single thread's execution. More...
class  IThreadCreator
 Describes a thread creator. More...
class  IMutex
 Describes a simple locking mutex. More...
class  IEventSignal
 Describes a simple "condition variable"/signal lock. More...
class  IThreadWorker
 This is a "worker pool." A single thread places tasks in a queue. Each IThread is then a task, rather than its own separate thread. More...
class  IThreadWorkerCallbacks
 Describes thread worker callbacks. More...
class  IThreader
 Describes a threading system. More...
class  IMapTimer
 Interface for map timers. More...
class  ITimedEvent
 Event callbacks for when a timer is executed. More...
class  ITimerSystem
struct  Translation
 Contains information about a translation phrase. More...
class  IPhraseFile
 Represents a phrase file from SourceMod's "translations" folder. More...
class  IPhraseCollection
class  ITranslator
 Provides functions for translation. More...
class  IUserMessageListener
 Listens to user messages sent from the server. More...
class  IUserMessages
 Contains functions for hooking user messages. More...

Typedefs

typedef int GroupId
 Represents an index to one group.
typedef int AdminId
 Represents an index to one user entry.
typedef unsigned int FlagBits
 Admin permission levels.
typedef void * ITERATOR
typedef unsigned int HandleType_t
 Represents a Handle Type ID.
typedef unsigned int Handle_t
 Represents a Handle ID.
typedef SourceMod::sm_plugininfo_s sm_plugininfo_t
 Encapsulates plugin public information exposed through "myinfo.".
typedef unsigned int HandleType_t
typedef HandleType_t IdentityType_t
typedef void(*) GAME_FRAME_HOOK (bool simulating)
 Called when a game frame is fired.

Enumerations

enum  CallConvention { CallConv_ThisCall, CallConv_Cdecl }
 Supported calling conventions. More...
enum  PassType { PassType_Basic, PassType_Float, PassType_Object }
 Describes how a parameter should be passed. More...
enum  TopMenuObjectType { TopMenuObject_Category = 0, TopMenuObject_Item = 1 }
 Top menu object types. More...
enum  TopMenuPosition { TopMenuPosition_Start = 0, TopMenuPosition_LastRoot = 1, TopMenuPosition_LastCategory = 3 }
 Top menu starting positions for display. More...
enum  AdminFlag {
  Admin_Reservation = 0, Admin_Generic, Admin_Kick, Admin_Ban,
  Admin_Unban, Admin_Slay, Admin_Changemap, Admin_Convars,
  Admin_Config, Admin_Chat, Admin_Vote, Admin_Password,
  Admin_RCON, Admin_Cheats, Admin_Root, Admin_Custom1,
  Admin_Custom2, Admin_Custom3, Admin_Custom4, Admin_Custom5,
  Admin_Custom6
}
 Access levels (flags) for admins. More...
enum  OverrideType { Override_Command = 1, Override_CommandGroup }
 Specifies which type of command to override (command or command group). More...
enum  OverrideRule { Command_Deny = 0, Command_Allow = 1 }
 Specifies how a command is overridden for a user group. More...
enum  ImmunityType { Immunity_Default = 1, Immunity_Global }
 DEPRECATED. Specifies a generic immunity type. More...
enum  AccessMode { Access_Real, Access_Effective }
 Defines user access modes. More...
enum  AdminCachePart { AdminCache_Overrides = 0, AdminCache_Groups = 1, AdminCache_Admins = 2 }
 Represents the various cache regions. More...
enum  DBResult { DBVal_Error = 0, DBVal_TypeMismatch = 1, DBVal_Null = 2, DBVal_Data = 3 }
 Describes a database field value. More...
enum  DBType {
  DBType_Unknown = 0, DBType_String, DBType_Blob, DBType_Integer,
  DBType_Float, DBType_NULL, DBTypes_TOTAL
}
 Describes a primitive database type. More...
enum  PrioQueueLevel { PrioQueue_High, PrioQueue_Normal, PrioQueue_Low }
 Priority queue level. More...
enum  DBHandleType { DBHandle_Driver = 0, DBHandle_Database = 1 }
 Database-related Handle types. More...
enum  ResultType { Pl_Continue = 0, Pl_Changed = 1, Pl_Handled = 3, Pl_Stop = 4 }
 Defines the event hook result types plugins can return. More...
enum  ExecType {
  ET_Ignore = 0, ET_Single = 1, ET_Event = 2, ET_Hook = 3,
  ET_LowEvent = 4
}
 Defines how a forward iterates through plugin functions. More...
enum  ParamType {
  Param_Any = SP_PARAMTYPE_ANY, Param_Cell = SP_PARAMTYPE_CELL, Param_Float = SP_PARAMTYPE_FLOAT, Param_String = SP_PARAMTYPE_STRING,
  Param_Array = SP_PARAMTYPE_ARRAY, Param_VarArgs = SP_PARAMTYPE_VARARG, Param_CellByRef = SP_PARAMTYPE_CELL|SP_PARAMFLAG_BYREF, Param_FloatByRef = SP_PARAMTYPE_FLOAT|SP_PARAMFLAG_BYREF
}
 Describes the various ways to pass parameters to plugins. More...
enum  HandleError {
  HandleError_None = 0, HandleError_Changed, HandleError_Type, HandleError_Freed,
  HandleError_Index, HandleError_Access, HandleError_Limit, HandleError_Identity,
  HandleError_Owner, HandleError_Version, HandleError_Parameter, HandleError_NoInherit
}
 Lists the possible handle error codes. More...
enum  HTypeAccessRight { HTypeAccess_Create = 0, HTypeAccess_Inherit, HTypeAccess_TOTAL }
 Lists access rights specific to a type. More...
enum  HandleAccessRight { HandleAccess_Read, HandleAccess_Delete, HandleAccess_Clone, HandleAccess_TOTAL }
 Lists access rights specific to a Handle. More...
enum  FileTimeType
enum  ItemSelection {
  ItemSel_None, ItemSel_Back, ItemSel_Next, ItemSel_Exit,
  ItemSel_Item, ItemSel_ExitBack
}
 Used to determine how an item selection is interpreted. More...
enum  ItemOrder { ItemOrder_Ascending, ItemOrder_Descending }
 Used to determine which order to search for items in. More...
enum  MenuCancelReason {
  MenuCancel_Disconnected = -1, MenuCancel_Interrupted = -2, MenuCancel_Exit = -3, MenuCancel_NoDisplay = -4,
  MenuCancel_Timeout = -5, MenuCancel_ExitBack = -6
}
 Reasons for a menu dying. More...
enum  MenuEndReason {
  MenuEnd_Selected = 0, MenuEnd_VotingDone = -1, MenuEnd_VotingCancelled = -2, MenuEnd_Cancelled = -3,
  MenuEnd_Exit = -4, MenuEnd_ExitBack = -5
}
 Reasons a menu ended. More...
enum  VoteCancelReason { VoteCancel_Generic = -1, VoteCancel_NoVotes = -2 }
 Reasons a vote can be cancelled. More...
enum  MenuOption { MenuOption_IntroMessage, MenuOption_IntroColor, MenuOption_Priority }
 Extended menu options. More...
enum  MenuSource { MenuSource_None = 0, MenuSource_External = 1, MenuSource_BaseMenu = 2, MenuSource_Display = 3 }
 Describes the menu a player is viewing. More...
enum  PluginStatus {
  Plugin_Running = 0, Plugin_Paused, Plugin_Error, Plugin_Loaded,
  Plugin_Failed, Plugin_Created, Plugin_Uncompiled, Plugin_BadLoad
}
 Describes the usability status of a plugin. More...
enum  PluginType { PluginType_Private, PluginType_MapUpdated, PluginType_MapOnly, PluginType_Global }
 Describes the object lifetime of a plugin. More...
enum  PathType { Path_None = 0, Path_Game, Path_SM, Path_SM_Rel }
 Describes various ways of formatting a base path. More...
enum  SMCResult { SMCResult_Continue, SMCResult_Halt, SMCResult_HaltFail }
 Lists actions to take when an SMC parse hook is done. More...
enum  SMCError {
  SMCError_Okay = 0, SMCError_StreamOpen, SMCError_StreamError, SMCError_Custom,
  SMCError_InvalidSection1, SMCError_InvalidSection2, SMCError_InvalidSection3, SMCError_InvalidSection4,
  SMCError_InvalidSection5, SMCError_InvalidTokens, SMCError_TokenOverflow, SMCError_InvalidProperty1
}
 Lists error codes possible from parsing an SMC file. More...
enum  ThreadFlags { , Thread_AutoRelease = 1, Thread_CreateSuspended = 2 }
 Thread creation flags. More...
enum  ThreadPriority
 Specifies thread priority levels.
enum  ThreadState
 The current state of a thread.
enum  WorkerState
 Describes possible worker states.
enum  TransError {
  Trans_Okay = 0, Trans_BadLanguage = 1, Trans_BadPhrase = 2, Trans_BadPhraseLanguage = 3,
  Trans_BadPhraseFile = 4
}
 Translation error codes. More...

Functions

unsigned int _GetUTF8CharBytes (const char *stream)


Typedef Documentation

typedef void* SourceMod::ITERATOR

Generic pointer for dependency iterators

Definition at line 47 of file IExtensionSys.h.

typedef unsigned int SourceMod::HandleType_t

Forward declaration from IHandleSys.h

Definition at line 49 of file IShareSys.h.

typedef HandleType_t SourceMod::IdentityType_t

Forward declaration from IHandleSys.h

Definition at line 55 of file IShareSys.h.

typedef void(*) SourceMod::GAME_FRAME_HOOK(bool simulating)

Called when a game frame is fired.

Parameters:
simulating Whether or not the game is ticking.

Definition at line 71 of file ISourceMod.h.


Enumeration Type Documentation

enum SourceMod::CallConvention

Supported calling conventions.

Enumerator:
CallConv_ThisCall  This call (object pointer required)
CallConv_Cdecl  Standard C call

Definition at line 50 of file IBinTools.h.

enum SourceMod::PassType

Describes how a parameter should be passed.

Enumerator:
PassType_Basic  Plain old register data (pointers, integers)
PassType_Float  Floating point data
PassType_Object  Object or structure

Definition at line 59 of file IBinTools.h.

enum SourceMod::TopMenuObjectType

Top menu object types.

Enumerator:
TopMenuObject_Category  Category (sub-menu branching from root)
TopMenuObject_Item  Item on a sub-menu

Definition at line 53 of file ITopMenus.h.

enum SourceMod::TopMenuPosition

Top menu starting positions for display.

Enumerator:
TopMenuPosition_Start  Start/root of the menu
TopMenuPosition_LastRoot  Last position in the root menu
TopMenuPosition_LastCategory  Last position in their last category

Definition at line 62 of file ITopMenus.h.

enum SourceMod::AdminFlag

Access levels (flags) for admins.

Enumerator:
Admin_Reservation  Reserved slot
Admin_Generic  Generic admin abilities
Admin_Kick  Kick another user
Admin_Ban  Ban another user
Admin_Unban  Unban another user
Admin_Slay  Slay/kill/damage another user
Admin_Changemap  Change the map
Admin_Convars  Change basic convars
Admin_Config  Change configuration
Admin_Chat  Special chat privileges
Admin_Vote  Special vote privileges
Admin_Password  Set a server password
Admin_RCON  Use RCON
Admin_Cheats  Change sv_cheats and use its commands
Admin_Root  All access by default
Admin_Custom1  First custom flag type
Admin_Custom2  Second custom flag type
Admin_Custom3  Third custom flag type
Admin_Custom4  Fourth custom flag type
Admin_Custom5  Fifth custom flag type
Admin_Custom6  Sixth custom flag type

Definition at line 68 of file IAdminSystem.h.

enum SourceMod::OverrideType

Specifies which type of command to override (command or command group).

Enumerator:
Override_Command  Command
Override_CommandGroup  Command group

Definition at line 120 of file IAdminSystem.h.

enum SourceMod::OverrideRule

Specifies how a command is overridden for a user group.

Enumerator:
Command_Deny  Deny access
Command_Allow  Allow access

Definition at line 129 of file IAdminSystem.h.

enum SourceMod::ImmunityType

DEPRECATED. Specifies a generic immunity type.

Enumerator:
Immunity_Default  Immunity value of 1
Immunity_Global  Immunity value of 2

Definition at line 138 of file IAdminSystem.h.

enum SourceMod::AccessMode

Defines user access modes.

Enumerator:
Access_Real  Access the user has inherently
Access_Effective  Access the user has from their groups

Definition at line 147 of file IAdminSystem.h.

enum SourceMod::AdminCachePart

Represents the various cache regions.

Enumerator:
AdminCache_Overrides  Global overrides
AdminCache_Groups  All groups (automatically invalidates admins too)
AdminCache_Admins  All admins

Definition at line 176 of file IAdminSystem.h.

enum SourceMod::DBResult

Describes a database field value.

Enumerator:
DBVal_Error  Column number/field is invalid
DBVal_TypeMismatch  You cannot retrieve this data with this type
DBVal_Null  Field has no data (NULL)
DBVal_Data  Field has data

Definition at line 52 of file IDBDriver.h.

enum SourceMod::DBType

Describes a primitive database type.

Enumerator:
DBType_Unknown  Type could not be inferred
DBType_String  NULL-terminated string (variable length)
DBType_Blob  Raw binary data (variable length)
DBType_Integer  4-byte signed integer
DBType_Float  4-byte floating point
DBType_NULL  NULL (no data)
DBTypes_TOTAL  Total number of database types known

Definition at line 63 of file IDBDriver.h.

enum SourceMod::PrioQueueLevel

Priority queue level.

Enumerator:
PrioQueue_High  High priority
PrioQueue_Normal  Normal priority
PrioQueue_Low  Low priority

Definition at line 676 of file IDBDriver.h.

enum SourceMod::DBHandleType

Database-related Handle types.

Enumerator:
DBHandle_Driver  Driver Handle
DBHandle_Database  Database Handle

Definition at line 738 of file IDBDriver.h.

enum SourceMod::ResultType

Defines the event hook result types plugins can return.

Enumerator:
Pl_Continue  No result
Pl_Changed  Inputs or outputs have been overridden with new values
Pl_Handled  Result was handled, stop at the end
Pl_Stop  Result was handled, stop now

Definition at line 65 of file IForwardSys.h.

enum SourceMod::ExecType

Defines how a forward iterates through plugin functions.

Enumerator:
ET_Ignore  Ignore all return values, return 0
ET_Single  Only return the last exec, ignore all others
ET_Event  Acts as an event with the ResultTypes above, no mid-Stops allowed, returns highest
ET_Hook  Acts as a hook with the ResultTypes above, mid-Stops allowed, returns highest
ET_LowEvent  Same as ET_Event except that it returns the lowest value

Definition at line 76 of file IForwardSys.h.

enum SourceMod::ParamType

Describes the various ways to pass parameters to plugins.

Enumerator:
Param_Any  Any data type can be pushed
Param_Cell  Only basic cells can be pushed
Param_Float  Only floats can be pushed
Param_String  Only strings can be pushed
Param_Array  Only arrays can be pushed
Param_VarArgs  Same as "..." in plugins, anything can be pushed, but it will always be byref
Param_CellByRef  Only a cell by reference can be pushed
Param_FloatByRef  Only a float by reference can be pushed

Definition at line 212 of file IForwardSys.h.

enum SourceMod::HandleError

Lists the possible handle error codes.

Enumerator:
HandleError_None  No error
HandleError_Changed  The handle has been freed and reassigned
HandleError_Type  The handle has a different type registered
HandleError_Freed  The handle has been freed
HandleError_Index  generic internal indexing error
HandleError_Access  No access permitted to free this handle
HandleError_Limit  The limited number of handles has been reached
HandleError_Identity  The identity token was not usable
HandleError_Owner  Owners do not match for this operation
HandleError_Version  Unrecognized security structure version
HandleError_Parameter  An invalid parameter was passed
HandleError_NoInherit  This type cannot be inherited

Definition at line 93 of file IHandleSys.h.

enum SourceMod::HTypeAccessRight

Lists access rights specific to a type.

Enumerator:
HTypeAccess_Create  Handles of this type can be created (DEFAULT=false)
HTypeAccess_Inherit  Sub-types can inherit this type (DEFAULT=false)
HTypeAccess_TOTAL  Total number of type access rights

Definition at line 112 of file IHandleSys.h.

enum SourceMod::HandleAccessRight

Lists access rights specific to a Handle.

These rights are exclusive. For example, you do not need "read" access to delete or clone.

Enumerator:
HandleAccess_Read  Can be read (DEFAULT=ident only)
HandleAccess_Delete  Can be deleted (DEFAULT=owner only)
HandleAccess_Clone  Can be cloned (DEFAULT=any)
HandleAccess_TOTAL  Total number of access rights

Definition at line 125 of file IHandleSys.h.

enum SourceMod::ItemSelection

Used to determine how an item selection is interpreted.

Enumerator:
ItemSel_None  Invalid selection
ItemSel_Back  Go back one page (really "Previous")
ItemSel_Next  Go forward one page
ItemSel_Exit  Menu was exited
ItemSel_Item  Valid item selection
ItemSel_ExitBack  Sends MenuEnd_ExitBack

Definition at line 51 of file IMenuManager.h.

enum SourceMod::ItemOrder

Used to determine which order to search for items in.