00001
00002
00003
00004
00005
00006
00007
00008 #include <typeinfo>
00009 #include <iostream.h>
00010 #include "globals.h"
00011 #include "modules.h"
00012 #include "inspircd_io.h"
00013
00014
00015
00016 Version::Version(int major, int minor, int revision, int build) : Major(major), Minor(minor), Revision(revision), Build(build) { };
00017
00018
00019
00020 Admin::Admin(string name, string email, string nick) : Name(name), Email(email), Nick(nick) { };
00021
00022
00023
00024
00025
00026
00027 Module::Module() { }
00028 Module::~Module() { }
00029 void Module::OnUserConnect(userrec* user) { }
00030 void Module::OnUserQuit(userrec* user) { }
00031 void Module::OnUserJoin(userrec* user, chanrec* channel) { }
00032 void Module::OnUserPart(userrec* user, chanrec* channel) { }
00033 void Module::OnPacketTransmit(char *p) { }
00034 void Module::OnPacketReceive(char *p) { }
00035 void Module::OnRehash() { }
00036 void Module::OnServerRaw(string &raw, bool inbound) { }
00037 Version Module::GetVersion() { return Version(1,0,0,0); }
00038
00039
00040
00041
00042
00043 Server::Server()
00044 {
00045 }
00046
00047 Server::~Server()
00048 {
00049 }
00050
00051 void Server::SendOpers(string s)
00052 {
00053 WriteOpers("%s",s.c_str());
00054 }
00055
00056 void Server::Log(int level, string s)
00057 {
00058 log(level,"%s",s.c_str());
00059 }
00060
00061 void Server::Send(int Socket, string s)
00062 {
00063 Write(Socket,"%s",s.c_str());
00064 }
00065
00066 void Server::SendServ(int Socket, string s)
00067 {
00068 WriteServ(Socket,"%s",s.c_str());
00069 }
00070
00071 void Server::SendFrom(int Socket, userrec* User, string s)
00072 {
00073 WriteFrom(Socket,User,"%s",s.c_str());
00074 }
00075
00076 void Server::SendTo(userrec* Source, userrec* Dest, string s)
00077 {
00078 WriteTo(Source,Dest,"%s",s.c_str());
00079 }
00080
00081 void Server::SendChannel(userrec* User, chanrec* Channel, string s,bool IncludeSender)
00082 {
00083 if (IncludeSender)
00084 {
00085 WriteChannel(Channel,User,"%s",s.c_str());
00086 }
00087 else
00088 {
00089 ChanExceptSender(Channel,User,"%s",s.c_str());
00090 }
00091 }
00092
00093 bool Server::CommonChannels(userrec* u1, userrec* u2)
00094 {
00095 return (common_channels(u1,u2) != 0);
00096 }
00097
00098 void Server::SendCommon(userrec* User, string text,bool IncludeSender)
00099 {
00100 if (IncludeSender)
00101 {
00102 WriteCommon(User,"%s",text.c_str());
00103 }
00104 else
00105 {
00106 WriteCommonExcept(User,"%s",text.c_str());
00107 }
00108 }
00109
00110 void Server::SendWallops(userrec* User, string text)
00111 {
00112 WriteWallOps(User,"%s",text.c_str());
00113 }
00114
00115 bool Server::IsNick(string nick)
00116 {
00117 return (isnick(nick.c_str()) != 0);
00118 }
00119
00120 userrec* Server::FindNick(string nick)
00121 {
00122 return Find(nick);
00123 }
00124
00125 chanrec* Server::FindChannel(string channel)
00126 {
00127 return FindChan(channel.c_str());
00128 }
00129
00130 string Server::ChanMode(userrec* User, chanrec* Chan)
00131 {
00132 string mode = cmode(User,Chan);
00133 return mode;
00134 }
00135
00136 string Server::GetServerName()
00137 {
00138 return getservername();
00139 }
00140
00141 string Server::GetNetworkName()
00142 {
00143 return getnetworkname();
00144 }
00145
00146 Admin Server::GetAdmin()
00147 {
00148 return Admin(getadminname(),getadminemail(),getadminnick());
00149 }
00150
00151
00152 ConfigReader::ConfigReader()
00153 {
00154 fname = CONFIG_FILE;
00155 }
00156
00157
00158 ConfigReader::~ConfigReader()
00159 {
00160 }
00161
00162
00163 ConfigReader::ConfigReader(string filename) : fname(filename) { };
00164
00165 string ConfigReader::ReadValue(string tag, string name, int index)
00166 {
00167 char val[MAXBUF];
00168 ReadConf(fname.c_str(),tag.c_str(),name.c_str(),index,val);
00169 string s = val;
00170 return s;
00171 }
00172
00173
00174 int ConfigReader::Enumerate(string tag)
00175 {
00176 return EnumConf(fname.c_str(),tag.c_str());
00177 }
00178
00179
00180 bool ConfigReader::Verify()
00181 {
00182 return true;
00183 }
00184
00185
00186 FileReader::FileReader(string filename)
00187 {
00188 file_cache c;
00189 readfile(c,filename.c_str());
00190 this->fc = c;
00191 }
00192
00193 FileReader::FileReader()
00194 {
00195 }
00196
00197 void FileReader::LoadFile(string filename)
00198 {
00199 file_cache c;
00200 readfile(c,filename.c_str());
00201 this->fc = c;
00202 }
00203
00204 FileReader::~FileReader()
00205 {
00206 }
00207
00208 string FileReader::GetLine(int x)
00209 {
00210 if ((x<0) || (x>fc.size()))
00211 return "";
00212 return fc[x];
00213 }
00214
00215 int FileReader::FileSize()
00216 {
00217 return fc.size();
00218 }
00219
00220
00221 vector<Module*> modules(255);
00222 vector<ircd_module*> factory(255);
00223
00224 int MODCOUNT = -1;
00225
00226