]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/modules.h
Include VERSION/REVISION information in module version tag, so that we do no longer...
[user/henk/code/inspircd.git] / include / modules.h
index cb8ffdadac1f927c10d3a5bb9ac8db8c4ad97b6d..86f77d2183d19914498e32218f7d42f72907b653 100644 (file)
@@ -277,7 +277,7 @@ class CoreExport Version : public classbase
  public:
        /** Version information.
         */
-       std::string version;
+       const std::string version;
 
        /** Flags and API version
         */
@@ -285,7 +285,8 @@ class CoreExport Version : public classbase
 
        /** 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
@@ -428,7 +429,7 @@ enum Implementation
        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
 };
 
@@ -914,6 +915,13 @@ class CoreExport Module : public Extensible
         */
        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
@@ -1413,6 +1421,14 @@ class CoreExport Module : public Extensible
         * 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);
 };