Mercurial > projects > dstep
diff dstep/coreservices/osservices/SystemSound.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/coreservices/osservices/SystemSound.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,42 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Jul 22, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.coreservices.osservices.SystemSound; + +//import dstep.AvailabilityMacros; +import dstep.corefoundation.CFBase; +import dstep.corefoundation.CFRunLoop; +import dstep.coreservices.carboncore.Files; +import dstep.coreservices.carboncore.MacTypes; + +alias uint SystemSoundActionID; +alias SystemSoundCompletionProcPtr SystemSoundCompletionUPP; + +extern (C) +{ + alias int function (uint, void*) SystemSoundCompletionProcPtr; +} + +enum +{ + kSystemSoundNoError = 0, + kSystemSoundUnspecifiedError = -1500, + kSystemSoundClientTimedOutError = -1501 +} + +extern (C) +{ + SystemSoundCompletionUPP NewSystemSoundCompletionUPP (SystemSoundCompletionProcPtr userRoutine); + void DisposeSystemSoundCompletionUPP (SystemSoundCompletionUPP userUPP); + int InvokeSystemSoundCompletionUPP (uint actionID, void* userData, SystemSoundCompletionUPP userUPP); + void AlertSoundPlay (); + void AlertSoundPlayCustomSound (uint inAction); + void SystemSoundPlay (uint inAction); + int SystemSoundGetActionID (FSRef* userFile, SystemSoundActionID* outAction); + int SystemSoundRemoveActionID (uint inAction); + int SystemSoundSetCompletionRoutine (uint inAction, CFRunLoopRef inRunLoop, CFStringRef inRunLoopMode, SystemSoundCompletionUPP inCompletionRoutine, void* inUserData); + void SystemSoundRemoveCompletionRoutine (uint inAction); +} \ No newline at end of file