comparison dstep/qtkit/QTDataReference.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
children b9de51448c6b
comparison
equal deleted inserted replaced
15:7ff919f595d5 16:19885b43130e
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Sep 28, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.qtkit.QTDataReference;
8
9 import dstep.coreservices.carboncore.MacTypes;
10 import dstep.foundation.Foundation;
11 import dstep.objc.bridge.Bridge;
12 import dstep.objc.objc;
13 import dstep.qtkit.QTKitDefines;
14
15 import bindings = dstep.qtkit.QTDataReference_bindings;
16
17 private
18 {
19 NSString QTDataReferenceTypeFile_;
20 NSString QTDataReferenceTypeHandle_;
21 NSString QTDataReferenceTypePointer_;
22 NSString QTDataReferenceTypeResource_;
23 NSString QTDataReferenceTypeURL_;
24 }
25
26 NSString QTDataReferenceTypeFile ()
27 {
28 if (QTDataReferenceTypeFile_)
29 return QTDataReferenceTypeFile_;
30
31 return QTDataReferenceTypeFile_ = new NSString(bindings.QTDataReferenceTypeFile);
32 }
33
34 NSString QTDataReferenceTypeHandle ()
35 {
36 if (QTDataReferenceTypeHandle_)
37 return QTDataReferenceTypeHandle_;
38
39 return QTDataReferenceTypeHandle_ = new NSString(bindings.QTDataReferenceTypeHandle);
40 }
41
42 NSString QTDataReferenceTypePointer ()
43 {
44 if (QTDataReferenceTypePointer_)
45 return QTDataReferenceTypePointer_;
46
47 return QTDataReferenceTypePointer_ = new NSString(bindings.QTDataReferenceTypePointer);
48 }
49
50 NSString QTDataReferenceTypeResource ()
51 {
52 if (QTDataReferenceTypeResource_)
53 return QTDataReferenceTypeResource_;
54
55 return QTDataReferenceTypeResource_ = new NSString(bindings.QTDataReferenceTypeResource);
56 }
57
58 NSString QTDataReferenceTypeURL ()
59 {
60 if (QTDataReferenceTypeURL_)
61 return QTDataReferenceTypeURL_;
62
63 return QTDataReferenceTypeURL_ = new NSString(bindings.QTDataReferenceTypeURL);
64 }
65
66 class QTDataReference : NSObject, INSCoding
67 {
68 mixin (ObjcWrap);
69
70 static Object dataReferenceWithDataRef (Handle dataRef, NSString type)
71 {
72 return invokeObjcSelfClass!(Object, "dataReferenceWithDataRef:type:", Handle, NSString)(dataRef, type);
73 }
74
75 static Object dataReferenceWithDataRefData (NSData dataRefData, NSString type)
76 {
77 return invokeObjcSelfClass!(Object, "dataReferenceWithDataRefData:type:", NSData, NSString)(dataRefData, type);
78 }
79
80 static Object dataReferenceWithReferenceToFile (NSString fileName)
81 {
82 return invokeObjcSelfClass!(Object, "dataReferenceWithReferenceToFile:", NSString)(fileName);
83 }
84
85 static Object dataReferenceWithReferenceToURL (NSURL url)
86 {
87 return invokeObjcSelfClass!(Object, "dataReferenceWithReferenceToURL:", NSURL)(url);
88 }
89
90 static Object dataReferenceWithReferenceToData (NSData data)
91 {
92 return invokeObjcSelfClass!(Object, "dataReferenceWithReferenceToData:", NSData)(data);
93 }
94
95 static Object dataReferenceWithReferenceToData (NSData data, NSString name, NSString MIMEType)
96 {
97 return invokeObjcSelfClass!(Object, "dataReferenceWithReferenceToData:name:MIMEType:", NSData, NSString, NSString)(data, name, MIMEType);
98 }
99
100 QTDataReference initWithDataRef (Handle dataRef, NSString type)
101 {
102 id result = invokeObjcSelf!(id, "initWithDataRef:type:", Handle, NSString)(dataRef, type);
103 return result is this.objcObject ? this : (result !is null ? new QTDataReference(result) : null);
104 }
105
106 this (Handle dataRef, NSString type)
107 {
108 super(QTDataReference.alloc.initWithDataRef(dataRef, type).objcObject);
109 }
110
111 QTDataReference initWithDataRefData (NSData dataRefData, NSString type)
112 {
113 id result = invokeObjcSelf!(id, "initWithDataRefData:type:", NSData, NSString)(dataRefData, type);
114 return result is this.objcObject ? this : (result !is null ? new QTDataReference(result) : null);
115 }
116
117 this (NSData dataRefData, NSString type)
118 {
119 super(QTDataReference.alloc.initWithDataRefData(dataRefData, type).objcObject);
120 }
121
122 QTDataReference initWithReferenceToFile (NSString fileName)
123 {
124 id result = invokeObjcSelf!(id, "initWithReferenceToFile:", NSString)(fileName);
125 return result is this.objcObject ? this : (result !is null ? new QTDataReference(result) : null);
126 }
127
128 this (NSString fileName)
129 {
130 super(QTDataReference.alloc.initWithReferenceToFile(fileName).objcObject);
131 }
132
133 QTDataReference initWithReferenceToURL (NSURL url)
134 {
135 id result = invokeObjcSelf!(id, "initWithReferenceToURL:", NSURL)(url);
136 return result is this.objcObject ? this : (result !is null ? new QTDataReference(result) : null);
137 }
138
139 this (NSURL url)
140 {
141 super(QTDataReference.alloc.initWithReferenceToURL(url).objcObject);
142 }
143
144 QTDataReference initWithReferenceToData (NSData data)
145 {
146 id result = invokeObjcSelf!(id, "initWithReferenceToData:", NSData)(data);
147 return result is this.objcObject ? this : (result !is null ? new QTDataReference(result) : null);
148 }
149
150 this (NSData data)
151 {
152 super(QTDataReference.alloc.initWithReferenceToData(data).objcObject);
153 }
154
155 QTDataReference initWithReferenceToData (NSData data, NSString name, NSString MIMEType)
156 {
157 id result = invokeObjcSelf!(id, "initWithReferenceToData:name:MIMEType:", NSData, NSString, NSString)(data, name, MIMEType);
158 return result is this.objcObject ? this : (result !is null ? new QTDataReference(result) : null);
159 }
160
161 this (NSData data, NSString name, NSString MIMEType)
162 {
163 super(QTDataReference.alloc.initWithReferenceToData(data, name, MIMEType).objcObject);
164 }
165
166 Handle dataRef ()
167 {
168 return invokeObjcSelf!(Handle, "dataRef");
169 }
170
171 NSData dataRefData ()
172 {
173 return invokeObjcSelf!(NSData, "dataRefData");
174 }
175
176 NSString dataRefType ()
177 {
178 return invokeObjcSelf!(NSString, "dataRefType");
179 }
180
181 NSString referenceFile ()
182 {
183 return invokeObjcSelf!(NSString, "referenceFile");
184 }
185
186 NSURL referenceURL ()
187 {
188 return invokeObjcSelf!(NSURL, "referenceURL");
189 }
190
191 NSData referenceData ()
192 {
193 return invokeObjcSelf!(NSData, "referenceData");
194 }
195
196 NSString name ()
197 {
198 return invokeObjcSelf!(NSString, "name");
199 }
200
201 NSString MIMEType ()
202 {
203 return invokeObjcSelf!(NSString, "MIMEType");
204 }
205
206 void setDataRef (Handle dataRef)
207 {
208 return invokeObjcSelf!(void, "setDataRef:", Handle)(dataRef);
209 }
210
211 void setDataRefType (NSString type)
212 {
213 return invokeObjcSelf!(void, "setDataRefType:", NSString)(type);
214 }
215
216 void encodeWithCoder (NSCoder aCoder)
217 {
218 return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder);
219 }
220
221 QTDataReference initWithCoder (NSCoder aDecoder)
222 {
223 return invokeObjcSelf!(QTDataReference, "initWithCoder:", NSCoder)(aDecoder);
224 }
225 }
226