annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14416
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
1 #include "gtkmodule.h"
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
2
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
3 /*
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
4 #define GAIM_PERL_BOOT_PROTO(x) \
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
5 void boot_Gaim__##x(pTHX_ CV *cv);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
6
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
7 #define GAIM_PERL_BOOT(x) \
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
8 gaim_perl_callXS(boot_Gaim__##x, cv, mark)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
9
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
10 static void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
11 gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
12 {
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
13 dSP;
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
14
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
15 PUSHMARK(mark);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
16 (*subaddr)(aTHX_ cv);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
17
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
18 PUTBACK;
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
19 }
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
20 */
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
21
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
22 /* Prototypes for the BOOT section below. */
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
23 GAIM_PERL_BOOT_PROTO(Gtk__Account);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
24 GAIM_PERL_BOOT_PROTO(Gtk__BuddyList);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
25 GAIM_PERL_BOOT_PROTO(Gtk__Connection);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
26 GAIM_PERL_BOOT_PROTO(Gtk__Conversation);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
27 GAIM_PERL_BOOT_PROTO(Gtk__Conversation__Window);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
28 GAIM_PERL_BOOT_PROTO(Gtk__Debug);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
29 GAIM_PERL_BOOT_PROTO(Gtk__Dialogs);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
30 GAIM_PERL_BOOT_PROTO(Gtk__IMHtml);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
31 GAIM_PERL_BOOT_PROTO(Gtk__IMHtmlToolbar);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
32 GAIM_PERL_BOOT_PROTO(Gtk__Log);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
33 GAIM_PERL_BOOT_PROTO(Gtk__MenuTray);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
34 GAIM_PERL_BOOT_PROTO(Gtk__Plugin);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
35 GAIM_PERL_BOOT_PROTO(Gtk__PluginPref);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
36 GAIM_PERL_BOOT_PROTO(Gtk__Pounce);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
37 GAIM_PERL_BOOT_PROTO(Gtk__Prefs);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
38 GAIM_PERL_BOOT_PROTO(Gtk__Privacy);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
39 GAIM_PERL_BOOT_PROTO(Gtk__Roomlist);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
40 GAIM_PERL_BOOT_PROTO(Gtk__Status);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
41 GAIM_PERL_BOOT_PROTO(Gtk__Session);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
42 GAIM_PERL_BOOT_PROTO(Gtk__Sound);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
43 GAIM_PERL_BOOT_PROTO(Gtk__StatusBox);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
44 GAIM_PERL_BOOT_PROTO(Gtk__Themes);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
45 GAIM_PERL_BOOT_PROTO(Gtk__Utils);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
46 GAIM_PERL_BOOT_PROTO(Gtk__Xfer);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
47
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
48 MODULE = Gaim::Gtk PACKAGE = Gaim::Gtk PREFIX = gaim_gtk_
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
49 PROTOTYPES: ENABLE
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
50
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
51 BOOT:
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
52 GAIM_PERL_BOOT(Gtk__Debug);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
53 GAIM_PERL_BOOT(Gtk__Account);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
54 GAIM_PERL_BOOT(Gtk__BuddyList);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
55 GAIM_PERL_BOOT(Gtk__Connection);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
56 GAIM_PERL_BOOT(Gtk__Conversation);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
57 GAIM_PERL_BOOT(Gtk__Conversation__Window);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
58 GAIM_PERL_BOOT(Gtk__Debug);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
59 GAIM_PERL_BOOT(Gtk__Dialogs);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
60 GAIM_PERL_BOOT(Gtk__IMHtml);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
61 GAIM_PERL_BOOT(Gtk__IMHtmlToolbar);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
62 GAIM_PERL_BOOT(Gtk__Log);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
63 GAIM_PERL_BOOT(Gtk__MenuTray);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
64 GAIM_PERL_BOOT(Gtk__Plugin);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
65 GAIM_PERL_BOOT(Gtk__PluginPref);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
66 GAIM_PERL_BOOT(Gtk__Pounce);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
67 GAIM_PERL_BOOT(Gtk__Prefs);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
68 GAIM_PERL_BOOT(Gtk__Privacy);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
69 GAIM_PERL_BOOT(Gtk__Roomlist);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
70 GAIM_PERL_BOOT(Gtk__Status);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
71 GAIM_PERL_BOOT(Gtk__Session);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
72 GAIM_PERL_BOOT(Gtk__Sound);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
73 GAIM_PERL_BOOT(Gtk__StatusBox);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
74 GAIM_PERL_BOOT(Gtk__Themes);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
75 GAIM_PERL_BOOT(Gtk__Utils);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
76 GAIM_PERL_BOOT(Gtk__Xfer);