]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/main.h
Store id in TreeServer, use TreeServer::GetID() to get the id (NOTE: it is std::string)
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / main.h
index ca6071118139abb1cfc8d1e6c0d46298a6d00adc..41961dc099096adeb5445ff30bfeb977758294ec 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "inspircd.h"
 #include "modules.h"
+#include <stdarg.h>
 
 /** If you make a change which breaks the protocol, increment this.
  * If you  completely change the protocol, completely change the number.
  * Failure to document your protocol changes will result in a painfully
  * painful death by pain. You have been warned.
  */
-const long ProtocolVersion = 1105;
+const long ProtocolVersion = 1200;
 
 /** Forward declarations
  */
 class cmd_rconnect;
+class cmd_rsquit;
 class SpanningTreeUtilities;
 class TimeSyncTimer;
 class CacheRefreshTimer;
@@ -46,6 +48,7 @@ class ModuleSpanningTree : public Module
        unsigned int max_local;
        unsigned int max_global;
        cmd_rconnect* command_rconnect;
+       cmd_rsquit* command_rsquit;
        SpanningTreeUtilities* Utils;
 
  public:
@@ -139,10 +142,18 @@ class ModuleSpanningTree : public Module
         */
        void BroadcastTimeSync();
 
+       /** Attempt to send a message to a user
+        */
+       void RemoteMessage(userrec* user, const char* format, ...);
+
        /** Returns oper-specific MAP information
         */
        const std::string MapOperInfo(TreeServer* Current);
 
+       /** Display a time as a human readable string
+        */
+       std::string TimeToStr(time_t secs);
+
        /**
         ** *** MODULE EVENTS ***
         **/
@@ -156,15 +167,15 @@ class ModuleSpanningTree : public Module
        virtual void OnUserNotice(userrec* user, void* dest, int target_type, const std::string &text, char status, const CUList &exempt_list);
        virtual void OnUserMessage(userrec* user, void* dest, int target_type, const std::string &text, char status, const CUList &exempt_list);
        virtual void OnBackgroundTimer(time_t curtime);
-       virtual void OnUserJoin(userrec* user, chanrec* channel);
+       virtual void OnUserJoin(userrec* user, chanrec* channel, bool &silent);
        virtual void OnChangeHost(userrec* user, const std::string &newhost);
        virtual void OnChangeName(userrec* user, const std::string &gecos);
-       virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage);
+       virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage, bool &silent);
        virtual void OnUserConnect(userrec* user);
        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);
+       virtual void OnUserKick(userrec* source, userrec* user, chanrec* chan, const std::string &reason, bool &silent);
+       virtual void OnRemoteKill(userrec* source, userrec* dest, const std::string &reason, const std::string &operreason);
        virtual void OnRehash(userrec* user, const std::string &parameter);
        virtual void OnOper(userrec* user, const std::string &opertype);
        void OnLine(userrec* source, const std::string &host, bool adding, char linetype, long duration, const std::string &reason);