view dstep/coreservices/osservices/WSTypes.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 22, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.coreservices.osservices.WSTypes;

//import dstep.AvailabilityMacros;
import dstep.coreservices.carboncore.MixedMode;
import dstep.corefoundation.CoreFoundation;

alias int WSTypeID;

extern (C)
{
	alias CFStringRef function (void*) WSClientContextCopyDescriptionCallBackProcPtr;
	alias void function (void*) WSClientContextReleaseCallBackProcPtr;
	alias void * function (void*) WSClientContextRetainCallBackProcPtr;
}

extern (C)
{
	extern
	{
		CFStringRef kWSXMLRPCProtocol;
		CFStringRef kWSSOAP1999Protocol;
		CFStringRef kWSSOAP2001Protocol;
	}
}

enum
{
	errWSInternalError = -65793L,
	errWSTransportError = -65794L,
	errWSParseError = -65795L,
	errWSTimeoutError = -65796L
}

enum /*WSTypeID*/ 
{
	eWSUnknownType = 0,
	eWSNullType = 1,
	eWSBooleanType = 2,
	eWSIntegerType = 3,
	eWSDoubleType = 4,
	eWSStringType = 5,
	eWSDateType = 6,
	eWSDataType = 7,
	eWSArrayType = 8,
	eWSDictionaryType = 9
}

struct WSClientContext
{
	int version_;
	void* info;
	WSClientContextRetainCallBackProcPtr retain;
	WSClientContextReleaseCallBackProcPtr release;
	WSClientContextCopyDescriptionCallBackProcPtr copyDescription;
}

extern (C)
{
	int WSGetWSTypeIDFromCFType (CFTypeRef ref_);
	uint WSGetCFTypeIDFromWSTypeID (int typeID);
}