diff options
Diffstat (limited to 'src/plugins/irc/irc-channel.h')
-rw-r--r-- | src/plugins/irc/irc-channel.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/plugins/irc/irc-channel.h b/src/plugins/irc/irc-channel.h index 4d40ec72c..7a54244f7 100644 --- a/src/plugins/irc/irc-channel.h +++ b/src/plugins/irc/irc-channel.h @@ -31,6 +31,14 @@ struct t_irc_server; +struct t_irc_channel_speaking +{ + char *nick; /* nick speaking */ + time_t time_last_message; /* time */ + struct t_irc_channel_speaking *prev_nick; /* pointer to previous nick */ + struct t_irc_channel_speaking *next_nick; /* pointer to next nick */ +}; + struct t_irc_channel { int type; /* channel type */ @@ -49,6 +57,9 @@ 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_irc_channel_speaking *nicks_speaking_time; /* for smart filter */ + /* of join/part/quit messages */ + struct t_irc_channel_speaking *last_nick_speaking_time; struct t_gui_buffer *buffer; /* buffer allocated for channel */ char *buffer_as_string; /* used to return buffer info */ struct t_irc_channel *prev_channel; /* link to previous channel */ @@ -77,8 +88,21 @@ extern void irc_channel_check_away (struct t_irc_server *server, struct t_irc_channel *channel, int force); extern void irc_channel_set_away (struct t_irc_channel *channel, const char *nick, int is_away); -extern void irc_channel_add_nick_speaking (struct t_irc_channel *channel, +extern void irc_channel_nick_speaking_add (struct t_irc_channel *channel, const char *nick); +extern void irc_channel_nick_speaking_rename (struct t_irc_channel *channel, + const char *old_nick, + const char *new_nick); +extern struct t_irc_channel_speaking *irc_channel_nick_speaking_time_search (struct t_irc_channel *channel, + const char *nick, + int check_time); +extern void irc_channel_nick_speaking_time_remove_old (struct t_irc_channel *channel); +extern void irc_channel_nick_speaking_time_add (struct t_irc_channel *channel, + const char *nick, + time_t time_last_message); +extern void irc_channel_nick_speaking_time_rename (struct t_irc_channel *channel, + const char *old_nick, + const char *new_nick); extern int irc_channel_add_to_infolist (struct t_infolist *infolist, struct t_irc_channel *channel); extern void irc_channel_print_log (struct t_irc_channel *channel); |