00001
00025 #ifndef _PURPLE_SOUND_H_
00026 #define _PURPLE_SOUND_H_
00027
00028 #include "account.h"
00029
00030
00032
00033
00034
00039 typedef enum _PurpleSoundEventID
00040 {
00041 PURPLE_SOUND_BUDDY_ARRIVE = 0,
00042 PURPLE_SOUND_BUDDY_LEAVE,
00043 PURPLE_SOUND_RECEIVE,
00044 PURPLE_SOUND_FIRST_RECEIVE,
00045 PURPLE_SOUND_SEND,
00046 PURPLE_SOUND_CHAT_JOIN,
00047 PURPLE_SOUND_CHAT_LEAVE,
00048 PURPLE_SOUND_CHAT_YOU_SAY,
00049 PURPLE_SOUND_CHAT_SAY,
00050 PURPLE_SOUND_POUNCE_DEFAULT,
00051 PURPLE_SOUND_CHAT_NICK,
00052 PURPLE_NUM_SOUNDS
00054 } PurpleSoundEventID;
00055
00056 typedef struct _PurpleSoundUiOps
00057 {
00058 void (*init)(void);
00059 void (*uninit)(void);
00060 void (*play_file)(const char *filename);
00061 void (*play_event)(PurpleSoundEventID event);
00062
00063 void (*_purple_reserved1)(void);
00064 void (*_purple_reserved2)(void);
00065 void (*_purple_reserved3)(void);
00066 void (*_purple_reserved4)(void);
00067 } PurpleSoundUiOps;
00068
00069 #ifdef __cplusplus
00070 extern "C" {
00071 #endif
00072
00073
00075
00087 void purple_sound_play_file(const char *filename, const PurpleAccount *account);
00088
00098 void purple_sound_play_event(PurpleSoundEventID event, const PurpleAccount *account);
00099
00105 void purple_sound_set_ui_ops(PurpleSoundUiOps *ops);
00106
00112 PurpleSoundUiOps *purple_sound_get_ui_ops(void);
00113
00117 void purple_sound_init(void);
00118
00122 void purple_sound_uninit(void);
00123
00129 void *purple_sounds_get_handle(void);
00130
00133 #ifdef __cplusplus
00134 }
00135 #endif
00136
00137 #endif