core/AdminCache.h
changeset 433 d699e31199ad
parent 407 37435e7656ad
child 434 db80fdcb09ce
     1.1 --- a/core/AdminCache.h	Mon Feb 05 08:58:03 2007 +0000
     1.2 +++ b/core/AdminCache.h	Mon Feb 05 09:14:40 2007 +0000
     1.3 @@ -45,7 +45,7 @@
     1.4  	int next_grp;					/* Next group in the chain */
     1.5  	int prev_grp;					/* Previous group in the chain */
     1.6  	int nameidx;					/* Name */
     1.7 -	bool addflags[AdminFlags_TOTAL];	/* Additive flags */
     1.8 +	FlagBits addflags;				/* Additive flags */
     1.9  };
    1.10  
    1.11  struct AuthMethod
    1.12 @@ -62,9 +62,9 @@
    1.13  
    1.14  struct AdminUser
    1.15  {
    1.16 -	uint32_t magic;						/* Magic flag, for memory validation */
    1.17 -	bool flags[AdminFlags_TOTAL];	/* Base flags */
    1.18 -	bool eflags[AdminFlags_TOTAL];	/* Effective flags */
    1.19 +	uint32_t magic;					/* Magic flag, for memory validation */
    1.20 +	FlagBits flags;					/* Flags */
    1.21 +	FlagBits eflags;				/* Effective flags */
    1.22  	int nameidx;					/* Name index */
    1.23  	int password;					/* Password index */
    1.24  	unsigned int grp_count;			/* Number of groups */
    1.25 @@ -88,15 +88,15 @@
    1.26  	void OnSourceModShutdown();
    1.27  public: //IAdminSystem
    1.28  	/** Command cache stuff */
    1.29 -	void AddCommandOverride(const char *cmd, OverrideType type, AdminFlag flag);
    1.30 -	bool GetCommandOverride(const char *cmd, OverrideType type, AdminFlag *pFlag);
    1.31 +	void AddCommandOverride(const char *cmd, OverrideType type, FlagBits flags);
    1.32 +	bool GetCommandOverride(const char *cmd, OverrideType type, FlagBits *flags);
    1.33  	void UnsetCommandOverride(const char *cmd, OverrideType type);
    1.34  	/** Group cache stuff */
    1.35  	GroupId AddGroup(const char *group_name);
    1.36  	GroupId FindGroupByName(const char *group_name);
    1.37  	void SetGroupAddFlag(GroupId id, AdminFlag flag, bool enabled);
    1.38  	bool GetGroupAddFlag(GroupId id, AdminFlag flag);
    1.39 -	unsigned int GetGroupAddFlagBits(GroupId id, bool flags[], unsigned int total);
    1.40 +	FlagBits GetGroupAddFlags(GroupId id);
    1.41  	void SetGroupGenericImmunity(GroupId id, ImmunityType type, bool enabled);
    1.42  	bool GetGroupGenericImmunity(GroupId id, ImmunityType type);
    1.43  	void InvalidateGroup(GroupId id);
    1.44 @@ -115,7 +115,7 @@
    1.45  	bool BindAdminIdentity(AdminId id, const char *auth, const char *ident);
    1.46  	virtual void SetAdminFlag(AdminId id, AdminFlag flag, bool enabled);
    1.47  	bool GetAdminFlag(AdminId id, AdminFlag flag, AccessMode mode);
    1.48 -	unsigned int GetAdminFlags(AdminId id, bool flags[], unsigned int total, AccessMode mode);
    1.49 +	FlagBits GetAdminFlags(AdminId id, AccessMode mode);
    1.50  	bool AdminInheritGroup(AdminId id, GroupId gid);
    1.51  	unsigned int GetAdminGroupCount(AdminId id);
    1.52  	GroupId GetAdminGroup(AdminId id, unsigned int index, const char **name);
    1.53 @@ -123,11 +123,11 @@
    1.54  	const char *GetAdminPassword(AdminId id);
    1.55  	AdminId FindAdminByIdentity(const char *auth, const char *identity);
    1.56  	bool InvalidateAdmin(AdminId id);
    1.57 +	unsigned int FlagBitsToBitArray(FlagBits bits, bool array[], unsigned int maxSize);
    1.58 +	FlagBits FlagBitArrayToBits(const bool array[], unsigned int maxSize);
    1.59 +	FlagBits FlagArrayToBits(const AdminFlag array[], unsigned int numFlags);
    1.60 +	unsigned int FlagBitsToArray(FlagBits bits, AdminFlag array[], unsigned int maxSize);
    1.61  private:
    1.62 -	void _AddCommandOverride(const char *cmd, AdminFlag flag);
    1.63 -	void _AddCommandGroupOverride(const char *group, AdminFlag flag);
    1.64 -	bool _GetCommandOverride(const char *cmd, AdminFlag *pFlag);
    1.65 -	bool _GetCommandGroupOverride(const char *group, AdminFlag *pFlag);
    1.66  	void _UnsetCommandOverride(const char *cmd);
    1.67  	void _UnsetCommandGroupOverride(const char *group);
    1.68  	void InvalidateGroupCache();