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