diff gtk/plugins/perl/common/Gtk.xs @ 14416:eeca8be382a5

[gaim-migrate @ 17124] This is a Gaim::Gtk perl module for use by gaim plugins to get access to the gtkgaim interface functions. It isn't complete because anything dealing with Gtk widgets themselves doesn't work yet (I need to figure out the best way to do that). To use this a perl plugin just needs to include 'use Gaim::Gtk;' either on top of 'use Gaim;' or instead of it. I'm not done with this yet. At the moment you have to 'use Gaim;' or 'use Gaim::Gtk;' which loads all the parts, I'm planning to let you actually say 'use Gaim::Gtk::Debug;' to just get the gtkdebug.h functions. Though 'use Gaim' would work the same way as always. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Sat, 02 Sep 2006 05:31:10 +0000
parents
children e88aae4f4c40
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gtk/plugins/perl/common/Gtk.xs	Sat Sep 02 05:31:10 2006 +0000
@@ -0,0 +1,76 @@
+#include "gtkmodule.h"
+
+/*
+#define GAIM_PERL_BOOT_PROTO(x) \
+	void boot_Gaim__##x(pTHX_ CV *cv);
+
+#define GAIM_PERL_BOOT(x) \
+	gaim_perl_callXS(boot_Gaim__##x, cv, mark)
+
+static void
+gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark)
+{
+	dSP;
+
+	PUSHMARK(mark);
+	(*subaddr)(aTHX_ cv);
+
+	PUTBACK;
+}
+*/
+
+/* Prototypes for the BOOT section below. */
+GAIM_PERL_BOOT_PROTO(Gtk__Account);
+GAIM_PERL_BOOT_PROTO(Gtk__BuddyList);
+GAIM_PERL_BOOT_PROTO(Gtk__Connection);
+GAIM_PERL_BOOT_PROTO(Gtk__Conversation);
+GAIM_PERL_BOOT_PROTO(Gtk__Conversation__Window);
+GAIM_PERL_BOOT_PROTO(Gtk__Debug);
+GAIM_PERL_BOOT_PROTO(Gtk__Dialogs);
+GAIM_PERL_BOOT_PROTO(Gtk__IMHtml);
+GAIM_PERL_BOOT_PROTO(Gtk__IMHtmlToolbar);
+GAIM_PERL_BOOT_PROTO(Gtk__Log);
+GAIM_PERL_BOOT_PROTO(Gtk__MenuTray);
+GAIM_PERL_BOOT_PROTO(Gtk__Plugin);
+GAIM_PERL_BOOT_PROTO(Gtk__PluginPref);
+GAIM_PERL_BOOT_PROTO(Gtk__Pounce);
+GAIM_PERL_BOOT_PROTO(Gtk__Prefs);
+GAIM_PERL_BOOT_PROTO(Gtk__Privacy);
+GAIM_PERL_BOOT_PROTO(Gtk__Roomlist);
+GAIM_PERL_BOOT_PROTO(Gtk__Status);
+GAIM_PERL_BOOT_PROTO(Gtk__Session);
+GAIM_PERL_BOOT_PROTO(Gtk__Sound);
+GAIM_PERL_BOOT_PROTO(Gtk__StatusBox);
+GAIM_PERL_BOOT_PROTO(Gtk__Themes);
+GAIM_PERL_BOOT_PROTO(Gtk__Utils);
+GAIM_PERL_BOOT_PROTO(Gtk__Xfer);
+
+MODULE = Gaim::Gtk  PACKAGE = Gaim::Gtk PREFIX = gaim_gtk_
+PROTOTYPES: ENABLE
+
+BOOT:
+	GAIM_PERL_BOOT(Gtk__Debug);
+GAIM_PERL_BOOT(Gtk__Account);
+GAIM_PERL_BOOT(Gtk__BuddyList);
+GAIM_PERL_BOOT(Gtk__Connection);
+GAIM_PERL_BOOT(Gtk__Conversation);
+GAIM_PERL_BOOT(Gtk__Conversation__Window);
+GAIM_PERL_BOOT(Gtk__Debug);
+GAIM_PERL_BOOT(Gtk__Dialogs);
+GAIM_PERL_BOOT(Gtk__IMHtml);
+GAIM_PERL_BOOT(Gtk__IMHtmlToolbar);
+GAIM_PERL_BOOT(Gtk__Log);
+GAIM_PERL_BOOT(Gtk__MenuTray);
+GAIM_PERL_BOOT(Gtk__Plugin);
+GAIM_PERL_BOOT(Gtk__PluginPref);
+GAIM_PERL_BOOT(Gtk__Pounce);
+GAIM_PERL_BOOT(Gtk__Prefs);
+GAIM_PERL_BOOT(Gtk__Privacy);
+GAIM_PERL_BOOT(Gtk__Roomlist);
+GAIM_PERL_BOOT(Gtk__Status);
+GAIM_PERL_BOOT(Gtk__Session);
+GAIM_PERL_BOOT(Gtk__Sound);
+GAIM_PERL_BOOT(Gtk__StatusBox);
+GAIM_PERL_BOOT(Gtk__Themes);
+GAIM_PERL_BOOT(Gtk__Utils);
+GAIM_PERL_BOOT(Gtk__Xfer);