Mercurial > projects > dstep
diff dstep/coreservices/ae/AEHelpers.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/ae/AEHelpers.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,78 @@ +/** + * 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.AEHelpers; + +//import dstep.AvailabilityMacros; +import dstep.coreservices.ae.AEDataModel; +import dstep.coreservices.ae.AppleEvents; +import dstep.coreservices.carboncore.MacTypes; +import dstep.corefoundation.CFString; +//import dstep.stdarg; + +struct OpaqueAEStreamRef; + +alias uint AEBuildErrorCode; +alias OpaqueAEStreamRef* AEStreamRef; + +enum +{ + aeBuildSyntaxNoErr = 0, + aeBuildSyntaxBadToken = 1, + aeBuildSyntaxBadEOF = 2, + aeBuildSyntaxNoEOF = 3, + aeBuildSyntaxBadNegative = 4, + aeBuildSyntaxMissingQuote = 5, + aeBuildSyntaxBadHex = 6, + aeBuildSyntaxOddHex = 7, + aeBuildSyntaxNoCloseHex = 8, + aeBuildSyntaxUncoercedHex = 9, + aeBuildSyntaxNoCloseString = 10, + aeBuildSyntaxBadDesc = 11, + aeBuildSyntaxBadData = 12, + aeBuildSyntaxNoCloseParen = 13, + aeBuildSyntaxNoCloseBracket = 14, + aeBuildSyntaxNoCloseBrace = 15, + aeBuildSyntaxNoKey = 16, + aeBuildSyntaxNoColon = 17, + aeBuildSyntaxCoercedList = 18, + aeBuildSyntaxUncoercedDoubleAt = 19 +} + +struct AEBuildError +{ + uint fError; + uint fErrorPos; +} + +extern (C) +{ + int AEBuildDesc (AEDesc* dst, AEBuildError* error, char* src, ...); + int vAEBuildDesc (AEDesc* dst, AEBuildError* error, char* src, char* args); + int AEBuildParameters (AppleEvent* event, AEBuildError* error, char* format, ...); + int vAEBuildParameters (AppleEvent* event, AEBuildError* error, char* format, char* args); + int AEBuildAppleEvent (uint theClass, uint theID, uint addressType, void* addressData, int addressLength, short returnID, int transactionID, AppleEvent* result, AEBuildError* error, char* paramsFmt, ...); + int vAEBuildAppleEvent (uint theClass, uint theID, uint addressType, void* addressData, int addressLength, short returnID, int transactionID, AppleEvent* resultEvt, AEBuildError* error, char* paramsFmt, char* args); + int AEPrintDescToHandle (AEDesc* desc, Handle* result); + AEStreamRef AEStreamOpen (); + int AEStreamClose (AEStreamRef ref_, AEDesc* desc); + int AEStreamOpenDesc (AEStreamRef ref_, uint newType); + int AEStreamWriteData (AEStreamRef ref_, void* data, int length); + int AEStreamCloseDesc (AEStreamRef ref_); + int AEStreamWriteDesc (AEStreamRef ref_, uint newType, void* data, int length); + int AEStreamWriteAEDesc (AEStreamRef ref_, AEDesc* desc); + int AEStreamOpenList (AEStreamRef ref_); + int AEStreamCloseList (AEStreamRef ref_); + int AEStreamOpenRecord (AEStreamRef ref_, uint newType); + int AEStreamSetRecordType (AEStreamRef ref_, uint newType); + int AEStreamCloseRecord (AEStreamRef ref_); + int AEStreamWriteKeyDesc (AEStreamRef ref_, uint key, uint newType, void* data, int length); + int AEStreamOpenKeyDesc (AEStreamRef ref_, uint key, uint newType); + int AEStreamWriteKey (AEStreamRef ref_, uint key); + AEStreamRef AEStreamCreateEvent (uint clazz, uint id, uint targetType, void* targetData, int targetLength, short returnID, int transactionID); + AEStreamRef AEStreamOpenEvent (AppleEvent* event); + int AEStreamOptionalParam (AEStreamRef ref_, uint key); +} \ No newline at end of file