diff options
author | Attila Molnar <attilamolnar@hush.com> | 2015-11-02 13:28:55 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2015-11-02 13:28:55 +0100 |
commit | 30fc51c6ddca487a1b89da9ab0ab59da003aee36 (patch) | |
tree | 8727403ddfdc51441db940ba77d2cce6cea3ec66 /include/users.h | |
parent | a6b53dbc3629eb329b5b77d81e81ced837d4dc66 (diff) |
Rewrite invite system
- Moved out of core, now lives entirely in core_channel
- Accessible using the provided API after including the appropriate header
- Invites are stored in an extension attached to LocalUser/Channel objects, they no longer need special handling when destroying these objects or when lowering TS
- Expiration of timed invites are implemented using Timers
- When creating a new invite let a non-timed invite override a timed one
Diffstat (limited to 'include/users.h')
-rw-r--r-- | include/users.h | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/include/users.h b/include/users.h index fa8f610bc..03540018b 100644 --- a/include/users.h +++ b/include/users.h @@ -641,7 +641,7 @@ class CoreExport UserIOHandler : public StreamSocket typedef unsigned int already_sent_t; -class CoreExport LocalUser : public User, public InviteBase<LocalUser>, public insp::intrusive_list_node<LocalUser> +class CoreExport LocalUser : public User, public insp::intrusive_list_node<LocalUser> { public: LocalUser(int fd, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server); @@ -748,27 +748,6 @@ class CoreExport LocalUser : public User, public InviteBase<LocalUser>, public i void Write(const std::string& text); void Write(const char*, ...) CUSTOM_PRINTF(2, 3); - /** Returns the list of channels this user has been invited to but has not yet joined. - * @return A list of channels the user is invited to - */ - InviteList& GetInviteList(); - - /** Returns true if a user is invited to a channel. - * @param chan A channel to look up - * @return True if the user is invited to the given channel - */ - bool IsInvited(Channel* chan) { return (Invitation::Find(chan, this) != NULL); } - - /** Removes a channel from a users invite list. - * This member function is called on successfully joining an invite only channel - * to which the user has previously been invited, to clear the invitation. - * @param chan The channel to remove the invite to - * @return True if the user was invited to the channel and the invite was erased, false if the user wasn't invited - */ - bool RemoveInvite(Channel* chan); - - void RemoveExpiredInvites(); - /** Returns true or false for if a user can execute a privilaged oper command. * This is done by looking up their oper type from User::oper, then referencing * this to their oper classes and checking the commands they can execute. |