public:
/** Version information.
*/
- std::string version;
+ const std::string version;
/** Flags and API version
*/
/** Initialize version class
*/
- Version(const std::string &sversion, int flags, int api_ver);
+ Version(const std::string &customver, int flags,
+ int api_ver = API_VERSION, const std::string& src_rev = VERSION " r" REVISION);
};
/** The ModuleMessage class is the base class of Request and Event
I_OnPostOper, I_OnSyncNetwork, I_OnSetAway, I_OnUserList, I_OnPostCommand, I_OnPostJoin,
I_OnWhoisLine, I_OnBuildExemptList, I_OnRawSocketConnect, I_OnGarbageCollect, I_OnBufferFlushed,
I_OnText, I_OnPassCompare, I_OnRunTestSuite, I_OnNamesListItem, I_OnNumeric, I_OnHookIO,
- I_OnHostCycle, I_OnPreRehash, I_OnModuleRehash,
+ I_OnHostCycle, I_OnPreRehash, I_OnModuleRehash, I_OnSendWhoLine, I_OnChangeIdent,
I_END
};
*/
virtual void OnChangeName(User* user, const std::string &gecos);
+ /** Called whenever a user's IDENT is changed.
+ * This event triggers after the name has been set.
+ * @param user The user who's IDENT is being changed
+ * @param gecos The new IDENT being set on the user
+ */
+ virtual void OnChangeIdent(User* user, const std::string &ident);
+
/** Called whenever an xline is added by a local user.
* This method is triggered after the line is added.
* @param source The sender of the line or NULL for local server
* even if it is enabled.
*/
virtual ModResult OnHostCycle(User* user);
+
+ /** Called whenever a result from /WHO is about to be returned
+ * @param source The user running the /WHO query
+ * @param user The user that this line of the query is about
+ * @param channel The channel being queried (or NULL if not a channel query)
+ * @param line The raw line to send; modifiable, if empty no line will be returned.
+ */
+ virtual void OnSendWhoLine(User* source, User* user, Channel* channel, std::string& line);
};