| 16 ((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV)) |
16 ((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV)) |
| 17 |
17 |
| 18 #define hvref(o) \ |
18 #define hvref(o) \ |
| 19 (is_hvref(o) ? (HV *)SvRV(o) : NULL); |
19 (is_hvref(o) ? (HV *)SvRV(o) : NULL); |
| 20 |
20 |
| 21 #define GAIM_PERL_BOOT_PROTO(x) \ |
21 #define PURPLE_PERL_BOOT_PROTO(x) \ |
| 22 void boot_Gaim__##x(pTHX_ CV *cv); |
22 void boot_Purple__##x(pTHX_ CV *cv); |
| 23 |
23 |
| 24 #define GAIM_PERL_BOOT(x) \ |
24 #define PURPLE_PERL_BOOT(x) \ |
| 25 gaim_perl_callXS(boot_Gaim__##x, cv, mark) |
25 purple_perl_callXS(boot_Purple__##x, cv, mark) |
| 26 |
26 |
| 27 typedef struct |
27 typedef struct |
| 28 { |
28 { |
| 29 GaimPlugin *plugin; |
29 PurplePlugin *plugin; |
| 30 char *package; |
30 char *package; |
| 31 char *load_sub; |
31 char *load_sub; |
| 32 char *unload_sub; |
32 char *unload_sub; |
| 33 char *prefs_sub; |
33 char *prefs_sub; |
| 34 #ifdef GAIM_GTKPERL |
34 #ifdef PURPLE_GTKPERL |
| 35 char *gtk_prefs_sub; |
35 char *gtk_prefs_sub; |
| 36 #endif |
36 #endif |
| 37 char *plugin_action_sub; |
37 char *plugin_action_sub; |
| 38 } GaimPerlScript; |
38 } PurplePerlScript; |
| 39 |
39 |
| 40 void gaim_perl_normalize_script_name(char *name); |
40 void purple_perl_normalize_script_name(char *name); |
| 41 |
41 |
| 42 SV *newSVGChar(const char *str); |
42 SV *newSVGChar(const char *str); |
| 43 |
43 |
| 44 void gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark); |
44 void purple_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark); |
| 45 void gaim_perl_bless_plain(const char *stash, void *object); |
45 void purple_perl_bless_plain(const char *stash, void *object); |
| 46 SV *gaim_perl_bless_object(void *object, const char *stash); |
46 SV *purple_perl_bless_object(void *object, const char *stash); |
| 47 gboolean gaim_perl_is_ref_object(SV *o); |
47 gboolean purple_perl_is_ref_object(SV *o); |
| 48 void *gaim_perl_ref_object(SV *o); |
48 void *purple_perl_ref_object(SV *o); |
| 49 |
49 |
| 50 int execute_perl(const char *function, int argc, char **args); |
50 int execute_perl(const char *function, int argc, char **args); |
| 51 |
51 |
| 52 #if 0 |
52 #if 0 |
| 53 gboolean gaim_perl_value_from_sv(GaimValue *value, SV *sv); |
53 gboolean purple_perl_value_from_sv(PurpleValue *value, SV *sv); |
| 54 SV *gaim_perl_sv_from_value(const GaimValue *value); |
54 SV *purple_perl_sv_from_value(const PurpleValue *value); |
| 55 #endif |
55 #endif |
| 56 |
56 |
| 57 void *gaim_perl_data_from_sv(GaimValue *value, SV *sv); |
57 void *purple_perl_data_from_sv(PurpleValue *value, SV *sv); |
| 58 SV *gaim_perl_sv_from_vargs(const GaimValue *value, va_list *args, |
58 SV *purple_perl_sv_from_vargs(const PurpleValue *value, va_list *args, |
| 59 void ***copy_arg); |
59 void ***copy_arg); |
| 60 |
60 |
| 61 #endif /* _GAIM_PERL_COMMON_H_ */ |
61 #endif /* _PURPLE_PERL_COMMON_H_ */ |