From 73b9d0c5cb02f0ea8350de28bc3687e0af70ea0f Mon Sep 17 00:00:00 2001 From: brain Date: Thu, 23 Jan 2003 19:45:57 +0000 Subject: Initial revision git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@132 e03df62e-2008-0410-955e-edbf42e46eb7 --- docs/module-doc/modules_8h-source.html | 159 +++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 docs/module-doc/modules_8h-source.html (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 new file mode 100644 index 000000000..9f80e2ea5 --- /dev/null +++ b/docs/module-doc/modules_8h-source.html @@ -0,0 +1,159 @@ + + +modules.h Source File + + + +
+Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  
+

modules.h

Go to the documentation of this file.
00001 /*
+00002 
+00003 $Log$
+00003 Revision 1.1  2003/01/23 19:45:58  brain
+00003 Initial revision
+00003 
+00003 Revision 1.9  2003/01/22 20:59:12  brain
+00003 Added FileReader class documentation
+00003 
+00004 Revision 1.11  2003/01/22 20:49:16  brain
+00005 Added FileReader file-caching class
+00006 Changed m_randquote to use FileReader class
+00007 
+00008 Revision 1.10  2003/01/22 00:57:27  brain
+00009 Changes to documentation
+00010 
+00011 Revision 1.9  2003/01/22 00:44:26  brain
+00012 Added documentation comments
+00013 
+00014 Revision 1.8  2003/01/21 20:31:24  brain
+00015 Modified to add documentation
+00016 Added ConfigReader class for modules
+00017 
+00018 Revision 1.7  2003/01/15 22:47:44  brain
+00019 Changed user and channel structs to classes (finally)
+00020 
+00021 Revision 1.6  2003/01/13 22:30:50  brain
+00022 Added Admin class (holds /admin info for modules)
+00023 Added methods to Server class
+00024 
+00025 
+00026 */
+00027 
+00028 
+00029 #ifndef __PLUGIN_H
+00030 #define __PLUGIN_H
+00031 
+00032 #include "dynamic.h"
+00033 #include <string>
+00034 #include <deque>
+00035 
+00038 typedef deque<string> file_cache;
+00039 
+00040 
+00041 // This #define allows us to call a method in all
+00042 // loaded modules in a readable simple way, e.g.:
+00043 // 'FOREACH_MOD OnConnect(user);'
+00044 
+00045 #define FOREACH_MOD for (int i = 0; i <= MODCOUNT; i++) modules[i]->
+00046 
+00047 // class Version holds the version information of a Module, returned
+00048 // by Module::GetVersion (thanks RD)
+00049 
+00054 class Version
+00055 {
+00056  public:
+00057          const int Major, Minor, Revision, Build;
+00058          Version(int major, int minor, int revision, int build);
+00059 };
+00060 
+00061 
+00067 class Admin
+00068 {
+00069  public:
+00070          const string Name, Email, Nick;
+00071          Admin(string name,string email,string nick);
+00072 };
+00073 
+00079 class Module
+00080 {
+00081  public:
+00085         Module();
+00089         virtual ~Module();
+00094         virtual Version GetVersion();
+00098         virtual void OnUserConnect(userrec* user);
+00102         virtual void OnUserQuit(userrec* user);
+00107         virtual void OnUserJoin(userrec* user, chanrec* channel);
+00112         virtual void OnUserPart(userrec* user, chanrec* channel);
+00113 };
+00114 
+00115 
+00121 class Server
+00122 {
+00123  public:
+00127         Server();
+00131         virtual ~Server();
+00132 
+00136         virtual void SendOpers(string s);
+00141         virtual void Debug(string s);
+00146         virtual void Send(int Socket, string s);
+00151         virtual void SendServ(int Socket, string s);
+00156         virtual void SendFrom(int Socket, userrec* User, string s);
+00161         virtual void SendTo(userrec* Source, userrec* Dest, string s);
+00168         virtual void SendChannel(userrec* User, chanrec* Channel, string s,bool IncludeSender);
+00173         virtual bool CommonChannels(userrec* u1, userrec* u2);
+00181         virtual void SendCommon(userrec* User, string text,bool IncludeSender);
+00186         virtual void SendWallops(userrec* User, string text);
+00187 
+00191         virtual bool IsNick(string nick);
+00195         virtual userrec* FindNick(string nick);
+00199         virtual chanrec* FindChannel(string channel);
+00204         virtual string ChanMode(userrec* User, chanrec* Chan);
+00207         virtual string GetServerName();
+00210         virtual string GetNetworkName();
+00216         virtual Admin GetAdmin();
+00217          
+00218 };
+00219 
+00226 class ConfigReader
+00227 {
+00228   protected:
+00231         string fname;
+00232   public:
+00237         ConfigReader();                 // default constructor reads ircd.conf
+00241         ConfigReader(string filename);  // read a module-specific config
+00245         ~ConfigReader();
+00250         string ReadValue(string tag, string name, int index);
+00257         int Enumerate(string tag);
+00261         bool Verify();
+00262 };
+00263 
+00264 
+00265 
+00271 class FileReader
+00272 {
+00273  file_cache fc;
+00274  public:
+00279          FileReader();
+00285          FileReader(string filename);
+00289          ~FileReader();
+00295          void LoadFile(string filename);
+00300          string GetLine(int x);
+00306          int FileSize();
+00307 };
+00308 
+00309 
+00316 class ModuleFactory
+00317 {
+00318  public:
+00319         ModuleFactory() { }
+00320         virtual ~ModuleFactory() { }
+00325         virtual Module * CreateModule() = 0;
+00326 };
+00327 
+00328 #endif
+

Generated on Wed Jan 22 20:56:47 2003 for InspIRCd by + +doxygen1.3-rc2
+ + -- cgit v1.3.1-10-gc9f91