X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2FChanNode.h;h=fe3a4de80962a3c09600e284626389a296903021;hp=7847dea7efd64d92080298a8687c906b34aae270;hb=HEAD;hpb=0f1dc61921eef1db8e404a5a82372e2d1cd55daa diff --git a/src/ChanNode.h b/src/ChanNode.h index 7847dea..fe3a4de 100644 --- a/src/ChanNode.h +++ b/src/ChanNode.h @@ -1,3 +1,19 @@ +/* ChanNode.h - NeonServ v5.6 + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #ifndef _ChanNode_h #define _ChanNode_h #include "main.h" @@ -5,38 +21,50 @@ struct ChanUser; struct trigger_cache; struct ModeNode; +struct NeonSpamSettings; +struct timeq_entry; #define CHANFLAG_RECEIVED_USERLIST 0x01 #define CHANFLAG_REQUESTED_CHANINFO 0x02 #define CHANFLAG_CHAN_REGISTERED 0x04 #define CHANFLAG_HAVE_INVISIBLES 0x08 +#define CHANFLAG_REJOINING 0x10 + +#define CHANFLAG_SCRIPTFLAG1 0x80 /* used by neonserv_cmd_search */ struct ChanNode { char name[CHANNELLEN+1]; char topic[TOPICLEN+1]; struct ChanUser *user; unsigned int usercount; + unsigned int botcount; unsigned char flags; struct ModeNode *modes; struct BanNode *bans; - struct UserNode *chanbot; struct trigger_cache *trigger; int channel_id; + + struct NeonSpamSettings *spam_settings; + void *rejoin_bots; + struct timeq_entry *rejoin_timeout; + struct ChanNode *next; }; +#ifndef DND_FUNCTIONS void init_ChanNode(); void free_ChanNode(); -int is_valid_chan(const char *name); -struct ChanNode* getChanByName(const char *name); +/* MODULAR ACCESSIBLE */ int is_valid_chan(const char *name); +/* MODULAR ACCESSIBLE */ struct ChanNode* getAllChans(struct ChanNode *last); +/* MODULAR ACCESSIBLE */ struct ChanNode* getChanByName(const char *name); struct ChanNode* addChannel(const char *chan); -int getChannelCount(); -int getChanUserCount(); -int getChanBanCount(); +/* MODULAR ACCESSIBLE */ int getChannelCount(); +/* MODULAR ACCESSIBLE */ int getChanUserCount(); +/* MODULAR ACCESSIBLE */ int getChanBanCount(); void delChannel(struct ChanNode* chan, int freeChan); void freeChanNode(struct ChanNode* chan); -void checkChannelVisibility(struct ChanNode* chan); - +int checkChannelVisibility(struct ChanNode* chan); +#endif #endif \ No newline at end of file