comparison dwt/internal/cocoa/NSPointerFunctions.d @ 0:380af2bdd8e5

Upload of whole dwt tree
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sat, 09 Aug 2008 17:00:02 +0200
parents
children 8b48be5454ce
comparison
equal deleted inserted replaced
-1:000000000000 0:380af2bdd8e5
1 /*******************************************************************************
2 * Copyright (c) 2007 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM Corporation - initial API and implementation
10 *
11 * Port to the D Programming language:
12 * Jacob Carlborg <jacob.carlborg@gmail.com>
13 *******************************************************************************/
14 module dwt.internal.cocoa.NSPointerFunctions;
15
16 import dwt.internal.cocoa.NSInteger;
17 import dwt.internal.cocoa.NSObject;
18
19 /*alias NSUInteger NSPointerFunctionsOptions;*/
20
21 enum NSPointerFunctionsOptions : NSUInteger {
22 NSPointerFunctionsStrongMemory = (0 << 0),
23 NSPointerFunctionsZeroingWeakMemory = (1 << 0),
24 NSPointerFunctionsOpaqueMemory = (2 << 0),
25 NSPointerFunctionsMallocMemory = (3 << 0),
26 NSPointerFunctionsMachVirtualMemory = (4 << 0),
27 NSPointerFunctionsObjectPersonality = (0 << 8),
28 NSPointerFunctionsOpaquePersonality = (1 << 8),
29 NSPointerFunctionsObjectPointerPersonality = (2 << 8),
30 NSPointerFunctionsCStringPersonality = (3 << 8),
31 NSPointerFunctionsStructPersonality = (4 << 8),
32 NSPointerFunctionsIntegerPersonality = (5 << 8),
33 NSPointerFunctionsCopyIn = (1 << 16),
34 }
35
36 alias NSPointerFunctionsOptions.NSPointerFunctionsStrongMemory NSPointerFunctionsStrongMemory;
37 alias NSPointerFunctionsOptions.NSPointerFunctionsZeroingWeakMemory NSPointerFunctionsZeroingWeakMemory;
38 alias NSPointerFunctionsOptions.NSPointerFunctionsOpaqueMemory NSPointerFunctionsOpaqueMemory;
39 alias NSPointerFunctionsOptions.NSPointerFunctionsMallocMemory NSPointerFunctionsMallocMemory;
40 alias NSPointerFunctionsOptions.NSPointerFunctionsMachVirtualMemory NSPointerFunctionsMachVirtualMemory;
41 alias NSPointerFunctionsOptions.NSPointerFunctionsObjectPersonality NSPointerFunctionsObjectPersonality;
42 alias NSPointerFunctionsOptions.NSPointerFunctionsOpaquePersonality NSPointerFunctionsOpaquePersonality;
43 alias NSPointerFunctionsOptions.NSPointerFunctionsObjectPointerPersonality NSPointerFunctionsObjectPointerPersonality;
44 alias NSPointerFunctionsOptions.NSPointerFunctionsCStringPersonality NSPointerFunctionsCStringPersonality;
45 alias NSPointerFunctionsOptions.NSPointerFunctionsStructPersonality NSPointerFunctionsStructPersonality;
46 alias NSPointerFunctionsOptions.NSPointerFunctionsIntegerPersonality NSPointerFunctionsIntegerPersonality;
47 alias NSPointerFunctionsOptions.NSPointerFunctionsCopyIn NSPointerFunctionsCopyIn;
48
49 public class NSPointerFunctions : NSObject {
50
51 public this () {
52 super();
53 }
54
55 public this (objc.id id) {
56 super(id);
57 }
58
59 public NSPointerFunctions initWithOptions (NSPointerFunctionsOptions options) {
60 objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithOptions_1, options);
61 return result !is null ? this : null;
62 }
63
64 public static id pointerFunctionsWithOptions (NSPointerFunctionsOptions options) {
65 objc.id result = OS.objc_msgSend(OS.class_NSPointerFunctions, OS.sel_pointerFunctionsWithOptions_1, options);
66 return result !is null ? new id(result) : null;
67 }
68
69 //public void setUsesStrongWriteBarrier(bool ) {
70 // OS.objc_msgSend(this.id, OS.sel_setUsesStrongWriteBarrier_1, );
71 //}
72 //
73 //public void setUsesWeakReadAndWriteBarriers(bool ) {
74 // OS.objc_msgSend(this.id, OS.sel_setUsesWeakReadAndWriteBarriers_1, );
75 //}
76
77 public bool usesStrongWriteBarrier () {
78 return OS.objc_msgSend(this.id, OS.sel_usesStrongWriteBarrier) !is null;
79 }
80
81 public bool usesWeakReadAndWriteBarriers () {
82 return OS.objc_msgSend(this.id, OS.sel_usesWeakReadAndWriteBarriers) !is null;
83 }
84
85 }