summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2001-01-07 09:54:21 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2001-01-07 09:54:21 +0000
commitabcb44f835c5c5523709cc1ee76809bb6c749ffc (patch)
treef17944033351213d1fbff702607e02e761dde7c2 /src
parent3f1b28ead9a703d09d651e776fdb13e9c5d1ae57 (diff)
downloadirssi-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.am1
-rw-r--r--src/perl/irc/Bans.xs24
-rw-r--r--src/perl/irc/Dcc.xs30
-rw-r--r--src/perl/irc/Irc.xs18
-rw-r--r--src/perl/irc/IrcServer.xs4
-rw-r--r--src/perl/irc/Modes.xs24
-rw-r--r--src/perl/irc/typemap1
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