summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-01-25 16:31:05 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-01-25 16:31:05 +0000
commitcdaf7ac3781a0ea1bfbfac85c4a428ddea7725f9 (patch)
tree84758aa082957cf9c19fa59df9b55d06e33fb9dd /include
parent51fff2f99dc4692cfbb14eda789d615280d79365 (diff)
Added PRIORITY_BEFORE and PRIORITY_AFTER (see src/modules/m_hostchange.cpp for how it works, function Prioritize())
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2889 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include')
-rw-r--r--include/inspircd.h2
-rw-r--r--include/modules.h21
2 files changed, 22 insertions, 1 deletions
diff --git a/include/inspircd.h b/include/inspircd.h
index fd2255046..68289d5ee 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -121,6 +121,8 @@ class InspIRCd
bool UnloadModule(const char* filename);
void MoveToLast(std::string modulename);
void MoveToFirst(std::string modulename);
+ void MoveAfter(std::string modulename, std::string after);
+ void MoveBefore(std::string modulename, std::string before);
InspIRCd(int argc, char** argv);
int Run();
diff --git a/include/modules.h b/include/modules.h
index 6afb0e181..5939ba0bb 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -272,7 +272,7 @@ class ExtMode : public classbase
};
-enum Priority { PRIORITY_FIRST, PRIORITY_DONTCARE, PRIORITY_LAST };
+enum Priority { PRIORITY_FIRST, PRIORITY_DONTCARE, PRIORITY_LAST, PRIORITY_BEFORE, PRIORITY_AFTER };
enum Implementation { I_OnUserConnect, I_OnUserQuit, I_OnUserDisconnect, I_OnUserJoin, I_OnUserPart, I_OnRehash, I_OnServerRaw,
I_OnExtendedMode, I_OnUserPreJoin, I_OnUserPreKick, I_OnUserKick, I_OnOper, I_OnInfo, I_OnWhois, I_OnUserPreInvite,
@@ -1163,6 +1163,25 @@ class Server : public classbase
* of the IRC server, as read from the config file by the core.
*/
ServerConfig* GetConfig();
+
+ /** For use with Module::Prioritize().
+ * When the return value of this function is returned from
+ * Module::Prioritize(), this specifies that the module wishes
+ * to be ordered exactly BEFORE 'modulename'.
+ * @param modulename The module your module wants to be before in the call list
+ * @returns a priority ID which the core uses to relocate the module in the list
+ */
+ long PriorityBefore(std::string modulename);
+
+ /** For use with Module::Prioritize().
+ * When the return value of this function is returned from
+ * Module::Prioritize(), this specifies that the module wishes
+ * to be ordered exactly AFTER 'modulename'.
+ * @param modulename The module your module wants to be after in the call list
+ * @returns a priority ID which the core uses to relocate the module in the list
+ */
+ long PriorityAfter(std::string modulename);
+
/** Sends text to all opers.
* This method sends a server notice to all opers with the usermode +s.
*/