comparison dwt/internal/mozilla/nsStringAPI.d @ 291:b0bd1789106b

fix: added wrong directory :(
author John Reimer<terminal.node@gmail.com>
date Wed, 06 Aug 2008 18:29:44 -0700
parents
children 3dfa75c74ed2
comparison
equal deleted inserted replaced
290:4c1340edee0d 291:b0bd1789106b
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 static wchar[] getString16( nsAString* str )
84 {
85 wchar* buffer = null;
86 PRBool terminated;
87 uint len = NS_StringGetData(str, &buffer, &terminated);
88 return buffer[0 .. len].dup;
89 }
90
91 private:
92 void *v;
93 }
94
95 struct nsACString
96 {
97 static nsACString opCall(char[] s)
98 {
99 nsACString result;
100 NS_CStringSetData(&result, cast(char*)s, uint.max);
101 return result;
102 }
103
104 private:
105 void *v;
106 }
107
108 /******************************************************************************
109
110 ******************************************************************************/
111
112 struct nsStringContainer// : public nsAString
113 {
114 private:
115 void* v;
116 void* d1;
117 uint d2;
118 void* d3;
119 }
120
121 struct nsCStringContainer// : public nsACString
122 {
123 private:
124 void* v;
125 void* d1;
126 uint d2;
127 void* d3;
128 }
129
130 /******************************************************************************
131
132 ******************************************************************************/
133
134 // import mozilla.xpcom.nsDebug;
135
136 alias nsString_external nsString;
137 alias nsCString_external nsCString;
138 alias nsDependentString_external nsDependentString;
139 alias nsDependentCString_external nsDependentCString;
140 alias NS_ConvertASCIItoUTF16_external NS_ConvertASCIItoUTF16;
141 alias NS_ConvertUTF8toUTF16_external NS_ConvertUTF8toUTF16;
142 alias NS_ConvertUTF16toUTF8_external NS_ConvertUTF16toUTF8;
143 alias NS_LossyConvertUTF16toASCII_external NS_LossyConvertUTF16toASCII;
144 alias nsGetterCopies_external nsGetterCopies;
145 alias nsCGetterCopies_external nsCGetterCopies;
146 alias nsDependentSubstring_external nsDependentSubstring;
147 alias nsDependentCSubstring_external nsDependentCSubstring;
148
149 struct nsString_external{}
150 struct nsCString_external{}
151 struct nsDependentString_external{}
152 struct nsDependentCString_external{}
153 struct NS_ConvertASCIItoUTF16_external{}
154 struct NS_ConvertUTF8toUTF16_external{}
155 struct NS_ConvertUTF16toUTF8_external{}
156 struct NS_LossyConvertUTF16toASCII_external{}
157
158 /******************************************************************************
159
160 ******************************************************************************/
161
162 struct nsGetterCopies_external
163 {
164 private:
165 alias PRUnichar char_type;
166 nsString_external *mString;
167 char_type *mData;
168 }
169
170 struct nsCGetterCopies_external
171 {
172 private:
173 alias char char_type;
174 nsCString_external *mString;
175 char_type *mData;
176 }
177
178 /******************************************************************************
179
180 ******************************************************************************/
181
182 struct nsDependentSubstring_external{}
183 struct nsDependentCSubstring_external{}
184
185 /******************************************************************************
186
187 ******************************************************************************/
188
189 PRUint32 strlen_PRUnichar ( PRUnichar* str )
190 {
191 PRUint32 len = 0;
192 if (str !is null)
193 while (*(lparg0++) != 0) len++;
194 ret len;
195 }