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 }