diff dstep/corefoundation/CFMessagePort.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/corefoundation/CFMessagePort.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,56 @@
+/**
+ * Copyright: Copyright (c) 2009 Jacob Carlborg.
+ * Authors: Jacob Carlborg
+ * Version: Initial created: Jul 12, 2009 
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
+ */
+module dstep.corefoundation.CFMessagePort;
+
+import dstep.corefoundation.CFBase;
+import dstep.corefoundation.CFData;
+import dstep.corefoundation.CFDictionary;
+import dstep.corefoundation.CFRunLoop;
+import dstep.corefoundation.CFString;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc : id;
+
+struct __CFMessagePort;
+alias __CFMessagePort* CFMessagePortRef;
+
+extern (C)
+{
+	alias void function (CFMessagePortRef, void*) CFMessagePortInvalidationCallBack;
+	alias CFDataRef function (CFMessagePortRef, int, CFDataRef, void*) CFMessagePortCallBack;
+}
+
+enum
+{
+	kCFMessagePortSuccess = 0,
+	kCFMessagePortSendTimeout = -1,
+	kCFMessagePortReceiveTimeout = -2,
+	kCFMessagePortIsInvalid = -3,
+	kCFMessagePortTransportError = -4
+}
+
+struct CFMessagePortContext
+{
+	int version_;
+	void* info;
+}
+
+extern (C)
+{
+	uint CFMessagePortGetTypeID ();
+	CFMessagePortRef CFMessagePortCreateLocal (CFAllocatorRef allocator, CFStringRef name, CFMessagePortCallBack* callout, CFMessagePortContext* context, char* shouldFreeInfo);
+	CFMessagePortRef CFMessagePortCreateRemote (CFAllocatorRef allocator, CFStringRef name);
+	ubyte CFMessagePortIsRemote (CFMessagePortRef ms);
+	CFStringRef CFMessagePortGetName (CFMessagePortRef ms);
+	ubyte CFMessagePortSetName (CFMessagePortRef ms, CFStringRef newName);
+	void CFMessagePortGetContext (CFMessagePortRef ms, CFMessagePortContext* context);
+	void CFMessagePortInvalidate (CFMessagePortRef ms);
+	ubyte CFMessagePortIsValid (CFMessagePortRef ms);
+	CFMessagePortInvalidationCallBack* CFMessagePortGetInvalidationCallBack (CFMessagePortRef ms);
+	void CFMessagePortSetInvalidationCallBack (CFMessagePortRef ms, CFMessagePortInvalidationCallBack* callout);
+	int CFMessagePortSendRequest (CFMessagePortRef remote, int msgid, CFDataRef data, double sendTimeout, double rcvTimeout, CFStringRef replyMode, CFDataRef* returnData);
+	CFRunLoopSourceRef CFMessagePortCreateRunLoopSource (CFAllocatorRef allocator, CFMessagePortRef local, int order);
+}
\ No newline at end of file