core/AdminCache.h
changeset 1403 ecb9c66fd4bb
parent 1356 4688fae59bcf
child 1473 f3f39075066d
     1.1 --- a/core/AdminCache.h	Mon Sep 10 22:28:22 2007 +0000
     1.2 +++ b/core/AdminCache.h	Mon Sep 10 23:38:58 2007 +0000
     1.3 @@ -50,8 +50,7 @@
     1.4  struct AdminGroup
     1.5  {
     1.6  	uint32_t magic;					/* Magic flag, for memory validation (ugh) */
     1.7 -	bool immune_global;				/* Global immunity? */
     1.8 -	bool immune_default;			/* Default immunity? */
     1.9 +	unsigned int immunity_level;	/* Immunity level */
    1.10  	/* Immune from target table (-1 = nonexistent)
    1.11  	 * [0] = number of entries
    1.12  	 * [1...N] = immune targets
    1.13 @@ -90,8 +89,7 @@
    1.14  	int next_user;					/* Next user in the list */
    1.15  	int prev_user;					/* Previous user in the list */
    1.16  	UserAuth auth;					/* Auth method for this user */
    1.17 -	bool immune_global;				/* Whether globally immune */
    1.18 -	bool immune_default;			/* Whether defaultly immune */
    1.19 +	unsigned int immunity_level;	/* Immunity level */
    1.20  	unsigned int serialchange;		/* Serial # for changes */
    1.21  };
    1.22  
    1.23 @@ -158,6 +156,10 @@
    1.24  	unsigned int GetAdminSerialChange(AdminId id);
    1.25  	bool CanAdminUseCommand(int client, const char *cmd);
    1.26  	const char *GetGroupName(GroupId gid);
    1.27 +	virtual unsigned int SetGroupImmunityLevel(GroupId gid, unsigned int level);
    1.28 +	virtual unsigned int GetGroupImmunityLevel(GroupId gid);
    1.29 +	virtual unsigned int SetAdminImmunityLevel(AdminId id, unsigned int level);
    1.30 +	virtual unsigned int GetAdminImmunityLevel(AdminId id);
    1.31  public:
    1.32  	bool IsValidAdmin(AdminId id);
    1.33  private: