Mercurial > pidgin
diff libpurple/plugins/perl/common/Plugin.xs @ 16739:39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
exposed to perl.
| author | Etan Reisner <pidgin@unreliablesource.net> |
|---|---|
| date | Tue, 01 May 2007 02:34:22 +0000 |
| parents | 2f8274ce570a |
| children | 907f5f41e32a |
line wrap: on
line diff
--- a/libpurple/plugins/perl/common/Plugin.xs Mon Apr 30 05:06:29 2007 +0000 +++ b/libpurple/plugins/perl/common/Plugin.xs Tue May 01 02:34:22 2007 +0000 @@ -3,6 +3,22 @@ MODULE = Purple::Plugin PACKAGE = Purple::Plugin PREFIX = purple_plugin_ PROTOTYPES: ENABLE +BOOT: +{ + HV *stash = gv_stashpv("Purple::Plugin::Type", 1); + + static const constiv *civ, const_iv[] = { +#define const_iv(name) {#name, (IV)PURPLE_PLUGIN_##name} + const_iv(UNKNOWN), + const_iv(STANDARD), + const_iv(LOADER), + const_iv(PROTOCOL), + }; + + for (civ = const_iv + sizeof(const_iv) / sizeof(const_iv[0]); civ-- > const_iv; ) + newCONSTSUB(stash, (char *)civ->name, newSViv(civ->iv)); +} + Purple::Plugin purple_plugin_new(native, path) gboolean native
