2003-01-23 19:45:57 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
< html > < head > < meta http-equiv = "Content-Type" content = "text/html;charset=iso-8859-1" >
< title > modules.cpp Source File< / title >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" >
< / head > < body >
<!-- Generated by Doxygen 1.3 - rc2 -->
< center >
< a class = "qindex" href = "main.html" > Main Page< / a > < a class = "qindex" href = "hierarchy.html" > Class Hierarchy< / a > < a class = "qindex" href = "classes.html" > Alphabetical List< / a > < a class = "qindex" href = "annotated.html" > Compound List< / a > < a class = "qindex" href = "files.html" > File List< / a > < a class = "qindex" href = "functions.html" > Compound Members< / a > < a class = "qindex" href = "globals.html" > File Members< / a > < / center >
< hr > < h1 > modules.cpp< / h1 > < a href = "modules_8cpp.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < pre > 00001 < span class = "comment" > /*< / span >
00002 < span class = "comment" > < / span >
00003 < span class = "comment" > < / span >
2003-02-09 12:49:00 +00:00
00004 < span class = "comment" > */< / span >
00005
00006
00007
00008 < span class = "preprocessor" > #include < typeinfo> < / span >
00009 < span class = "preprocessor" > #include < iostream.h> < / span >
00010 < span class = "preprocessor" > #include "globals.h"< / span >
00011 < span class = "preprocessor" > #include "< a class = "code" href = "modules_8h.html" > modules.h< / a > "< / span >
00012 < span class = "preprocessor" > #include "inspircd_io.h"< / span >
00013
00014 < span class = "comment" > // version is a simple class for holding a modules version number< / span >
00015
< a name = "l00016" > < / a > < a class = "code" href = "classVersion.html#a0" > 00016< / a > < a class = "code" href = "classVersion.html#a0" > Version::Version< / a > (< span class = "keywordtype" > int< / span > major, < span class = "keywordtype" > int< / span > minor, < span class = "keywordtype" > int< / span > revision, < span class = "keywordtype" > int< / span > build) : Major(major), Minor(minor), Revision(revision), Build(build) { };
00017
00018 < span class = "comment" > // admin is a simple class for holding a server's administrative info< / span >
00019
< a name = "l00020" > < / a > < a class = "code" href = "classAdmin.html#a0" > 00020< / a > < a class = "code" href = "classAdmin.html#a0" > Admin::Admin< / a > (string name, string email, string nick) : Name(name), Email(email), Nick(nick) { };
2003-01-23 20:38:00 +00:00
00021
2003-02-09 12:49:00 +00:00
00022 < span class = "comment" > //< / span >
00023 < span class = "comment" > // Announce to the world that the Module base< / span >
00024 < span class = "comment" > // class has been created or destroyed< / span >
00025 < span class = "comment" > //< / span >
00026
< a name = "l00027" > < / a > < a class = "code" href = "classModule.html#a0" > 00027< / a > < a class = "code" href = "classModule.html#a0" > Module::Module< / a > () { }
< a name = "l00028" > < / a > < a class = "code" href = "classModule.html#a1" > 00028< / a > < a class = "code" href = "classModule.html#a1" > Module::~Module< / a > () { }
< a name = "l00029" > < / a > < a class = "code" href = "classModule.html#a3" > 00029< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classModule.html#a3" > Module::OnUserConnect< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * user) { }
< a name = "l00030" > < / a > < a class = "code" href = "classModule.html#a4" > 00030< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classModule.html#a4" > Module::OnUserQuit< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * user) { }
< a name = "l00031" > < / a > < a class = "code" href = "classModule.html#a5" > 00031< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classModule.html#a5" > Module::OnUserJoin< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * user, < a class = "code" href = "classchanrec.html" > chanrec< / a > * channel) { }
< a name = "l00032" > < / a > < a class = "code" href = "classModule.html#a6" > 00032< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classModule.html#a6" > Module::OnUserPart< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * user, < a class = "code" href = "classchanrec.html" > chanrec< / a > * channel) { }
00033 < span class = "keywordtype" > void< / span > Module::OnPacketTransmit(< span class = "keywordtype" > char< / span > *p) { }
00034 < span class = "keywordtype" > void< / span > Module::OnPacketReceive(< span class = "keywordtype" > char< / span > *p) { }
< a name = "l00035" > < / a > < a class = "code" href = "classModule.html#a9" > 00035< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classModule.html#a9" > Module::OnRehash< / a > () { }
< a name = "l00036" > < / a > < a class = "code" href = "classModule.html#a2" > 00036< / a > < a class = "code" href = "classVersion.html" > Version< / a > < a class = "code" href = "classModule.html#a2" > Module::GetVersion< / a > () { < span class = "keywordflow" > return< / span > < a class = "code" href = "classVersion.html" > Version< / a > (1,0,0,0); }
2003-01-23 20:38:00 +00:00
00037
2003-02-09 12:49:00 +00:00
00038 < span class = "comment" > // server is a wrapper class that provides methods to all of the C-style< / span >
00039 < span class = "comment" > // exports in the core< / span >
00040 < span class = "comment" > //< / span >
00041
< a name = "l00042" > < / a > < a class = "code" href = "classServer.html#a0" > 00042< / a > < a class = "code" href = "classServer.html#a0" > Server::Server< / a > ()
00043 {
00044 }
00045
< a name = "l00046" > < / a > < a class = "code" href = "classServer.html#a1" > 00046< / a > < a class = "code" href = "classServer.html#a1" > Server::~Server< / a > ()
00047 {
00048 }
00049
< a name = "l00050" > < / a > < a class = "code" href = "classServer.html#a2" > 00050< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classServer.html#a2" > Server::SendOpers< / a > (string s)
00051 {
00052 WriteOpers(< span class = "stringliteral" > "%s"< / span > ,s.c_str());
00053 }
2003-01-23 20:38:00 +00:00
00054
2003-02-09 12:49:00 +00:00
< a name = "l00055" > < / a > < a class = "code" href = "classServer.html#a3" > 00055< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classServer.html#a3" > Server::Log< / a > (< span class = "keywordtype" > int< / span > level, string s)
2003-01-23 20:38:00 +00:00
00056 {
2003-02-09 12:49:00 +00:00
00057 log(level,< span class = "stringliteral" > "%s"< / span > ,s.c_str());
00058 }
00059
< a name = "l00060" > < / a > < a class = "code" href = "classServer.html#a4" > 00060< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classServer.html#a4" > Server::Send< / a > (< span class = "keywordtype" > int< / span > Socket, string s)
00061 {
00062 Write(Socket,< span class = "stringliteral" > "%s"< / span > ,s.c_str());
00063 }
00064
< a name = "l00065" > < / a > < a class = "code" href = "classServer.html#a5" > 00065< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classServer.html#a5" > Server::SendServ< / a > (< span class = "keywordtype" > int< / span > Socket, string s)
00066 {
00067 WriteServ(Socket,< span class = "stringliteral" > "%s"< / span > ,s.c_str());
00068 }
00069
< a name = "l00070" > < / a > < a class = "code" href = "classServer.html#a6" > 00070< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classServer.html#a6" > Server::SendFrom< / a > (< span class = "keywordtype" > int< / span > Socket, < a class = "code" href = "classuserrec.html" > userrec< / a > * User, string s)
00071 {
00072 WriteFrom(Socket,User,< span class = "stringliteral" > "%s"< / span > ,s.c_str());
00073 }
00074
< a name = "l00075" > < / a > < a class = "code" href = "classServer.html#a7" > 00075< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classServer.html#a7" > Server::SendTo< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * Source, < a class = "code" href = "classuserrec.html" > userrec< / a > * Dest, string s)
00076 {
00077 WriteTo(Source,Dest,< span class = "stringliteral" > "%s"< / span > ,s.c_str());
00078 }
00079
< a name = "l00080" > < / a > < a class = "code" href = "classServer.html#a8" > 00080< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classServer.html#a8" > Server::SendChannel< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * User, < a class = "code" href = "classchanrec.html" > chanrec< / a > * Channel, string s,< span class = "keywordtype" > bool< / span > IncludeSender)
00081 {
00082 < span class = "keywordflow" > if< / span > (IncludeSender)
00083 {
00084 WriteChannel(Channel,User,< span class = "stringliteral" > "%s"< / span > ,s.c_str());
00085 }
00086 < span class = "keywordflow" > else< / span >
00087 {
00088 ChanExceptSender(Channel,User,< span class = "stringliteral" > "%s"< / span > ,s.c_str());
00089 }
00090 }
00091
< a name = "l00092" > < / a > < a class = "code" href = "classServer.html#a9" > 00092< / a > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classServer.html#a9" > Server::CommonChannels< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * u1, < a class = "code" href = "classuserrec.html" > userrec< / a > * u2)
00093 {
00094 < span class = "keywordflow" > return< / span > (common_channels(u1,u2) != 0);
00095 }
00096
< a name = "l00097" > < / a > < a class = "code" href = "classServer.html#a10" > 00097< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classServer.html#a10" > Server::SendCommon< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * User, string text,< span class = "keywordtype" > bool< / span > IncludeSender)
00098 {
00099 < span class = "keywordflow" > if< / span > (IncludeSender)
2003-01-23 20:38:00 +00:00
00100 {
2003-02-09 12:49:00 +00:00
00101 WriteCommon(User,< span class = "stringliteral" > "%s"< / span > ,text.c_str());
2003-01-23 20:38:00 +00:00
00102 }
2003-02-09 12:49:00 +00:00
00103 < span class = "keywordflow" > else< / span >
00104 {
00105 WriteCommonExcept(User,< span class = "stringliteral" > "%s"< / span > ,text.c_str());
00106 }
00107 }
00108
< a name = "l00109" > < / a > < a class = "code" href = "classServer.html#a11" > 00109< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classServer.html#a11" > Server::SendWallops< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * User, string text)
00110 {
00111 WriteWallOps(User,< span class = "stringliteral" > "%s"< / span > ,text.c_str());
00112 }
00113
< a name = "l00114" > < / a > < a class = "code" href = "classServer.html#a12" > 00114< / a > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classServer.html#a12" > Server::IsNick< / a > (string nick)
00115 {
00116 < span class = "keywordflow" > return< / span > (isnick(nick.c_str()) != 0);
00117 }
00118
< a name = "l00119" > < / a > < a class = "code" href = "classServer.html#a13" > 00119< / a > < a class = "code" href = "classuserrec.html" > userrec< / a > * < a class = "code" href = "classServer.html#a13" > Server::FindNick< / a > (string nick)
00120 {
00121 < span class = "keywordflow" > return< / span > Find(nick);
00122 }
00123
< a name = "l00124" > < / a > < a class = "code" href = "classServer.html#a14" > 00124< / a > < a class = "code" href = "classchanrec.html" > chanrec< / a > * < a class = "code" href = "classServer.html#a14" > Server::FindChannel< / a > (string channel)
00125 {
00126 < span class = "keywordflow" > return< / span > FindChan(channel.c_str());
00127 }
00128
< a name = "l00129" > < / a > < a class = "code" href = "classServer.html#a15" > 00129< / a > string < a class = "code" href = "classServer.html#a15" > Server::ChanMode< / a > (< a class = "code" href = "classuserrec.html" > userrec< / a > * User, < a class = "code" href = "classchanrec.html" > chanrec< / a > * Chan)
00130 {
00131 string mode = cmode(User,Chan);
00132 < span class = "keywordflow" > return< / span > mode;
00133 }
00134
< a name = "l00135" > < / a > < a class = "code" href = "classServer.html#a16" > 00135< / a > string < a class = "code" href = "classServer.html#a16" > Server::GetServerName< / a > ()
00136 {
00137 < span class = "keywordflow" > return< / span > getservername();
00138 }
00139
< a name = "l00140" > < / a > < a class = "code" href = "classServer.html#a17" > 00140< / a > string < a class = "code" href = "classServer.html#a17" > Server::GetNetworkName< / a > ()
00141 {
00142 < span class = "keywordflow" > return< / span > getnetworkname();
00143 }
00144
< a name = "l00145" > < / a > < a class = "code" href = "classServer.html#a18" > 00145< / a > < a class = "code" href = "classAdmin.html" > Admin< / a > < a class = "code" href = "classServer.html#a18" > Server::GetAdmin< / a > ()
00146 {
00147 < span class = "keywordflow" > return< / span > < a class = "code" href = "classAdmin.html" > Admin< / a > (getadminname(),getadminemail(),getadminnick());
00148 }
00149
00150
< a name = "l00151" > < / a > < a class = "code" href = "classConfigReader.html#a0" > 00151< / a > < a class = "code" href = "classConfigReader.html#a0" > ConfigReader::ConfigReader< / a > ()
00152 {
00153 < a class = "code" href = "classConfigReader.html#n0" > fname< / a > = CONFIG_FILE;
00154 }
00155
00156
< a name = "l00157" > < / a > < a class = "code" href = "classConfigReader.html#a2" > 00157< / a > < a class = "code" href = "classConfigReader.html#a2" > ConfigReader::~ConfigReader< / a > ()
00158 {
00159 }
00160
00161
< a name = "l00162" > < / a > < a class = "code" href = "classConfigReader.html#a1" > 00162< / a > < a class = "code" href = "classConfigReader.html#a0" > ConfigReader::ConfigReader< / a > (string filename) : fname(filename) { };
2003-01-23 20:38:00 +00:00
00163
2003-02-09 12:49:00 +00:00
< a name = "l00164" > < / a > < a class = "code" href = "classConfigReader.html#a3" > 00164< / a > string < a class = "code" href = "classConfigReader.html#a3" > ConfigReader::ReadValue< / a > (string tag, string name, < span class = "keywordtype" > int< / span > index)
2003-01-23 20:38:00 +00:00
00165 {
2003-02-09 12:49:00 +00:00
00166 < span class = "keywordtype" > char< / span > val[MAXBUF];
00167 ReadConf(< a class = "code" href = "classConfigReader.html#n0" > fname< / a > .c_str(),tag.c_str(),name.c_str(),index,val);
00168 string s = val;
00169 < span class = "keywordflow" > return< / span > s;
00170 }
00171
00172
< a name = "l00173" > < / a > < a class = "code" href = "classConfigReader.html#a4" > 00173< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classConfigReader.html#a4" > ConfigReader::Enumerate< / a > (string tag)
00174 {
00175 < span class = "keywordflow" > return< / span > EnumConf(< a class = "code" href = "classConfigReader.html#n0" > fname< / a > .c_str(),tag.c_str());
00176 }
00177
00178
< a name = "l00179" > < / a > < a class = "code" href = "classConfigReader.html#a5" > 00179< / a > < span class = "keywordtype" > bool< / span > < a class = "code" href = "classConfigReader.html#a5" > ConfigReader::Verify< / a > ()
00180 {
00181 < span class = "keywordflow" > return< / span > < span class = "keyword" > true< / span > ;
00182 }
00183
2003-01-23 20:38:00 +00:00
00184
2003-02-09 12:49:00 +00:00
< a name = "l00185" > < / a > < a class = "code" href = "classFileReader.html#a1" > 00185< / a > < a class = "code" href = "classFileReader.html#a0" > FileReader::FileReader< / a > (string filename)
00186 {
00187 < a class = "code" href = "modules_8h.html#a6" > file_cache< / a > c;
00188 readfile(c,filename.c_str());
00189 this-> < a class = "code" href = "classFileReader.html#o0" > fc< / a > = c;
00190 }
2003-01-23 20:38:00 +00:00
00191
2003-02-09 12:49:00 +00:00
< a name = "l00192" > < / a > < a class = "code" href = "classFileReader.html#a0" > 00192< / a > < a class = "code" href = "classFileReader.html#a0" > FileReader::FileReader< / a > ()
2003-01-23 20:38:00 +00:00
00193 {
2003-02-09 12:49:00 +00:00
00194 }
00195
< a name = "l00196" > < / a > < a class = "code" href = "classFileReader.html#a3" > 00196< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classFileReader.html#a3" > FileReader::LoadFile< / a > (string filename)
00197 {
00198 < a class = "code" href = "modules_8h.html#a6" > file_cache< / a > c;
00199 readfile(c,filename.c_str());
00200 this-> < a class = "code" href = "classFileReader.html#o0" > fc< / a > = c;
00201 }
00202
< a name = "l00203" > < / a > < a class = "code" href = "classFileReader.html#a2" > 00203< / a > < a class = "code" href = "classFileReader.html#a2" > FileReader::~FileReader< / a > ()
00204 {
00205 }
00206
< a name = "l00207" > < / a > < a class = "code" href = "classFileReader.html#a4" > 00207< / a > string < a class = "code" href = "classFileReader.html#a4" > FileReader::GetLine< / a > (< span class = "keywordtype" > int< / span > x)
00208 {
00209 < span class = "keywordflow" > if< / span > ((x< 0) || (x> < a class = "code" href = "classFileReader.html#o0" > fc< / a > .size()))
00210 < span class = "keywordflow" > return< / span > < span class = "stringliteral" > ""< / span > ;
00211 < span class = "keywordflow" > return< / span > < a class = "code" href = "classFileReader.html#o0" > fc< / a > [x];
00212 }
00213
< a name = "l00214" > < / a > < a class = "code" href = "classFileReader.html#a5" > 00214< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "classFileReader.html#a5" > FileReader::FileSize< / a > ()
00215 {
00216 < span class = "keywordflow" > return< / span > < a class = "code" href = "classFileReader.html#o0" > fc< / a > .size();
00217 }
00218
2003-01-23 20:38:00 +00:00
00219
2003-02-09 12:49:00 +00:00
00220 vector< Module*> < a class = "code" href = "modules_8cpp.html#a1" > modules< / a > (255);
00221 vector< ircd_module*> < a class = "code" href = "modules_8cpp.html#a2" > factory< / a > (255);
00222
< a name = "l00223" > < / a > < a class = "code" href = "modules_8cpp.html#a0" > 00223< / a > < span class = "keywordtype" > int< / span > < a class = "code" href = "modules_8cpp.html#a0" > MODCOUNT< / a > = -1;
00224
00225
< / pre > < / div > < hr > < address style = "align: right;" > < small > Generated on Sun Feb 9 12:48:16 2003 for InspIRCd by
2003-01-23 19:45:57 +00:00
< a href = "http://www.doxygen.org/index.html" >
< img src = "doxygen.png" alt = "doxygen" align = "middle" border = 0
width=110 height=53>< / a > 1.3-rc2 < / small > < / address >
< / body >
< / html >