]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/modules.h
Add a counter for errored files
[user/henk/code/inspircd.git] / include / modules.h
index 51f1630d48e36db15c8e18a41eb001a8c8b0052f..a3cac1486b891af17c9e8302334729bfe9500c01 100644 (file)
@@ -125,10 +125,10 @@ typedef std::map<std::string, std::pair<int, modulelist> > interfacelist;
  */
 #define FOREACH_MOD(y,x) do { \
        EventHandlerIter safei; \
-       for (EventHandlerIter _i = ServerInstance->Modules->EventHandlers[y].begin(); _i != ServerInstance->Modules->EventHandlers[y].end(); ++_i) \
+       for (EventHandlerIter _i = ServerInstance->Modules->EventHandlers[y].begin(); _i != ServerInstance->Modules->EventHandlers[y].end(); ) \
        { \
                safei = _i; \
-               safei++; \
+               ++safei; \
                try \
                { \
                        (*_i)->x ; \
@@ -149,10 +149,10 @@ typedef std::map<std::string, std::pair<int, modulelist> > interfacelist;
  */
 #define FOREACH_MOD_I(z,y,x) do { \
        EventHandlerIter safei; \
-       for (EventHandlerIter _i = z->Modules->EventHandlers[y].begin(); _i != z->Modules->EventHandlers[y].end(); ++_i) \
+       for (EventHandlerIter _i = z->Modules->EventHandlers[y].begin(); _i != z->Modules->EventHandlers[y].end(); ) \
        { \
                safei = _i; \
-               safei++; \
+               ++safei; \
                try \
                { \
                        (*_i)->x ; \
@@ -174,10 +174,10 @@ typedef std::map<std::string, std::pair<int, modulelist> > interfacelist;
 do { \
        EventHandlerIter safei; \
        MOD_RESULT = 0; \
-       for (EventHandlerIter _i = ServerInstance->Modules->EventHandlers[y].begin(); _i != ServerInstance->Modules->EventHandlers[y].end(); ++_i) \
+       for (EventHandlerIter _i = ServerInstance->Modules->EventHandlers[y].begin(); _i != ServerInstance->Modules->EventHandlers[y].end(); ) \
        { \
                safei = _i; \
-               safei++; \
+               ++safei; \
                try \
                { \
                        int res = (*_i)->x ; \
@@ -204,10 +204,10 @@ do { \
 do { \
        EventHandlerIter safei; \
        MOD_RESULT = 0; \
-       for (EventHandlerIter _i = z->Modules->EventHandlers[y].begin(); _i != z->Modules->EventHandlers[y].end(); ++_i) \
+       for (EventHandlerIter _i = z->Modules->EventHandlers[y].begin(); _i != z->Modules->EventHandlers[y].end(); ) \
        { \
                safei = _i; \
-               safei++; \
+               ++safei; \
                try \
                { \
                        int res = (*_i)->x ; \
@@ -401,10 +401,12 @@ enum Implementation
        I_OnRawSocketAccept, I_OnRawSocketClose, I_OnRawSocketWrite, I_OnRawSocketRead, I_OnChangeLocalUserGECOS, I_OnUserRegister,
        I_OnOperCompare, I_OnChannelDelete, I_OnPostOper, I_OnSyncOtherMetaData, I_OnSetAway, I_OnCancelAway, I_OnUserList,
        I_OnPostCommand, I_OnPostJoin, I_OnWhoisLine, I_OnBuildExemptList, I_OnRawSocketConnect, I_OnGarbageCollect, I_OnBufferFlushed,
-       I_OnText,
+       I_OnText, I_OnReadConfig, I_OnDownloadFile,
        I_END
 };
 
+class ConfigReader;
+
 /** Base class for all InspIRCd modules
  *  This class is the base class for InspIRCd modules. All modules must inherit from this class,
  *  its methods will be called when irc server events occur. class inherited from module must be
@@ -434,6 +436,10 @@ class CoreExport Module : public Extensible
        {
        }
 
+       virtual void OnReadConfig(ServerConfig* config, ConfigReader* coreconf);
+
+       virtual int OnDownloadFile(const std::string &filename, std::stringstream &filedata);
+
        /** Returns the version number of a Module.
         * The method should return a Version object with its version information assigned via
         * Version::Version