diff options
author | Timo Sirainen <cras@irssi.org> | 2001-01-07 09:54:21 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2001-01-07 09:54:21 +0000 |
commit | abcb44f835c5c5523709cc1ee76809bb6c749ffc (patch) | |
tree | f17944033351213d1fbff702607e02e761dde7c2 /src | |
parent | 3f1b28ead9a703d09d651e776fdb13e9c5d1ae57 (diff) | |
download | irssi-abcb44f835c5c5523709cc1ee76809bb6c749ffc.zip |
perl updates
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1089 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src')
-rw-r--r-- | src/perl/Makefile.am | 1 | ||||
-rw-r--r-- | src/perl/irc/Bans.xs | 24 | ||||
-rw-r--r-- | src/perl/irc/Dcc.xs | 30 | ||||
-rw-r--r-- | src/perl/irc/Irc.xs | 18 | ||||
-rw-r--r-- | src/perl/irc/IrcServer.xs | 4 | ||||
-rw-r--r-- | src/perl/irc/Modes.xs | 24 | ||||
-rw-r--r-- | src/perl/irc/typemap | 1 |
7 files changed, 48 insertions, 54 deletions
diff --git a/src/perl/Makefile.am b/src/perl/Makefile.am index c97a4cc9..5879386c 100644 --- a/src/perl/Makefile.am +++ b/src/perl/Makefile.am @@ -61,7 +61,6 @@ CORE_SOURCES = \ common/module.h IRC_SOURCES = \ - irc/Bans.xs \ irc/Dcc.xs \ irc/Flood.xs \ irc/IrcChannel.xs \ diff --git a/src/perl/irc/Bans.xs b/src/perl/irc/Bans.xs deleted file mode 100644 index 5412018d..00000000 --- a/src/perl/irc/Bans.xs +++ /dev/null @@ -1,24 +0,0 @@ -MODULE = Irssi::Irc PACKAGE = Irssi::Irc - -void -ban_set_type(type) - char *type - -#******************************* -MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Channel -#******************************* - -char * -ban_get_mask(channel, nick) - Irssi::Irc::Channel channel - char *nick - -void -ban_set(channel, bans) - Irssi::Irc::Channel channel - char *bans - -void -ban_remove(channel, ban) - Irssi::Irc::Channel channel - char *ban diff --git a/src/perl/irc/Dcc.xs b/src/perl/irc/Dcc.xs index 4a68f4e1..222c80e4 100644 --- a/src/perl/irc/Dcc.xs +++ b/src/perl/irc/Dcc.xs @@ -22,23 +22,41 @@ dcc_find_by_port(nick, port) char *nick int port +#******************************* +MODULE = Irssi::Irc PACKAGE = Irssi::Windowitem PREFIX = item_ +#******************************* + +Irssi::Irc::Dcc +item_get_dcc(item) + Irssi::Windowitem item + +#******************************* +MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Server +#******************************* + void -dcc_ctcp_message(server, target, chat, notice, msg) +dcc_ctcp_message(server, target, notice, msg) Irssi::Irc::Server server char *target - Irssi::Irc::Dcc chat int notice char *msg - -Irssi::Irc::Dcc -item_get_dcc(item) - void *item +CODE: + dcc_ctcp_message(server, target, NULL, notice, msg); #******************************* MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Dcc PREFIX = dcc_ #******************************* void +dcc_ctcp_message(chat, target, notice, msg) + Irssi::Irc::Dcc chat + char *target + int notice + char *msg +CODE: + dcc_ctcp_message(chat->server, target, chat, notice, msg); + +void dcc_destroy(dcc) Irssi::Irc::Dcc dcc diff --git a/src/perl/irc/Irc.xs b/src/perl/irc/Irc.xs index 58c417aa..d8122a90 100644 --- a/src/perl/irc/Irc.xs +++ b/src/perl/irc/Irc.xs @@ -52,7 +52,9 @@ static void perl_dcc_fill_hash(HV *hv, DCC_REC *dcc) static void perl_netsplit_fill_hash(HV *hv, NETSPLIT_REC *netsplit) { + AV *av; HV *stash; + GSList *tmp; hv_store(hv, "nick", 4, new_pv(netsplit->nick), 0); hv_store(hv, "address", 7, new_pv(netsplit->address), 0); @@ -60,7 +62,13 @@ static void perl_netsplit_fill_hash(HV *hv, NETSPLIT_REC *netsplit) stash = gv_stashpv("Irssi::Irc::Netsplitserver", 0); hv_store(hv, "server", 6, new_bless(netsplit->server, stash), 0); - /*FIXME: add GSList *channels;*/ + + stash = gv_stashpv("Irssi::Irc::Netsplitchannel", 0); + av = newAV(); + for (tmp = netsplit->channels; tmp != NULL; tmp = tmp->next) { + av_push(av, sv_2mortal(new_bless(tmp->data, stash))); + } + hv_store(hv, "channels", 7, newRV_noinc((SV*)av), 0); } static void perl_netsplit_server_fill_hash(HV *hv, NETSPLIT_SERVER_REC *rec) @@ -70,6 +78,12 @@ static void perl_netsplit_server_fill_hash(HV *hv, NETSPLIT_SERVER_REC *rec) hv_store(hv, "count", 5, newSViv(rec->count), 0); } +static void perl_netsplit_channel_fill_hash(HV *hv, NETSPLIT_CHANNEL_REC *rec) +{ + hv_store(hv, "name", 4, new_pv(rec->name), 0); + hv_store(hv, "nick", 4, irssi_bless(rec->nick), 0); +} + static void perl_autoignore_fill_hash(HV *hv, AUTOIGNORE_REC *ai) { hv_store(hv, "nick", 4, new_pv(ai->nick), 0); @@ -98,6 +112,7 @@ static PLAIN_OBJECT_INIT_REC irc_plains[] = { { "Irssi::Irc::Dcc", (PERL_OBJECT_FUNC) perl_dcc_fill_hash }, { "Irssi::Irc::Netsplit", (PERL_OBJECT_FUNC) perl_netsplit_fill_hash }, { "Irssi::Irc::Netsplitserver", (PERL_OBJECT_FUNC) perl_netsplit_server_fill_hash }, + { "Irssi::Irc::Netsplitchannel", (PERL_OBJECT_FUNC) perl_netsplit_channel_fill_hash }, { "Irssi::Irc::Autoignore", (PERL_OBJECT_FUNC) perl_autoignore_fill_hash }, { "Irssi::Irc::Notifylist", (PERL_OBJECT_FUNC) perl_notifylist_fill_hash }, @@ -127,7 +142,6 @@ CODE: (PERL_OBJECT_FUNC) perl_irc_server_fill_hash); irssi_add_plains(irc_plains); -INCLUDE: Bans.xs INCLUDE: IrcServer.xs INCLUDE: IrcChannel.xs INCLUDE: IrcQuery.xs diff --git a/src/perl/irc/IrcServer.xs b/src/perl/irc/IrcServer.xs index 9ee76c2f..1ceff0c2 100644 --- a/src/perl/irc/IrcServer.xs +++ b/src/perl/irc/IrcServer.xs @@ -27,6 +27,10 @@ send_raw_split(server, cmd, nickarg, max_nicks) CODE: irc_send_cmd_split(server, cmd, nickarg, max_nicks); +void +ctcp_send_reply(server, data) + Irssi::Irc::Server server + char *data MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Connect PREFIX = irc_server_ diff --git a/src/perl/irc/Modes.xs b/src/perl/irc/Modes.xs index 86cb0144..671d6f09 100644 --- a/src/perl/irc/Modes.xs +++ b/src/perl/irc/Modes.xs @@ -7,31 +7,13 @@ modes_join(old, mode, channel) int channel #******************************* -MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Server -#******************************* - -void -channel_set_singlemode(server, channel, nicks, mode) - Irssi::Irc::Server server - char *channel - char *nicks - char *mode - -void -channel_set_mode(server, channel, mode) - Irssi::Irc::Server server - char *channel - char *mode - -#******************************* MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Channel PREFIX = channel_ #******************************* -void -parse_channel_modes(channel, setby, modestr) +char * +ban_get_mask(channel, nick) Irssi::Irc::Channel channel - char *setby - char *modestr + char *nick Irssi::Irc::Ban banlist_add(channel, ban, nick, time) diff --git a/src/perl/irc/typemap b/src/perl/irc/typemap index 928eceb6..ec670a57 100644 --- a/src/perl/irc/typemap +++ b/src/perl/irc/typemap @@ -9,6 +9,7 @@ Irssi::Irc::Ban T_PlainObj Irssi::Irc::Dcc T_PlainObj Irssi::Irc::Netsplit T_PlainObj Irssi::Irc::Netsplitserver T_PlainObj +Irssi::Irc::Netsplitchannel T_PlainObj Irssi::Irc::Autoignore T_PlainObj Irssi::Irc::Notifylist T_PlainObj |