Mercurial > projects > dwt2
annotate org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/mozilla/nsEmbedString.d @ 38:2e09b0e6857a
work on phobosfication
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 25 Mar 2009 11:18:25 +0100 |
parents | 950d84783eac |
children | 0ecb2b338560 |
rev | line source |
---|---|
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
1 module org.eclipse.swt.internal.mozilla.nsEmbedString; |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
2 |
9 | 3 import java.lang.all; |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
4 |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
5 import org.eclipse.swt.internal.mozilla.Common; |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
6 import org.eclipse.swt.internal.mozilla.nsStringAPI; |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
7 import XPCOM = org.eclipse.swt.internal.mozilla.XPCOM; |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
8 |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
9 scope class nsEmbedString |
38 | 10 { |
11 this(wchar[] s) | |
12 { | |
13 nsresult result; | |
14 result = NS_StringContainerInit2(&str, s.ptr, s.length, 0); | |
15 if (XPCOM.NS_FAILED(result)) | |
16 throw new Exception("Init string container fail"); | |
17 } | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
18 |
38 | 19 this() |
20 { | |
21 nsresult result; | |
22 result = NS_StringContainerInit(&str); | |
23 if (XPCOM.NS_FAILED(result)) | |
24 throw new Exception("Init string container fail"); | |
25 } | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
26 |
38 | 27 nsAString* opCast() |
28 { | |
29 return cast(nsAString*)&str; | |
30 } | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
31 |
38 | 32 wchar[] toString16() |
33 { | |
34 wchar* buffer = null; | |
35 PRBool terminated; | |
36 uint len = NS_StringGetData(cast(nsAString*)&str, &buffer, &terminated); | |
37 return buffer[0 .. len].dup; | |
38 } | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
39 |
38 | 40 override String toString() |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
41 { |
9 | 42 return String_valueOf(this.toString16()); |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
43 } |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
44 ~this() |
38 | 45 { |
46 NS_StringContainerFinish(&str); | |
47 } | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
48 private: |
38 | 49 nsStringContainer str; |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
50 } |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
51 |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
52 |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
53 scope class nsEmbedCString |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
54 { |
38 | 55 this(char[] s) |
56 { | |
57 nsresult result; | |
58 result = NS_CStringContainerInit2(&str, s.ptr, s.length, 0); | |
59 if (XPCOM.NS_FAILED(result)) | |
60 throw new Exception("Init string container fail"); | |
61 } | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
62 |
38 | 63 this() |
64 { | |
65 nsresult result; | |
66 result = NS_CStringContainerInit(&str); | |
67 if (XPCOM.NS_FAILED(result)) | |
68 throw new Exception("Init string container fail"); | |
69 } | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
70 |
38 | 71 nsACString* opCast() |
72 { | |
73 return cast(nsACString*)&str; | |
74 } | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
75 |
38 | 76 override String toString() |
77 { | |
78 char* buffer = null; | |
79 PRBool terminated; | |
80 uint len = NS_CStringGetData(cast(nsACString*)&str, &buffer, &terminated); | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
81 return buffer[0 .. len].dup; |
38 | 82 } |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
83 |
38 | 84 ~this() |
85 { | |
86 NS_CStringContainerFinish(&str); | |
87 } | |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
88 private: |
38 | 89 nsCStringContainer str; |
0
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
90 } |
6dd524f61e62
add dwt win and basic java stuff
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
91 |