aboutsummaryrefslogtreecommitdiffstats
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorGravatar brain2006-08-10 18:58:21 +0000
committerGravatar brain2006-08-10 18:58:21 +0000
commit78dc9813021c9caf05fc47c08fc0827b4e6c8465 (patch)
tree472869905d454b4baa9d04211a55f67e48cce0cc /src/inspircd.cpp
parentMove strlower into nspace namespace where hash<std::string> lives (diff)
Move AllModulesReportReady into a private method of class InspIRCd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4851 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 6dad70a51..758dd4757 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -1024,3 +1024,26 @@ int main(int argc, char** argv)
}
return 0;
}
+
+/* this returns true when all modules are satisfied that the user should be allowed onto the irc server
+ * (until this returns true, a user will block in the waiting state, waiting to connect up to the
+ * registration timeout maximum seconds)
+ */
+bool InspIRCd::AllModulesReportReady(userrec* user)
+{
+ if (!Config->global_implementation[I_OnCheckReady])
+ return true;
+
+ for (int i = 0; i <= MODCOUNT; i++)
+ {
+ if (Config->implement_lists[i][I_OnCheckReady])
+ {
+ int res = modules[i]->OnCheckReady(user);
+ if (!res)
+ return false;
+ }
+ }
+ return true;
+}
+
+