]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_oper_hash.cpp
Fix for bug #415, affects only trunk (wish i'd known this before i started!)
[user/henk/code/inspircd.git] / src / modules / m_oper_hash.cpp
index b1d80b7eba61060ff3054449122d357709751319..887b2d6a7bc567ca3c169d4625d2abfcdf863ebe 100644 (file)
 /* $ModDesc: Allows for hashed oper passwords */
 /* $ModDep: m_hash.h */
 
-#include "inspircd_config.h"
-#include "users.h"
-#include "channels.h"
-#include "modules.h"
 #include "inspircd.h"
-
 #include "m_hash.h"
 
 typedef std::map<irc::string, Module*> hashymodules;
@@ -79,17 +74,17 @@ class ModuleOperHash : public Module
  public:
 
        ModuleOperHash(InspIRCd* Me)
-               : Module::Module(Me)
+               : Module(Me)
        {
 
                /* Read the config file first */
                Conf = NULL;
-               OnRehash("");
+               OnRehash(NULL,"");
 
-               ServerInstance->UseInterface("HashRequest");
+               ServerInstance->Modules->UseInterface("HashRequest");
 
                /* Find all modules which implement the interface 'HashRequest' */
-               modulelist* ml = ServerInstance->FindInterface("HashRequest");
+               modulelist* ml = ServerInstance->Modules->FindInterface("HashRequest");
 
                /* Did we find any modules? */
                if (ml)
@@ -104,7 +99,6 @@ class ModuleOperHash : public Module
                                /* Build a map of them */
                                hashers[name.c_str()] = *m;
                                names.push_back(name);
-                               ServerInstance->Log(DEBUG, "Found HashRequest interface: '%s' -> '%08x'", name.c_str(), *m);
                        }
                }
                else
@@ -118,7 +112,7 @@ class ModuleOperHash : public Module
        
        virtual ~ModuleOperHash()
        {
-               ServerInstance->DoneWithInterface("HashRequest");
+               ServerInstance->Modules->DoneWithInterface("HashRequest");
        }
 
        void Implements(char* List)
@@ -126,7 +120,7 @@ class ModuleOperHash : public Module
                List[I_OnRehash] = List[I_OnOperCompare] = 1;
        }
 
-       virtual void OnRehash(const std::string &parameter)
+       virtual void OnRehash(userrec* user, const std::string &parameter)
        {
                /* Re-read configuration file */
                if (Conf)
@@ -163,27 +157,4 @@ class ModuleOperHash : public Module
        }
 };
 
-
-class ModuleOperHashFactory : public ModuleFactory
-{
- public:
-       ModuleOperHashFactory()
-       {
-       }
-       
-       ~ModuleOperHashFactory()
-       {
-       }
-       
-       virtual Module * CreateModule(InspIRCd* Me)
-       {
-               return new ModuleOperHash(Me);
-       }
-       
-};
-
-
-extern "C" void * init_module( void )
-{
-       return new ModuleOperHashFactory;
-}
+MODULE_INIT(ModuleOperHash)