view dstep/coreservices/osservices/WSMethodInvocation.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.WSMethodInvocation;

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

struct OpaqueWSMethodInvocationRef;

alias OpaqueWSMethodInvocationRef* WSMethodInvocationRef;

extern (C)
{
	alias CFTypeRef function (WSMethodInvocationRef, CFXMLTreeRef, CFXMLTreeRef, void*) WSMethodInvocationDeserializationProcPtr;
	alias void function (WSMethodInvocationRef, void*, CFDictionaryRef) WSMethodInvocationCallBackProcPtr;
	alias CFStringRef function (WSMethodInvocationRef, CFTypeRef, void*) WSMethodInvocationSerializationProcPtr;
}

extern (C)
{
	extern
	{
		CFStringRef kWSMethodInvocationResult;
		CFStringRef kWSFaultString;
		CFStringRef kWSFaultCode;
		CFStringRef kWSFaultExtra;
		CFStringRef kWSNetworkStreamFaultString;
		CFStringRef kWSStreamErrorMessage;
		CFStringRef kWSStreamErrorDomain;
		CFStringRef kWSStreamErrorError;
		CFStringRef kWSHTTPMessage;
		CFStringRef kWSHTTPResponseMessage;
		CFStringRef kWSHTTPVersion;
		CFStringRef kWSHTTPExtraHeaders;
		CFStringRef kWSHTTPProxy;
		CFStringRef kWSHTTPFollowsRedirects;
		CFStringRef kWSDebugOutgoingHeaders;
		CFStringRef kWSDebugOutgoingBody;
		CFStringRef kWSDebugIncomingHeaders;
		CFStringRef kWSDebugIncomingBody;
		CFStringRef kWSSOAPMethodNamespaceURI;
		CFStringRef kWSSOAPBodyEncodingStyle;
		CFStringRef kWSSOAPStyleDoc;
		CFStringRef kWSSOAPStyleRPC;
		CFStringRef kWSSOAPMessageHeaders;
		CFStringRef kWSRecordParameterOrder;
		CFStringRef kWSRecordNamespaceURI;
		CFStringRef kWSRecordType;
		CFStringRef kWSMethodInvocationResultParameterName;
		CFStringRef kWSMethodInvocationTimeoutValue;
	}
}

extern (C)
{
	uint WSMethodInvocationGetTypeID ();
	WSMethodInvocationRef WSMethodInvocationCreate (CFURLRef url, CFStringRef methodName, CFStringRef protocol);
	WSMethodInvocationRef WSMethodInvocationCreateFromSerialization (CFDataRef contract);
	CFDataRef WSMethodInvocationCopySerialization (WSMethodInvocationRef invocation);
	void WSMethodInvocationSetParameters (WSMethodInvocationRef invocation, CFDictionaryRef parameters, CFArrayRef parameterOrder);
	CFDictionaryRef WSMethodInvocationCopyParameters (WSMethodInvocationRef invocation, CFArrayRef* parameterOrder);
	void WSMethodInvocationSetProperty (WSMethodInvocationRef invocation, CFStringRef propertyName, CFTypeRef propertyValue);
	CFTypeRef WSMethodInvocationCopyProperty (WSMethodInvocationRef invocation, CFStringRef propertyName);
	CFDictionaryRef WSMethodInvocationInvoke (WSMethodInvocationRef invocation);
	void WSMethodInvocationSetCallBack (WSMethodInvocationRef invocation, WSMethodInvocationCallBackProcPtr clientCB, WSClientContext* context);
	void WSMethodInvocationScheduleWithRunLoop (WSMethodInvocationRef invocation, CFRunLoopRef runLoop, CFStringRef runLoopMode);
	void WSMethodInvocationUnscheduleFromRunLoop (WSMethodInvocationRef invocation, CFRunLoopRef runLoop, CFStringRef runLoopMode);
	ubyte WSMethodResultIsFault (CFDictionaryRef methodResult);
	void WSMethodInvocationAddSerializationOverride (WSMethodInvocationRef invocation, uint objType, WSMethodInvocationSerializationProcPtr serializationProc, WSClientContext* context);
	void WSMethodInvocationAddDeserializationOverride (WSMethodInvocationRef invocation, CFStringRef typeNamespace, CFStringRef typeName, WSMethodInvocationDeserializationProcPtr deserializationProc, WSClientContext* context);
}