Merged with Irssi 0.8.6.
[silc.git] / apps / irssi / src / perl / common / Core.xs
index 0fb93efb58662dbd86713ba21b11463297e15707..d5b9d6e80789d6b7f198f6804a42554833b57959 100644 (file)
@@ -1,5 +1,8 @@
 #include "module.h"
 #include "irssi-version.h"
+#include "core.h"
+
+#include "pidwait.h"
 
 #define DEFAULT_COMMAND_CATEGORY "Perl scripts' commands"
 
@@ -193,7 +196,22 @@ CODE:
                croak("Irssi::timeout() : msecs must be >= 10");
                RETVAL = -1;
        } else {
-               RETVAL = perl_timeout_add(msecs, func, data);
+               RETVAL = perl_timeout_add(msecs, func, data, FALSE);
+       }
+OUTPUT:
+       RETVAL
+
+int
+timeout_add_once(msecs, func, data)
+       int msecs
+       SV *func
+       SV *data
+CODE:
+       if (msecs < 10) {
+               croak("Irssi::timeout_once() : msecs must be >= 10");
+               RETVAL = -1;
+       } else {
+               RETVAL = perl_timeout_add(msecs, func, data, TRUE);
        }
 OUTPUT:
        RETVAL
@@ -226,7 +244,7 @@ input_add(source, condition, func, data)
        SV *func
        SV *data
 CODE:
-       RETVAL = perl_input_add(source, condition, func, data);
+       RETVAL = perl_input_add(source, condition, func, data, FALSE);
 OUTPUT:
        RETVAL
 
@@ -430,9 +448,15 @@ int
 level2bits(str)
        char *str
 
-char *
+void
 bits2level(bits)
        int bits
+PREINIT:
+       char *ret;
+PPCODE:
+       ret = bits2level(bits);
+       XPUSHs(sv_2mortal(new_pv(ret)));
+       g_free(ret);
 
 int
 combine_level(level, str)
@@ -498,7 +522,7 @@ void
 pidwait_remove(pid)
        int pid
 
-char *
+void
 parse_special(cmd, data="", flags=0)
        char *cmd
        char *data
@@ -535,6 +559,55 @@ CODE:
 OUTPUT:
         RETVAL
 
+int
+get_gui()
+CODE:
+       RETVAL = irssi_gui;
+OUTPUT:
+       RETVAL
+
+int
+IRSSI_GUI_NONE()
+CODE:
+       RETVAL = IRSSI_GUI_NONE;
+OUTPUT:
+       RETVAL
+
+int
+IRSSI_GUI_TEXT()
+CODE:
+       RETVAL = IRSSI_GUI_TEXT;
+OUTPUT:
+       RETVAL
+
+int
+IRSSI_GUI_GTK()
+CODE:
+       RETVAL = IRSSI_GUI_GTK;
+OUTPUT:
+       RETVAL
+
+int
+IRSSI_GUI_GNOME()
+CODE:
+       RETVAL = IRSSI_GUI_GNOME;
+OUTPUT:
+       RETVAL
+
+int
+IRSSI_GUI_QT()
+CODE:
+       RETVAL = IRSSI_GUI_QT;
+OUTPUT:
+       RETVAL
+
+int
+IRSSI_GUI_KDE()
+CODE:
+       RETVAL = IRSSI_GUI_KDE;
+OUTPUT:
+       RETVAL
+
 #*******************************
 MODULE = Irssi::Core   PACKAGE = Irssi::Server
 #*******************************