michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef mozilla_XPCOM_h michael@0: #define mozilla_XPCOM_h michael@0: michael@0: // NOTE: the following headers are sorted topologically, not alphabetically. michael@0: // Do not reorder them without review from bsmedberg. michael@0: michael@0: // system headers required by XPCOM headers michael@0: michael@0: #include michael@0: michael@0: // core headers required by pretty much everything else michael@0: michael@0: #include "nscore.h" michael@0: michael@0: #include "nsXPCOMCID.h" michael@0: #include "nsXPCOM.h" michael@0: michael@0: #include "nsError.h" michael@0: #include "nsDebug.h" michael@0: #include "nsMemory.h" michael@0: michael@0: #include "nsID.h" michael@0: michael@0: #include "nsISupports.h" michael@0: michael@0: #include "nsTArray.h" michael@0: #include "nsTWeakRef.h" michael@0: michael@0: #include "nsCOMPtr.h" michael@0: #include "nsCOMArray.h" michael@0: michael@0: #ifndef MOZILLA_INTERNAL_API michael@0: #include "nsStringAPI.h" michael@0: #else michael@0: #include "nsString.h" michael@0: #include "nsReadableUtils.h" michael@0: #include "nsNativeCharsetUtils.h" michael@0: #endif michael@0: michael@0: #include "nsISupportsUtils.h" michael@0: #include "nsISupportsImpl.h" michael@0: michael@0: // core data structures michael@0: michael@0: #include "nsTHashtable.h" michael@0: #include "nsHashKeys.h" michael@0: #include "nsBaseHashtable.h" michael@0: #include "nsDataHashtable.h" michael@0: #include "nsInterfaceHashtable.h" michael@0: #include "nsClassHashtable.h" michael@0: #include "nsRefPtrHashtable.h" michael@0: michael@0: // interfaces that inherit directly from nsISupports michael@0: michael@0: #include "nsIArray.h" michael@0: #include "nsIAtom.h" michael@0: #include "nsIAtomService.h" michael@0: #include "nsICategoryManager.h" michael@0: #include "nsIClassInfo.h" michael@0: #include "nsICollection.h" michael@0: #include "nsIComponentManager.h" michael@0: #include "nsIConsoleListener.h" michael@0: #include "nsIConsoleMessage.h" michael@0: #include "nsIConsoleService.h" michael@0: #include "nsIDebug.h" michael@0: #include "nsIDirectoryEnumerator.h" michael@0: #include "nsIEnvironment.h" michael@0: #include "nsIErrorService.h" michael@0: #include "nsIEventTarget.h" michael@0: #include "nsIException.h" michael@0: #include "nsIFactory.h" michael@0: #include "nsIFile.h" michael@0: #include "nsIHashable.h" michael@0: #include "nsIINIParser.h" michael@0: #include "nsIInputStream.h" michael@0: #include "nsIInterfaceRequestor.h" michael@0: #include "nsILineInputStream.h" michael@0: #include "nsIMemory.h" michael@0: #include "nsIMutable.h" michael@0: #include "nsIObserver.h" michael@0: #include "nsIObserverService.h" michael@0: #include "nsIOutputStream.h" michael@0: #include "nsIProcess.h" michael@0: #include "nsIProgrammingLanguage.h" michael@0: #include "nsIProperties.h" michael@0: #include "nsIPropertyBag2.h" michael@0: #include "nsIRunnable.h" michael@0: #include "nsISeekableStream.h" michael@0: #include "nsISerializable.h" michael@0: #include "nsIServiceManager.h" michael@0: #include "nsIScriptableInputStream.h" michael@0: #include "nsISimpleEnumerator.h" michael@0: #include "nsISimpleUnicharStreamFactory.h" michael@0: #include "nsIStreamBufferAccess.h" michael@0: #include "nsIStringEnumerator.h" michael@0: #include "nsIStorageStream.h" michael@0: #include "nsISupportsIterators.h" michael@0: #include "nsISupportsPrimitives.h" michael@0: #include "nsISupportsPriority.h" michael@0: #include "nsIThreadManager.h" michael@0: #include "nsITimer.h" michael@0: #include "nsIUUIDGenerator.h" michael@0: #include "nsIUnicharInputStream.h" michael@0: #include "nsIUnicharOutputStream.h" michael@0: #include "nsIUnicharLineInputStream.h" michael@0: #include "nsIVariant.h" michael@0: #include "nsIVersionComparator.h" michael@0: #include "nsIWritablePropertyBag2.h" michael@0: michael@0: // interfaces that include something above michael@0: michael@0: #include "nsIAsyncInputStream.h" michael@0: #include "nsIAsyncOutputStream.h" michael@0: #include "nsIBinaryInputStream.h" michael@0: #include "nsIBinaryOutputStream.h" michael@0: #include "nsIConverterInputStream.h" michael@0: #include "nsIConverterOutputStream.h" michael@0: #include "nsIDebug2.h" michael@0: #include "nsIInputStreamTee.h" michael@0: #include "nsIMultiplexInputStream.h" michael@0: #include "nsIMutableArray.h" michael@0: #include "nsIPersistentProperties2.h" michael@0: #include "nsIStringStream.h" michael@0: #include "nsIThread.h" michael@0: #include "nsIThreadPool.h" michael@0: michael@0: // interfaces that include something above michael@0: michael@0: #include "nsILocalFileWin.h" michael@0: #include "nsIObjectInputStream.h" michael@0: #include "nsIObjectOutputStream.h" michael@0: #include "nsIPipe.h" michael@0: michael@0: #ifdef MOZ_WIDGET_COCOA michael@0: #include "nsILocalFileMac.h" michael@0: #include "nsIMacUtils.h" michael@0: #endif michael@0: michael@0: // xpcom/glue utility headers michael@0: michael@0: #include "nsComponentManagerUtils.h" michael@0: #include "nsServiceManagerUtils.h" michael@0: michael@0: #include "nsIWeakReferenceUtils.h" michael@0: #include "nsWeakReference.h" michael@0: michael@0: #include "nsArrayEnumerator.h" michael@0: #include "nsArrayUtils.h" michael@0: #include "nsCRTGlue.h" michael@0: #include "nsCycleCollectionParticipant.h" michael@0: #include "nsDeque.h" michael@0: #include "nsEnumeratorUtils.h" michael@0: #include "nsIClassInfoImpl.h" michael@0: #include "mozilla/ModuleUtils.h" michael@0: #include "nsIInterfaceRequestorUtils.h" michael@0: #include "nsINIParser.h" michael@0: #include "nsProxyRelease.h" michael@0: #include "nsTObserverArray.h" michael@0: #include "nsTextFormatter.h" michael@0: #include "nsThreadUtils.h" michael@0: #include "nsVersionComparator.h" michael@0: #include "nsXPTCUtils.h" michael@0: michael@0: // xpcom/base utility headers michael@0: michael@0: #include "nsAgg.h" michael@0: #include "nsAutoRef.h" michael@0: #include "nsInterfaceRequestorAgg.h" michael@0: michael@0: // xpcom/io utility headers michael@0: michael@0: #include "nsAppDirectoryServiceDefs.h" michael@0: #include "nsDirectoryServiceDefs.h" michael@0: #include "nsDirectoryServiceUtils.h" michael@0: michael@0: #endif // mozilla_XPCOM_h