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