]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/modules.h
Two stage commit: don't set user->muted except in QuitUser (duplicate setting), also...
[user/henk/code/inspircd.git] / include / modules.h
index eab968e7ac844975fbd2d595a49a7191fdaa8569..5fc4ac4bcfc1c4e420ace1072050bf087034a44e 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
@@ -394,7 +394,7 @@ enum Implementation
        I_OnUserInvite, I_OnUserPreMessage, I_OnUserPreNotice, I_OnUserPreNick, I_OnUserMessage, I_OnUserNotice, I_OnMode,
        I_OnGetServerDescription, I_OnSyncUser, I_OnSyncChannel, I_OnSyncChannelMetaData, I_OnSyncUserMetaData,
        I_OnDecodeMetaData, I_ProtoSendMode, I_ProtoSendMetaData, I_OnWallops, I_OnChangeHost, I_OnChangeName, I_OnAddLine,
-       I_OnDelLine, I_OnCleanup, I_OnUserPostNick, I_OnAccessCheck, I_On005Numeric, I_OnKill, I_OnRemoteKill, I_OnLoadModule, I_OnUnloadModule,
+       I_OnDelLine, I_OnExpireLine, I_OnCleanup, I_OnUserPostNick, I_OnAccessCheck, I_On005Numeric, I_OnKill, I_OnRemoteKill, I_OnLoadModule, I_OnUnloadModule,
        I_OnBackgroundTimer, I_OnPreCommand, I_OnCheckReady, I_OnCheckInvite, I_OnRawMode,
        I_OnCheckKey, I_OnCheckLimit, I_OnCheckBan, I_OnStats, I_OnChangeLocalUserHost, I_OnChangeLocalUserGecos, I_OnLocalTopicChange,
        I_OnPostLocalTopicChange, I_OnEvent, I_OnRequest, I_OnOperCompre, I_OnGlobalOper, I_OnPostConnect, I_OnAddBan, I_OnDelBan,
@@ -899,13 +899,19 @@ class CoreExport Module : public Extensible
         */
        virtual void OnAddLine(User* source, XLine* line);
 
-       /** Called whenever an xline is deleted.
+       /** Called whenever an xline is deleted MANUALLY. See OnExpireLine for expiry.
         * This method is triggered after the line is deleted.
         * @param source The user removing the line or NULL for local server
         * @param line the line being deleted
         */
        virtual void OnDelLine(User* source, XLine* line);
 
+       /** Called whenever an xline expires.
+        * This method is triggered after the line is deleted.
+        * @param line The line being deleted.
+        */
+       virtual void OnExpireLine(XLine *line);
+
        /** Called before your module is unloaded to clean up Extensibles.
         * This method is called once for every user and channel on the network,
         * so that when your module unloads it may clear up any remaining data
@@ -1095,7 +1101,7 @@ class CoreExport Module : public Extensible
         * @param pcnt The parameter count for the mode (0 or 1)
         * @return 1 to deny the mode, 0 to allow
         */
-       virtual int OnRawMode(User* user, Channel* chan, char mode, const std::string &param, bool adding, int pcnt);
+       virtual int OnRawMode(User* user, Channel* chan, const char mode, const std::string &param, bool adding, int pcnt);
 
        /** Called whenever a user joins a channel, to determine if key checks should go ahead or not.
         * This method will always be called for each join, wether or not the channel is actually +k, and