mirror of
https://github.com/irssi/irssi.git
synced 2025-01-03 14:56:47 -05:00
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:
parent
3fd3a03402
commit
5a94ff859c
@ -360,15 +360,9 @@ Channel::values()
|
||||
"kicked" - You was just kicked out of the channel (for
|
||||
"channel destroyed" event)
|
||||
|
||||
Channel Server::channel_create(channel, type, automatic)
|
||||
Create new channel with name `channel'. `type' is one of:
|
||||
(FIXME: export these to perl somehow)
|
||||
CHANNEL_TYPE_CHANNEL 0
|
||||
CHANNEL_TYPE_QUERY 1
|
||||
CHANNEL_TYPE_DCC_CHAT 2
|
||||
CHANNEL_TYPE_EMPTY 3
|
||||
`automatic' means that channel is created "automatically" and
|
||||
Irssi will NOT change the active window to it.
|
||||
Channel Server::channel_create(type, automatic)
|
||||
Create new channel with name `channel'. `automatic' means that channel is
|
||||
created "automatically", Irssi won't change the active window to it.
|
||||
|
||||
Channel::destroy()
|
||||
Destroy channel.
|
||||
@ -456,21 +450,48 @@ Channel::nicklist_getnicks(channel)
|
||||
|
||||
*** DCC
|
||||
|
||||
Dcc:destroy()
|
||||
Dcc::values()
|
||||
Get some information about nick. This function returns a reference to
|
||||
hash table. Hash table has keys:
|
||||
"type" - Type of the DCC: chat, send, get
|
||||
"created" - Unix time stamp when the DCC record was created
|
||||
|
||||
"server" - Server where the DCC was initiated.
|
||||
"chat" - DCC chat record if the request came through DCC chat
|
||||
"ircnet" - IRC network where the DCC was initiated.
|
||||
"mynick" - Our nick to use in DCC chat.
|
||||
|
||||
"nick" - Other side's nick name.
|
||||
"addr" - Other side's IP address.
|
||||
"port" - Port we're connecting in.
|
||||
|
||||
"arg" - Given argument .. file name usually
|
||||
"file" - The real file name which we use.
|
||||
|
||||
"size" - File size
|
||||
"transfd" - Bytes transferred
|
||||
"skipped" - Bytes skipped from start (resuming file)
|
||||
"starttime" - Unix time stamp when the DCC transfer was started
|
||||
|
||||
Dcc::destroy()
|
||||
Destroy DCC connection. (!!)
|
||||
|
||||
dcc_type2str(type)
|
||||
DCC type number to string
|
||||
|
||||
dcc_str2type(type)
|
||||
DCC type string to number
|
||||
|
||||
Dcc dcc_find_item(type, nick, arg)
|
||||
Find DCC connection.
|
||||
|
||||
Dcc dcc_find_by_port(nick, port)
|
||||
Find DCC connection by port.
|
||||
|
||||
dcc_ctcp_message(target, server, chat, notice, msg)
|
||||
Send a CTCP message/notify to target. Send the CTCP via DCC chat if
|
||||
`chat' is specified.
|
||||
|
||||
Dcc::dcc_chat_send(data)
|
||||
Send `data' to dcc chat.
|
||||
|
||||
Dcc item_get_dcc(item)
|
||||
If window item `item' is a query of a =nick, return DCC chat record
|
||||
of nick.
|
||||
|
||||
*** Reconnects
|
||||
|
||||
|
@ -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. */
|
||||
|
@ -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)));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user