diff options
Diffstat (limited to 'irc.h')
| -rw-r--r-- | irc.h | 25 | 
1 files changed, 22 insertions, 3 deletions
| @@ -106,8 +106,18 @@ typedef struct irc_user  	int sendbuf_flags;  	//struct user *b; +	 +	const struct irc_user_funcs *f;  } irc_user_t; +struct irc_user_funcs +{ +	gboolean (*privmsg)( irc_user_t *iu, const char *msg ); +}; + +extern const struct irc_user_funcs irc_user_root_funcs; +extern const struct irc_user_funcs irc_user_self_funcs; +  typedef enum  {  	IRC_CHANNEL_JOINED = 1, @@ -116,16 +126,25 @@ typedef enum  typedef struct irc_channel  {  	irc_t *irc; -	int flags;  	char *name; +	char mode[8]; +	int flags; +	  	char *topic;  	char *topic_who;  	time_t topic_time; -	char mode[8]; +	  	GSList *users;  	struct set *set; +	 +	const struct irc_channel_funcs *f;  } irc_channel_t; +struct irc_channel_funcs +{ +	gboolean (*privmsg)( irc_channel_t *iu, const char *msg ); +}; +  #include "user.h"  /* irc.c */ @@ -174,7 +193,7 @@ void irc_send_who( irc_t *irc, GSList *l, const char *channel );  /* irc_user.c */  irc_user_t *irc_user_new( irc_t *irc, const char *nick );  int irc_user_free( irc_t *irc, const char *nick ); -irc_user_t *irc_user_find( irc_t *irc, const char *nick ); +irc_user_t *irc_user_by_name( irc_t *irc, const char *nick );  int irc_user_rename( irc_t *irc, const char *old, const char *new );  gint irc_user_cmp( gconstpointer a_, gconstpointer b_ ); | 
