Initial commit, version 2.6.3a
[tropbot.git] / objects.h
1 //-----------------------------------------------------------------------------
2
3 #ifndef OBJECTS_H
4 #define OBJECTS_H
5
6 #include "list.cc"
7
8 #define LEVEL_MAX 4
9 #define LEVEL_MASTER 4
10 #define LEVEL_DEFENCE 3
11 #define LEVEL_OP 2
12 #define LEVEL_FRIEND 1
13
14 enum
15 {
16   MODE_SHIT_NICK, MODE_SHIT_SITE, MODE_SHIT_HOST,
17   MODE_UNSHIT_NICK, MODE_UNBAN_NICK,
18   MODE_FILTER_KICK,
19   MODE_BAN_NICK, MODE_BAN_SITE,
20   MODE_LEVEL,
21   MODE_SHITLIST,
22   MODE_MSG
23 };
24
25 //-----------------------------------------------------------------------------
26
27 class DCCChat
28 {
29 public:
30   char *prefix;
31   int socket;
32   int level;
33 public:
34   DCCChat(char *p, int s, int l);
35   ~DCCChat();
36 };
37
38 class WaitInfos
39 {
40 public:
41   DCCChat *chat;
42   char *nick, *comment, *user;
43   int mode;
44   int duration;
45 public:
46   WaitInfos(char *n, char *c, DCCChat *ch, char *u, int m, int d);
47   ~WaitInfos();
48 };
49
50 class Welcome
51 {
52 public:
53   char *pattern, *comment;
54   int time_max;
55 public:
56   Welcome(char *p, char *c, int time);
57   ~Welcome();
58 };
59
60 class DelayModeChange
61 {
62 public:
63   char *where, *mode, *parameter;
64   int time;
65 public:
66   DelayModeChange(char *w, char *m, char *p, int delay);
67   ~DelayModeChange();
68 };
69
70 class Person
71 {
72 public:
73   char *pattern;
74   char *passwd;
75   int level;
76 public:
77   Person(char *p, int l, char *pwd);
78   ~Person();
79 };
80
81 //-----------------------------------------------------------------------------
82
83 #endif