1 /* 2 ** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. 3 ** Distributed under the terms of the Haiku License. 4 */ 5 6 7 #include <Beep.h> 8 #include <stdio.h> 9 10 #include "DataExchange.h" 11 #include "MediaSounds.h" 12 13 14 status_t 15 system_beep(const char *eventName) 16 { 17 BMessenger messenger("application/x-vnd.Be.addon-host"); 18 if (!messenger.IsValid()) 19 return B_ERROR; 20 BMessage msg(MEDIA_ADDON_SERVER_PLAY_MEDIA), reply; 21 msg.AddString(MEDIA_NAME_KEY, eventName ? eventName : MEDIA_SOUNDS_BEEP); 22 msg.AddString(MEDIA_TYPE_KEY, MEDIA_TYPE_SOUNDS); 23 24 status_t err = messenger.SendMessage(&msg, &reply); 25 if ((err != B_OK) 26 || (reply.FindInt32("error", &err) != B_OK)) 27 err = B_BAD_REPLY; 28 return err; 29 } 30 31 32 status_t 33 beep() 34 { 35 return system_beep(NULL); 36 } 37 38 39 status_t 40 add_system_beep_event(const char *name, uint32 flags) 41 { 42 BMessenger messenger("application/x-vnd.Be.media-server"); 43 if (!messenger.IsValid()) 44 return B_ERROR; 45 BMessage msg(MEDIA_SERVER_ADD_SYSTEM_BEEP_EVENT), reply; 46 msg.AddString(MEDIA_NAME_KEY, name); 47 msg.AddString(MEDIA_TYPE_KEY, MEDIA_TYPE_SOUNDS); 48 msg.AddInt32(MEDIA_FLAGS_KEY, flags); 49 50 status_t err = messenger.SendMessage(&msg, &reply); 51 if ((err != B_OK) 52 || (reply.FindInt32("error", &err) != B_OK)) 53 err = B_BAD_REPLY; 54 return err; 55 } 56 57