12 #include "inspircd_io.h"
14 // version is a simple class for holding a modules version number
16 Version::Version(int major, int minor, int revision, int build) : Major(major), Minor(minor), Revision(revision), Build(build) { };
18 // admin is a simple class for holding a server's administrative info
20 Admin::Admin(string name, string email, string nick) : Name(name), Email(email), Nick(nick) { };
23 // Announce to the world that the Module base
24 // class has been created or destroyed
29 void Module::OnUserConnect(userrec* user) { }
30 void Module::OnUserQuit(userrec* user) { }
31 void Module::OnUserJoin(userrec* user, chanrec* channel) { }
32 void Module::OnUserPart(userrec* user, chanrec* channel) { }
33 Version Module::GetVersion() { return Version(1,0,0,0); }
35 // server is a wrapper class that provides methods to all of the C-style
36 // exports in the core
47 void Server::SendOpers(string s)
49 WriteOpers("%s",s.c_str());
52 void Server::Debug(string s)
54 debug("%s",s.c_str());
57 void Server::Send(int Socket, string s)
59 Write(Socket,"%s",s.c_str());
62 void Server::SendServ(int Socket, string s)
64 WriteServ(Socket,"%s",s.c_str());
67 void Server::SendFrom(int Socket, userrec* User, string s)
69 WriteFrom(Socket,User,"%s",s.c_str());
72 void Server::SendTo(userrec* Source, userrec* Dest, string s)
74 WriteTo(Source,Dest,"%s",s.c_str());
77 void Server::SendChannel(userrec* User, chanrec* Channel, string s,bool IncludeSender)
81 WriteChannel(Channel,User,"%s",s.c_str());
85 ChanExceptSender(Channel,User,"%s",s.c_str());
89 bool Server::CommonChannels(userrec* u1, userrec* u2)
91 return (common_channels(u1,u2) != 0);
94 void Server::SendCommon(userrec* User, string text,bool IncludeSender)
98 WriteCommon(User,"%s",text.c_str());
102 WriteCommonExcept(User,"%s",text.c_str());
106 void Server::SendWallops(userrec* User, string text)
108 WriteWallOps(User,"%s",text.c_str());
111 bool Server::IsNick(string nick)
113 return (isnick(nick.c_str()) != 0);
116 userrec* Server::FindNick(string nick)
121 chanrec* Server::FindChannel(string channel)
123 return FindChan(channel.c_str());
126 string Server::ChanMode(userrec* User, chanrec* Chan)
128 string mode = cmode(User,Chan);
132 string Server::GetServerName()
134 return getservername();
137 string Server::GetNetworkName()
139 return getnetworkname();
142 Admin Server::GetAdmin()
144 return Admin(getadminname(),getadminemail(),getadminnick());
148 ConfigReader::ConfigReader()
154 ConfigReader::~ConfigReader()
159 ConfigReader::ConfigReader(string filename) : fname(filename) { };
161 string ConfigReader::ReadValue(string tag, string name, int index)
164 ReadConf(fname.c_str(),tag.c_str(),name.c_str(),index,val);
170 int ConfigReader::Enumerate(string tag)
172 return EnumConf(fname.c_str(),tag.c_str());
176 bool ConfigReader::Verify()
182 FileReader::FileReader(string filename)
185 readfile(c,filename.c_str());
189 FileReader::FileReader()
193 void FileReader::LoadFile(string filename)
196 readfile(c,filename.c_str());
200 FileReader::~FileReader()
204 string FileReader::GetLine(int x)
206 if ((x<0) || (x>fc.size()))
211 int FileReader::FileSize()