]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_regonlycreate.cpp
Fix these to use new hook system (u_listmode wasnt fixed yet)
[user/henk/code/inspircd.git] / src / modules / m_regonlycreate.cpp
index 33207da3ea3a3782a67bdd0b130ebd558d2728d0..51129494f413c042b62d750e6862bae5341d1706 100644 (file)
@@ -11,9 +11,6 @@
  * ---------------------------------------------------
  */
 
-#include "users.h"
-#include "channels.h"
-#include "modules.h"
 #include "inspircd.h"
 
 /* $ModDesc: Prevents users who's nicks are not registered from creating new channels */
@@ -24,6 +21,8 @@ class ModuleRegOnlyCreate : public Module
        ModuleRegOnlyCreate(InspIRCd* Me)
                : Module(Me)
        {
+               Implementation eventlist[] = { I_OnUserPreJoin };
+               ServerInstance->Modules->Attach(eventlist, this, 1);
        }
 
        void Implements(char* List)
@@ -31,7 +30,7 @@ class ModuleRegOnlyCreate : public Module
                List[I_OnUserPreJoin] = 1;
        }
 
-       virtual int OnUserPreJoin(userrec* user, chanrec* chan, const char* cname, std::string &privs)
+       virtual int OnUserPreJoin(User* user, Channel* chan, const char* cname, std::string &privs)
        {
                if (chan)
                        return 0;
@@ -58,28 +57,4 @@ class ModuleRegOnlyCreate : public Module
        }
 };
 
-
-class ModuleRegOnlyCreateFactory : public ModuleFactory
-{
- public:
-       ModuleRegOnlyCreateFactory()
-       {
-       }
-       
-       ~ModuleRegOnlyCreateFactory()
-       {
-       }
-       
-       virtual Module * CreateModule(InspIRCd* Me)
-       {
-               return new ModuleRegOnlyCreate(Me);
-       }
-       
-};
-
-
-extern "C" DllExport void * init_module( void )
-{
-       return new ModuleRegOnlyCreateFactory;
-}
-
+MODULE_INIT(ModuleRegOnlyCreate)