diff dstep/foundation/NSAppleEventDescriptor.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents 7ff919f595d5
children b9de51448c6b
line wrap: on
line diff
--- a/dstep/foundation/NSAppleEventDescriptor.d	Mon Aug 03 15:31:48 2009 +0200
+++ b/dstep/foundation/NSAppleEventDescriptor.d	Sun Jan 03 22:06:11 2010 +0100
@@ -6,69 +6,83 @@
  */
 module dstep.foundation.NSAppleEventDescriptor;
 
-import dstep.applicationservices.ApplicationServices;
+//import dstep.applicationservices.ApplicationServices;
+import dstep.coreservices.ae.AEDataModel;
 import dstep.foundation.NSData;
+import dstep.foundation.NSObjCRuntime;
 import dstep.foundation.NSObject;
+import dstep.foundation.NSString;
+import dstep.foundation.NSZone;
 import dstep.objc.bridge.Bridge;
-import dstep.objc.objc : id;
+import dstep.objc.objc;
 
 class NSAppleEventDescriptor : NSObject, INSCopying
 {
-	mixin ObjcWrap;
+	mixin (ObjcWrap);
+	
+	this ()
+	{
+		super(typeof(this).alloc.init.objcObject);
+	}
+	
+	typeof(this) init ()
+	{
+		return invokeObjcSelf!(typeof(this), "init");
+	}
 
 	static NSAppleEventDescriptor nullDescriptor ()
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "nullDescriptor");
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "nullDescriptor");
 	}
 
 	static NSAppleEventDescriptor descriptorWithDescriptorType (uint descriptorType, void* bytes, NSUInteger byteCount)
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "descriptorWithDescriptorType:bytes:length:", uint, void*, NSUInteger)(descriptorType, bytes, byteCount);
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "descriptorWithDescriptorType:bytes:length:", uint, void*, NSUInteger)(descriptorType, bytes, byteCount);
 	}
 
 	static NSAppleEventDescriptor descriptorWithDescriptorType (uint descriptorType, NSData data)
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "descriptorWithDescriptorType:data:", uint, NSData)(descriptorType, data);
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "descriptorWithDescriptorType:data:", uint, NSData)(descriptorType, data);
 	}
 
 	static NSAppleEventDescriptor descriptorWithBoolean (ubyte boolean)
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "descriptorWithBoolean:", ubyte)(boolean);
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "descriptorWithBoolean:", ubyte)(boolean);
 	}
 
 	static NSAppleEventDescriptor descriptorWithEnumCode (uint enumerator)
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "descriptorWithEnumCode:", uint)(enumerator);
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "descriptorWithEnumCode:", uint)(enumerator);
 	}
 
 	static NSAppleEventDescriptor descriptorWithInt32 (int signedInt)
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "descriptorWithInt32:", int)(signedInt);
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "descriptorWithInt32:", int)(signedInt);
 	}
 
 	static NSAppleEventDescriptor descriptorWithTypeCode (uint typeCode)
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "descriptorWithTypeCode:", uint)(typeCode);
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "descriptorWithTypeCode:", uint)(typeCode);
 	}
 
 	static NSAppleEventDescriptor descriptorWithString (NSString string)
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "descriptorWithString:", NSString)(string);
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "descriptorWithString:", NSString)(string);
 	}
 
 	static NSAppleEventDescriptor appleEventWithEventClass (uint eventClass, uint eventID, NSAppleEventDescriptor targetDescriptor, short returnID, int transactionID)
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "appleEventWithEventClass:eventID:targetDescriptor:returnID:transactionID:", uint, uint, NSAppleEventDescriptor, short, int)(eventClass, eventID, targetDescriptor, returnID, transactionID);
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "appleEventWithEventClass:eventID:targetDescriptor:returnID:transactionID:", uint, uint, NSAppleEventDescriptor, short, int)(eventClass, eventID, targetDescriptor, returnID, transactionID);
 	}
 
 	static NSAppleEventDescriptor listDescriptor ()
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "listDescriptor");
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "listDescriptor");
 	}
 
 	static NSAppleEventDescriptor recordDescriptor ()
 	{
-		return invokeObjcSelfClass!(NSAppleEventDescriptor, "recordDescriptor");
+		return invokeObjcSuperClass!(NSAppleEventDescriptor, "recordDescriptor");
 	}
 
 	Object initWithAEDescNoCopy (AEDesc* aeDesc)
@@ -78,13 +92,7 @@
 
 	this (AEDesc* aeDesc)
 	{
-		objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
-		id result = Bridge.invokeObjcMethod!(id, "initWithAEDescNoCopy:", AEDesc*)(objcObject, aeDesc);
-
-		if (result)
-			objcObject = ret;
-
-		dObject = this;
+		typeof(this).alloc.initWithAEDescNoCopy(aeDesc);
 	}
 
 	Object initWithDescriptorType (uint descriptorType, void* bytes, NSUInteger byteCount)
@@ -93,14 +101,8 @@
 	}
 
 	this (uint descriptorType, void* bytes, NSUInteger byteCount)
-	{
-		objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
-		id result = Bridge.invokeObjcMethod!(id, "initWithDescriptorType:bytes:length:", uint, void*, NSUInteger)(objcObject, descriptorType, bytes, byteCount);
-
-		if (result)
-			objcObject = ret;
-
-		dObject = this;
+	{		
+		typeof(this).alloc.initWithDescriptorType(descriptorType, bytes, byteCount);
 	}
 
 	Object initWithDescriptorType (uint descriptorType, NSData data)
@@ -110,13 +112,7 @@
 
 	this (uint descriptorType, NSData data)
 	{
-		objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
-		id result = Bridge.invokeObjcMethod!(id, "initWithDescriptorType:data:", uint, NSData)(objcObject, descriptorType, data);
-
-		if (result)
-			objcObject = ret;
-
-		dObject = this;
+		typeof(this).alloc.initWithDescriptorType(descriptorType, data);
 	}
 
 	Object initWithEventClass (uint eventClass, uint eventID, NSAppleEventDescriptor targetDescriptor, short returnID, int transactionID)
@@ -126,13 +122,7 @@
 
 	this (uint eventClass, uint eventID, NSAppleEventDescriptor targetDescriptor, short returnID, int transactionID)
 	{
-		objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
-		id result = Bridge.invokeObjcMethod!(id, "initWithEventClass:eventID:targetDescriptor:returnID:transactionID:", uint, uint, NSAppleEventDescriptor, short, int)(objcObject, eventClass, eventID, targetDescriptor, returnID, transactionID);
-
-		if (result)
-			objcObject = ret;
-
-		dObject = this;
+		typeof(this).alloc.initWithEventClass(eventClass, eventID, targetDescriptor, returnID, transactionID);
 	}
 
 	Object initListDescriptor ()
@@ -140,33 +130,11 @@
 		return invokeObjcSelf!(Object, "initListDescriptor");
 	}
 
-	this ()
-	{
-		objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
-		id result = Bridge.invokeObjcMethod!(id, "initListDescriptor")(objcObject);
-
-		if (result)
-			objcObject = ret;
-
-		dObject = this;
-	}
-
 	Object initRecordDescriptor ()
 	{
 		return invokeObjcSelf!(Object, "initRecordDescriptor");
 	}
 
-	this ()
-	{
-		objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
-		id result = Bridge.invokeObjcMethod!(id, "initRecordDescriptor")(objcObject);
-
-		if (result)
-			objcObject = ret;
-
-		dObject = this;
-	}
-
 	AEDesc* aeDesc ()
 	{
 		return invokeObjcSelf!(AEDesc*, "aeDesc");