]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/modules/extra/m_httpclienttest.cpp
Fix broken modules (broken due to api change)
[user/henk/code/inspircd.git] / src / modules / extra / m_httpclienttest.cpp
1 /*       +------------------------------------+
2  *       | Inspire Internet Relay Chat Daemon |
3  *       +------------------------------------+
4  *
5  *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
6  * See: http://www.inspircd.org/wiki/index.php/Credits
7  *
8  * This program is free but copyrighted software; see
9  *            the file COPYING for details.
10  *
11  * ---------------------------------------------------
12  */
13
14 #include "users.h"
15 #include "channels.h"
16 #include "modules.h"
17 #include "inspircd.h"
18 #include "httpclient.h"
19
20 /* $ModDep: httpclient.h */
21
22 class MyModule : public Module
23 {
24 public:
25        MyModule(InspIRCd* Me)
26                : Module::Module(Me)
27        {
28        }
29
30        virtual ~MyModule()
31        {
32        }
33
34        virtual void Implements(char* List)
35        {
36                 List[I_OnRequest] = List[I_OnUserJoin] = List[I_OnUserPart] = 1;
37        }
38
39        virtual Version GetVersion()
40        {
41                return Version(1,0,0,1,VF_VENDOR,API_VERSION);
42        }
43
44        virtual void OnUserJoin(userrec* user, chanrec* channel, bool &silent)
45        {
46                // method called when a user joins a channel
47
48                std::string chan = channel->name;
49                std::string nick = user->nick;
50 //               ServerInstance->Log(DEBUG,"User " + nick + " joined " + chan);
51
52                            Module* target = ServerInstance->FindModule("m_http_client.so");
53                            if(target) {
54                                    HTTPClientRequest req(ServerInstance, this, target, "http://znc.in/~psychon");
55                                    req.Send();
56                            }
57                            else
58                                    ServerInstance->Log(DEBUG,"module not found, load it!!");
59        }
60
61            char* OnRequest(Request* req)
62            {
63                    HTTPClientResponse* resp = (HTTPClientResponse*)req;
64                    if(!strcmp(resp->GetId(), HTTP_CLIENT_RESPONSE))
65                    {
66                           ServerInstance->Log(DEBUG, resp->GetData()); 
67                    }
68                    return NULL;
69            }
70
71        virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage, bool &silent)
72        {
73        }
74
75 };
76
77 class MyModuleFactory : public ModuleFactory
78 {
79 public:
80        MyModuleFactory()
81        {
82        }
83
84        ~MyModuleFactory()
85        {
86        }
87
88        virtual Module * CreateModule(InspIRCd* Me)
89        {
90                return new MyModule(Me);
91        }
92
93 };
94
95 extern "C" void * init_module( void )
96 {
97        return new MyModuleFactory;
98 }
99