gtk/plugins/perl/common/Gtk.xs

Sat, 02 Sep 2006 05:31:10 +0000

author
Etan Reisner <deryni@pidgin.im>
date
Sat, 02 Sep 2006 05:31:10 +0000
changeset 14478
a6b831ab1d13
child 14509
e46c4ed7e331
permissions
-rw-r--r--

[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.

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

mercurial