]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - include/servers.h~
Modified documentation for base classes
[user/henk/code/inspircd.git] / include / servers.h~
1 /*
2
3 $Log$
4 Revision 1.1  2003/01/26 23:52:59  brain
5 Modified documentation for base classes
6 Added base classes
7
8 Revision 1.1  2003/01/26 20:15:00  brain
9 Added server classes for linking
10
11
12 */
13
14 #include "inspircd_config.h" 
15 #include "connection.h"
16 #include <string>
17 #include <map.h>
18  
19 #ifndef __SERVERS_H__ 
20 #define __SERVERS_H__ 
21  
22 #define LINK_ACTIVE     1
23 #define LINK_INACTIVE   0
24
25 class serverrec : public connection
26 {
27  private:
28         map<string, serverrec*> leaf; // list of child servers (leaves)
29  public:
30         char name[MAXBUF];      // server name
31         int pingtime;           // last ping response (ms)
32         int linktype;           // link type, LINK_ACTIVE or LINK_INACTIVE
33         time_t lastping;        // time the link was last pinged
34         long usercount_i;       // invisible users on server
35         long usercount;         // non-invisible users on server
36         long opercount;         // opers on server
37         time_t connected_at;    // time server was connected into the network
38         time_t hops_away;       // number of hops away (for quick access)
39         long version;           // ircd version
40         bool jupiter;           // is a JUPE server (faked to enforce a server ban)
41
42         serverrec();
43         serverrec(char* n, int link_t,  long ver, bool jupe);
44         ~serverrec();
45         void AddLeaf(serverrec *child);
46         void DelLeaf(string n);
47 };
48
49
50
51 typedef map<string, serverrec*> server_list;
52
53 #endif
54