InspIRCd
2.0
include
membership.h
1
/*
2
* InspIRCd -- Internet Relay Chat Daemon
3
*
4
* Copyright (C) 2009 Daniel De Graaf <
[email protected]
>
5
*
6
* This file is part of InspIRCd. InspIRCd is free software: you can
7
* redistribute it and/or modify it under the terms of the GNU General Public
8
* License as published by the Free Software Foundation, version 2.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT
11
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13
* details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
20
#ifndef MEMBERSHIP_H
21
#define MEMBERSHIP_H
22
23
class
CoreExport
Membership
:
public
Extensible
24
{
25
public
:
26
User
*
const
user;
27
Channel
*
const
chan;
28
// mode list, sorted by prefix rank, higest first
29
std::string modes;
30
Membership
(
User
* u,
Channel
* c) : user(u), chan(c) {}
31
inline
bool
hasMode(
char
m)
const
32
{
33
return
modes.find(m) != std::string::npos;
34
}
35
unsigned
int
getRank();
36
};
37
38
class
CoreExport
InviteBase
39
{
40
protected
:
41
InviteList invites;
42
43
public
:
44
void
ClearInvites();
45
46
friend
class
Invitation
;
47
};
48
49
class
Invitation
:
public
classbase
50
{
51
Invitation
(
Channel
* c,
LocalUser
* u, time_t timeout) : user(u), chan(c), expiry(timeout) {}
52
53
public
:
54
LocalUser
*
const
user;
55
Channel
*
const
chan;
56
time_t expiry;
57
58
~
Invitation
();
59
static
void
Create(
Channel
* c,
LocalUser
* u, time_t timeout);
60
static
Invitation
* Find(
Channel
* c,
LocalUser
* u,
bool
check_expired =
true
);
61
};
62
63
#endif
Extensible
Definition:
extensible.h:77
classbase
Definition:
base.h:43
Channel
Definition:
channels.h:60
Invitation
Definition:
membership.h:50
User
Definition:
users.h:231
InviteBase
Definition:
membership.h:39
Membership
Definition:
membership.h:24
LocalUser
Definition:
users.h:743
Generated by
1.8.19