Mercurial > projects > dstep
comparison dstep/foundation/NSString.d @ 14:89f3c3ef1fd2
Added the Foundation framework
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 03 Aug 2009 15:23:15 +0200 |
parents | |
children | 19885b43130e |
comparison
equal
deleted
inserted
replaced
13:4f583f7e242e | 14:89f3c3ef1fd2 |
---|---|
1 /** | |
2 * Copyright: Copyright (c) 2009 Jacob Carlborg. | |
3 * Authors: Jacob Carlborg | |
4 * Version: Initial created: Aug 3, 2009 | |
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) | |
6 */ | |
7 module dstep.foundation.NSString; | |
8 | |
9 import dstep.foundation.NSArray; | |
10 import dstep.foundation.NSCharacterSet; | |
11 import dstep.foundation.NSData; | |
12 import dstep.foundation.NSDictionary; | |
13 import dstep.foundation.NSError; | |
14 import dstep.foundation.NSLocale; | |
15 import dstep.foundation.NSObject; | |
16 import dstep.foundation.NSRange; | |
17 import dstep.foundation.NSURL; | |
18 import dstep.limits; | |
19 import dstep.objc.bridge.Bridge; | |
20 import dstep.objc.objc : id; | |
21 import dstep.stdarg; | |
22 | |
23 import bindings = dstep.foundation.NSString_bindings; | |
24 | |
25 alias ushort unichar; | |
26 alias NSUInteger NSStringCompareOptions; | |
27 alias NSUInteger NSStringEncoding; | |
28 alias NSUInteger NSStringEncodingConversionOptions; | |
29 | |
30 const NSString NSParseErrorException; | |
31 const NSString NSCharacterConversionException; | |
32 | |
33 enum | |
34 { | |
35 NSCaseInsensitiveSearch = 1, | |
36 NSLiteralSearch = 2, | |
37 NSBackwardsSearch = 4, | |
38 NSAnchoredSearch = 8, | |
39 NSNumericSearch = 64, | |
40 NSDiacriticInsensitiveSearch = 128, | |
41 NSWidthInsensitiveSearch = 256, | |
42 NSForcedOrderingSearch = 512 | |
43 } | |
44 | |
45 enum | |
46 { | |
47 NSASCIIStringEncoding = 1, | |
48 NSNEXTSTEPStringEncoding = 2, | |
49 NSJapaneseEUCStringEncoding = 3, | |
50 NSUTF8StringEncoding = 4, | |
51 NSISOLatin1StringEncoding = 5, | |
52 NSSymbolStringEncoding = 6, | |
53 NSNonLossyASCIIStringEncoding = 7, | |
54 NSShiftJISStringEncoding = 8, | |
55 NSISOLatin2StringEncoding = 9, | |
56 NSUnicodeStringEncoding = 10, | |
57 NSWindowsCP1251StringEncoding = 11, | |
58 NSWindowsCP1252StringEncoding = 12, | |
59 NSWindowsCP1253StringEncoding = 13, | |
60 NSWindowsCP1254StringEncoding = 14, | |
61 NSWindowsCP1250StringEncoding = 15, | |
62 NSISO2022JPStringEncoding = 21, | |
63 NSMacOSRomanStringEncoding = 30, | |
64 NSUTF16StringEncoding = NSUnicodeStringEncoding, | |
65 NSUTF16BigEndianStringEncoding = 0x90000100, | |
66 NSUTF16LittleEndianStringEncoding = 0x94000100, | |
67 NSUTF32StringEncoding = 0x8c000100, | |
68 NSUTF32BigEndianStringEncoding = 0x98000100, | |
69 NSUTF32LittleEndianStringEncoding = 0x9c000100 | |
70 } | |
71 | |
72 enum | |
73 { | |
74 NSStringEncodingConversionAllowLossy = 1, | |
75 NSStringEncodingConversionExternalRepresentation = 2 | |
76 } | |
77 | |
78 static this () | |
79 { | |
80 NSParseErrorException = new NSString(bindings.NSParseErrorException); | |
81 NSCharacterConversionException = new NSString(bindings.NSCharacterConversionException); | |
82 } | |
83 | |
84 class NSMutableString : NSString | |
85 { | |
86 mixin ObjcWrap; | |
87 mixin TNSMutableStringExtensionMethods; | |
88 | |
89 void replaceCharactersInRange (NSRange range, NSString aString) | |
90 { | |
91 return invokeObjcSelf!(void, "replaceCharactersInRange:withString:", NSRange, NSString)(range, aString); | |
92 } | |
93 } | |
94 | |
95 class NSString : NSObject, INSCopying, INSMutableCopying, INSCoding | |
96 { | |
97 mixin ObjcWrap; | |
98 mixin TNSExtendedStringPropertyListParsing; | |
99 mixin TNSStringExtensionMethods; | |
100 mixin TNSStringPathExtensions; | |
101 mixin TNSURLUtilities; | |
102 mixin TNSStringDeprecated; | |
103 | |
104 NSUInteger length () | |
105 { | |
106 return invokeObjcSelf!(NSUInteger, "length"); | |
107 } | |
108 | |
109 ushort characterAtIndex (NSUInteger index) | |
110 { | |
111 return invokeObjcSelf!(ushort, "characterAtIndex:", NSUInteger)(index); | |
112 } | |
113 | |
114 Object copyWithZone (NSZone* zone) | |
115 { | |
116 return invokeObjcSelf!(Object, "copyWithZone:", NSZone*)(zone); | |
117 } | |
118 | |
119 Object mutableCopyWithZone (NSZone* zone) | |
120 { | |
121 return invokeObjcSelf!(Object, "mutableCopyWithZone:", NSZone*)(zone); | |
122 } | |
123 | |
124 void encodeWithCoder (NSCoder aCoder) | |
125 { | |
126 return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder); | |
127 } | |
128 | |
129 Object initWithCoder (NSCoder aDecoder) | |
130 { | |
131 return invokeObjcSelf!(Object, "initWithCoder:", NSCoder)(aDecoder); | |
132 } | |
133 | |
134 this (NSCoder aDecoder) | |
135 { | |
136 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
137 id result = Bridge.invokeObjcMethod!(id, "initWithCoder:", NSCoder)(objcObject, aDecoder); | |
138 | |
139 if (result) | |
140 objcObject = ret; | |
141 | |
142 dObject = this; | |
143 } | |
144 } | |
145 | |
146 template TNSExtendedStringPropertyListParsing () | |
147 { | |
148 Object propertyList () | |
149 { | |
150 return invokeObjcSelf!(Object, "propertyList"); | |
151 } | |
152 | |
153 NSDictionary propertyListFromStringsFileFormat () | |
154 { | |
155 return invokeObjcSelf!(NSDictionary, "propertyListFromStringsFileFormat"); | |
156 } | |
157 } | |
158 | |
159 template TNSMutableStringExtensionMethods () | |
160 { | |
161 void insertString (NSString aString, NSUInteger loc) | |
162 { | |
163 return invokeObjcSelf!(void, "insertString:atIndex:", NSString, NSUInteger)(aString, loc); | |
164 } | |
165 | |
166 void deleteCharactersInRange (NSRange range) | |
167 { | |
168 return invokeObjcSelf!(void, "deleteCharactersInRange:", NSRange)(range); | |
169 } | |
170 | |
171 void appendString (NSString aString) | |
172 { | |
173 return invokeObjcSelf!(void, "appendString:", NSString)(aString); | |
174 } | |
175 | |
176 void appendFormat (NSString appendFormat, ...) | |
177 { | |
178 return invokeObjcSelf!(void, "appendFormat:", NSString)(appendFormat); | |
179 } | |
180 | |
181 void setString (NSString aString) | |
182 { | |
183 return invokeObjcSelf!(void, "setString:", NSString)(aString); | |
184 } | |
185 | |
186 Object initWithCapacity (NSUInteger capacity) | |
187 { | |
188 return invokeObjcSelf!(Object, "initWithCapacity:", NSUInteger)(capacity); | |
189 } | |
190 | |
191 this (NSUInteger capacity) | |
192 { | |
193 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
194 id result = Bridge.invokeObjcMethod!(id, "initWithCapacity:", NSUInteger)(objcObject, capacity); | |
195 | |
196 if (result) | |
197 objcObject = ret; | |
198 | |
199 dObject = this; | |
200 } | |
201 | |
202 static Object stringWithCapacity (NSUInteger capacity) | |
203 { | |
204 return invokeObjcSelfClass!(Object, "stringWithCapacity:", NSUInteger)(capacity); | |
205 } | |
206 | |
207 NSUInteger replaceOccurrencesOfString (NSString target, NSString replacement, uint options, NSRange searchRange) | |
208 { | |
209 return invokeObjcSelf!(NSUInteger, "replaceOccurrencesOfString:withString:options:range:", NSString, NSString, uint, NSRange)(target, replacement, options, searchRange); | |
210 } | |
211 } | |
212 | |
213 template TNSStringExtensionMethods () | |
214 { | |
215 void getCharacters (unichar* buffer) | |
216 { | |
217 return invokeObjcSelf!(void, "getCharacters:", unichar*)(buffer); | |
218 } | |
219 | |
220 void getCharacters (unichar* buffer, NSRange aRange) | |
221 { | |
222 return invokeObjcSelf!(void, "getCharacters:range:", unichar*, NSRange)(buffer, aRange); | |
223 } | |
224 | |
225 NSString substringFromIndex (NSUInteger from) | |
226 { | |
227 return invokeObjcSelf!(NSString, "substringFromIndex:", NSUInteger)(from); | |
228 } | |
229 | |
230 NSString substringToIndex (NSUInteger to) | |
231 { | |
232 return invokeObjcSelf!(NSString, "substringToIndex:", NSUInteger)(to); | |
233 } | |
234 | |
235 NSString substringWithRange (NSRange range) | |
236 { | |
237 return invokeObjcSelf!(NSString, "substringWithRange:", NSRange)(range); | |
238 } | |
239 | |
240 int compare (NSString string) | |
241 { | |
242 return invokeObjcSelf!(int, "compare:", NSString)(string); | |
243 } | |
244 | |
245 int compare (NSString string, uint mask) | |
246 { | |
247 return invokeObjcSelf!(int, "compare:options:", NSString, uint)(string, mask); | |
248 } | |
249 | |
250 int compare (NSString string, uint mask, NSRange compareRange) | |
251 { | |
252 return invokeObjcSelf!(int, "compare:options:range:", NSString, uint, NSRange)(string, mask, compareRange); | |
253 } | |
254 | |
255 int compare (NSString string, uint mask, NSRange compareRange, Object locale) | |
256 { | |
257 return invokeObjcSelf!(int, "compare:options:range:locale:", NSString, uint, NSRange, Object)(string, mask, compareRange, locale); | |
258 } | |
259 | |
260 int caseInsensitiveCompare (NSString string) | |
261 { | |
262 return invokeObjcSelf!(int, "caseInsensitiveCompare:", NSString)(string); | |
263 } | |
264 | |
265 int localizedCompare (NSString string) | |
266 { | |
267 return invokeObjcSelf!(int, "localizedCompare:", NSString)(string); | |
268 } | |
269 | |
270 int localizedCaseInsensitiveCompare (NSString string) | |
271 { | |
272 return invokeObjcSelf!(int, "localizedCaseInsensitiveCompare:", NSString)(string); | |
273 } | |
274 | |
275 bool isEqualToString (NSString aString) | |
276 { | |
277 return invokeObjcSelf!(bool, "isEqualToString:", NSString)(aString); | |
278 } | |
279 | |
280 bool hasPrefix (NSString aString) | |
281 { | |
282 return invokeObjcSelf!(bool, "hasPrefix:", NSString)(aString); | |
283 } | |
284 | |
285 bool hasSuffix (NSString aString) | |
286 { | |
287 return invokeObjcSelf!(bool, "hasSuffix:", NSString)(aString); | |
288 } | |
289 | |
290 NSRange rangeOfString (NSString aString) | |
291 { | |
292 return invokeObjcSelf!(NSRange, "rangeOfString:", NSString)(aString); | |
293 } | |
294 | |
295 NSRange rangeOfString (NSString aString, uint mask) | |
296 { | |
297 return invokeObjcSelf!(NSRange, "rangeOfString:options:", NSString, uint)(aString, mask); | |
298 } | |
299 | |
300 NSRange rangeOfString (NSString aString, uint mask, NSRange searchRange) | |
301 { | |
302 return invokeObjcSelf!(NSRange, "rangeOfString:options:range:", NSString, uint, NSRange)(aString, mask, searchRange); | |
303 } | |
304 | |
305 NSRange rangeOfString (NSString aString, uint mask, NSRange searchRange, NSLocale locale) | |
306 { | |
307 return invokeObjcSelf!(NSRange, "rangeOfString:options:range:locale:", NSString, uint, NSRange, NSLocale)(aString, mask, searchRange, locale); | |
308 } | |
309 | |
310 NSRange rangeOfCharacterFromSet (NSCharacterSet aSet) | |
311 { | |
312 return invokeObjcSelf!(NSRange, "rangeOfCharacterFromSet:", NSCharacterSet)(aSet); | |
313 } | |
314 | |
315 NSRange rangeOfCharacterFromSet (NSCharacterSet aSet, uint mask) | |
316 { | |
317 return invokeObjcSelf!(NSRange, "rangeOfCharacterFromSet:options:", NSCharacterSet, uint)(aSet, mask); | |
318 } | |
319 | |
320 NSRange rangeOfCharacterFromSet (NSCharacterSet aSet, uint mask, NSRange searchRange) | |
321 { | |
322 return invokeObjcSelf!(NSRange, "rangeOfCharacterFromSet:options:range:", NSCharacterSet, uint, NSRange)(aSet, mask, searchRange); | |
323 } | |
324 | |
325 NSRange rangeOfComposedCharacterSequenceAtIndex (NSUInteger index) | |
326 { | |
327 return invokeObjcSelf!(NSRange, "rangeOfComposedCharacterSequenceAtIndex:", NSUInteger)(index); | |
328 } | |
329 | |
330 NSRange rangeOfComposedCharacterSequencesForRange (NSRange range) | |
331 { | |
332 return invokeObjcSelf!(NSRange, "rangeOfComposedCharacterSequencesForRange:", NSRange)(range); | |
333 } | |
334 | |
335 NSString stringByAppendingString (NSString aString) | |
336 { | |
337 return invokeObjcSelf!(NSString, "stringByAppendingString:", NSString)(aString); | |
338 } | |
339 | |
340 NSString stringByAppendingFormat (NSString stringByAppendingFormat, ...) | |
341 { | |
342 return invokeObjcSelf!(NSString, "stringByAppendingFormat:", NSString)(stringByAppendingFormat); | |
343 } | |
344 | |
345 double doubleValue () | |
346 { | |
347 return invokeObjcSelf!(double, "doubleValue"); | |
348 } | |
349 | |
350 float floatValue () | |
351 { | |
352 return invokeObjcSelf!(float, "floatValue"); | |
353 } | |
354 | |
355 int intValue () | |
356 { | |
357 return invokeObjcSelf!(int, "intValue"); | |
358 } | |
359 | |
360 NSInteger integerValue () | |
361 { | |
362 return invokeObjcSelf!(NSInteger, "integerValue"); | |
363 } | |
364 | |
365 long longLongValue () | |
366 { | |
367 return invokeObjcSelf!(long, "longLongValue"); | |
368 } | |
369 | |
370 bool boolValue () | |
371 { | |
372 return invokeObjcSelf!(bool, "boolValue"); | |
373 } | |
374 | |
375 NSArray componentsSeparatedByString (NSString separator) | |
376 { | |
377 return invokeObjcSelf!(NSArray, "componentsSeparatedByString:", NSString)(separator); | |
378 } | |
379 | |
380 NSArray componentsSeparatedByCharactersInSet (NSCharacterSet separator) | |
381 { | |
382 return invokeObjcSelf!(NSArray, "componentsSeparatedByCharactersInSet:", NSCharacterSet)(separator); | |
383 } | |
384 | |
385 NSString commonPrefixWithString (NSString aString, uint mask) | |
386 { | |
387 return invokeObjcSelf!(NSString, "commonPrefixWithString:options:", NSString, uint)(aString, mask); | |
388 } | |
389 | |
390 NSString uppercaseString () | |
391 { | |
392 return invokeObjcSelf!(NSString, "uppercaseString"); | |
393 } | |
394 | |
395 NSString lowercaseString () | |
396 { | |
397 return invokeObjcSelf!(NSString, "lowercaseString"); | |
398 } | |
399 | |
400 NSString capitalizedString () | |
401 { | |
402 return invokeObjcSelf!(NSString, "capitalizedString"); | |
403 } | |
404 | |
405 NSString stringByTrimmingCharactersInSet (NSCharacterSet set) | |
406 { | |
407 return invokeObjcSelf!(NSString, "stringByTrimmingCharactersInSet:", NSCharacterSet)(set); | |
408 } | |
409 | |
410 NSString stringByPaddingToLength (NSUInteger newLength, NSString padString, NSUInteger padIndex) | |
411 { | |
412 return invokeObjcSelf!(NSString, "stringByPaddingToLength:withString:startingAtIndex:", NSUInteger, NSString, NSUInteger)(newLength, padString, padIndex); | |
413 } | |
414 | |
415 void getLineStart (NSUInteger* startPtr, NSUInteger* lineEndPtr, NSUInteger* contentsEndPtr, NSRange range) | |
416 { | |
417 return invokeObjcSelf!(void, "getLineStart:end:contentsEnd:forRange:", NSUInteger*, NSUInteger*, NSUInteger*, NSRange)(startPtr, lineEndPtr, contentsEndPtr, range); | |
418 } | |
419 | |
420 NSRange lineRangeForRange (NSRange range) | |
421 { | |
422 return invokeObjcSelf!(NSRange, "lineRangeForRange:", NSRange)(range); | |
423 } | |
424 | |
425 void getParagraphStart (NSUInteger* startPtr, NSUInteger* parEndPtr, NSUInteger* contentsEndPtr, NSRange range) | |
426 { | |
427 return invokeObjcSelf!(void, "getParagraphStart:end:contentsEnd:forRange:", NSUInteger*, NSUInteger*, NSUInteger*, NSRange)(startPtr, parEndPtr, contentsEndPtr, range); | |
428 } | |
429 | |
430 NSRange paragraphRangeForRange (NSRange range) | |
431 { | |
432 return invokeObjcSelf!(NSRange, "paragraphRangeForRange:", NSRange)(range); | |
433 } | |
434 | |
435 NSString description () | |
436 { | |
437 return invokeObjcSelf!(NSString, "description"); | |
438 } | |
439 | |
440 NSUInteger hash () | |
441 { | |
442 return invokeObjcSelf!(NSUInteger, "hash"); | |
443 } | |
444 | |
445 uint fastestEncoding () | |
446 { | |
447 return invokeObjcSelf!(uint, "fastestEncoding"); | |
448 } | |
449 | |
450 uint smallestEncoding () | |
451 { | |
452 return invokeObjcSelf!(uint, "smallestEncoding"); | |
453 } | |
454 | |
455 NSData dataUsingEncoding (uint encoding, bool lossy) | |
456 { | |
457 return invokeObjcSelf!(NSData, "dataUsingEncoding:allowLossyConversion:", uint, bool)(encoding, lossy); | |
458 } | |
459 | |
460 NSData dataUsingEncoding (uint encoding) | |
461 { | |
462 return invokeObjcSelf!(NSData, "dataUsingEncoding:", uint)(encoding); | |
463 } | |
464 | |
465 bool canBeConvertedToEncoding (uint encoding) | |
466 { | |
467 return invokeObjcSelf!(bool, "canBeConvertedToEncoding:", uint)(encoding); | |
468 } | |
469 | |
470 char* cStringUsingEncoding (uint encoding) | |
471 { | |
472 return invokeObjcSelf!(char*, "cStringUsingEncoding:", uint)(encoding); | |
473 } | |
474 | |
475 bool getCString (char* buffer, NSUInteger maxBufferCount, uint encoding) | |
476 { | |
477 return invokeObjcSelf!(bool, "getCString:maxLength:encoding:", char*, NSUInteger, uint)(buffer, maxBufferCount, encoding); | |
478 } | |
479 | |
480 bool getBytes (void* buffer, NSUInteger maxBufferCount, NSUInteger* usedBufferCount, uint encoding, uint options, NSRange range, NSRangePointer leftover) | |
481 { | |
482 return invokeObjcSelf!(bool, "getBytes:maxLength:usedLength:encoding:options:range:remainingRange:", void*, NSUInteger, NSUInteger*, uint, uint, NSRange, NSRangePointer)(buffer, maxBufferCount, usedBufferCount, encoding, options, range, leftover); | |
483 } | |
484 | |
485 NSUInteger maximumLengthOfBytesUsingEncoding (uint enc) | |
486 { | |
487 return invokeObjcSelf!(NSUInteger, "maximumLengthOfBytesUsingEncoding:", uint)(enc); | |
488 } | |
489 | |
490 NSUInteger lengthOfBytesUsingEncoding (uint enc) | |
491 { | |
492 return invokeObjcSelf!(NSUInteger, "lengthOfBytesUsingEncoding:", uint)(enc); | |
493 } | |
494 | |
495 NSString decomposedStringWithCanonicalMapping () | |
496 { | |
497 return invokeObjcSelf!(NSString, "decomposedStringWithCanonicalMapping"); | |
498 } | |
499 | |
500 NSString precomposedStringWithCanonicalMapping () | |
501 { | |
502 return invokeObjcSelf!(NSString, "precomposedStringWithCanonicalMapping"); | |
503 } | |
504 | |
505 NSString decomposedStringWithCompatibilityMapping () | |
506 { | |
507 return invokeObjcSelf!(NSString, "decomposedStringWithCompatibilityMapping"); | |
508 } | |
509 | |
510 NSString precomposedStringWithCompatibilityMapping () | |
511 { | |
512 return invokeObjcSelf!(NSString, "precomposedStringWithCompatibilityMapping"); | |
513 } | |
514 | |
515 NSString stringByFoldingWithOptions (uint options, NSLocale locale) | |
516 { | |
517 return invokeObjcSelf!(NSString, "stringByFoldingWithOptions:locale:", uint, NSLocale)(options, locale); | |
518 } | |
519 | |
520 NSString stringByReplacingOccurrencesOfString (NSString target, NSString replacement, uint options, NSRange searchRange) | |
521 { | |
522 return invokeObjcSelf!(NSString, "stringByReplacingOccurrencesOfString:withString:options:range:", NSString, NSString, uint, NSRange)(target, replacement, options, searchRange); | |
523 } | |
524 | |
525 NSString stringByReplacingOccurrencesOfString (NSString target, NSString replacement) | |
526 { | |
527 return invokeObjcSelf!(NSString, "stringByReplacingOccurrencesOfString:withString:", NSString, NSString)(target, replacement); | |
528 } | |
529 | |
530 NSString stringByReplacingCharactersInRange (NSRange range, NSString replacement) | |
531 { | |
532 return invokeObjcSelf!(NSString, "stringByReplacingCharactersInRange:withString:", NSRange, NSString)(range, replacement); | |
533 } | |
534 | |
535 char* UTF8String () | |
536 { | |
537 return invokeObjcSelf!(char*, "UTF8String"); | |
538 } | |
539 | |
540 static uint defaultCStringEncoding () | |
541 { | |
542 return invokeObjcSelfClass!(uint, "defaultCStringEncoding"); | |
543 } | |
544 | |
545 static NSStringEncoding* availableStringEncodings () | |
546 { | |
547 return invokeObjcSelfClass!(NSStringEncoding*, "availableStringEncodings"); | |
548 } | |
549 | |
550 static NSString localizedNameOfStringEncoding (uint encoding) | |
551 { | |
552 return invokeObjcSelfClass!(NSString, "localizedNameOfStringEncoding:", uint)(encoding); | |
553 } | |
554 | |
555 Object init () | |
556 { | |
557 return invokeObjcSelf!(Object, "init"); | |
558 } | |
559 | |
560 this () | |
561 { | |
562 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
563 id result = Bridge.invokeObjcMethod!(id, "init")(objcObject); | |
564 | |
565 if (result) | |
566 objcObject = ret; | |
567 | |
568 dObject = this; | |
569 } | |
570 | |
571 Object initWithCharactersNoCopy (unichar* characters, NSUInteger length, bool freeBuffer) | |
572 { | |
573 return invokeObjcSelf!(Object, "initWithCharactersNoCopy:length:freeWhenDone:", unichar*, NSUInteger, bool)(characters, length, freeBuffer); | |
574 } | |
575 | |
576 this (unichar* characters, NSUInteger length, bool freeBuffer) | |
577 { | |
578 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
579 id result = Bridge.invokeObjcMethod!(id, "initWithCharactersNoCopy:length:freeWhenDone:", unichar*, NSUInteger, bool)(objcObject, characters, length, freeBuffer); | |
580 | |
581 if (result) | |
582 objcObject = ret; | |
583 | |
584 dObject = this; | |
585 } | |
586 | |
587 Object initWithCharacters (unichar* characters, NSUInteger length) | |
588 { | |
589 return invokeObjcSelf!(Object, "initWithCharacters:length:", unichar*, NSUInteger)(characters, length); | |
590 } | |
591 | |
592 this (unichar* characters, NSUInteger length) | |
593 { | |
594 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
595 id result = Bridge.invokeObjcMethod!(id, "initWithCharacters:length:", unichar*, NSUInteger)(objcObject, characters, length); | |
596 | |
597 if (result) | |
598 objcObject = ret; | |
599 | |
600 dObject = this; | |
601 } | |
602 | |
603 Object initWithUTF8String (char* nullTerminatedCString) | |
604 { | |
605 return invokeObjcSelf!(Object, "initWithUTF8String:", char*)(nullTerminatedCString); | |
606 } | |
607 | |
608 this (char* nullTerminatedCString) | |
609 { | |
610 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
611 id result = Bridge.invokeObjcMethod!(id, "initWithUTF8String:", char*)(objcObject, nullTerminatedCString); | |
612 | |
613 if (result) | |
614 objcObject = ret; | |
615 | |
616 dObject = this; | |
617 } | |
618 | |
619 Object initWithString (NSString aString) | |
620 { | |
621 return invokeObjcSelf!(Object, "initWithString:", NSString)(aString); | |
622 } | |
623 | |
624 this (NSString aString) | |
625 { | |
626 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
627 id result = Bridge.invokeObjcMethod!(id, "initWithString:", NSString)(objcObject, aString); | |
628 | |
629 if (result) | |
630 objcObject = ret; | |
631 | |
632 dObject = this; | |
633 } | |
634 | |
635 Object initWithFormat (NSString initWithFormat, ...) | |
636 { | |
637 return invokeObjcSelf!(Object, "initWithFormat:", NSString)(initWithFormat); | |
638 } | |
639 | |
640 this (NSString initWithFormat, ...) | |
641 { | |
642 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
643 id result = Bridge.invokeObjcMethod!(id, "initWithFormat:", NSString)(objcObject, initWithFormat); | |
644 | |
645 if (result) | |
646 objcObject = ret; | |
647 | |
648 dObject = this; | |
649 } | |
650 | |
651 Object initWithFormat (NSString format, char* argList) | |
652 { | |
653 return invokeObjcSelf!(Object, "initWithFormat:arguments:", NSString, char*)(format, argList); | |
654 } | |
655 | |
656 this (NSString format, char* argList) | |
657 { | |
658 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
659 id result = Bridge.invokeObjcMethod!(id, "initWithFormat:arguments:", NSString, char*)(objcObject, format, argList); | |
660 | |
661 if (result) | |
662 objcObject = ret; | |
663 | |
664 dObject = this; | |
665 } | |
666 | |
667 Object initWithFormat (NSString format, Object locale, ...) | |
668 { | |
669 return invokeObjcSelf!(Object, "initWithFormat:locale:", NSString, Object)(format, locale); | |
670 } | |
671 | |
672 this (NSString format, Object locale, ...) | |
673 { | |
674 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
675 id result = Bridge.invokeObjcMethod!(id, "initWithFormat:locale:", NSString, Object)(objcObject, format, locale); | |
676 | |
677 if (result) | |
678 objcObject = ret; | |
679 | |
680 dObject = this; | |
681 } | |
682 | |
683 Object initWithFormat (NSString format, Object locale, char* argList) | |
684 { | |
685 return invokeObjcSelf!(Object, "initWithFormat:locale:arguments:", NSString, Object, char*)(format, locale, argList); | |
686 } | |
687 | |
688 this (NSString format, Object locale, char* argList) | |
689 { | |
690 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
691 id result = Bridge.invokeObjcMethod!(id, "initWithFormat:locale:arguments:", NSString, Object, char*)(objcObject, format, locale, argList); | |
692 | |
693 if (result) | |
694 objcObject = ret; | |
695 | |
696 dObject = this; | |
697 } | |
698 | |
699 Object initWithData (NSData data, uint encoding) | |
700 { | |
701 return invokeObjcSelf!(Object, "initWithData:encoding:", NSData, uint)(data, encoding); | |
702 } | |
703 | |
704 this (NSData data, uint encoding) | |
705 { | |
706 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
707 id result = Bridge.invokeObjcMethod!(id, "initWithData:encoding:", NSData, uint)(objcObject, data, encoding); | |
708 | |
709 if (result) | |
710 objcObject = ret; | |
711 | |
712 dObject = this; | |
713 } | |
714 | |
715 Object initWithBytes (void* bytes, NSUInteger len, uint encoding) | |
716 { | |
717 return invokeObjcSelf!(Object, "initWithBytes:length:encoding:", void*, NSUInteger, uint)(bytes, len, encoding); | |
718 } | |
719 | |
720 this (void* bytes, NSUInteger len, uint encoding) | |
721 { | |
722 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
723 id result = Bridge.invokeObjcMethod!(id, "initWithBytes:length:encoding:", void*, NSUInteger, uint)(objcObject, bytes, len, encoding); | |
724 | |
725 if (result) | |
726 objcObject = ret; | |
727 | |
728 dObject = this; | |
729 } | |
730 | |
731 Object initWithBytesNoCopy (void* bytes, NSUInteger len, uint encoding, bool freeBuffer) | |
732 { | |
733 return invokeObjcSelf!(Object, "initWithBytesNoCopy:length:encoding:freeWhenDone:", void*, NSUInteger, uint, bool)(bytes, len, encoding, freeBuffer); | |
734 } | |
735 | |
736 this (void* bytes, NSUInteger len, uint encoding, bool freeBuffer) | |
737 { | |
738 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
739 id result = Bridge.invokeObjcMethod!(id, "initWithBytesNoCopy:length:encoding:freeWhenDone:", void*, NSUInteger, uint, bool)(objcObject, bytes, len, encoding, freeBuffer); | |
740 | |
741 if (result) | |
742 objcObject = ret; | |
743 | |
744 dObject = this; | |
745 } | |
746 | |
747 static Object string () | |
748 { | |
749 return invokeObjcSelfClass!(Object, "string"); | |
750 } | |
751 | |
752 static Object stringWithString (NSString string) | |
753 { | |
754 return invokeObjcSelfClass!(Object, "stringWithString:", NSString)(string); | |
755 } | |
756 | |
757 static Object stringWithCharacters (unichar* characters, NSUInteger length) | |
758 { | |
759 return invokeObjcSelfClass!(Object, "stringWithCharacters:length:", unichar*, NSUInteger)(characters, length); | |
760 } | |
761 | |
762 static Object stringWithUTF8String (char* nullTerminatedCString) | |
763 { | |
764 return invokeObjcSelfClass!(Object, "stringWithUTF8String:", char*)(nullTerminatedCString); | |
765 } | |
766 | |
767 static Object stringWithFormat (NSString stringWithFormat, ...) | |
768 { | |
769 return invokeObjcSelfClass!(Object, "stringWithFormat:", NSString)(stringWithFormat); | |
770 } | |
771 | |
772 static Object localizedStringWithFormat (NSString localizedStringWithFormat, ...) | |
773 { | |
774 return invokeObjcSelfClass!(Object, "localizedStringWithFormat:", NSString)(localizedStringWithFormat); | |
775 } | |
776 | |
777 Object initWithCString (char* nullTerminatedCString, uint encoding) | |
778 { | |
779 return invokeObjcSelf!(Object, "initWithCString:encoding:", char*, uint)(nullTerminatedCString, encoding); | |
780 } | |
781 | |
782 this (char* nullTerminatedCString, uint encoding) | |
783 { | |
784 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
785 id result = Bridge.invokeObjcMethod!(id, "initWithCString:encoding:", char*, uint)(objcObject, nullTerminatedCString, encoding); | |
786 | |
787 if (result) | |
788 objcObject = ret; | |
789 | |
790 dObject = this; | |
791 } | |
792 | |
793 static Object stringWithCString (char* cString, uint enc) | |
794 { | |
795 return invokeObjcSelfClass!(Object, "stringWithCString:encoding:", char*, uint)(cString, enc); | |
796 } | |
797 | |
798 Object initWithContentsOfURL (NSURL url, uint enc, NSError** error) | |
799 { | |
800 return invokeObjcSelf!(Object, "initWithContentsOfURL:encoding:error:", NSURL, uint, NSError**)(url, enc, error); | |
801 } | |
802 | |
803 this (NSURL url, uint enc, NSError** error) | |
804 { | |
805 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
806 id result = Bridge.invokeObjcMethod!(id, "initWithContentsOfURL:encoding:error:", NSURL, uint, NSError**)(objcObject, url, enc, error); | |
807 | |
808 if (result) | |
809 objcObject = ret; | |
810 | |
811 dObject = this; | |
812 } | |
813 | |
814 Object initWithContentsOfFile (NSString path, uint enc, NSError** error) | |
815 { | |
816 return invokeObjcSelf!(Object, "initWithContentsOfFile:encoding:error:", NSString, uint, NSError**)(path, enc, error); | |
817 } | |
818 | |
819 this (NSString path, uint enc, NSError** error) | |
820 { | |
821 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
822 id result = Bridge.invokeObjcMethod!(id, "initWithContentsOfFile:encoding:error:", NSString, uint, NSError**)(objcObject, path, enc, error); | |
823 | |
824 if (result) | |
825 objcObject = ret; | |
826 | |
827 dObject = this; | |
828 } | |
829 | |
830 static Object stringWithContentsOfURL (NSURL url, uint enc, NSError** error) | |
831 { | |
832 return invokeObjcSelfClass!(Object, "stringWithContentsOfURL:encoding:error:", NSURL, uint, NSError**)(url, enc, error); | |
833 } | |
834 | |
835 static Object stringWithContentsOfFile (NSString path, uint enc, NSError** error) | |
836 { | |
837 return invokeObjcSelfClass!(Object, "stringWithContentsOfFile:encoding:error:", NSString, uint, NSError**)(path, enc, error); | |
838 } | |
839 | |
840 Object initWithContentsOfURL (NSURL url, NSStringEncoding* enc, NSError** error) | |
841 { | |
842 return invokeObjcSelf!(Object, "initWithContentsOfURL:usedEncoding:error:", NSURL, NSStringEncoding*, NSError**)(url, enc, error); | |
843 } | |
844 | |
845 this (NSURL url, NSStringEncoding* enc, NSError** error) | |
846 { | |
847 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
848 id result = Bridge.invokeObjcMethod!(id, "initWithContentsOfURL:usedEncoding:error:", NSURL, NSStringEncoding*, NSError**)(objcObject, url, enc, error); | |
849 | |
850 if (result) | |
851 objcObject = ret; | |
852 | |
853 dObject = this; | |
854 } | |
855 | |
856 Object initWithContentsOfFile (NSString path, NSStringEncoding* enc, NSError** error) | |
857 { | |
858 return invokeObjcSelf!(Object, "initWithContentsOfFile:usedEncoding:error:", NSString, NSStringEncoding*, NSError**)(path, enc, error); | |
859 } | |
860 | |
861 this (NSString path, NSStringEncoding* enc, NSError** error) | |
862 { | |
863 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
864 id result = Bridge.invokeObjcMethod!(id, "initWithContentsOfFile:usedEncoding:error:", NSString, NSStringEncoding*, NSError**)(objcObject, path, enc, error); | |
865 | |
866 if (result) | |
867 objcObject = ret; | |
868 | |
869 dObject = this; | |
870 } | |
871 | |
872 static Object stringWithContentsOfURL (NSURL url, NSStringEncoding* enc, NSError** error) | |
873 { | |
874 return invokeObjcSelfClass!(Object, "stringWithContentsOfURL:usedEncoding:error:", NSURL, NSStringEncoding*, NSError**)(url, enc, error); | |
875 } | |
876 | |
877 static Object stringWithContentsOfFile (NSString path, NSStringEncoding* enc, NSError** error) | |
878 { | |
879 return invokeObjcSelfClass!(Object, "stringWithContentsOfFile:usedEncoding:error:", NSString, NSStringEncoding*, NSError**)(path, enc, error); | |
880 } | |
881 | |
882 bool writeToURL (NSURL url, bool useAuxiliaryFile, uint enc, NSError** error) | |
883 { | |
884 return invokeObjcSelf!(bool, "writeToURL:atomically:encoding:error:", NSURL, bool, uint, NSError**)(url, useAuxiliaryFile, enc, error); | |
885 } | |
886 | |
887 bool writeToFile (NSString path, bool useAuxiliaryFile, uint enc, NSError** error) | |
888 { | |
889 return invokeObjcSelf!(bool, "writeToFile:atomically:encoding:error:", NSString, bool, uint, NSError**)(path, useAuxiliaryFile, enc, error); | |
890 } | |
891 } | |
892 | |
893 template TNSStringDeprecated () | |
894 { | |
895 char* cString () | |
896 { | |
897 return invokeObjcSelf!(char*, "cString"); | |
898 } | |
899 | |
900 char* lossyCString () | |
901 { | |
902 return invokeObjcSelf!(char*, "lossyCString"); | |
903 } | |
904 | |
905 NSUInteger cStringLength () | |
906 { | |
907 return invokeObjcSelf!(NSUInteger, "cStringLength"); | |
908 } | |
909 | |
910 void getCString (char* bytes) | |
911 { | |
912 return invokeObjcSelf!(void, "getCString:", char*)(bytes); | |
913 } | |
914 | |
915 void getCString (char* bytes, NSUInteger maxLength) | |
916 { | |
917 return invokeObjcSelf!(void, "getCString:maxLength:", char*, NSUInteger)(bytes, maxLength); | |
918 } | |
919 | |
920 void getCString (char* bytes, NSUInteger maxLength, NSRange aRange, NSRangePointer leftoverRange) | |
921 { | |
922 return invokeObjcSelf!(void, "getCString:maxLength:range:remainingRange:", char*, NSUInteger, NSRange, NSRangePointer)(bytes, maxLength, aRange, leftoverRange); | |
923 } | |
924 | |
925 bool writeToFile (NSString path, bool useAuxiliaryFile) | |
926 { | |
927 return invokeObjcSelf!(bool, "writeToFile:atomically:", NSString, bool)(path, useAuxiliaryFile); | |
928 } | |
929 | |
930 bool writeToURL (NSURL url, bool atomically) | |
931 { | |
932 return invokeObjcSelf!(bool, "writeToURL:atomically:", NSURL, bool)(url, atomically); | |
933 } | |
934 | |
935 Object initWithContentsOfFile (NSString path) | |
936 { | |
937 return invokeObjcSelf!(Object, "initWithContentsOfFile:", NSString)(path); | |
938 } | |
939 | |
940 this (NSString path) | |
941 { | |
942 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
943 id result = Bridge.invokeObjcMethod!(id, "initWithContentsOfFile:", NSString)(objcObject, path); | |
944 | |
945 if (result) | |
946 objcObject = ret; | |
947 | |
948 dObject = this; | |
949 } | |
950 | |
951 Object initWithContentsOfURL (NSURL url) | |
952 { | |
953 return invokeObjcSelf!(Object, "initWithContentsOfURL:", NSURL)(url); | |
954 } | |
955 | |
956 this (NSURL url) | |
957 { | |
958 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
959 id result = Bridge.invokeObjcMethod!(id, "initWithContentsOfURL:", NSURL)(objcObject, url); | |
960 | |
961 if (result) | |
962 objcObject = ret; | |
963 | |
964 dObject = this; | |
965 } | |
966 | |
967 static Object stringWithContentsOfFile (NSString path) | |
968 { | |
969 return invokeObjcSelfClass!(Object, "stringWithContentsOfFile:", NSString)(path); | |
970 } | |
971 | |
972 static Object stringWithContentsOfURL (NSURL url) | |
973 { | |
974 return invokeObjcSelfClass!(Object, "stringWithContentsOfURL:", NSURL)(url); | |
975 } | |
976 | |
977 Object initWithCStringNoCopy (char* bytes, NSUInteger length, bool freeBuffer) | |
978 { | |
979 return invokeObjcSelf!(Object, "initWithCStringNoCopy:length:freeWhenDone:", char*, NSUInteger, bool)(bytes, length, freeBuffer); | |
980 } | |
981 | |
982 this (char* bytes, NSUInteger length, bool freeBuffer) | |
983 { | |
984 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
985 id result = Bridge.invokeObjcMethod!(id, "initWithCStringNoCopy:length:freeWhenDone:", char*, NSUInteger, bool)(objcObject, bytes, length, freeBuffer); | |
986 | |
987 if (result) | |
988 objcObject = ret; | |
989 | |
990 dObject = this; | |
991 } | |
992 | |
993 Object initWithCString (char* bytes, NSUInteger length) | |
994 { | |
995 return invokeObjcSelf!(Object, "initWithCString:length:", char*, NSUInteger)(bytes, length); | |
996 } | |
997 | |
998 this (char* bytes, NSUInteger length) | |
999 { | |
1000 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
1001 id result = Bridge.invokeObjcMethod!(id, "initWithCString:length:", char*, NSUInteger)(objcObject, bytes, length); | |
1002 | |
1003 if (result) | |
1004 objcObject = ret; | |
1005 | |
1006 dObject = this; | |
1007 } | |
1008 | |
1009 Object initWithCString (char* bytes) | |
1010 { | |
1011 return invokeObjcSelf!(Object, "initWithCString:", char*)(bytes); | |
1012 } | |
1013 | |
1014 this (char* bytes) | |
1015 { | |
1016 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
1017 id result = Bridge.invokeObjcMethod!(id, "initWithCString:", char*)(objcObject, bytes); | |
1018 | |
1019 if (result) | |
1020 objcObject = ret; | |
1021 | |
1022 dObject = this; | |
1023 } | |
1024 | |
1025 static Object stringWithCString (char* bytes, NSUInteger length) | |
1026 { | |
1027 return invokeObjcSelfClass!(Object, "stringWithCString:length:", char*, NSUInteger)(bytes, length); | |
1028 } | |
1029 | |
1030 static Object stringWithCString (char* bytes) | |
1031 { | |
1032 return invokeObjcSelfClass!(Object, "stringWithCString:", char*)(bytes); | |
1033 } | |
1034 } | |
1035 |