Mercurial > pidgin
view plugins/perl/perl-common.h @ 10443:b6ca0e1b19d0
[gaim-migrate @ 11703]
Shuffle some things around in prefs.c and use xmlnode/the util function
for saving prefs. Now all our xml files are written to disk at once,
with gobs of error detection. If anyone complains about losing their
config file with 2.x, send them to me. Muwha ha ha ha ha. Ha. Heh. Sigh.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 28 Dec 2004 19:11:15 +0000 |
parents | 11d05ddf30a3 |
children | 0e9e2b923d09 |
line wrap: on
line source
#ifndef _GAIM_PERL_COMMON_H_ #define _GAIM_PERL_COMMON_H_ #include <glib.h> #ifdef _WIN32 #undef pipe #endif #include <XSUB.h> #include <EXTERN.h> #include <perl.h> #include "value.h" #define is_hvref(o) \ ((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV)) #define hvref(o) \ (is_hvref(o) ? (HV *)SvRV(o) : NULL); #define GAIM_PERL_BOOT(x) \ { \ extern void boot_Gaim__##x(pTHX_ CV *cv); \ gaim_perl_callXS(boot_Gaim__##x, cv, mark); \ } SV *newSVGChar(const char *str); void gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark); void gaim_perl_bless_plain(const char *stash, void *object); SV *gaim_perl_bless_object(void *object, const char *stash); gboolean gaim_perl_is_ref_object(SV *o); void *gaim_perl_ref_object(SV *o); int execute_perl(const char *function, int argc, char **args); #if 0 gboolean gaim_perl_value_from_sv(GaimValue *value, SV *sv); SV *gaim_perl_sv_from_value(const GaimValue *value); #endif void *gaim_perl_data_from_sv(GaimValue *value, SV *sv); SV *gaim_perl_sv_from_vargs(const GaimValue *value, va_list *args, void ***copy_arg); #endif /* _GAIM_PERL_COMMON_H_ */