summaryrefslogtreecommitdiff
path: root/include/users.h
diff options
context:
space:
mode:
authorattilamolnar <attilamolnar@hush.com>2012-06-17 17:53:39 +0200
committerattilamolnar <attilamolnar@hush.com>2012-06-17 17:54:49 +0200
commitd2e189102b643f38418f3caf065dbb91f2ce4266 (patch)
tree43968ec9501a525107e41736cbe39839aec08350 /include/users.h
parentf960a97cc6b509c756a20d892609825c67c2fc43 (diff)
Fix pending invites not being removed when a channel was deleted or had its TS lowered
Diffstat (limited to 'include/users.h')
-rw-r--r--include/users.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/include/users.h b/include/users.h
index cdc0d8078..66e867ad0 100644
--- a/include/users.h
+++ b/include/users.h
@@ -29,6 +29,7 @@
#include "inspsocket.h"
#include "dns.h"
#include "mode.h"
+#include "membership.h"
/** connect class types
*/
@@ -740,14 +741,8 @@ class CoreExport UserIOHandler : public StreamSocket
typedef unsigned int already_sent_t;
-class CoreExport LocalUser : public User
+class CoreExport LocalUser : public User, public InviteBase
{
- /** A list of channels the user has a pending invite to.
- * Upon INVITE channels are added, and upon JOIN, the
- * channels are removed from this list.
- */
- InvitedList invites;
-
public:
LocalUser(int fd, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server);
CullResult cull();
@@ -835,7 +830,7 @@ class CoreExport LocalUser : public User
/** 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
*/
- InvitedList* GetInviteList();
+ InviteList& GetInviteList();
/** Returns true if a user is invited to a channel.
* @param channel A channel name to look up
@@ -856,6 +851,8 @@ class CoreExport LocalUser : public User
*/
void RemoveInvite(const irc::string &channel);
+ 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.