annotate dwt/internal/mozilla/nsStringAPI.d @ 327:b0d7eb5bd76c

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