comparison dwt/internal/cocoa/OS.d @ 38:198549365851

Fixed all the runtime errors, hello world app "works"
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sun, 12 Oct 2008 15:26:21 +0200
parents 642f460a0908
children d8635bb48c7c
comparison
equal deleted inserted replaced
37:642f460a0908 38:198549365851
33 static import dwt.internal.objc.foundation.NSGeometry; 33 static import dwt.internal.objc.foundation.NSGeometry;
34 static import dwt.internal.objc.foundation.NSHFSFileTypes; 34 static import dwt.internal.objc.foundation.NSHFSFileTypes;
35 static import dwt.internal.objc.foundation.NSRunLoop; 35 static import dwt.internal.objc.foundation.NSRunLoop;
36 static import dwt.internal.objc.runtime; 36 static import dwt.internal.objc.runtime;
37 37
38 import mambo.io; 38 //import mambo.io;
39 39
40 private alias dwt.internal.objc.runtime.objc_object objc_object; 40 private alias dwt.internal.objc.runtime.objc_object objc_object;
41 41
42 struct ClassData 42 struct ClassData
43 { 43 {
105 105
106 private static Object[] globalRefs; 106 private static Object[] globalRefs;
107 107
108 static Object JNIGetObject (NSInteger globalRef) 108 static Object JNIGetObject (NSInteger globalRef)
109 { 109 {
110 println("OS->JNIGetObject->globalRef=", globalRef); 110 return cast(Object)globalRef;
111 auto o = new Object;
112 o = cast(Object) globalRef;
113 return o;
114 //return globalRefs[globalRef - 1];
115 } 111 }
116 112
117 static NSInteger NewGlobalRef (Object object) 113 static NSInteger NewGlobalRef (Object object)
118 { 114 {
119 globalRefs ~= object; 115 return cast(NSInteger) object;
120 return globalRefs.length;
121 } 116 }
122 117
123 static void DeleteGlobalRef (NSInteger globalRef) 118 static void DeleteGlobalRef (NSInteger globalRef)
124 { 119 {
125 globalRefs = globalRefs[0 .. remove!(Object)(globalRefs, globalRef - 1)]; 120 //globalRefs = globalRefs[0 .. remove!(Object)(globalRefs, globalRef - 1)];
126 } 121 }
127 122
128 static size_t remove (T) (T[] arr, size_t index) 123 static size_t remove (T) (T[] arr, size_t index)
129 { 124 {
130 void exch (size_t p1, size_t p2) 125 void exch (size_t p1, size_t p2)