]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspircd.cpp
Change cmd_*.so to use the Module object API
[user/henk/code/inspircd.git] / src / inspircd.cpp
index b8192d3879f073bd2175f1783c19d2adb56710c8..810c477f8e8ab721d6fc96c895674a87efdf8dbf 100644 (file)
@@ -126,8 +126,6 @@ void InspIRCd::Cleanup()
                        this->Modules->Unload(k->c_str());
                }
        }
-       /* Remove core commands */
-       Parser->RemoveRFCCommands();
 
        /* Cleanup Server Names */
        for(servernamelist::iterator itr = servernames.begin(); itr != servernames.end(); ++itr)
@@ -135,8 +133,8 @@ void InspIRCd::Cleanup()
 
        /* Delete objects dynamically allocated in constructor (destructor would be more appropriate, but we're likely exiting) */
        /* Must be deleted before modes as it decrements modelines */
-       DeleteZero(this->Users);
        DeleteZero(this->FakeClient);
+       DeleteZero(this->Users);
        DeleteZero(this->Modes);
        DeleteZero(this->XLines);
        DeleteZero(this->Parser);
@@ -317,9 +315,7 @@ void InspIRCd::WritePID(const std::string &filename)
        }
 }
 
-InspIRCd::InspIRCd(int argc, char** argv)
-       : GlobalCulls(this),
-
+InspIRCd::InspIRCd(int argc, char** argv) :
         /* Functor initialisation. Note that the ordering here is very important.
          *
          * THIS MUST MATCH ORDER OF DECLARATION OF THE HandleWhateverFunc classes
@@ -573,9 +569,6 @@ InspIRCd::InspIRCd(int argc, char** argv)
        this->Config->Apply(NULL, "");
        Logs->OpenFileLogs();
 
-       /** Note: This is safe, the method checks for user == NULL */
-       this->Parser->SetupCommandTable();
-
        this->Res = new DNS(this);
 
        this->AddServerName(Config->ServerName);
@@ -868,12 +861,9 @@ void InspIRCd::BufferedSocketCull()
  */
 bool InspIRCd::AllModulesReportReady(User* user)
 {
-       for (EventHandlerIter i = Modules->EventHandlers[I_OnCheckReady].begin(); i != Modules->EventHandlers[I_OnCheckReady].end(); ++i)
-       {
-               if (!(*i)->OnCheckReady(user))
-                       return false;
-       }
-       return true;
+       ModResult res;
+       FIRST_MOD_RESULT(this, OnCheckReady, res, (user));
+       return (res == MOD_RES_PASSTHRU);
 }
 
 time_t InspIRCd::Time()