]> jfr.im git - irc/quakenet/newserv.git/blame - trusts/newsearch/trusts_newsearch.c
nickwatch: Implement hook for nick changes.
[irc/quakenet/newserv.git] / trusts / newsearch / trusts_newsearch.c
CommitLineData
c4610da5 1#include "../../lib/version.h"
4ea9375d
CP
2#include "../../newsearch/newsearch.h"
3#include "../../core/hooks.h"
4#include "../trusts.h"
938d3b1c 5#include "trusts_newsearch.h"
4ea9375d 6
c4610da5
GB
7MODULE_VERSION("");
8
4ea9375d
CP
9struct searchNode *tgroup_parse(searchCtx *, int argc, char **argv);
10struct searchNode *thastrust_parse(searchCtx *, int argc, char **argv);
11
12static int commandsregistered;
13static 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
22static 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
31void _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
39void _fini(void) {
40 deregisterhook(HOOK_TRUSTS_DB_LOADED, registercommands);
41 deregisterhook(HOOK_TRUSTS_DB_CLOSED, deregistercommands);
42
43 deregistercommands(0, NULL);
44}