]> jfr.im git - irc/quakenet/newserv.git/blobdiff - trusts/trusts.c
CHANNEL/LUA: Add ability to see old modes to HOOK_CHANNEL_MODECHANGE.
[irc/quakenet/newserv.git] / trusts / trusts.c
index 7eb12e0f1c4fe244f06f7bcfd37a6a9ac22ff26e..c15ea114d33140fc5f6679af63c1137142b4e930 100644 (file)
@@ -2,19 +2,19 @@
 #include <string.h>
 #include "../core/hooks.h"
 #include "../core/error.h"
+#include "../core/nsmalloc.h"
+#include "../server/server.h"
 #include "trusts.h"
 
-int trusts_loaddb(void);
-void trusts_closedb(void);
 void trusts_registerevents(void);
 void trusts_deregisterevents(void);
 
 static void statusfn(int, void *);
 
-static int loaded, unloaded;
 static sstring *tgextnames[MAXTGEXTS];
 
 int trusts_thext, trusts_nextuserext;
+int trustsdbloaded;
 
 void _init(void) {
   trusts_thext = registernickext("trustth");
@@ -30,35 +30,20 @@ void _init(void) {
     return;
   }
 
-  if(!trusts_loaddb())
-    return;
-  loaded = 1;
-
   registerhook(HOOK_CORE_STATSREQUEST, statusfn);
   trusts_registerevents();
 }
 
-void trusts_unload(void) {
-  if(unloaded)
-    return;
-
-  unloaded = 1;
-
+void _fini(void) {
   if(trusts_thext != -1) {
     releasenickext(trusts_thext);
     releasenickext(trusts_nextuserext);
   }
 
-  if(loaded) {
-    deregisterhook(HOOK_CORE_STATSREQUEST, statusfn);
-    trusts_deregisterevents();
-  }
-
-  trusts_closedb();
-}
+  deregisterhook(HOOK_CORE_STATSREQUEST, statusfn);
+  trusts_deregisterevents();
 
-void _fini(void) {
-  trusts_unload();
+  nscheckfreeall(POOL_TRUSTS);
 }
 
 static void statusfn(int hooknum, void *arg) {
@@ -118,3 +103,11 @@ void releasetgext(int index) {
   for(tg=tglist;tg;tg=tg->next)
     tg->exts[index] = NULL;
 }
+
+int trusts_fullyonline(void) {
+  if(myhub == -1)
+    return 0;
+
+  return serverlist[myhub].linkstate == LS_LINKED;
+}
+