6508
|
1 #ifndef _GAIM_PERL_COMMON_H_
|
|
2 #define _GAIM_PERL_COMMON_H_
|
|
3
|
|
4 //#define plain_bless(object, stash) \
|
|
5 // sv_bless(sv_setref_pv(newRV((object))))
|
|
6
|
|
7 //#define plain_bless(object, stash) \
|
|
8 // ((object) == NULL ? &PL_sv_undef : \
|
|
9 // gaim_perl_bless_plain((stash), (object)))
|
|
10
|
|
11 #define is_hvref(o) \
|
|
12 ((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV))
|
|
13
|
|
14 #define hvref(o) \
|
|
15 (is_hvref(o) ? (HV *)SvRV(o) : NULL);
|
|
16
|
|
17 #define GAIM_PERL_BOOT(x) \
|
|
18 { \
|
|
19 extern void boot_Gaim__##x(pTHX_ CV *cv); \
|
|
20 gaim_perl_callXS(boot_Gaim__##x, cv, mark); \
|
|
21 }
|
|
22
|
|
23 void gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark);
|
|
24 void gaim_perl_bless_plain(const char *stash, void *object);
|
|
25 SV *gaim_perl_bless_object(void *object, const char *stash);
|
|
26 gboolean gaim_perl_is_ref_object(SV *o);
|
|
27 void *gaim_perl_ref_object(SV *o);
|
|
28
|
|
29 #endif /* _GAIM_PERL_COMMON_H_ */
|