]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/modules.h
Use SQUERY instead of PRIVMSG in alias/passforward config.
[user/henk/code/inspircd.git] / include / modules.h
index 43ab2ae3ad211d6c698bb64df3447092bfd8df88..de418a785777971b74063b16a6aba5875a0a411a 100644 (file)
@@ -99,14 +99,15 @@ struct ModResult {
 /** InspIRCd major version.
  * 1.2 -> 102; 2.1 -> 201; 2.12 -> 212
  */
-#define INSPIRCD_VERSION_MAJ 202
+#define INSPIRCD_VERSION_MAJ 300
+
 /** InspIRCd API version.
  * If you change any API elements, increment this value. This counter should be
  * reset whenever the major version is changed. Modules can use these two values
  * and numerical comparisons in preprocessor macros if they wish to support
  * multiple versions of InspIRCd in one file.
  */
-#define INSPIRCD_VERSION_API 1
+#define INSPIRCD_VERSION_API 2
 
 /**
  * This #define allows us to call a method in all
@@ -226,7 +227,7 @@ enum Implementation
        I_OnPostOper, I_OnPostCommand, I_OnPostJoin,
        I_OnBuildNeighborList, I_OnGarbageCollect, I_OnSetConnectClass,
        I_OnUserMessage, I_OnPassCompare, I_OnNamesListItem, I_OnNumeric,
-       I_OnPreRehash, I_OnModuleRehash, I_OnSendWhoLine, I_OnChangeIdent, I_OnSetUserIP,
+       I_OnPreRehash, I_OnModuleRehash, I_OnChangeIdent, I_OnSetUserIP,
        I_OnServiceAdd, I_OnServiceDel, I_OnUserWrite,
        I_END
 };
@@ -570,7 +571,7 @@ class CoreExport Module : public classbase, public usecountbase
        /** Called whenever a user's real name is changed.
         * This event triggers after the name has been set.
         * @param user The user who's real name is being changed
-        * @param name The new real name being set on the user
+        * @param real The new real name being set on the user
         */
        virtual void OnChangeRealName(User* user, const std::string& real);
 
@@ -895,13 +896,6 @@ class CoreExport Module : public classbase, public usecountbase
         */
        virtual ModResult OnSetConnectClass(LocalUser* user, ConnectClass* myclass);
 
-#ifdef INSPIRCD_ENABLE_TESTSUITE
-       /** Add test suite hooks here. These are used for testing functionality of a module
-        * via the --testsuite debugging parameter.
-        */
-       virtual void OnRunTestSuite();
-#endif
-
        /** Called for every item in a NAMES list, so that modules may reformat portions of it as they see fit.
         * For example NAMESX, channel mode +u and +I, and UHNAMES.
         * @param issuer The user who is going to receive the NAMES list being built
@@ -916,16 +910,6 @@ class CoreExport Module : public classbase, public usecountbase
 
        virtual ModResult OnNumeric(User* user, const Numeric::Numeric& numeric);
 
-       /** Called whenever a result from /WHO is about to be returned
-        * @param source The user running the /WHO query
-        * @param params The parameters to the /WHO query
-        * @param user The user that this line of the query is about
-        * @param memb The member shown in this line, NULL if no channel is in this line
-        * @param numeric Numeric to send; modifiable.
-        * @return MOD_RES_PASSTHRU to allow the line to be displayed, MOD_RES_DENY to hide it
-        */
-       virtual ModResult OnSendWhoLine(User* source, const std::vector<std::string>& params, User* user, Membership* memb, Numeric::Numeric& numeric);
-
        /** Called whenever a local user's IP is set for the first time, or when a local user's IP changes due to
         * a module like m_cgiirc changing it.
         * @param user The user whose IP is being set
@@ -942,6 +926,12 @@ class CoreExport Module : public classbase, public usecountbase
         */
        virtual void OnServiceDel(ServiceProvider& service);
 
+       /** Called whenever a message is about to be written to a user.
+        * @param user The user who is having a message sent to them.
+        * @param msg The message which is being written to the user.
+        * @return MOD_RES_ALLOW to explicitly allow the message to be sent, MOD_RES_DENY to explicitly
+        * deny the message from being sent, or MOD_RES_PASSTHRU to let another module handle the event.
+        */
        virtual ModResult OnUserWrite(LocalUser* user, ClientProtocol::Message& msg);
 };