00001 /* 00002 00003 $Log$ 00003 Revision 1.1 2003/01/26 23:52:48 brain 00003 Modified documentation for base classes 00003 00004 Revision 1.1 2003/01/26 20:15:03 brain 00005 Added server classes for linking 00006 00007 00008 */ 00009 00010 #include "inspircd_config.h" 00011 #include "servers.h" 00012 #include "inspircd.h" 00013 #include <stdio.h> 00014 #include <map.h> 00015 00016 serverrec::serverrec() 00017 { 00018 leaf.clear(); 00019 strcpy(name,""); 00020 pingtime = 0; 00021 linktype = LINK_ACTIVE; 00022 lastping = time(NULL); 00023 usercount_i = usercount = opercount = version = 0; 00024 hops_away = 1; 00025 connected_at = time(NULL); 00026 jupiter = false; 00027 fd = 0; 00028 } 00029 00030 00031 serverrec::~serverrec() 00032 { 00033 } 00034 00035 serverrec::serverrec(char* n, int link_t, long ver, bool jupe) 00036 { 00037 leaf.clear(); 00038 strcpy(name,n); 00039 linktype = link_t; 00040 lastping = time(NULL); 00041 usercount_i = usercount = opercount = 0; 00042 version = ver; 00043 hops_away = 1; 00044 connected_at = time(NULL); 00045 jupiter = jupe; 00046 fd = 0; 00047 } 00048 00049 void serverrec::AddLeaf(serverrec *child) 00050 { 00051 leaf[child->name] = child; 00052 } 00053 00054 void serverrec::DelLeaf(string n) 00055 { 00056 server_list::iterator i = leaf.find(n); 00057 00058 if (i != leaf.end()) 00059 leaf.erase(i); 00060 } 00061