#include <IShareSys.h>
Include dependency graph for IAdminSystem.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
The administration system is more of a volatile cache than a system. It is designed to be temporary rather than permanent, in order to compensate for more storage methods. For example, a flat file might be read into the cache all at once. But a MySQL-based system might only cache admin permissions when that specific admin connects.
The override cache is the simplest to explain. Any time an override is added, any existing and all future commands will gain a new access level set by the override. If unset, the default access level is restored. This cache is dynamically changeable.
The group cache contains, for each group: 1] A set of inherent flags - fully readable/writable. 2] An immunity table - insertion and retrieval only. 3] An override table - insertion and retrieval only. Individual groups can be invalidated entirely. It should be considered an expensive operation, since each admin needs to be patched up to not reference the group.
For more information, see the SourceMod Development wiki.
Definition in file IAdminSystem.h.
| #define SMINTERFACE_ADMINSYS_NAME "IAdminSys" |
vim: set ts=4 : ============================================================================= SourceMod Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved. =============================================================================
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 3.0, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
As a special exception, AlliedModders LLC gives you permission to link the code of this program (as well as its derivative works) to "Half-Life 2," the "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software by the Valve Corporation. You must obey the GNU General Public License in all respects for all other code used. Additionally, AlliedModders LLC grants this exception to all derivative works. AlliedModders LLC defines further exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), or <http://www.sourcemod.net/license.php>.
Version: $Id$
Definition at line 37 of file IAdminSystem.h.
| #define ADMFLAG_RESERVATION (1<<0) |
Convenience macro for Admin_Reservation as a FlagBit
Definition at line 95 of file IAdminSystem.h.
| #define ADMFLAG_GENERIC (1<<1) |
Convenience macro for Admin_Generic as a FlagBit
Definition at line 96 of file IAdminSystem.h.
| #define ADMFLAG_KICK (1<<2) |
Convenience macro for Admin_Kick as a FlagBit
Definition at line 97 of file IAdminSystem.h.
| #define ADMFLAG_BAN (1<<3) |
Convenience macro for Admin_Ban as a FlagBit
Definition at line 98 of file IAdminSystem.h.
| #define ADMFLAG_UNBAN (1<<4) |
Convenience macro for Admin_Unban as a FlagBit
Definition at line 99 of file IAdminSystem.h.
| #define ADMFLAG_SLAY (1<<5) |
Convenience macro for Admin_Slay as a FlagBit
Definition at line 100 of file IAdminSystem.h.
| #define ADMFLAG_CHANGEMAP (1<<6) |
Convenience macro for Admin_Changemap as a FlagBit
Definition at line 101 of file IAdminSystem.h.
| #define ADMFLAG_CONVARS (1<<7) |
Convenience macro for Admin_Convars as a FlagBit
Definition at line 102 of file IAdminSystem.h.
| #define ADMFLAG_CONFIG (1<<8) |
Convenience macro for Admin_Config as a FlagBit
Definition at line 103 of file IAdminSystem.h.
| #define ADMFLAG_CHAT (1<<9) |
Convenience macro for Admin_Chat as a FlagBit
Definition at line 104 of file IAdminSystem.h.
| #define ADMFLAG_VOTE (1<<10) |
Convenience macro for Admin_Vote as a FlagBit
Definition at line 105 of file IAdminSystem.h.
| #define ADMFLAG_PASSWORD (1<<11) |
Convenience macro for Admin_Password as a FlagBit
Definition at line 106 of file IAdminSystem.h.
| #define ADMFLAG_RCON (1<<12) |
Convenience macro for Admin_RCON as a FlagBit
Definition at line 107 of file IAdminSystem.h.
| #define ADMFLAG_CHEATS (1<<13) |
Convenience macro for Admin_Cheats as a FlagBit
Definition at line 108 of file IAdminSystem.h.
| #define ADMFLAG_ROOT (1<<14) |
Convenience macro for Admin_Root as a FlagBit
Definition at line 109 of file IAdminSystem.h.
| #define ADMFLAG_CUSTOM1 (1<<15) |
Convenience macro for Admin_Custom1 as a FlagBit
Definition at line 110 of file IAdminSystem.h.
| #define ADMFLAG_CUSTOM2 (1<<16) |
Convenience macro for Admin_Custom2 as a FlagBit
Definition at line 111 of file IAdminSystem.h.
| #define ADMFLAG_CUSTOM3 (1<<17) |
Convenience macro for Admin_Custom3 as a FlagBit
Definition at line 112 of file IAdminSystem.h.
| #define ADMFLAG_CUSTOM4 (1<<18) |
Convenience macro for Admin_Custom4 as a FlagBit
Definition at line 113 of file IAdminSystem.h.
| #define ADMFLAG_CUSTOM5 (1<<19) |
Convenience macro for Admin_Custom5 as a FlagBit
Definition at line 114 of file IAdminSystem.h.
| #define ADMFLAG_CUSTOM6 (1<<20) |
Convenience macro for Admin_Custom6 as a FlagBit
Definition at line 115 of file IAdminSystem.h.
1.5.1