rewrote IRC cache parser to be (hopefully) more stable
[NeonServV5.git] / src / ChanUser.h
index 64516c0b1c83247064d25a066739efdaaef08e54..43a6b7d7a7a514e448f1f43e73255947cf92e5fc 100644 (file)
@@ -1,5 +1,5 @@
-/* ChanUser.h - NeonServ v5.3
- * Copyright (C) 2011  Philipp Kreil (pk910)
+/* ChanUser.h - NeonServ v5.4
+ * Copyright (C) 2011-2012  Philipp Kreil (pk910)
  * 
  * 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
@@ -34,6 +34,8 @@ struct ChanUser {
     struct ChanNode *chan;
     struct UserNode *user;
     
+    int visCount; //visible counter - if this is 0, the ChanUser gets removed
+    
     int chageEvents;
     time_t changeTime;
     
@@ -43,14 +45,15 @@ struct ChanUser {
     struct ChanUser *next_chan;
 };
 
+#ifndef DND_FUNCTIONS
 struct ChanUser* addChanUser(struct ChanNode *chan, struct UserNode *user);
 struct ChanUser* addInvisibleChanUser(struct ChanNode *chan, struct UserNode *user);
-int isUserOnChan(struct UserNode *user, struct ChanNode *chan);
-struct ChanUser* getChanUser(struct UserNode *user, struct ChanNode *chan);
-struct ChanUser* getChannelUsers(struct ChanNode *chan, struct ChanUser *last);
-struct ChanUser* getUserChannels(struct UserNode *user, struct ChanUser *last);
+/* MODULAR ACCESSIBLE */ int isUserOnChan(struct UserNode *user, struct ChanNode *chan);
+/* MODULAR ACCESSIBLE */ struct ChanUser* getChanUser(struct UserNode *user, struct ChanNode *chan);
+/* MODULAR ACCESSIBLE */ struct ChanUser* getChannelUsers(struct ChanNode *chan, struct ChanUser *last);
+/* MODULAR ACCESSIBLE */ struct ChanUser* getUserChannels(struct UserNode *user, struct ChanUser *last);
 void delChanUser(struct ChanUser *chanuser, int freeChanUser);
 void removeChanUserFromLists(struct ChanUser *chanuser, int remove_from_userlist, int remove_from_channellist, int freeChanUser);
 void freeChanUser(struct ChanUser *chanuser);
-
-#endif
\ No newline at end of file
+#endif
+#endif