]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_uhnames.cpp
Some more to fix still, modules probably wont load correctly atm
[user/henk/code/inspircd.git] / src / modules / m_uhnames.cpp
index a3caf70825cc19f32df2c56c98fe0fb6e8fccd2a..40de3d8840ae3b2a8dff11b35ea1db6561bebee3 100644 (file)
@@ -11,9 +11,6 @@
  * ---------------------------------------------------
  */
 
-#include "users.h"
-#include "channels.h"
-#include "modules.h"
 #include "inspircd.h"
 
 static const char* dummy = "ON";
@@ -28,6 +25,8 @@ class ModuleUHNames : public Module
        ModuleUHNames(InspIRCd* Me)
                : Module(Me)
        {
+               Implementation eventlist[] = { I_OnSyncUserMetaData, I_OnPreCommand, I_OnUserList, I_On005Numeric };
+               ServerInstance->Modules->Attach(eventlist, this, 4);
        }
 
        void Implements(char* List)
@@ -39,7 +38,7 @@ class ModuleUHNames : public Module
        {
        }
 
-        void OnSyncUserMetaData(userrec* user, Module* proto,void* opaque, const std::string &extname, bool displayable)
+       void OnSyncUserMetaData(User* user, Module* proto,void* opaque, const std::string &extname, bool displayable)
        {
                if ((displayable) && (extname == "UHNAMES"))
                        proto->ProtoSendMetaData(opaque, TYPE_USER, user, extname, "Enabled");
@@ -50,17 +49,18 @@ class ModuleUHNames : public Module
                return Version(1,1,0,1,VF_VENDOR,API_VERSION);
        }
 
-        virtual void On005Numeric(std::string &output)
+       virtual void On005Numeric(std::string &output)
        {
                output.append(" UHNAMES");
        }
 
-       Priority Prioritize()
+       void Prioritize()
        {
-               return (Priority)ServerInstance->PriorityBefore("m_namesx.so");
+               Module* namesx = ServerInstance->Modules->Find("m_namesx.so");
+               ServerInstance->Modules->SetPriority(this, I_OnUserList, PRIO_BEFORE, &namesx);
        }
 
-        virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, userrec *user, bool validated, const std::string &original_line)
+       virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, User *user, bool validated, const std::string &original_line)
        {
                irc::string c = command.c_str();
                /* We don't actually create a proper command handler class for PROTOCTL,
@@ -80,7 +80,7 @@ class ModuleUHNames : public Module
        }
 
        /* IMPORTANT: This must be prioritized above NAMESX! */
-       virtual int OnUserList(userrec* user, chanrec* Ptr, CUList* &ulist)
+       virtual int OnUserList(User* user, Channel* Ptr, CUList* &ulist)
        {
                if (user->GetExt("UHNAMES"))
                {
@@ -94,27 +94,4 @@ class ModuleUHNames : public Module
        }
 };
 
-
-class ModuleUHNamesFactory : public ModuleFactory
-{
- public:
-       ModuleUHNamesFactory()
-       {
-       }
-
-       ~ModuleUHNamesFactory()
-       {
-       }
-
-               virtual Module * CreateModule(InspIRCd* Me)
-       {
-               return new ModuleUHNames(Me);
-       }
-};
-
-
-extern "C" DllExport void * init_module( void )
-{
-       return new ModuleUHNamesFactory;
-}
-
+MODULE_INIT(ModuleUHNames)