Mercurial > pidgin
comparison libpurple/plugins/perl/perl-common.h @ 15373:5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 20 Jan 2007 02:32:10 +0000 |
parents | |
children | 32c366eeeb99 |
comparison
equal
deleted
inserted
replaced
15372:f79e0f4df793 | 15373:5fe8042783c1 |
---|---|
1 #ifndef _GAIM_PERL_COMMON_H_ | |
2 #define _GAIM_PERL_COMMON_H_ | |
3 | |
4 #include <glib.h> | |
5 #ifdef _WIN32 | |
6 #undef pipe | |
7 #endif | |
8 #include <XSUB.h> | |
9 #include <EXTERN.h> | |
10 #include <perl.h> | |
11 | |
12 #include "plugin.h" | |
13 #include "value.h" | |
14 | |
15 #define is_hvref(o) \ | |
16 ((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV)) | |
17 | |
18 #define hvref(o) \ | |
19 (is_hvref(o) ? (HV *)SvRV(o) : NULL); | |
20 | |
21 #define GAIM_PERL_BOOT_PROTO(x) \ | |
22 void boot_Gaim__##x(pTHX_ CV *cv); | |
23 | |
24 #define GAIM_PERL_BOOT(x) \ | |
25 gaim_perl_callXS(boot_Gaim__##x, cv, mark) | |
26 | |
27 typedef struct | |
28 { | |
29 GaimPlugin *plugin; | |
30 char *package; | |
31 char *load_sub; | |
32 char *unload_sub; | |
33 char *prefs_sub; | |
34 #ifdef GAIM_GTKPERL | |
35 char *gtk_prefs_sub; | |
36 #endif | |
37 char *plugin_action_sub; | |
38 } GaimPerlScript; | |
39 | |
40 void gaim_perl_normalize_script_name(char *name); | |
41 | |
42 SV *newSVGChar(const char *str); | |
43 | |
44 void gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark); | |
45 void gaim_perl_bless_plain(const char *stash, void *object); | |
46 SV *gaim_perl_bless_object(void *object, const char *stash); | |
47 gboolean gaim_perl_is_ref_object(SV *o); | |
48 void *gaim_perl_ref_object(SV *o); | |
49 | |
50 int execute_perl(const char *function, int argc, char **args); | |
51 | |
52 #if 0 | |
53 gboolean gaim_perl_value_from_sv(GaimValue *value, SV *sv); | |
54 SV *gaim_perl_sv_from_value(const GaimValue *value); | |
55 #endif | |
56 | |
57 void *gaim_perl_data_from_sv(GaimValue *value, SV *sv); | |
58 SV *gaim_perl_sv_from_vargs(const GaimValue *value, va_list *args, | |
59 void ***copy_arg); | |
60 | |
61 #endif /* _GAIM_PERL_COMMON_H_ */ |