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