+/* +------------------------------------+
+ * | 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;
*/
TimeSyncTimer *SyncTimer;
+ CacheRefreshTimer *RefreshTimer;
+
/** Constructor
*/
ModuleSpanningTree(InspIRCd* Me);
/** Show MAP output to a user (recursive)
*/
- void ShowMap(TreeServer* Current, userrec* user, int depth, char matrix[128][80], float &totusers, float &totservers);
+ void ShowMap(TreeServer* Current, userrec* user, int depth, char matrix[128][128], float &totusers, float &totservers);
/** Handle remote MOTD
*/
*/
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);
*/
void BroadcastTimeSync();
+ /** Returns oper-specific MAP information
+ */
+ const std::string MapOperInfo(TreeServer* Current);
+
/**
** *** MODULE EVENTS ***
**/
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);