diff options
| author | Adam <Adam@anope.org> | 2012-12-28 10:37:54 -0500 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2012-12-28 10:43:30 -0500 |
| commit | b591e8cdc8b1bc40a6a59b54dcb6266d9656b616 (patch) | |
| tree | 2a31259930d9915d9248a29dc5b97006620675a2 /include | |
| parent | 379b2ccf92b6124f2026a5ec683cfc98f08e223a (diff) | |
Use the same object for chanusercontainer and userchancontainer
Diffstat (limited to 'include')
| -rw-r--r-- | include/channels.h | 17 | ||||
| -rw-r--r-- | include/users.h | 17 |
2 files changed, 11 insertions, 23 deletions
diff --git a/include/channels.h b/include/channels.h index 5cbea5ecc..b8801ff07 100644 --- a/include/channels.h +++ b/include/channels.h @@ -20,18 +20,16 @@ typedef Anope::hash_map<Channel *> channel_map; extern CoreExport channel_map ChannelList; /* A user container, there is one of these per user per channel. */ -struct UserContainer : public Extensible +struct ChanUserContainer : public Extensible { User *user; + Channel *chan; /* Status the user has in the channel */ - ChannelStatus *status; + ChannelStatus status; - UserContainer(User *u) : user(u) { } - virtual ~UserContainer() { } + ChanUserContainer(User *u, Channel *c) : user(u), chan(c) { } }; -typedef std::list<UserContainer *> CUserList; - enum ChannelFlag { /* ChanServ is currently holding the channel */ @@ -60,7 +58,8 @@ class CoreExport Channel : public Base, public Extensible, public Flags<ChannelF time_t creation_time; /* Users in the channel */ - CUserList users; + typedef std::list<ChanUserContainer *> ChanUserList; + ChanUserList users; /* Current topic of the channel */ Anope::string topic; @@ -107,7 +106,7 @@ class CoreExport Channel : public Base, public Extensible, public Flags<ChannelF * @param u The user * @return The UserContainer for the user */ - UserContainer* JoinUser(User *u); + ChanUserContainer* JoinUser(User *u); /** Remove a user internally from the channel * @param u The user @@ -118,7 +117,7 @@ class CoreExport Channel : public Base, public Extensible, public Flags<ChannelF * @param u The user * @return A user container if found, else NULL */ - UserContainer *FindUser(const User *u) const; + ChanUserContainer *FindUser(const User *u) const; /** Check if a user has a status on a channel * @param u The user diff --git a/include/users.h b/include/users.h index ab7edeee3..87a18ed3f 100644 --- a/include/users.h +++ b/include/users.h @@ -29,18 +29,6 @@ extern CoreExport int OperCount; extern CoreExport unsigned MaxUserCount; extern CoreExport time_t MaxUserTime; -/* One per channel per user. Channel and status */ -struct ChannelContainer -{ - Channel *chan; - ChannelStatus *status; - - ChannelContainer(Channel *c) : chan(c) { } - virtual ~ChannelContainer() { } -}; - -typedef std::list<ChannelContainer *> UChannelList; - /* Online user and channel data. */ class CoreExport User : public virtual Base, public Extensible, public CommandReply { @@ -89,7 +77,8 @@ class CoreExport User : public virtual Base, public Extensible, public CommandRe bool super_admin; /* Channels the user is in */ - UChannelList chans; + typedef std::list<ChanUserContainer *> ChanUserList; + ChanUserList chans; /* Last time this user sent a memo command used */ time_t lastmemosend; @@ -319,7 +308,7 @@ class CoreExport User : public virtual Base, public Extensible, public CommandRe * @param c The channel * @return The channel container, or NULL */ - ChannelContainer *FindChannel(const Channel *c) const; + ChanUserContainer *FindChannel(const Channel *c) const; /** Check if the user is protected from kicks and negative mode changes * @return true or false |
