view 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 source

#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);