libpurple/plugins/perl/common/Sound.xs

changeset 16773
e1171eb45f07
parent 15894
765ec644ac47
child 18068
b6554e3c8224
child 23983
586866581434
--- 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()
 

mercurial