Mercurial > projects > dstep
view dstep/coreservices/ae/AppleEvents.d @ 27:57371c29ef73 default tip
ObjcWrap is now automatically mixed in. Added support for building as a dylib with DMD.
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Fri, 09 Apr 2010 23:00:22 +0200 |
parents | 07194b026fa4 |
children |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Jul 21, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.coreservices.ae.AppleEvents; //import dstep.AvailabilityMacros; import dstep.coreservices.ae.AEDataModel; import dstep.coreservices.carboncore.CarbonCore; import dstep.corefoundation.CoreFoundation; import dstep.objc.bridge.TypeEncoding; struct AERemoteProcessResolver; alias byte AEEventSource; alias AERemoteProcessResolver* AERemoteProcessResolverRef; extern (C) { alias void function (AERemoteProcessResolverRef, void*) AERemoteProcessResolverCallback; } extern (C) { extern { const CFStringRef kAERemoteProcessURLKey; const CFStringRef kAERemoteProcessNameKey; const CFStringRef kAERemoteProcessUserIDKey; const CFStringRef kAERemoteProcessProcessIDKey; } } // This is needed otherwise the enums will fail compiling with gdc version (GNU) { private { const __keyDirectObject = getOSType!("----"); const __keyErrorNumber = getOSType!("errn"); const __keyErrorString = getOSType!("errs"); const __keyProcessSerialNumber = getOSType!("psn "); const __keyPreDispatch = getOSType!("phac"); const __keySelectProc = getOSType!("selh"); const __keyAERecorderCount = getOSType!("recr"); const __keyAEVersion = getOSType!("vers"); } } // This is needed otherwise the enums will fail compiling with gdc version (GNU) { private { const __kCoreEventClass = getOSType!("aevt"); } } // This is needed otherwise the enums will fail compiling with gdc version (GNU) { private { const __kAEOpenApplication = getOSType!("oapp"); const __kAEOpenDocuments = getOSType!("odoc"); const __kAEPrintDocuments = getOSType!("pdoc"); const __kAEOpenContents = getOSType!("ocon"); const __kAEQuitApplication = getOSType!("quit"); const __kAEAnswer = getOSType!("ansr"); const __kAEApplicationDied = getOSType!("obit"); const __kAEShowPreferences = getOSType!("pref"); } } // This is needed otherwise the enums will fail compiling with gdc version (GNU) { private { const __kAEStartRecording = getOSType!("reca"); const __kAEStopRecording = getOSType!("recc"); const __kAENotifyStartRecording = getOSType!("rec1"); const __kAENotifyStopRecording = getOSType!("rec0"); const __kAENotifyRecording = getOSType!("recr"); } } enum { keyDirectObject = getOSType!("----"), keyErrorNumber = getOSType!("errn"), keyErrorString = getOSType!("errs"), keyProcessSerialNumber = getOSType!("psn "), keyPreDispatch = getOSType!("phac"), keySelectProc = getOSType!("selh"), keyAERecorderCount = getOSType!("recr"), keyAEVersion = getOSType!("vers") } enum { kCoreEventClass = getOSType!("aevt") } enum { kAEOpenApplication = getOSType!("oapp"), kAEOpenDocuments = getOSType!("odoc"), kAEPrintDocuments = getOSType!("pdoc"), kAEOpenContents = getOSType!("ocon"), kAEQuitApplication = getOSType!("quit"), kAEAnswer = getOSType!("ansr"), kAEApplicationDied = getOSType!("obit"), kAEShowPreferences = getOSType!("pref") } enum { kAEStartRecording = getOSType!("reca"), kAEStopRecording = getOSType!("recc"), kAENotifyStartRecording = getOSType!("rec1"), kAENotifyStopRecording = getOSType!("rec0"), kAENotifyRecording = getOSType!("recr") } enum { kAEUnknownSource = 0, kAEDirectCall = 1, kAESameProcess = 2, kAELocalProcess = 3, kAERemoteProcess = 4 } struct AERemoteProcessResolverContext { int version_; void* info; CFAllocatorRetainCallBack retain; CFAllocatorReleaseCallBack release; CFAllocatorCopyDescriptionCallBack copyDescription; } extern (C) { short AEInstallEventHandler (uint theAEEventClass, uint theAEEventID, AEEventHandlerUPP handler, int handlerRefcon, ubyte isSysHandler); short AERemoveEventHandler (uint theAEEventClass, uint theAEEventID, AEEventHandlerUPP handler, ubyte isSysHandler); short AEGetEventHandler (uint theAEEventClass, uint theAEEventID, AEEventHandlerUPP* handler, SRefCon* handlerRefcon, ubyte isSysHandler); short AEInstallSpecialHandler (uint functionClass, AEEventHandlerUPP handler, ubyte isSysHandler); short AERemoveSpecialHandler (uint functionClass, AEEventHandlerUPP handler, ubyte isSysHandler); short AEGetSpecialHandler (uint functionClass, AEEventHandlerUPP* handler, ubyte isSysHandler); short AEManagerInfo (uint keyWord, long* result); AERemoteProcessResolverRef AECreateRemoteProcessResolver (CFAllocatorRef allocator, CFURLRef url); void AEDisposeRemoteProcessResolver (AERemoteProcessResolverRef ref_); CFArrayRef AERemoteProcessResolverGetProcesses (AERemoteProcessResolverRef ref_, CFStreamError* outError); void AERemoteProcessResolverScheduleWithRunLoop (AERemoteProcessResolverRef ref_, CFRunLoopRef runLoop, CFStringRef runLoopMode, AERemoteProcessResolverCallback callback, AERemoteProcessResolverContext* ctx); }