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: