--- a/libpurple/plugins/perl/common/Sound.xs Mon Apr 30 05:06:29 2007 +0000 +++ b/libpurple/plugins/perl/common/Sound.xs Tue May 01 02:34:22 2007 +0000 @@ -3,6 +3,29 @@ MODULE = Purple::Sound PACKAGE = Purple::Sound PREFIX = purple_sound_ PROTOTYPES: ENABLE +BOOT: +{ + HV *stash = gv_stashpv("Purple::SoundEventID", 1); + + static const constiv *civ, const_iv[] = { +#define const_iv(name) {#name, (IV)PURPLE_SOUND_##name} + const_iv(BUDDY_ARRIVE), + const_iv(BUDDY_LEAVE), + const_iv(RECEIVE), + const_iv(FIRST_RECEIVE), + const_iv(SEND), + const_iv(CHAT_JOIN), + const_iv(CHAT_LEAVE), + const_iv(CHAT_YOU_SAY), + const_iv(CHAT_SAY), + const_iv(POUNCE_DEFAULT), + const_iv(CHAT_NICK), + }; + + for (civ = const_iv + sizeof(const_iv) / sizeof(const_iv[0]); civ-- > const_iv; ) + newCONSTSUB(stash, (char *)civ->name, newSViv(civ->iv)); +} + Purple::Sound::UiOps purple_sound_get_ui_ops()