Added Irssi::Dcc::values(), updated a few other DCC things too.

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@306 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-06-09 17:29:12 +00:00 committed by cras
commit 5a94ff859c
3 changed files with 86 additions and 23 deletions

View file

@ -81,6 +81,8 @@ void dcc_make_address(IPADDR *ip, char *host);
DCC_REC *dcc_create(int type, int handle, const char *nick, const char *arg, IRC_SERVER_REC *server, DCC_REC *chat);
void dcc_destroy(DCC_REC *dcc);
/* Send a CTCP message/notify to target. Send the CTCP via DCC chat if
`chat' is specified. */
void dcc_ctcp_message(const char *target, IRC_SERVER_REC *server, DCC_REC *chat, int notice, const char *msg);
/* Send `data' to dcc chat. */

View file

@ -22,15 +22,17 @@ dcc_find_by_port(nick, port)
char *nick
int port
char *
dcc_type2str(type)
int type
CODE:
RETVAL = (char *) dcc_type2str(type);
void
dcc_ctcp_message(target, server, chat, notice, msg)
char *target
Irssi::Server server
Irssi::Dcc chat
int notice
char *msg
int
dcc_str2type(type)
char *type
Irssi::Dcc
item_get_dcc(item)
void *item
#*******************************
MODULE = Irssi PACKAGE = Irssi::Dcc PREFIX = dcc_
@ -39,3 +41,41 @@ MODULE = Irssi PACKAGE = Irssi::Dcc PREFIX = dcc_
void
dcc_destroy(dcc)
Irssi::Dcc dcc
void
dcc_chat_send(dcc, data)
Irssi::Dcc dcc
char *data
void
values(dcc)
Irssi::Dcc dcc
PREINIT:
HV *hv, *stash;
PPCODE:
hv = newHV();
hv_store(hv, "type", 4, new_pv((char *) dcc_type2str(dcc->type)), 0);
hv_store(hv, "created", 7, newSViv(dcc->created), 0);
stash = gv_stashpv("Irssi::Server", 0);
hv_store(hv, "server", 6, sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(dcc->server))), stash), 0);
hv_store(hv, "nick", 4, new_pv(dcc->nick), 0);
stash = gv_stashpv("Irssi::Dcc", 0);
hv_store(hv, "chat", 4, sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(dcc->chat))), stash), 0);
hv_store(hv, "ircnet", 6, new_pv(dcc->ircnet), 0);
hv_store(hv, "mynick", 6, new_pv(dcc->mynick), 0);
hv_store(hv, "arg", 3, new_pv(dcc->arg), 0);
hv_store(hv, "file", 4, new_pv(dcc->file), 0);
hv_store(hv, "addr", 4, new_pv(dcc->addrstr), 0);
hv_store(hv, "port", 4, newSViv(dcc->port), 0);
hv_store(hv, "size", 4, newSViv(dcc->size), 0);
hv_store(hv, "transfd", 7, newSViv(dcc->transfd), 0);
hv_store(hv, "skipped", 7, newSViv(dcc->skipped), 0);
hv_store(hv, "starttime", 9, newSViv(dcc->starttime), 0);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));