]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_httpclienttest.cpp
clean this up now Brain says it works :)
[user/henk/code/inspircd.git] / src / modules / extra / m_httpclienttest.cpp
index 19c6c376baa94d57a20e4351466e03afca8f1dbc..382546196f4e85dc1011857e5ac5445e6178f1db 100644 (file)
@@ -2,7 +2,7 @@
  *     | Inspire Internet Relay Chat Daemon |
  *     +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
  * ---------------------------------------------------
  */
 
+#include "inspircd.h"
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
-#include "inspircd.h"
 #include "httpclient.h"
 
 /* $ModDep: httpclient.h */
@@ -27,23 +27,21 @@ public:
        MyModule(InspIRCd* Me)
                : Module::Module(Me)
        {
+               Implementation eventlist[] = { I_OnRequest, I_OnUserJoin, I_OnUserPart };
+               ServerInstance->Modules->Attach(eventlist, this, 3);
        }
 
        virtual ~MyModule()
        {
        }
 
-       virtual void Implements(char* List)
-       {
-               List[I_OnRequest] = List[I_OnUserJoin] = List[I_OnUserPart] = 1;
-       }
 
        virtual Version GetVersion()
        {
                return Version(1,0,0,1,VF_VENDOR,API_VERSION);
        }
 
-       virtual void OnUserJoin(userrec* user, chanrec* channel, bool &silent)
+       virtual void OnUserJoin(User* user, Channel* channel, bool sync, bool &silent)
        {
                // method called when a user joins a channel
 
@@ -51,7 +49,7 @@ public:
                std::string nick = user->nick;
                ServerInstance->Log(DEBUG,"User " + nick + " joined " + chan);
 
-               Module* target = ServerInstance->FindModule("m_http_client.so");
+               Module* target = ServerInstance->Modules->Find("m_http_client.so");
                if(target)
                {
                        HTTPClientRequest req(ServerInstance, this, target, "http://znc.in/~psychon");
@@ -61,7 +59,7 @@ public:
                        ServerInstance->Log(DEBUG,"module not found, load it!!");
        }
 
-       char* OnRequest(Request* req)
+       virtual const char* OnRequest(Request* req)
        {
                HTTPClientResponse* resp = (HTTPClientResponse*)req;
                if(!strcmp(resp->GetId(), HTTP_CLIENT_RESPONSE))
@@ -71,32 +69,11 @@ public:
                return NULL;
        }
 
-       virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage, bool &silent)
-       {
-       }
-
-};
-
-class MyModuleFactory : public ModuleFactory
-{
-public:
-       MyModuleFactory()
-       {
-       }
-
-       ~MyModuleFactory()
+       virtual void OnUserPart(User* user, Channel* channel, const std::string &partmessage, bool &silent)
        {
        }
 
-       virtual Module * CreateModule(InspIRCd* Me)
-       {
-               return new MyModule(Me);
-       }
-
 };
 
-extern "C" void * init_module( void )
-{
-       return new MyModuleFactory;
-}
+MODULE_INIT(MyModule)