Java: Hopefully working HubListeners.
[doldaconnect.git] / daemon / filenet.h
index 476aadb..d6a73dd 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Dolda Connect - Modular multiuser Direct Connect-style client
- *  Copyright (C) 2004 Fredrik Tolf (fredrik@dolda2000.com)
+ *  Copyright (C) 2004 Fredrik Tolf <fredrik@dolda2000.com>
  *  
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
 #define FNN_EST 2
 #define FNN_DEAD 3
 
+#define FNNS_PUB 0
+#define FNNS_REG 1
+#define FNNS_OP 2
+
 #define FNPD_INT 0
 #define FNPD_LL 1
 #define FNPD_STR 2
@@ -40,8 +44,9 @@ struct fnet
 {
     struct fnet *next;
     wchar_t *name;
-    void (*connect)(struct fnetnode *fn);
+    void (*connect)(struct fnetnode *fn, struct socket *sk);
     void (*destroy)(struct fnetnode *fn);
+    void (*kill)(struct fnetnode *fn);
     int (*setnick)(struct fnetnode *fn, wchar_t *newnick);
     int (*reqconn)(struct fnetpeer *peer);
     int (*sendchat)(struct fnetnode *fn, int public, wchar_t *to, wchar_t *string);
@@ -94,11 +99,13 @@ struct fnetnode
     int id;
     int state;
     int linked;
+    int regstatus;
+    int connected;
     time_t srchwait, lastsrch;
-    wchar_t *name;
+    wchar_t *name, *pubid;
     wchar_t *mynick;
+    wchar_t *owner;
     struct fnet *fnet;
-    struct socket *sk;
     struct fnetpeerdatum *peerdata;
     struct fnetpeer *peers;
     struct wcspair *args;
@@ -118,7 +125,7 @@ void fnetsetname(struct fnetnode *fn, wchar_t *newname);
 void fnetsetstate(struct fnetnode *fn, int newstate);
 int fnetsetnick(struct fnetnode *fn, wchar_t *newnick);
 struct fnet *findfnet(wchar_t *name);
-struct fnetnode *fnetinitconnect(wchar_t *name, char *addr);
+struct fnetnode *fnetinitconnect(wchar_t *name, wchar_t *owner, char *addr, struct wcspair *args);
 void linkfnetnode(struct fnetnode *fn);
 void unlinkfnetnode(struct fnetnode *fn);
 void getfnetnode(struct fnetnode *fn);