Mercurial > projects > dwt-win
annotate dwt/internal/mozilla/nsStringAPI.d @ 327:b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
author | John Reimer <terminal.node@gmail.com> |
---|---|
date | Fri, 02 Jan 2009 17:45:10 -0800 |
parents | |
children |
rev | line source |
---|---|
327
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
1 module dwt.internal.mozilla.nsStringAPI; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
2 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
3 import Utf = tango.text.convert.Utf; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
4 import dwt.internal.mozilla.Common; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
5 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
6 extern (System): |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
7 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
8 /****************************************************************************** |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
9 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
10 ******************************************************************************/ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
11 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
12 enum |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
13 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
14 NS_STRING_CONTAINER_INIT_DEPEND = 2, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
15 NS_STRING_CONTAINER_INIT_ADOPT = 4, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
16 NS_STRING_CONTAINER_INIT_SUBSTRING = 8, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
17 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
18 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
19 nsresult NS_StringContainerInit ( nsStringContainer *aContainer ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
20 nsresult NS_StringContainerInit2( nsStringContainer *aContainer, PRUnichar *aData, PRUint32 aDataLength, PRUint32 aFlags ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
21 void NS_StringContainerFinish(nsStringContainer *aContainer); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
22 PRUint32 NS_StringGetData(nsAString *aStr, PRUnichar **aData, PRBool *aTerminated); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
23 PRUint32 NS_StringGetMutableData(nsAString *aStr, PRUint32 aDataLength, PRUnichar **aData); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
24 PRUnichar * NS_StringCloneData(nsAString *aStr); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
25 nsresult NS_StringSetData(nsAString *aStr, PRUnichar *aData, PRUint32 aDataLength); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
26 nsresult NS_StringSetDataRange( nsAString *aStr, PRUint32 aCutOffset, PRUint32 aCutLength, PRUnichar *aData, PRUint32 aDataLength ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
27 nsresult NS_StringCopy(nsAString *aDestStr, nsAString *aSrcStr); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
28 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
29 /****************************************************************************** |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
30 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
31 ******************************************************************************/ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
32 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
33 enum |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
34 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
35 NS_CSTRING_CONTAINER_INIT_DEPEND = 2, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
36 NS_CSTRING_CONTAINER_INIT_ADOPT = 4, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
37 NS_CSTRING_CONTAINER_INIT_SUBSTRING = 8, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
38 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
39 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
40 nsresult NS_CStringContainerInit( nsCStringContainer *aContainer ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
41 nsresult NS_CStringContainerInit2( nsCStringContainer *aContainer, char *aData, PRUint32 aDataLength, PRUint32 aFlags ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
42 void NS_CStringContainerFinish( nsCStringContainer *aContainer ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
43 PRUint32 NS_CStringGetData( nsACString *aStr, char **aData, PRBool *aTerminated ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
44 PRUint32 NS_CStringGetMutableData( nsACString *aStr, PRUint32 aDataLength, char **aData ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
45 char * NS_CStringCloneData( nsACString *aStr); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
46 nsresult NS_CStringSetData( nsACString *aStr, char *aData, PRUint32 aDataLength ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
47 nsresult NS_CStringSetDataRange( nsACString *aStr, PRUint32 aCutOffset, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
48 PRUint32 aCutLength, char *aData, PRUint32 aDataLength ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
49 nsresult NS_CStringCopy( nsACString *aDestStr, nsACString *aSrcStr ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
50 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
51 /****************************************************************************** |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
52 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
53 ******************************************************************************/ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
54 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
55 enum nsCStringEncoding |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
56 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
57 NS_CSTRING_ENCODING_ASCII, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
58 NS_CSTRING_ENCODING_UTF8, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
59 NS_CSTRING_ENCODING_NATIVE_FILESYSTEM, |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
60 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
61 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
62 nsresult NS_CStringToUTF16( nsACString *aSource, int aSrcEncoding, nsAString *aDest ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
63 nsresult NS_UTF16ToCString( nsAString *aSource, int aDestEncoding, nsACString *aDest ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
64 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
65 /****************************************************************************** |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
66 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
67 ******************************************************************************/ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
68 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
69 alias nsAString nsAString_external; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
70 alias nsACString nsACString_external; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
71 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
72 //alias nsAString nsEmbedString; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
73 //alias nsACString nsEmbedCString; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
74 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
75 struct nsAString |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
76 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
77 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
78 static nsAString opCall(wchar[] s) |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
79 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
80 nsAString result; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
81 NS_StringSetData(&result, cast(PRUnichar*)s, uint.max); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
82 return result; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
83 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
84 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
85 static wchar[] toString16( nsAString* str ) |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
86 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
87 wchar* buffer = null; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
88 PRBool terminated; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
89 uint len = NS_StringGetData(str, &buffer, &terminated); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
90 return buffer[0 .. len].dup; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
91 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
92 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
93 static char[] toString( nsAString* str ) |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
94 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
95 return Utf.toString( nsAString.toString16( str ) ); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
96 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
97 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
98 private: |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
99 void *v; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
100 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
101 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
102 struct nsACString |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
103 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
104 /+ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
105 static nsACString opCall(char[] s) |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
106 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
107 nsACString result; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
108 NS_CStringSetData(&result, cast(char*)s, uint.max); |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
109 return result; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
110 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
111 +/ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
112 private: |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
113 void *v; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
114 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
115 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
116 /****************************************************************************** |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
117 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
118 ******************************************************************************/ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
119 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
120 struct nsStringContainer// : public nsAString |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
121 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
122 private: |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
123 void* v; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
124 void* d1; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
125 uint d2; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
126 void* d3; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
127 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
128 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
129 struct nsCStringContainer// : public nsACString |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
130 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
131 private: |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
132 void* v; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
133 void* d1; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
134 uint d2; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
135 void* d3; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
136 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
137 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
138 /****************************************************************************** |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
139 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
140 ******************************************************************************/ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
141 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
142 // import mozilla.xpcom.nsDebug; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
143 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
144 alias nsString_external nsString; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
145 alias nsCString_external nsCString; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
146 alias nsDependentString_external nsDependentString; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
147 alias nsDependentCString_external nsDependentCString; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
148 alias NS_ConvertASCIItoUTF16_external NS_ConvertASCIItoUTF16; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
149 alias NS_ConvertUTF8toUTF16_external NS_ConvertUTF8toUTF16; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
150 alias NS_ConvertUTF16toUTF8_external NS_ConvertUTF16toUTF8; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
151 alias NS_LossyConvertUTF16toASCII_external NS_LossyConvertUTF16toASCII; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
152 alias nsGetterCopies_external nsGetterCopies; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
153 alias nsCGetterCopies_external nsCGetterCopies; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
154 alias nsDependentSubstring_external nsDependentSubstring; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
155 alias nsDependentCSubstring_external nsDependentCSubstring; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
156 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
157 struct nsString_external{} |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
158 struct nsCString_external{} |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
159 struct nsDependentString_external{} |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
160 struct nsDependentCString_external{} |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
161 struct NS_ConvertASCIItoUTF16_external{} |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
162 struct NS_ConvertUTF8toUTF16_external{} |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
163 struct NS_ConvertUTF16toUTF8_external{} |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
164 struct NS_LossyConvertUTF16toASCII_external{} |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
165 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
166 /****************************************************************************** |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
167 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
168 ******************************************************************************/ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
169 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
170 struct nsGetterCopies_external |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
171 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
172 private: |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
173 alias PRUnichar char_type; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
174 nsString_external *mString; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
175 char_type *mData; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
176 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
177 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
178 struct nsCGetterCopies_external |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
179 { |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
180 private: |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
181 alias char char_type; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
182 nsCString_external *mString; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
183 char_type *mData; |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
184 } |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
185 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
186 /****************************************************************************** |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
187 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
188 ******************************************************************************/ |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
189 |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
190 struct nsDependentSubstring_external{} |
b0d7eb5bd76c
Adding Mozilla XPCOM interfaces from dwt-linux to dwt-win
John Reimer <terminal.node@gmail.com>
parents:
diff
changeset
|
191 struct nsDependentCSubstring_external{} |