Mercurial > projects > dwt-linux
comparison dwt/internal/mozilla/nsStringAPI.d @ 272:dd63eb078d7a
xpcom interfaces necessary for browser code -- source adapted from dxpcom project; these modules still need to be tested and then integrated into dwt browser.
author | John Reimer<terminal.node@gmail.com> |
---|---|
date | Fri, 18 Jul 2008 05:32:53 -0700 |
parents | |
children | 93409d9838c5 |
comparison
equal
deleted
inserted
replaced
271:d472fae79005 | 272:dd63eb078d7a |
---|---|
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 struct nsAString | |
72 { | |
73 static nsAString opCall(wchar[] s) | |
74 { | |
75 nsAString result; | |
76 NS_StringSetData(&result, cast(PRUnichar*)s, uint.max); | |
77 return result; | |
78 } | |
79 | |
80 private: | |
81 void *v; | |
82 } | |
83 | |
84 struct nsACString | |
85 { | |
86 static nsACString opCall(char[] s) | |
87 { | |
88 nsACString result; | |
89 NS_CStringSetData(&result, cast(char*)s, uint.max); | |
90 return result; | |
91 } | |
92 | |
93 private: | |
94 void *v; | |
95 } | |
96 | |
97 /****************************************************************************** | |
98 | |
99 ******************************************************************************/ | |
100 | |
101 struct nsStringContainer// : public nsAString | |
102 { | |
103 private: | |
104 void* v; | |
105 void* d1; | |
106 uint d2; | |
107 void* d3; | |
108 } | |
109 | |
110 struct nsCStringContainer// : public nsACString | |
111 { | |
112 private: | |
113 void* v; | |
114 void* d1; | |
115 uint d2; | |
116 void* d3; | |
117 } | |
118 | |
119 /****************************************************************************** | |
120 | |
121 ******************************************************************************/ | |
122 | |
123 // import mozilla.xpcom.nsDebug; | |
124 | |
125 alias nsString_external nsString; | |
126 alias nsCString_external nsCString; | |
127 alias nsDependentString_external nsDependentString; | |
128 alias nsDependentCString_external nsDependentCString; | |
129 alias NS_ConvertASCIItoUTF16_external NS_ConvertASCIItoUTF16; | |
130 alias NS_ConvertUTF8toUTF16_external NS_ConvertUTF8toUTF16; | |
131 alias NS_ConvertUTF16toUTF8_external NS_ConvertUTF16toUTF8; | |
132 alias NS_LossyConvertUTF16toASCII_external NS_LossyConvertUTF16toASCII; | |
133 alias nsGetterCopies_external nsGetterCopies; | |
134 alias nsCGetterCopies_external nsCGetterCopies; | |
135 alias nsDependentSubstring_external nsDependentSubstring; | |
136 alias nsDependentCSubstring_external nsDependentCSubstring; | |
137 | |
138 struct nsString_external{} | |
139 struct nsCString_external{} | |
140 struct nsDependentString_external{} | |
141 struct nsDependentCString_external{} | |
142 struct NS_ConvertASCIItoUTF16_external{} | |
143 struct NS_ConvertUTF8toUTF16_external{} | |
144 struct NS_ConvertUTF16toUTF8_external{} | |
145 struct NS_LossyConvertUTF16toASCII_external{} | |
146 | |
147 /****************************************************************************** | |
148 | |
149 ******************************************************************************/ | |
150 | |
151 struct nsGetterCopies_external | |
152 { | |
153 private: | |
154 alias PRUnichar char_type; | |
155 nsString_external *mString; | |
156 char_type *mData; | |
157 } | |
158 | |
159 struct nsCGetterCopies_external | |
160 { | |
161 private: | |
162 alias char char_type; | |
163 nsCString_external *mString; | |
164 char_type *mData; | |
165 } | |
166 | |
167 /****************************************************************************** | |
168 | |
169 ******************************************************************************/ | |
170 | |
171 struct nsDependentSubstring_external{} | |
172 struct nsDependentCSubstring_external{} | |
173 |