Mercurial > projects > dstep
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/coreservices/osservices/WSMethodInvocation.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,77 @@ +/** + * 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); +} \ No newline at end of file