|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #ifndef mozilla_XPCOM_h |
|
6 #define mozilla_XPCOM_h |
|
7 |
|
8 // NOTE: the following headers are sorted topologically, not alphabetically. |
|
9 // Do not reorder them without review from bsmedberg. |
|
10 |
|
11 // system headers required by XPCOM headers |
|
12 |
|
13 #include <string.h> |
|
14 |
|
15 // core headers required by pretty much everything else |
|
16 |
|
17 #include "nscore.h" |
|
18 |
|
19 #include "nsXPCOMCID.h" |
|
20 #include "nsXPCOM.h" |
|
21 |
|
22 #include "nsError.h" |
|
23 #include "nsDebug.h" |
|
24 #include "nsMemory.h" |
|
25 |
|
26 #include "nsID.h" |
|
27 |
|
28 #include "nsISupports.h" |
|
29 |
|
30 #include "nsTArray.h" |
|
31 #include "nsTWeakRef.h" |
|
32 |
|
33 #include "nsCOMPtr.h" |
|
34 #include "nsCOMArray.h" |
|
35 |
|
36 #ifndef MOZILLA_INTERNAL_API |
|
37 #include "nsStringAPI.h" |
|
38 #else |
|
39 #include "nsString.h" |
|
40 #include "nsReadableUtils.h" |
|
41 #include "nsNativeCharsetUtils.h" |
|
42 #endif |
|
43 |
|
44 #include "nsISupportsUtils.h" |
|
45 #include "nsISupportsImpl.h" |
|
46 |
|
47 // core data structures |
|
48 |
|
49 #include "nsTHashtable.h" |
|
50 #include "nsHashKeys.h" |
|
51 #include "nsBaseHashtable.h" |
|
52 #include "nsDataHashtable.h" |
|
53 #include "nsInterfaceHashtable.h" |
|
54 #include "nsClassHashtable.h" |
|
55 #include "nsRefPtrHashtable.h" |
|
56 |
|
57 // interfaces that inherit directly from nsISupports |
|
58 |
|
59 #include "nsIArray.h" |
|
60 #include "nsIAtom.h" |
|
61 #include "nsIAtomService.h" |
|
62 #include "nsICategoryManager.h" |
|
63 #include "nsIClassInfo.h" |
|
64 #include "nsICollection.h" |
|
65 #include "nsIComponentManager.h" |
|
66 #include "nsIConsoleListener.h" |
|
67 #include "nsIConsoleMessage.h" |
|
68 #include "nsIConsoleService.h" |
|
69 #include "nsIDebug.h" |
|
70 #include "nsIDirectoryEnumerator.h" |
|
71 #include "nsIEnvironment.h" |
|
72 #include "nsIErrorService.h" |
|
73 #include "nsIEventTarget.h" |
|
74 #include "nsIException.h" |
|
75 #include "nsIFactory.h" |
|
76 #include "nsIFile.h" |
|
77 #include "nsIHashable.h" |
|
78 #include "nsIINIParser.h" |
|
79 #include "nsIInputStream.h" |
|
80 #include "nsIInterfaceRequestor.h" |
|
81 #include "nsILineInputStream.h" |
|
82 #include "nsIMemory.h" |
|
83 #include "nsIMutable.h" |
|
84 #include "nsIObserver.h" |
|
85 #include "nsIObserverService.h" |
|
86 #include "nsIOutputStream.h" |
|
87 #include "nsIProcess.h" |
|
88 #include "nsIProgrammingLanguage.h" |
|
89 #include "nsIProperties.h" |
|
90 #include "nsIPropertyBag2.h" |
|
91 #include "nsIRunnable.h" |
|
92 #include "nsISeekableStream.h" |
|
93 #include "nsISerializable.h" |
|
94 #include "nsIServiceManager.h" |
|
95 #include "nsIScriptableInputStream.h" |
|
96 #include "nsISimpleEnumerator.h" |
|
97 #include "nsISimpleUnicharStreamFactory.h" |
|
98 #include "nsIStreamBufferAccess.h" |
|
99 #include "nsIStringEnumerator.h" |
|
100 #include "nsIStorageStream.h" |
|
101 #include "nsISupportsIterators.h" |
|
102 #include "nsISupportsPrimitives.h" |
|
103 #include "nsISupportsPriority.h" |
|
104 #include "nsIThreadManager.h" |
|
105 #include "nsITimer.h" |
|
106 #include "nsIUUIDGenerator.h" |
|
107 #include "nsIUnicharInputStream.h" |
|
108 #include "nsIUnicharOutputStream.h" |
|
109 #include "nsIUnicharLineInputStream.h" |
|
110 #include "nsIVariant.h" |
|
111 #include "nsIVersionComparator.h" |
|
112 #include "nsIWritablePropertyBag2.h" |
|
113 |
|
114 // interfaces that include something above |
|
115 |
|
116 #include "nsIAsyncInputStream.h" |
|
117 #include "nsIAsyncOutputStream.h" |
|
118 #include "nsIBinaryInputStream.h" |
|
119 #include "nsIBinaryOutputStream.h" |
|
120 #include "nsIConverterInputStream.h" |
|
121 #include "nsIConverterOutputStream.h" |
|
122 #include "nsIDebug2.h" |
|
123 #include "nsIInputStreamTee.h" |
|
124 #include "nsIMultiplexInputStream.h" |
|
125 #include "nsIMutableArray.h" |
|
126 #include "nsIPersistentProperties2.h" |
|
127 #include "nsIStringStream.h" |
|
128 #include "nsIThread.h" |
|
129 #include "nsIThreadPool.h" |
|
130 |
|
131 // interfaces that include something above |
|
132 |
|
133 #include "nsILocalFileWin.h" |
|
134 #include "nsIObjectInputStream.h" |
|
135 #include "nsIObjectOutputStream.h" |
|
136 #include "nsIPipe.h" |
|
137 |
|
138 #ifdef MOZ_WIDGET_COCOA |
|
139 #include "nsILocalFileMac.h" |
|
140 #include "nsIMacUtils.h" |
|
141 #endif |
|
142 |
|
143 // xpcom/glue utility headers |
|
144 |
|
145 #include "nsComponentManagerUtils.h" |
|
146 #include "nsServiceManagerUtils.h" |
|
147 |
|
148 #include "nsIWeakReferenceUtils.h" |
|
149 #include "nsWeakReference.h" |
|
150 |
|
151 #include "nsArrayEnumerator.h" |
|
152 #include "nsArrayUtils.h" |
|
153 #include "nsCRTGlue.h" |
|
154 #include "nsCycleCollectionParticipant.h" |
|
155 #include "nsDeque.h" |
|
156 #include "nsEnumeratorUtils.h" |
|
157 #include "nsIClassInfoImpl.h" |
|
158 #include "mozilla/ModuleUtils.h" |
|
159 #include "nsIInterfaceRequestorUtils.h" |
|
160 #include "nsINIParser.h" |
|
161 #include "nsProxyRelease.h" |
|
162 #include "nsTObserverArray.h" |
|
163 #include "nsTextFormatter.h" |
|
164 #include "nsThreadUtils.h" |
|
165 #include "nsVersionComparator.h" |
|
166 #include "nsXPTCUtils.h" |
|
167 |
|
168 // xpcom/base utility headers |
|
169 |
|
170 #include "nsAgg.h" |
|
171 #include "nsAutoRef.h" |
|
172 #include "nsInterfaceRequestorAgg.h" |
|
173 |
|
174 // xpcom/io utility headers |
|
175 |
|
176 #include "nsAppDirectoryServiceDefs.h" |
|
177 #include "nsDirectoryServiceDefs.h" |
|
178 #include "nsDirectoryServiceUtils.h" |
|
179 |
|
180 #endif // mozilla_XPCOM_h |