diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-14 17:46:47 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-14 17:46:47 +0000 |
commit | a78cecbeb9c677bdd4b2f44c01195759af63485b (patch) | |
tree | 03b0a71514c6e0dcf6eec78eefe160a2ea7f8b47 /include/channels.h | |
parent | 4eb254df411f8dd1694f1b3781c77f702538c59f (diff) |
Refactor userrec::chans.
Old way: A vector of ucrec, MAXCHANS in size by default populated by NULLS, so you have to scan the vector to find an empty slot when joining a user, parting a user etc
New way: std::map<chanrec*, char> (the char holds their basic core permissions on the channel [voice, halfop, op])
This increases speed a ton, and removes some wtf-age.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5986 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include/channels.h')
-rw-r--r-- | include/channels.h | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/include/channels.h b/include/channels.h index e382b73e1..b480d7789 100644 --- a/include/channels.h +++ b/include/channels.h @@ -95,33 +95,6 @@ enum UserChannelModes { UCMODE_HOP = 4 }; -/** Holds a user's modes on a channel - * This class associates a users privilages with a channel by creating a pointer link between - * a userrec and chanrec class. The uc_modes member holds a bitmask of which privilages the user - * has on the channel, such as op, voice, etc. - */ -class ucrec : public classbase -{ - public: - /** Contains a bitmask of the UCMODE_OP ... UCMODE_FOUNDER values. - * If this value is zero, the user has no privilages upon the channel. - */ - char uc_modes; - - /** Points to the channel record where the given modes apply. - * If the record is not in use, this value will be NULL. - */ - chanrec *channel; - - /** Constructor for ucrec - */ - ucrec() : uc_modes(0), channel(NULL) { /* stub */ } - - /** Destructor for ucrec - */ - virtual ~ucrec() { /* stub */ } -}; - class InspIRCd; /** A stored prefix and its rank @@ -150,7 +123,7 @@ class chanrec : public Extensible /** Connect a chanrec to a userrec */ - static chanrec* ForceChan(InspIRCd* Instance, chanrec* Ptr,ucrec *a,userrec* user, const std::string &privs); + static chanrec* ForceChan(InspIRCd* Instance, chanrec* Ptr, userrec* user, const std::string &privs); prefixlist prefixes; |