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