Added SILC Thread Queue API
[crypto.git] / apps / irssi / src / core / nickmatch-cache.h
1 #ifndef __NICKMATCH_CACHE_H
2 #define __NICKMATCH_CACHE_H
3
4 typedef void (*NICKMATCH_REBUILD_FUNC) (GHashTable *list,
5                                         CHANNEL_REC *channel, NICK_REC *nick);
6
7 typedef struct {
8         GHashTable *nicks;
9         NICKMATCH_REBUILD_FUNC func;
10 } NICKMATCH_REC;
11
12 NICKMATCH_REC *nickmatch_init(NICKMATCH_REBUILD_FUNC func);
13 void nickmatch_deinit(NICKMATCH_REC *rec);
14
15 /* Calls rebuild function for all nicks in all channels.
16    This must be called soon after nickmatch_init(), before any nicklist
17    signals get sent. */
18 void nickmatch_rebuild(NICKMATCH_REC *rec);
19
20 #define nickmatch_find(rec, nick) \
21         g_hash_table_lookup((rec)->nicks, nick)
22
23 void nickmatch_cache_init(void);
24 void nickmatch_cache_deinit(void);
25
26 #endif