1
0
mirror of https://github.com/irssi/irssi.git synced 2025-01-03 14:56:47 -05:00

NICK_REC can be now inherited

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@971 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-12-06 01:07:21 +00:00 committed by cras
parent 809fa17d82
commit a99e93ef5d
4 changed files with 38 additions and 16 deletions

View File

@ -79,6 +79,7 @@ noinst_HEADERS = \
net-nonblock.h \
net-sendbuffer.h \
network.h \
nick-rec.h \
nicklist.h \
pidwait.h \
queries.h \

23
src/core/nick-rec.h Normal file
View File

@ -0,0 +1,23 @@
/* NICK_REC definition, used for inheritance */
int type; /* module_get_uniq_id("NICK", 0) */
int chat_type; /* chat_protocol_lookup(xx) */
time_t last_check; /* last time gone was checked */
char *nick;
char *host;
char *realname;
int hops;
/* status in server */
unsigned int gone:1;
unsigned int serverop:1;
/* status in channel */
unsigned int send_massjoin:1; /* Waiting to be sent in massjoin signal */
unsigned int op:1;
unsigned int halfop:1;
unsigned int voice:1;
GHashTable *module_data;

View File

@ -39,6 +39,10 @@ NICK_REC *nicklist_insert(CHANNEL_REC *channel, const char *nick,
rec = g_new0(NICK_REC, 1);
MODULE_DATA_INIT(rec);
rec->type = module_get_uniq_id("NICK", 0);
rec->chat_type = channel->chat_type;
if (op) rec->op = TRUE;
if (voice) rec->voice = TRUE;
@ -310,4 +314,6 @@ void nicklist_deinit(void)
{
signal_remove("channel created", (SIGNAL_FUNC) sig_channel_created);
signal_remove("channel destroyed", (SIGNAL_FUNC) sig_channel_destroyed);
module_uniq_destroy("NICK");
}

View File

@ -4,23 +4,15 @@
#include "servers.h"
#include "channels.h"
/* Returns NICK_REC if it's nick, NULL if it isn't. */
#define NICK(server) \
MODULE_CHECK_CAST(server, NICK_REC, type, "NICK")
#define IS_NICK(server) \
(NICK(server) ? TRUE : FALSE)
typedef struct {
time_t last_check; /* last time gone was checked */
char *nick;
char *host;
char *realname;
int hops;
/* status in server */
unsigned int gone:1;
unsigned int serverop:1;
/* status in channel */
unsigned int send_massjoin:1; /* Waiting to be sent in massjoin signal */
unsigned int op:1;
unsigned int halfop:1;
unsigned int voice:1;
#include "nick-rec.h"
} NICK_REC;
/* Add new nick to list */