/** 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
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
};
/** 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);
*/
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
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
*/
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);
};
return new y; \
} \
extern "C" DllExport const char inspircd_src_version[] = INSPIRCD_VERSION;
-
-#define COMMAND_INIT(c) MODULE_INIT(CommandModule<c>)