Directly take a Mask instead of a String in BanEntry
[clinton/bobotpp.git] / source / UserList.H
1 // UserList.H -*- C++ -*-
2 // Copyright (c) 1997, 1998 Etienne BERNARD
3 // Copyright (C) 2002 Clinton Ebadi
4
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // any later version.
9
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 // 02110-1301, USA.
19
20 #ifndef USERLIST_H
21 #define USERLIST_H
22
23 #include <ctime>
24 #include <list>
25
26 #include "String.H"
27 #include "UserListItem.H"
28
29 class Commands;
30 class UserCommands;
31
32 class UserList {
33 String listFilename;
34 std::list<UserListItem *> l;
35
36 public:
37 UserList(String);
38 ~UserList();
39
40 void read();
41 void save();
42 void clear();
43
44 void addUser(String, String, int, int, bool,
45 std::time_t = -1, String = "");
46 void addUserFirst(String, String, int, int, bool,
47 std::time_t = -1, String = "");
48 void removeFirst();
49 void removeUser(String, String);
50
51 UserListItem * getUserListItem(String, String);
52
53 int getMaxLevel(String);
54 int getLevel(String, String);
55
56 int getMaxProt(String, String);
57
58 bool isInUserList(String, String = "");
59
60 friend class Commands;
61 friend class UserCommands;
62 };
63
64 #endif