]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/main.h
Added ability to send and receive a challenge, dont do anything with it yet
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / main.h
index 71723a6a9702a7fc95226fa501ee7ba9871bdfbd..ca6071118139abb1cfc8d1e6c0d46298a6d00adc 100644 (file)
@@ -1,3 +1,16 @@
+/*       +------------------------------------+
+ *       | Inspire Internet Relay Chat Daemon |
+ *       +------------------------------------+
+ *
+ *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
+ *
+ * This program is free but copyrighted software; see
+ *            the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
+
 #ifndef __ST_MAIN__
 #define __ST_MAIN__
 
  * Failure to document your protocol changes will result in a painfully
  * painful death by pain. You have been warned.
  */
-const long ProtocolVersion = 1104;
-
+const long ProtocolVersion = 1105;
 
+/** Forward declarations
+ */
 class cmd_rconnect;
 class SpanningTreeUtilities;
 class TimeSyncTimer;
+class CacheRefreshTimer;
 class TreeServer;
 class Link;
 
+/** This is the main class for the spanningtree module
+ */
 class ModuleSpanningTree : public Module
 {
        int line;
@@ -32,27 +49,104 @@ class ModuleSpanningTree : public Module
        SpanningTreeUtilities* Utils;
 
  public:
+       /** Timer for clock syncs
+        */
        TimeSyncTimer *SyncTimer;
+
+       CacheRefreshTimer *RefreshTimer;
+
+       /** Constructor
+        */
        ModuleSpanningTree(InspIRCd* Me);
+
+       /** Shows /LINKS
+        */
        void ShowLinks(TreeServer* Current, userrec* user, int hops);
+
+       /** Counts local servers
+        */
        int CountLocalServs();
+
+       /** Counts local and remote servers
+        */
        int CountServs();
+
+       /** Handle LINKS command
+        */
        void HandleLinks(const char** parameters, int pcnt, userrec* user);
+
+       /** Handle LUSERS command
+        */
        void HandleLusers(const char** parameters, int pcnt, userrec* user);
-       void ShowMap(TreeServer* Current, userrec* user, int depth, char matrix[128][80], float &totusers, float &totservers);
+
+       /** Show MAP output to a user (recursive)
+        */
+       void ShowMap(TreeServer* Current, userrec* user, int depth, char matrix[128][128], float &totusers, float &totservers);
+
+       /** Handle remote MOTD
+        */
        int HandleMotd(const char** parameters, int pcnt, userrec* user);
+
+       /** Handle remote ADMIN
+        */
        int HandleAdmin(const char** parameters, int pcnt, userrec* user);
+
+       /** Handle remote STATS
+        */
        int HandleStats(const char** parameters, int pcnt, userrec* user);
+
+       /** Handle MAP command
+        */
        void HandleMap(const char** parameters, int pcnt, userrec* user);
+
+       /** Handle SQUIT
+        */
        int HandleSquit(const char** parameters, int pcnt, userrec* user);
+
+       /** Handle TIME
+        */
        int HandleTime(const char** parameters, int pcnt, userrec* user);
+
+       /** Handle remote WHOIS
+        */
        int HandleRemoteWhois(const char** parameters, int pcnt, userrec* user);
+
+       /** Handle remote MODULES
+        */
+       int HandleModules(const char** parameters, int pcnt, userrec* user);
+
+       /** Ping all local servers
+        */
        void DoPingChecks(time_t curtime);
+
+       /** Connect a server locally
+        */
        void ConnectServer(Link* x);
+
+       /** Check if any servers are due to be autoconnected
+        */
        void AutoConnectServers(time_t curtime);
+
+       /** Handle remote VERSON
+        */
        int HandleVersion(const char** parameters, int pcnt, userrec* user);
+
+       /** Handle CONNECT
+        */
        int HandleConnect(const char** parameters, int pcnt, userrec* user);
+
+       /** Send out time sync to all servers
+        */
        void BroadcastTimeSync();
+
+       /** Returns oper-specific MAP information
+        */
+       const std::string MapOperInfo(TreeServer* Current);
+
+       /**
+        ** *** MODULE EVENTS ***
+        **/
+
        virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, userrec *user, bool validated, const std::string &original_line);
        virtual void OnPostCommand(const std::string &command, const char** parameters, int pcnt, userrec *user, CmdResult result, const std::string &original_line);
        virtual void OnGetServerDescription(const std::string &servername,std::string &description);
@@ -67,7 +161,7 @@ class ModuleSpanningTree : public Module
        virtual void OnChangeName(userrec* user, const std::string &gecos);
        virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage);
        virtual void OnUserConnect(userrec* user);
-       virtual void OnUserQuit(userrec* user, const std::string &reason);
+       virtual void OnUserQuit(userrec* user, const std::string &reason, const std::string &oper_message);
        virtual void OnUserPostNick(userrec* user, const std::string &oldnick);
        virtual void OnUserKick(userrec* source, userrec* user, chanrec* chan, const std::string &reason);
        virtual void OnRemoteKill(userrec* source, userrec* dest, const std::string &reason);