view 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 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.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);
}