annotate org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/mozilla/nsEmbedString.d @ 48:ddbfe84d86df

[swt lin] versioned imports
author Frank Benoit <benoit@tionex.de>
date Fri, 27 Mar 2009 12:05:20 +0100
parents f713da8bc051
children 7a2dd761a8b2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 module org.eclipse.swt.internal.mozilla.nsEmbedString;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 import java.lang.all;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
5 version(Tango){
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 import Utf = tango.text.convert.Utf;
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
7 } else { // Phobos
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
8 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 import org.eclipse.swt.internal.mozilla.Common;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 import org.eclipse.swt.internal.mozilla.nsStringAPI;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 import XPCOM = org.eclipse.swt.internal.mozilla.XPCOM;
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14 scope class nsEmbedString
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 {
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
16 this(wchar[] s)
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
17 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
18 nsresult result;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
19 result = NS_StringContainerInit2(&str, s.ptr, s.length, 0);
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
20 if (XPCOM.NS_FAILED(result))
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
21 throw new Exception("Init string container fail");
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
22 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
24 this()
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
25 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
26 nsresult result;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
27 result = NS_StringContainerInit(&str);
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
28 if (XPCOM.NS_FAILED(result))
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
29 throw new Exception("Init string container fail");
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
30 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
32 nsAString* opCast()
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
33 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
34 return cast(nsAString*)&str;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
35 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
37 wchar[] toString16()
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
38 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
39 wchar* buffer = null;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
40 PRBool terminated;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
41 uint len = NS_StringGetData(cast(nsAString*)&str, &buffer, &terminated);
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
42 return buffer[0 .. len].dup;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
43 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 char[] toString()
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 {
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 return Utf.toString(this.toString16());
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 }
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 ~this()
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
50 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
51 NS_StringContainerFinish(&str);
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
52 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 private:
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
54 nsStringContainer str;
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 }
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 scope class nsEmbedCString
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 {
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
60 this(char[] s)
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
61 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
62 nsresult result;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
63 result = NS_CStringContainerInit2(&str, s.ptr, s.length, 0);
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
64 if (XPCOM.NS_FAILED(result))
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
65 throw new Exception("Init string container fail");
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
66 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
68 this()
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
69 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
70 nsresult result;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
71 result = NS_CStringContainerInit(&str);
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
72 if (XPCOM.NS_FAILED(result))
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
73 throw new Exception("Init string container fail");
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
74 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
76 nsACString* opCast()
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
77 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
78 return cast(nsACString*)&str;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
79 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
81 char[] toString()
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
82 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
83 char* buffer = null;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
84 PRBool terminated;
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
85 uint len = NS_CStringGetData(cast(nsACString*)&str, &buffer, &terminated);
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86 return buffer[0 .. len].dup;
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
87 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
89 ~this()
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
90 {
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
91 NS_CStringContainerFinish(&str);
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
92 }
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 private:
48
ddbfe84d86df [swt lin] versioned imports
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
94 nsCStringContainer str;
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 }
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96