From a753fb1bc711e10794e939e424f3cdd703116d82 Mon Sep 17 00:00:00 2001 From: brain Date: Fri, 2 Apr 2004 12:38:41 +0000 Subject: Added support for modules to create commands - this needs a proof-of-concept module yet, do not use unless you like to live dangerously. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@351 e03df62e-2008-0410-955e-edbf42e46eb7 --- docs/module-doc/modules_8h-source.html | 260 +++++++++++++++++---------------- 1 file changed, 136 insertions(+), 124 deletions(-) (limited to 'docs/module-doc/modules_8h-source.html') diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html index 2a095fcc1..577ffd62a 100644 --- a/docs/module-doc/modules_8h-source.html +++ b/docs/module-doc/modules_8h-source.html @@ -22,135 +22,147 @@ 00014 #define SPARSE 40 00015 #define NONE 50 00016 -00017 #include "dynamic.h" -00018 #include "base.h" -00019 #include <string> -00020 #include <deque> -00021 -00024 typedef deque<string> file_cache; -00025 +00017 #define MT_CHANNEL 1 +00018 #define MT_CLIENT 2 +00019 #define MT_SERVER 3 +00020 +00021 #include "dynamic.h" +00022 #include "base.h" +00023 #include "ctables.h" +00024 #include <string> +00025 #include <deque> 00026 -00027 // This #define allows us to call a method in all -00028 // loaded modules in a readable simple way, e.g.: -00029 // 'FOREACH_MOD OnConnect(user);' -00030 -00031 #define FOREACH_MOD for (int i = 0; i <= MODCOUNT; i++) modules[i]-> -00032 -00033 // class Version holds the version information of a Module, returned -00034 // by Module::GetVersion (thanks RD) +00029 typedef std::deque<std::string> file_cache; +00030 typedef file_cache string_list; +00031 +00032 // This #define allows us to call a method in all +00033 // loaded modules in a readable simple way, e.g.: +00034 // 'FOREACH_MOD OnConnect(user);' 00035 -00040 class Version : public classbase -00041 { -00042 public: -00043 const int Major, Minor, Revision, Build; -00044 Version(int major, int minor, int revision, int build); -00045 }; -00046 -00047 -00053 class Admin : public classbase -00054 { -00055 public: -00056 const string Name, Email, Nick; -00057 Admin(string name,string email,string nick); -00058 }; -00059 -00065 class Module : public classbase -00066 { -00067 public: -00068 -00072 Module(); -00073 -00077 virtual ~Module(); -00078 -00083 virtual Version GetVersion(); +00036 #define FOREACH_MOD for (int i = 0; i <= MODCOUNT; i++) modules[i]-> +00037 +00038 extern void createcommand(char* cmd, handlerfunc f, char flags, int minparams); +00039 +00040 // class Version holds the version information of a Module, returned +00041 // by Module::GetVersion (thanks RD) +00042 +00047 class Version : public classbase +00048 { +00049 public: +00050 const int Major, Minor, Revision, Build; +00051 Version(int major, int minor, int revision, int build); +00052 }; +00053 +00059 class Admin : public classbase +00060 { +00061 public: +00062 const std::string Name, Email, Nick; +00063 Admin(std::string name, std::string email, std::string nick); +00064 }; +00065 +00071 class Module : public classbase +00072 { +00073 public: +00074 +00078 Module(); +00079 +00083 virtual ~Module(); 00084 -00088 virtual void OnUserConnect(userrec* user); -00089 -00093 virtual void OnUserQuit(userrec* user); -00094 -00099 virtual void OnUserJoin(userrec* user, chanrec* channel); +00089 virtual Version GetVersion(); +00090 +00094 virtual void OnUserConnect(userrec* user); +00095 +00099 virtual void OnUserQuit(userrec* user); 00100 -00105 virtual void OnUserPart(userrec* user, chanrec* channel); +00105 virtual void OnUserJoin(userrec* user, chanrec* channel); 00106 -00113 virtual void Module::OnPacketTransmit(char *p); -00114 -00122 virtual void Module::OnPacketReceive(char *p); -00123 -00129 virtual void OnRehash(); -00130 -00137 virtual void Module::OnServerRaw(string &raw, bool inbound); -00138 -00139 }; -00140 -00141 -00147 class Server : public classbase -00148 { -00149 public: -00153 Server(); -00157 virtual ~Server(); -00158 -00162 virtual void SendOpers(string s); -00167 virtual void Log(int level, string s); -00172 virtual void Send(int Socket, string s); -00177 virtual void SendServ(int Socket, string s); -00182 virtual void SendFrom(int Socket, userrec* User, string s); -00187 virtual void SendTo(userrec* Source, userrec* Dest, string s); -00194 virtual void SendChannel(userrec* User, chanrec* Channel, string s,bool IncludeSender); -00199 virtual bool CommonChannels(userrec* u1, userrec* u2); -00207 virtual void SendCommon(userrec* User, string text,bool IncludeSender); -00212 virtual void SendWallops(userrec* User, string text); -00213 -00217 virtual bool IsNick(string nick); -00221 virtual userrec* FindNick(string nick); -00225 virtual chanrec* FindChannel(string channel); -00230 virtual string ChanMode(userrec* User, chanrec* Chan); -00233 virtual string GetServerName(); -00236 virtual string GetNetworkName(); -00242 virtual Admin GetAdmin(); -00243 -00244 }; -00245 -00252 class ConfigReader : public classbase -00253 { -00254 protected: -00257 string fname; -00258 public: -00263 ConfigReader(); // default constructor reads ircd.conf -00267 ConfigReader(string filename); // read a module-specific config -00271 ~ConfigReader(); -00276 string ReadValue(string tag, string name, int index); -00283 int Enumerate(string tag); -00287 bool Verify(); -00288 }; -00289 -00290 -00291 -00297 class FileReader : public classbase -00298 { -00299 file_cache fc; -00300 public: -00305 FileReader(); -00311 FileReader(string filename); -00315 ~FileReader(); -00321 void LoadFile(string filename); -00326 string GetLine(int x); -00332 int FileSize(); -00333 }; -00334 -00335 -00342 class ModuleFactory : public classbase -00343 { -00344 public: -00345 ModuleFactory() { } -00346 virtual ~ModuleFactory() { } -00351 virtual Module * CreateModule() = 0; -00352 }; -00353 -00354 -00355 typedef DLLFactory<ModuleFactory> ircd_module; -00356 -00357 #endif -
Generated on Sun Mar 30 19:34:54 2003 for InspIRCd by +00111 virtual void OnUserPart(userrec* user, chanrec* channel); +00112 +00119 virtual void Module::OnPacketTransmit(char *p); +00120 +00128 virtual void Module::OnPacketReceive(char *p); +00129 +00135 virtual void OnRehash(); +00136 +00143 virtual void OnServerRaw(std::string &raw, bool inbound); +00144 +00153 virtual bool OnExtendedMode(userrec* user, chanrec* chan, char modechar, int type, bool mode_on, string_list &params); +00154 +00155 }; +00156 +00157 +00163 class Server : public classbase +00164 { +00165 public: +00169 Server(); +00173 virtual ~Server(); +00174 +00178 virtual void SendOpers(std::string s); +00183 virtual void Log(int level, std::string s); +00188 virtual void Send(int Socket, std::string s); +00193 virtual void SendServ(int Socket, std::string s); +00198 virtual void SendFrom(int Socket, userrec* User, std::string s); +00203 virtual void SendTo(userrec* Source, userrec* Dest, std::string s); +00210 virtual void SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender); +00215 virtual bool CommonChannels(userrec* u1, userrec* u2); +00223 virtual void SendCommon(userrec* User, std::string text,bool IncludeSender); +00228 virtual void SendWallops(userrec* User, std::string text); +00229 +00233 virtual bool IsNick(std::string nick); +00237 virtual userrec* FindNick(std::string nick); +00241 virtual chanrec* FindChannel(std::string channel); +00246 virtual std::string ChanMode(userrec* User, chanrec* Chan); +00249 virtual std::string GetServerName(); +00252 virtual std::string GetNetworkName(); +00258 virtual Admin GetAdmin(); +00276 virtual bool AddExtendedMode(char modechar, int type, bool default_on, int params_when_on, int params_when_off); +00277 +00292 virtual void AddCommand(char* cmd, handlerfunc f, char flags, int minparams); +00293 +00294 }; +00295 +00302 class ConfigReader : public classbase +00303 { +00304 protected: +00307 std::string fname; +00308 public: +00313 ConfigReader(); // default constructor reads ircd.conf +00317 ConfigReader(std::string filename); // read a module-specific config +00321 ~ConfigReader(); +00326 std::string ReadValue(std::string tag, std::string name, int index); +00333 int Enumerate(std::string tag); +00337 bool Verify(); +00338 }; +00339 +00340 +00341 +00347 class FileReader : public classbase +00348 { +00349 file_cache fc; +00350 public: +00355 FileReader(); +00361 FileReader(std::string filename); +00365 ~FileReader(); +00371 void LoadFile(std::string filename); +00376 bool Exists(); +00377 std::string GetLine(int x); +00383 int FileSize(); +00384 }; +00385 +00386 +00393 class ModuleFactory : public classbase +00394 { +00395 public: +00396 ModuleFactory() { } +00397 virtual ~ModuleFactory() { } +00402 virtual Module * CreateModule() = 0; +00403 }; +00404 +00405 +00406 typedef DLLFactory<ModuleFactory> ircd_module; +00407 +00408 #endif +
Generated on Fri Apr 2 13:37:27 2004 for InspIRCd by doxygen1.3-rc3
-- cgit v1.3.1-10-gc9f91