summaryrefslogtreecommitdiff
path: root/src/plugins/irc/irc-channel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/irc/irc-channel.h')
-rw-r--r--src/plugins/irc/irc-channel.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/plugins/irc/irc-channel.h b/src/plugins/irc/irc-channel.h
index 673a60379..eecce10c6 100644
--- a/src/plugins/irc/irc-channel.h
+++ b/src/plugins/irc/irc-channel.h
@@ -20,6 +20,8 @@
#ifndef __WEECHAT_IRC_CHANNEL_H
#define __WEECHAT_IRC_CHANNEL_H 1
+#include "irc-server.h"
+
#define IRC_CHANNEL_PREFIX "#&+!"
/* channel types */
@@ -33,7 +35,7 @@
struct t_irc_channel
{
int type; /* channel type */
- void *dcc_chat; /* DCC CHAT pointer (NULL if not DCC) */
+ struct t_irc_dcc *dcc_chat; /* DCC CHAT pointer (NULL if not DCC) */
char *name; /* name of channel (exemple: "#abc") */
char *topic; /* topic of channel (host for private) */
char *modes; /* channel modes */
@@ -50,10 +52,26 @@ struct t_irc_channel
struct t_irc_nick *nicks; /* nicks on the channel */
struct t_irc_nick *last_nick; /* last nick on the channel */
struct t_weelist *nicks_speaking; /* for smart completion */
- struct t_weelist *last_nick_speaking; /* last nick speaking */
struct t_gui_buffer *buffer; /* buffer allocated for channel */
struct t_irc_channel *prev_channel; /* link to previous channel */
struct t_irc_channel *next_channel; /* link to next channel */
};
+extern struct t_irc_channel *irc_channel_new (struct t_irc_server *, int, char *, int);
+extern void irc_channel_free (struct t_irc_server *, struct t_irc_channel *);
+extern void irc_channel_free_all (struct t_irc_server *);
+extern struct t_irc_channel *irc_channel_search (struct t_irc_server *, char *);
+extern struct t_irc_channel *irc_channel_search_any (struct t_irc_server *, char *);
+extern struct t_irc_channel *irc_channel_search_any_without_buffer (struct t_irc_server *, char *);
+extern struct t_irc_channel *irc_channel_search_dcc (struct t_irc_server *, char *);
+extern int irc_channel_is_channel (char *);
+extern void irc_channel_remove_away (struct t_irc_channel *);
+extern void irc_channel_check_away (struct t_irc_server *, struct t_irc_channel *, int);
+extern void irc_channel_set_away (struct t_irc_channel *, char *, int);
+extern int irc_channel_create_dcc (void *);
+extern int irc_channel_get_notify_level (struct t_irc_server *, struct t_irc_channel *);
+extern void irc_channel_set_notify_level (struct t_irc_server *, struct t_irc_channel *, int);
+extern void irc_channel_add_nick_speaking (struct t_irc_channel *, char *);
+extern void irc_channel_print_log (struct t_irc_channel *);
+
#endif /* irc-channel.h */