]> jfr.im git - irc/quakenet/newserv.git/blob - trusts/newsearch/trusts_newsearch.c
Update documentation.
[irc/quakenet/newserv.git] / trusts / newsearch / trusts_newsearch.c
1 #include "../../lib/version.h"
2 #include "../../newsearch/newsearch.h"
3 #include "../../core/hooks.h"
4 #include "../trusts.h"
5 #include "trusts_newsearch.h"
6
7 MODULE_VERSION("");
8
9 struct searchNode *tgroup_parse(searchCtx *, int argc, char **argv);
10 struct searchNode *thastrust_parse(searchCtx *, int argc, char **argv);
11
12 static int commandsregistered;
13 static void registercommands(int hooknum, void *arg) {
14 if(commandsregistered)
15 return;
16 commandsregistered = 1;
17
18 registersearchterm(reg_nicksearch, "tgroup", tgroup_parse, 0, "");
19 registersearchterm(reg_nicksearch, "thastrust", thastrust_parse, 0, "");
20 }
21
22 static void deregistercommands(int hooknum, void *arg) {
23 if(!commandsregistered)
24 return;
25 commandsregistered = 0;
26
27 deregistersearchterm(reg_nicksearch, "tgroup", tgroup_parse);
28 deregistersearchterm(reg_nicksearch, "thastrust", thastrust_parse);
29 }
30
31 void _init(void) {
32 registerhook(HOOK_TRUSTS_DB_LOADED, registercommands);
33 registerhook(HOOK_TRUSTS_DB_CLOSED, deregistercommands);
34
35 if(trustsdbloaded)
36 registercommands(0, NULL);
37 }
38
39 void _fini(void) {
40 deregisterhook(HOOK_TRUSTS_DB_LOADED, registercommands);
41 deregisterhook(HOOK_TRUSTS_DB_CLOSED, deregistercommands);
42
43 deregistercommands(0, NULL);
44 }