X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2FChanUser.h;h=43a6b7d7a7a514e448f1f43e73255947cf92e5fc;hp=65ef133c3ff298515cd8a7fa34b6cc99cfc19982;hb=c8e7ce1c57afaebf3996a6712c45f4c89c34ba44;hpb=30b61f872c5258918ebc71b9677623de40b630a2 diff --git a/src/ChanUser.h b/src/ChanUser.h index 65ef133..43a6b7d 100644 --- a/src/ChanUser.h +++ b/src/ChanUser.h @@ -1,5 +1,5 @@ -/* ChanUser.h - NeonServ v5.1 - * 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 @@ -21,8 +21,9 @@ #define CHANUSERFLAG_OPPED 0x01 #define CHANUSERFLAG_VOICED 0x02 #define CHANUSERFLAG_INVISIBLE 0x04 +#define CHANUSERFLAG_HALFOPPED 0x08 -#define CHANUSERFLAG_OPPED_OR_VOICED (CHANUSERFLAG_OPPED | CHANUSERFLAG_VOICED) +#define CHANUSERFLAG_OPPED_OR_VOICED (CHANUSERFLAG_OPPED | CHANUSERFLAG_HALFOPPED | CHANUSERFLAG_VOICED) struct ChanNode; struct UserNode; @@ -33,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; @@ -42,13 +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); - -#endif \ No newline at end of file +void freeChanUser(struct ChanUser *chanuser); +#endif +#endif