From 7ec5e10667f5af3662482a853fbb360cb9efe521 Mon Sep 17 00:00:00 2001 From: "bryner%brianryner.com" Date: Wed, 15 Mar 2006 04:59:42 +0000 Subject: [PATCH] Remove dependency on nsIClassInfo.h from nsISupports.h (bug 330420). This adds a new nsIClassInfoImpl.h file which can be included to get the CI implementation macros. Also, removes unneeded inclusion of nsIProgrammingLanguage.h from nsIClassInfo.h. r=darin. git-svn-id: svn://10.0.0.236/trunk@192401 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/calendar/base/src/calDuration.cpp | 2 +- mozilla/caps/src/nsPrincipal.cpp | 1 + mozilla/caps/src/nsScriptSecurityManager.cpp | 2 +- mozilla/caps/src/nsSecurityManagerFactory.cpp | 2 +- mozilla/caps/src/nsSystemPrincipal.cpp | 1 + .../events/src/nsEventListenerManager.cpp | 2 - .../xpcom/base/src/nsLDAPConnection.cpp | 1 + .../xpcom/base/src/nsLDAPMessage.cpp | 2 +- .../xpcom/base/src/nsLDAPOperation.cpp | 1 + mozilla/dom/public/nsIDOMClassInfo.h | 2 +- .../browser/activex/src/plugin/XPConnect.cpp | 4 - .../browser/activex/src/plugin/XPConnect.h | 3 +- .../metrics/src/nsMetricsModule.cpp | 1 + .../metrics/src/nsMetricsService.cpp | 1 + .../python/xpcom/src/PyIClassInfo.cpp | 1 + .../src/nsSchemaDuration.cpp | 2 +- .../src/nsSchemaValidator.cpp | 2 +- .../src/nsSchemaValidatorModule.cpp | 2 +- .../webservices/proxy/src/wspprivate.h | 1 + .../webservices/proxy/tests/wspproxytest.cpp | 1 + .../proxy/tests/wspproxytestmodule.cpp | 1 + .../webservices/schema/src/nsSchemaPrivate.h | 3 +- .../soap/src/nsHTTPSOAPTransport.cpp | 1 + .../webservices/soap/src/nsSOAPCall.cpp | 1 + .../webservices/soap/src/nsSOAPEncoding.cpp | 1 + .../webservices/soap/src/nsSOAPException.cpp | 1 + .../webservices/soap/src/nsSOAPFault.cpp | 1 + .../soap/src/nsSOAPHeaderBlock.cpp | 1 + .../webservices/soap/src/nsSOAPParameter.cpp | 1 + .../soap/src/nsSOAPPropertyBag.cpp | 1 + .../webservices/soap/src/nsSOAPResponse.cpp | 1 + .../webservices/wsdl/src/nsWSDLPrivate.h | 1 + .../extensions/xforms/nsXFormsAccessors.cpp | 1 + .../xforms/nsXFormsModelElement.cpp | 1 + mozilla/js/src/xpconnect/src/xpcprivate.h | 2 +- .../tests/components/xpctest_calljs.cpp | 1 + .../tests/components/xpctest_module.cpp | 2 +- .../tests/components/xpctest_multiple.cpp | 1 + mozilla/modules/libjar/nsJARURI.cpp | 1 + .../samples/4x-scriptable/nsScriptablePeer.h | 3 +- .../samples/4x-scriptable/nsScriptablePeer1.h | 3 +- .../samples/scriptable/mac/nsScriptablePeer.h | 3 +- .../scriptable/unix/nsScriptablePeer.h | 2 +- .../scriptable/windows/nsScriptablePeer.h | 3 +- .../sdk/samples/simple/nsScriptablePeer.h | 2 +- mozilla/netwerk/base/src/nsSimpleURI.cpp | 2 +- mozilla/netwerk/base/src/nsSimpleURI.h | 1 + mozilla/netwerk/base/src/nsStandardURL.cpp | 2 +- mozilla/netwerk/base/src/nsStandardURL.h | 1 + mozilla/xpcom/base/nsConsoleService.cpp | 1 + mozilla/xpcom/build/nsXPComInit.cpp | 1 + .../xpcom/components/nsComponentManager.cpp | 1 + mozilla/xpcom/components/nsIClassInfo.idl | 1 - mozilla/xpcom/glue/Makefile.in | 2 +- mozilla/xpcom/glue/nsGenericFactory.cpp | 1 + mozilla/xpcom/glue/nsIClassInfoImpl.h | 400 ++++++++++++++++++ mozilla/xpcom/glue/nsISupportsImpl.h | 366 ---------------- mozilla/xpcom/io/nsFastLoadFile.cpp | 1 + mozilla/xpcom/io/nsStringStream.cpp | 1 + mozilla/xpcom/sample/nsSample.cpp | 1 + mozilla/xpcom/sample/nsSampleModule.cpp | 1 + 61 files changed, 461 insertions(+), 395 deletions(-) create mode 100644 mozilla/xpcom/glue/nsIClassInfoImpl.h diff --git a/mozilla/calendar/base/src/calDuration.cpp b/mozilla/calendar/base/src/calDuration.cpp index cb1e36fef3a..25be10873a8 100644 --- a/mozilla/calendar/base/src/calDuration.cpp +++ b/mozilla/calendar/base/src/calDuration.cpp @@ -43,6 +43,7 @@ #include "nsComponentManagerUtils.h" #include "nsServiceManagerUtils.h" +#include "nsIClassInfoImpl.h" #define SECONDS_PER_WEEK 604800 #define SECONDS_PER_DAY 86400 @@ -347,4 +348,3 @@ calDuration::Compare(calIDuration *aOther, PRInt32 *aResult) return NS_OK; } - diff --git a/mozilla/caps/src/nsPrincipal.cpp b/mozilla/caps/src/nsPrincipal.cpp index ddce7a1d989..1366eed77b7 100755 --- a/mozilla/caps/src/nsPrincipal.cpp +++ b/mozilla/caps/src/nsPrincipal.cpp @@ -53,6 +53,7 @@ #include "nsIObjectOutputStream.h" #include "nsIPrefBranch.h" #include "nsIPrefService.h" +#include "nsIClassInfoImpl.h" #include "nsPrincipal.h" diff --git a/mozilla/caps/src/nsScriptSecurityManager.cpp b/mozilla/caps/src/nsScriptSecurityManager.cpp index 5c52383f4d1..a3f44d41467 100644 --- a/mozilla/caps/src/nsScriptSecurityManager.cpp +++ b/mozilla/caps/src/nsScriptSecurityManager.cpp @@ -81,6 +81,7 @@ #include "nsIContent.h" #include "nsAutoPtr.h" #include "nsAboutProtocolUtils.h" +#include "nsIClassInfo.h" static NS_DEFINE_CID(kZipReaderCID, NS_ZIPREADER_CID); @@ -3702,4 +3703,3 @@ nsScriptSecurityManager::PrintPolicyDB() printf("############## End Capabilities ###############\n"); } #endif - diff --git a/mozilla/caps/src/nsSecurityManagerFactory.cpp b/mozilla/caps/src/nsSecurityManagerFactory.cpp index ff249e5e352..14339de9ebc 100644 --- a/mozilla/caps/src/nsSecurityManagerFactory.cpp +++ b/mozilla/caps/src/nsSecurityManagerFactory.cpp @@ -54,6 +54,7 @@ #include "nsString.h" #include "nsPrefsCID.h" #include "nsNetCID.h" +#include "nsIClassInfoImpl.h" /////////////////////// // nsSecurityNameSet // @@ -488,4 +489,3 @@ CapsModuleDtor(nsIModule* thisModules) NS_IMPL_NSGETMODULE_WITH_DTOR(nsSecurityManagerModule, capsComponentInfo, CapsModuleDtor) - diff --git a/mozilla/caps/src/nsSystemPrincipal.cpp b/mozilla/caps/src/nsSystemPrincipal.cpp index ded420461d4..f3bb1185349 100644 --- a/mozilla/caps/src/nsSystemPrincipal.cpp +++ b/mozilla/caps/src/nsSystemPrincipal.cpp @@ -47,6 +47,7 @@ #include "nsReadableUtils.h" #include "nsCRT.h" #include "nsString.h" +#include "nsIClassInfoImpl.h" NS_IMPL_QUERY_INTERFACE2_CI(nsSystemPrincipal, diff --git a/mozilla/content/events/src/nsEventListenerManager.cpp b/mozilla/content/events/src/nsEventListenerManager.cpp index 94f1d8f1fbe..e6d0f8c31c0 100644 --- a/mozilla/content/events/src/nsEventListenerManager.cpp +++ b/mozilla/content/events/src/nsEventListenerManager.cpp @@ -97,7 +97,6 @@ #include "nsIXPConnect.h" #include "nsDOMCID.h" #include "nsIScriptObjectOwner.h" // for nsIScriptEventHandlerOwner -#include "nsIClassInfo.h" #include "nsIFocusController.h" #include "nsIDOMElement.h" #include "nsIBoxObject.h" @@ -2426,4 +2425,3 @@ NS_NewEventListenerManager(nsIEventListenerManager** aInstancePtrResult) return CallQueryInterface(l, aInstancePtrResult); } - diff --git a/mozilla/directory/xpcom/base/src/nsLDAPConnection.cpp b/mozilla/directory/xpcom/base/src/nsLDAPConnection.cpp index dd83cbcff83..a59a31e015a 100644 --- a/mozilla/directory/xpcom/base/src/nsLDAPConnection.cpp +++ b/mozilla/directory/xpcom/base/src/nsLDAPConnection.cpp @@ -59,6 +59,7 @@ #include "nsNetError.h" #include "nsLDAPOperation.h" #include "nsILDAPErrors.h" +#include "nsIClassInfoImpl.h" const char kConsoleServiceContractId[] = "@mozilla.org/consoleservice;1"; const char kDNSServiceContractId[] = "@mozilla.org/network/dns-service;1"; diff --git a/mozilla/directory/xpcom/base/src/nsLDAPMessage.cpp b/mozilla/directory/xpcom/base/src/nsLDAPMessage.cpp index e7fb5751250..f9d2d3c27d5 100644 --- a/mozilla/directory/xpcom/base/src/nsLDAPMessage.cpp +++ b/mozilla/directory/xpcom/base/src/nsLDAPMessage.cpp @@ -47,6 +47,7 @@ #include "nsISupportsUtils.h" #include "nsLDAPBERValue.h" #include "nsILDAPErrors.h" +#include "nsIClassInfoImpl.h" NS_IMPL_THREADSAFE_ADDREF(nsLDAPMessage) NS_IMPL_THREADSAFE_RELEASE(nsLDAPMessage) @@ -680,4 +681,3 @@ nsLDAPMessage::GetMatchedDn(nsACString & aMatchedDn) aMatchedDn.Assign(mMatchedDn); return NS_OK; } - diff --git a/mozilla/directory/xpcom/base/src/nsLDAPOperation.cpp b/mozilla/directory/xpcom/base/src/nsLDAPOperation.cpp index caa79af8247..9413f2a0616 100644 --- a/mozilla/directory/xpcom/base/src/nsLDAPOperation.cpp +++ b/mozilla/directory/xpcom/base/src/nsLDAPOperation.cpp @@ -47,6 +47,7 @@ #include "nsISimpleEnumerator.h" #include "nsLDAPControl.h" #include "nsILDAPErrors.h" +#include "nsIClassInfoImpl.h" // constructor nsLDAPOperation::nsLDAPOperation() diff --git a/mozilla/dom/public/nsIDOMClassInfo.h b/mozilla/dom/public/nsIDOMClassInfo.h index a7510e0aa65..a29bd291fe5 100644 --- a/mozilla/dom/public/nsIDOMClassInfo.h +++ b/mozilla/dom/public/nsIDOMClassInfo.h @@ -39,7 +39,7 @@ #ifndef nsIDOMClassInfo_h___ #define nsIDOMClassInfo_h___ -#include "nsIClassInfo.h" +#include "nsIClassInfoImpl.h" #include "nsVoidArray.h" enum nsDOMClassInfoID { diff --git a/mozilla/embedding/browser/activex/src/plugin/XPConnect.cpp b/mozilla/embedding/browser/activex/src/plugin/XPConnect.cpp index e296adfbc40..a3471a3bc66 100644 --- a/mozilla/embedding/browser/activex/src/plugin/XPConnect.cpp +++ b/mozilla/embedding/browser/activex/src/plugin/XPConnect.cpp @@ -47,7 +47,6 @@ #include "nsServiceManagerUtils.h" #include "nsIMozAxPlugin.h" -#include "nsIClassInfo.h" #include "nsIVariant.h" #include "nsMemory.h" @@ -1133,6 +1132,3 @@ MozAxPlugin::GetValue(NPP instance, NPPVariable variable, void *value) } return NPERR_GENERIC_ERROR; } - - - diff --git a/mozilla/embedding/browser/activex/src/plugin/XPConnect.h b/mozilla/embedding/browser/activex/src/plugin/XPConnect.h index 5c793d049fb..9d04c828c69 100644 --- a/mozilla/embedding/browser/activex/src/plugin/XPConnect.h +++ b/mozilla/embedding/browser/activex/src/plugin/XPConnect.h @@ -49,6 +49,7 @@ #include "nsID.h" #include "nsCOMPtr.h" #include "nsIClassInfo.h" +#include "nsIProgrammingLanguage.h" #include "nsIMozAxPlugin.h" #include "nsServiceManagerUtils.h" #include "nsIURI.h" @@ -157,4 +158,4 @@ namespace MozAxPlugin { #endif } -#endif \ No newline at end of file +#endif diff --git a/mozilla/extensions/metrics/src/nsMetricsModule.cpp b/mozilla/extensions/metrics/src/nsMetricsModule.cpp index 52d8ae91ae7..bc2c8185e84 100644 --- a/mozilla/extensions/metrics/src/nsMetricsModule.cpp +++ b/mozilla/extensions/metrics/src/nsMetricsModule.cpp @@ -43,6 +43,7 @@ #include "nsServiceManagerUtils.h" #include "nsCOMPtr.h" #include "nsXPCOMCID.h" +#include "nsIClassInfoImpl.h" NS_DECL_CLASSINFO(nsMetricsService) diff --git a/mozilla/extensions/metrics/src/nsMetricsService.cpp b/mozilla/extensions/metrics/src/nsMetricsService.cpp index f81f15e1324..7ad9321db22 100644 --- a/mozilla/extensions/metrics/src/nsMetricsService.cpp +++ b/mozilla/extensions/metrics/src/nsMetricsService.cpp @@ -60,6 +60,7 @@ #include "nsStringStream.h" #include "nsVariant.h" #include "bzlib.h" +#include "nsIClassInfoImpl.h" // Make our MIME type inform the server of possible compression. #ifdef NS_METRICS_SEND_UNCOMPRESSED_DATA diff --git a/mozilla/extensions/python/xpcom/src/PyIClassInfo.cpp b/mozilla/extensions/python/xpcom/src/PyIClassInfo.cpp index 2cb19ff77b8..bf7b5285fa4 100644 --- a/mozilla/extensions/python/xpcom/src/PyIClassInfo.cpp +++ b/mozilla/extensions/python/xpcom/src/PyIClassInfo.cpp @@ -47,6 +47,7 @@ #include "PyXPCOM_std.h" #include "nsIClassInfo.h" +#include "nsIProgrammingLanguage.h" static nsIClassInfo *_GetI(PyObject *self) { nsIID iid = NS_GET_IID(nsIClassInfo); diff --git a/mozilla/extensions/schema-validation/src/nsSchemaDuration.cpp b/mozilla/extensions/schema-validation/src/nsSchemaDuration.cpp index d92aa53920c..f452d11d509 100644 --- a/mozilla/extensions/schema-validation/src/nsSchemaDuration.cpp +++ b/mozilla/extensions/schema-validation/src/nsSchemaDuration.cpp @@ -47,6 +47,7 @@ #include "nsMemory.h" #include "nsIServiceManager.h" #include "nsIComponentManager.h" +#include "nsIClassInfoImpl.h" #include #include @@ -136,4 +137,3 @@ nsSchemaDuration::GetNegative(PRBool *aResult) *aResult = negative; return NS_OK; } - diff --git a/mozilla/extensions/schema-validation/src/nsSchemaValidator.cpp b/mozilla/extensions/schema-validation/src/nsSchemaValidator.cpp index 35bdb105779..a2fedd99669 100644 --- a/mozilla/extensions/schema-validation/src/nsSchemaValidator.cpp +++ b/mozilla/extensions/schema-validation/src/nsSchemaValidator.cpp @@ -56,6 +56,7 @@ #include "nsMemory.h" #include "nsIServiceManager.h" #include "nsIComponentManager.h" +#include "nsIClassInfoImpl.h" #include "nsISchema.h" #include "nsISchemaLoader.h" @@ -3322,4 +3323,3 @@ nsSchemaValidator::DumpBaseType(nsISchemaBuiltinType *aBuiltInType) LOG((" Base Type is %s (%d)", NS_ConvertUTF16toUTF8(typeName).get(),foo)); } #endif - diff --git a/mozilla/extensions/schema-validation/src/nsSchemaValidatorModule.cpp b/mozilla/extensions/schema-validation/src/nsSchemaValidatorModule.cpp index feb526c1381..445c445ebb3 100644 --- a/mozilla/extensions/schema-validation/src/nsSchemaValidatorModule.cpp +++ b/mozilla/extensions/schema-validation/src/nsSchemaValidatorModule.cpp @@ -39,6 +39,7 @@ #include "nsIGenericFactory.h" #include "nsSchemaValidator.h" #include "nsSchemaDuration.h" +#include "nsIClassInfoImpl.h" NS_DECL_CLASSINFO(nsSchemaValidator) NS_GENERIC_FACTORY_CONSTRUCTOR(nsSchemaValidator) @@ -64,4 +65,3 @@ SchemaValidatorModuleCtor(nsIModule* aSelf) } NS_IMPL_NSGETMODULE_WITH_CTOR(schemavalidation, components, SchemaValidatorModuleCtor) - diff --git a/mozilla/extensions/webservices/proxy/src/wspprivate.h b/mozilla/extensions/webservices/proxy/src/wspprivate.h index b9749fb470c..554f8d12d5d 100644 --- a/mozilla/extensions/webservices/proxy/src/wspprivate.h +++ b/mozilla/extensions/webservices/proxy/src/wspprivate.h @@ -48,6 +48,7 @@ #include "nsIExceptionService.h" #include "nsIServiceManager.h" #include "nsAString.h" +#include "nsIClassInfoImpl.h" // SOAP includes #include "nsISOAPCall.h" diff --git a/mozilla/extensions/webservices/proxy/tests/wspproxytest.cpp b/mozilla/extensions/webservices/proxy/tests/wspproxytest.cpp index e80dc8d4c3a..c9807e50461 100644 --- a/mozilla/extensions/webservices/proxy/tests/wspproxytest.cpp +++ b/mozilla/extensions/webservices/proxy/tests/wspproxytest.cpp @@ -47,6 +47,7 @@ #include "nsMemory.h" #include "nsComponentManagerUtils.h" #include "nsServiceManagerUtils.h" +#include "nsIClassInfoImpl.h" const PRUint8 sInt8Val = 2; const PRInt16 sInt16Val = 0x1234; diff --git a/mozilla/extensions/webservices/proxy/tests/wspproxytestmodule.cpp b/mozilla/extensions/webservices/proxy/tests/wspproxytestmodule.cpp index a552293c7ea..de01337962d 100644 --- a/mozilla/extensions/webservices/proxy/tests/wspproxytestmodule.cpp +++ b/mozilla/extensions/webservices/proxy/tests/wspproxytestmodule.cpp @@ -47,6 +47,7 @@ #include "nsXPCOMCID.h" #include "nsServiceManagerUtils.h" #include "nsComponentManagerUtils.h" +#include "nsIClassInfoImpl.h" NS_GENERIC_FACTORY_CONSTRUCTOR(WSPProxyTest) NS_DECL_CLASSINFO(WSPProxyTest) diff --git a/mozilla/extensions/webservices/schema/src/nsSchemaPrivate.h b/mozilla/extensions/webservices/schema/src/nsSchemaPrivate.h index f660ec6a126..5a4fe0cd8ae 100644 --- a/mozilla/extensions/webservices/schema/src/nsSchemaPrivate.h +++ b/mozilla/extensions/webservices/schema/src/nsSchemaPrivate.h @@ -50,6 +50,7 @@ #include "nsInterfaceHashtable.h" #include "nsString.h" #include "nsIDOMElement.h" +#include "nsIClassInfoImpl.h" #define NS_SCHEMA_2001_NAMESPACE "http://www.w3.org/2001/XMLSchema" #define NS_SCHEMA_1999_NAMESPACE "http://www.w3.org/1999/XMLSchema" @@ -752,5 +753,3 @@ public: "@mozilla.org/xmlextras/schemas/soaparraytype;1" #endif // __nsSchemaPrivate_h__ - - diff --git a/mozilla/extensions/webservices/soap/src/nsHTTPSOAPTransport.cpp b/mozilla/extensions/webservices/soap/src/nsHTTPSOAPTransport.cpp index 5c4e6eb6eac..a65ff6058fa 100644 --- a/mozilla/extensions/webservices/soap/src/nsHTTPSOAPTransport.cpp +++ b/mozilla/extensions/webservices/soap/src/nsHTTPSOAPTransport.cpp @@ -56,6 +56,7 @@ #include "nsIWebScriptsAccessService.h" #include "nsMemory.h" #include "nsIDocument.h" +#include "nsIClassInfoImpl.h" nsHTTPSOAPTransport::nsHTTPSOAPTransport() { diff --git a/mozilla/extensions/webservices/soap/src/nsSOAPCall.cpp b/mozilla/extensions/webservices/soap/src/nsSOAPCall.cpp index cfb43384ca3..df9a51b9d4e 100644 --- a/mozilla/extensions/webservices/soap/src/nsSOAPCall.cpp +++ b/mozilla/extensions/webservices/soap/src/nsSOAPCall.cpp @@ -44,6 +44,7 @@ #include "nsIURI.h" #include "nsNetUtil.h" #include "nsSOAPException.h" +#include "nsIClassInfoImpl.h" ///////////////////////////////////////////// // diff --git a/mozilla/extensions/webservices/soap/src/nsSOAPEncoding.cpp b/mozilla/extensions/webservices/soap/src/nsSOAPEncoding.cpp index 9d42c22f5e2..e793e78d696 100644 --- a/mozilla/extensions/webservices/soap/src/nsSOAPEncoding.cpp +++ b/mozilla/extensions/webservices/soap/src/nsSOAPEncoding.cpp @@ -50,6 +50,7 @@ #include "nsISchemaLoader.h" #include "nsSOAPUtils.h" #include "nsReadableUtils.h" +#include "nsIClassInfoImpl.h" // // callback for deleting the encodings from the nsObjectHashtable, mEncodings, diff --git a/mozilla/extensions/webservices/soap/src/nsSOAPException.cpp b/mozilla/extensions/webservices/soap/src/nsSOAPException.cpp index a7ba25f33d6..2743fc458e0 100644 --- a/mozilla/extensions/webservices/soap/src/nsSOAPException.cpp +++ b/mozilla/extensions/webservices/soap/src/nsSOAPException.cpp @@ -38,6 +38,7 @@ #include "nsSOAPException.h" #include "nsReadableUtils.h" #include "nsIXPConnect.h" +#include "nsIClassInfoImpl.h" nsSOAPException::nsSOAPException(nsresult aStatus, const nsAString & aName, const nsAString & aMessage, nsIException* aInner) : diff --git a/mozilla/extensions/webservices/soap/src/nsSOAPFault.cpp b/mozilla/extensions/webservices/soap/src/nsSOAPFault.cpp index f3e0121211d..6957f8c8865 100644 --- a/mozilla/extensions/webservices/soap/src/nsSOAPFault.cpp +++ b/mozilla/extensions/webservices/soap/src/nsSOAPFault.cpp @@ -40,6 +40,7 @@ #include "nsIDOMNodeList.h" #include "nsISOAPMessage.h" #include "nsSOAPException.h" +#include "nsIClassInfoImpl.h" nsSOAPFault::nsSOAPFault() { diff --git a/mozilla/extensions/webservices/soap/src/nsSOAPHeaderBlock.cpp b/mozilla/extensions/webservices/soap/src/nsSOAPHeaderBlock.cpp index 4c6438f7fcc..bd0d6df26e5 100644 --- a/mozilla/extensions/webservices/soap/src/nsSOAPHeaderBlock.cpp +++ b/mozilla/extensions/webservices/soap/src/nsSOAPHeaderBlock.cpp @@ -43,6 +43,7 @@ #include "nsISOAPAttachments.h" #include "nsISOAPMessage.h" #include "nsSOAPException.h" +#include "nsIClassInfoImpl.h" nsSOAPHeaderBlock::nsSOAPHeaderBlock() { diff --git a/mozilla/extensions/webservices/soap/src/nsSOAPParameter.cpp b/mozilla/extensions/webservices/soap/src/nsSOAPParameter.cpp index 7eba110ff5d..7f17723cfb2 100644 --- a/mozilla/extensions/webservices/soap/src/nsSOAPParameter.cpp +++ b/mozilla/extensions/webservices/soap/src/nsSOAPParameter.cpp @@ -41,6 +41,7 @@ #include "nsSOAPUtils.h" #include "nsIServiceManager.h" #include "nsISOAPAttachments.h" +#include "nsIClassInfoImpl.h" nsSOAPParameter::nsSOAPParameter() { diff --git a/mozilla/extensions/webservices/soap/src/nsSOAPPropertyBag.cpp b/mozilla/extensions/webservices/soap/src/nsSOAPPropertyBag.cpp index 0a22be27ffc..59eb060912f 100644 --- a/mozilla/extensions/webservices/soap/src/nsSOAPPropertyBag.cpp +++ b/mozilla/extensions/webservices/soap/src/nsSOAPPropertyBag.cpp @@ -44,6 +44,7 @@ #include "nsHashKeys.h" #include "jsapi.h" #include "nsIXPCScriptable.h" +#include "nsIClassInfoImpl.h" class nsSOAPPropertyBagEnumerator; class nsSOAPPropertyBag:public nsIPropertyBag, public nsIXPCScriptable { diff --git a/mozilla/extensions/webservices/soap/src/nsSOAPResponse.cpp b/mozilla/extensions/webservices/soap/src/nsSOAPResponse.cpp index fafd685df08..ef4accdb21f 100644 --- a/mozilla/extensions/webservices/soap/src/nsSOAPResponse.cpp +++ b/mozilla/extensions/webservices/soap/src/nsSOAPResponse.cpp @@ -43,6 +43,7 @@ #include "nsISOAPParameter.h" #include "nsIServiceManager.h" #include "nsIComponentManager.h" +#include "nsIClassInfoImpl.h" nsSOAPResponse::nsSOAPResponse() { diff --git a/mozilla/extensions/webservices/wsdl/src/nsWSDLPrivate.h b/mozilla/extensions/webservices/wsdl/src/nsWSDLPrivate.h index d77444eb34c..620a43fd4d5 100644 --- a/mozilla/extensions/webservices/wsdl/src/nsWSDLPrivate.h +++ b/mozilla/extensions/webservices/wsdl/src/nsWSDLPrivate.h @@ -54,6 +54,7 @@ #include "nsString.h" #include "nsReadableUtils.h" #include "nsWeakReference.h" +#include "nsIClassInfoImpl.h" // Typelib includes #include "nsIInterfaceInfo.h" diff --git a/mozilla/extensions/xforms/nsXFormsAccessors.cpp b/mozilla/extensions/xforms/nsXFormsAccessors.cpp index 366f5ae14b7..53b6f2c793a 100644 --- a/mozilla/extensions/xforms/nsXFormsAccessors.cpp +++ b/mozilla/extensions/xforms/nsXFormsAccessors.cpp @@ -45,6 +45,7 @@ #include "nsIEventStateManager.h" #include "nsIContent.h" #include "nsIXFormsControl.h" +#include "nsIProgrammingLanguage.h" NS_IMPL_ISUPPORTS2(nsXFormsAccessors, nsIXFormsAccessors, nsIClassInfo) diff --git a/mozilla/extensions/xforms/nsXFormsModelElement.cpp b/mozilla/extensions/xforms/nsXFormsModelElement.cpp index 53d2e38dfe6..352ce90e643 100644 --- a/mozilla/extensions/xforms/nsXFormsModelElement.cpp +++ b/mozilla/extensions/xforms/nsXFormsModelElement.cpp @@ -75,6 +75,7 @@ #include "nsAutoPtr.h" #include "nsArray.h" #include "nsIDOMDocumentXBL.h" +#include "nsIProgrammingLanguage.h" #define XFORMS_LAZY_INSTANCE_BINDING \ "chrome://xforms/content/xforms.xml#xforms-lazy-instance" diff --git a/mozilla/js/src/xpconnect/src/xpcprivate.h b/mozilla/js/src/xpconnect/src/xpcprivate.h index de01e4f12f8..ac40a465fd3 100644 --- a/mozilla/js/src/xpconnect/src/xpcprivate.h +++ b/mozilla/js/src/xpconnect/src/xpcprivate.h @@ -55,7 +55,7 @@ #include "nsAutoPtr.h" #include "nsISupports.h" #include "nsIServiceManager.h" -#include "nsIClassInfo.h" +#include "nsIClassInfoImpl.h" #include "nsIComponentManager.h" #include "nsIComponentRegistrar.h" #include "nsISupportsPrimitives.h" diff --git a/mozilla/js/src/xpconnect/tests/components/xpctest_calljs.cpp b/mozilla/js/src/xpconnect/tests/components/xpctest_calljs.cpp index 54cafcca059..b6226e36ba5 100644 --- a/mozilla/js/src/xpconnect/tests/components/xpctest_calljs.cpp +++ b/mozilla/js/src/xpconnect/tests/components/xpctest_calljs.cpp @@ -42,6 +42,7 @@ #include "nsIXPCScriptable.h" #include "xpctest_calljs.h" #include "nsISupports.h" +#include "nsIClassInfoImpl.h" class xpcTestCallJS : public nsIXPCTestCallJS, public nsIXPCScriptable { public: diff --git a/mozilla/js/src/xpconnect/tests/components/xpctest_module.cpp b/mozilla/js/src/xpconnect/tests/components/xpctest_module.cpp index 26f8efb5fe1..718aa2f4cb3 100644 --- a/mozilla/js/src/xpconnect/tests/components/xpctest_module.cpp +++ b/mozilla/js/src/xpconnect/tests/components/xpctest_module.cpp @@ -45,6 +45,7 @@ #include "nsIModule.h" #include "nsIGenericFactory.h" #include "nsCRT.h" +#include "nsIClassInfoImpl.h" NS_DECL_CLASSINFO(xpcTestCallJS) NS_DECL_CLASSINFO(xpcTestChild2) @@ -74,4 +75,3 @@ static const nsModuleComponentInfo components[] = { }; NS_IMPL_NSGETMODULE(xpconnect_test, components) - diff --git a/mozilla/js/src/xpconnect/tests/components/xpctest_multiple.cpp b/mozilla/js/src/xpconnect/tests/components/xpctest_multiple.cpp index 9c5d77af40c..c5f1d4897d3 100644 --- a/mozilla/js/src/xpconnect/tests/components/xpctest_multiple.cpp +++ b/mozilla/js/src/xpconnect/tests/components/xpctest_multiple.cpp @@ -41,6 +41,7 @@ #include "xpctest_multiple.h" #include "nsISupports.h" #include "xpctest_private.h" +#include "nsIClassInfoImpl.h" class xpcTestParentOne : public nsIXPCTestParentOne { public: diff --git a/mozilla/modules/libjar/nsJARURI.cpp b/mozilla/modules/libjar/nsJARURI.cpp index 1c29666f9ac..a4bd4d1a382 100644 --- a/mozilla/modules/libjar/nsJARURI.cpp +++ b/mozilla/modules/libjar/nsJARURI.cpp @@ -49,6 +49,7 @@ #include "nsNetCID.h" #include "nsIObjectInputStream.h" #include "nsIObjectOutputStream.h" +#include "nsIProgrammingLanguage.h" static NS_DEFINE_CID(kJARURICID, NS_JARURI_CID); diff --git a/mozilla/modules/plugin/samples/4x-scriptable/nsScriptablePeer.h b/mozilla/modules/plugin/samples/4x-scriptable/nsScriptablePeer.h index 70a836e35d9..dd839ef20eb 100644 --- a/mozilla/modules/plugin/samples/4x-scriptable/nsScriptablePeer.h +++ b/mozilla/modules/plugin/samples/4x-scriptable/nsScriptablePeer.h @@ -47,6 +47,7 @@ #include "nsI4xScriptablePlugin.h" #include "nsIClassInfo.h" +#include "nsIProgrammingLanguage.h" class CPlugin; @@ -103,4 +104,4 @@ protected: acmeIScriptObject* mWindow; }; -#endif \ No newline at end of file +#endif diff --git a/mozilla/modules/plugin/samples/4x-scriptable/nsScriptablePeer1.h b/mozilla/modules/plugin/samples/4x-scriptable/nsScriptablePeer1.h index ebc518297dd..e807a49b4de 100644 --- a/mozilla/modules/plugin/samples/4x-scriptable/nsScriptablePeer1.h +++ b/mozilla/modules/plugin/samples/4x-scriptable/nsScriptablePeer1.h @@ -47,6 +47,7 @@ #include "nsI4xScriptablePlugin.h" #include "nsIClassInfo.h" +#include "nsIProgrammingLanguage.h" class CPlugin; @@ -92,4 +93,4 @@ protected: CPlugin* mPlugin; }; -#endif \ No newline at end of file +#endif diff --git a/mozilla/modules/plugin/tools/sdk/samples/scriptable/mac/nsScriptablePeer.h b/mozilla/modules/plugin/tools/sdk/samples/scriptable/mac/nsScriptablePeer.h index 4645ea1c269..84e1c9b86ff 100644 --- a/mozilla/modules/plugin/tools/sdk/samples/scriptable/mac/nsScriptablePeer.h +++ b/mozilla/modules/plugin/tools/sdk/samples/scriptable/mac/nsScriptablePeer.h @@ -47,6 +47,7 @@ #include "nsIScriptablePluginSample.h" #include "nsIClassInfo.h" +#include "nsIProgrammingLanguage.h" class nsPluginInstance; @@ -104,4 +105,4 @@ protected: nsPluginInstance* mPlugin; }; -#endif \ No newline at end of file +#endif diff --git a/mozilla/modules/plugin/tools/sdk/samples/scriptable/unix/nsScriptablePeer.h b/mozilla/modules/plugin/tools/sdk/samples/scriptable/unix/nsScriptablePeer.h index 5eab24c8047..a1488d01e6f 100644 --- a/mozilla/modules/plugin/tools/sdk/samples/scriptable/unix/nsScriptablePeer.h +++ b/mozilla/modules/plugin/tools/sdk/samples/scriptable/unix/nsScriptablePeer.h @@ -47,6 +47,7 @@ #include "nsIScriptablePluginSample.h" #include "nsIClassInfo.h" +#include "nsIProgrammingLanguage.h" class nsPluginInstance; @@ -105,4 +106,3 @@ protected: }; #endif - diff --git a/mozilla/modules/plugin/tools/sdk/samples/scriptable/windows/nsScriptablePeer.h b/mozilla/modules/plugin/tools/sdk/samples/scriptable/windows/nsScriptablePeer.h index 4645ea1c269..84e1c9b86ff 100644 --- a/mozilla/modules/plugin/tools/sdk/samples/scriptable/windows/nsScriptablePeer.h +++ b/mozilla/modules/plugin/tools/sdk/samples/scriptable/windows/nsScriptablePeer.h @@ -47,6 +47,7 @@ #include "nsIScriptablePluginSample.h" #include "nsIClassInfo.h" +#include "nsIProgrammingLanguage.h" class nsPluginInstance; @@ -104,4 +105,4 @@ protected: nsPluginInstance* mPlugin; }; -#endif \ No newline at end of file +#endif diff --git a/mozilla/modules/plugin/tools/sdk/samples/simple/nsScriptablePeer.h b/mozilla/modules/plugin/tools/sdk/samples/simple/nsScriptablePeer.h index 61100d8cf7f..41270efad61 100644 --- a/mozilla/modules/plugin/tools/sdk/samples/simple/nsScriptablePeer.h +++ b/mozilla/modules/plugin/tools/sdk/samples/simple/nsScriptablePeer.h @@ -47,6 +47,7 @@ #include "nsISimplePlugin.h" #include "nsIClassInfo.h" +#include "nsIProgrammingLanguage.h" class nsPluginInstance; @@ -105,4 +106,3 @@ protected: }; #endif - diff --git a/mozilla/netwerk/base/src/nsSimpleURI.cpp b/mozilla/netwerk/base/src/nsSimpleURI.cpp index c4ff446904c..22e86b212d1 100644 --- a/mozilla/netwerk/base/src/nsSimpleURI.cpp +++ b/mozilla/netwerk/base/src/nsSimpleURI.cpp @@ -51,6 +51,7 @@ #include "nsIObjectOutputStream.h" #include "nsEscape.h" #include "nsNetError.h" +#include "nsIProgrammingLanguage.h" static NS_DEFINE_CID(kThisSimpleURIImplementationCID, NS_THIS_SIMPLEURI_IMPLEMENTATION_CID); @@ -429,4 +430,3 @@ nsSimpleURI::GetClassIDNoAlloc(nsCID *aClassIDNoAlloc) *aClassIDNoAlloc = kSimpleURICID; return NS_OK; } - diff --git a/mozilla/netwerk/base/src/nsSimpleURI.h b/mozilla/netwerk/base/src/nsSimpleURI.h index 6e033e60a75..92d7be6177c 100644 --- a/mozilla/netwerk/base/src/nsSimpleURI.h +++ b/mozilla/netwerk/base/src/nsSimpleURI.h @@ -42,6 +42,7 @@ #include "nsAgg.h" #include "nsISerializable.h" #include "nsString.h" +#include "nsIClassInfo.h" #define NS_THIS_SIMPLEURI_IMPLEMENTATION_CID \ { /* 22b8f64a-2f7b-11d3-8cd0-0060b0fc14a3 */ \ diff --git a/mozilla/netwerk/base/src/nsStandardURL.cpp b/mozilla/netwerk/base/src/nsStandardURL.cpp index e106672a6b4..6a26d05cbe2 100644 --- a/mozilla/netwerk/base/src/nsStandardURL.cpp +++ b/mozilla/netwerk/base/src/nsStandardURL.cpp @@ -55,6 +55,7 @@ #include "nsNetUtil.h" #include "prlog.h" #include "nsAutoPtr.h" +#include "nsIProgrammingLanguage.h" static NS_DEFINE_CID(kThisImplCID, NS_THIS_STANDARDURL_IMPL_CID); static NS_DEFINE_CID(kStandardURLCID, NS_STANDARDURL_CID); @@ -2798,4 +2799,3 @@ nsStandardURL::GetClassIDNoAlloc(nsCID *aClassIDNoAlloc) *aClassIDNoAlloc = kStandardURLCID; return NS_OK; } - diff --git a/mozilla/netwerk/base/src/nsStandardURL.h b/mozilla/netwerk/base/src/nsStandardURL.h index e13959ec6c1..d7b5dcb29c2 100644 --- a/mozilla/netwerk/base/src/nsStandardURL.h +++ b/mozilla/netwerk/base/src/nsStandardURL.h @@ -52,6 +52,7 @@ #include "nsIIOService.h" #include "nsCOMPtr.h" #include "nsURLHelper.h" +#include "nsIClassInfo.h" class nsIBinaryInputStream; class nsIBinaryOutputStream; diff --git a/mozilla/xpcom/base/nsConsoleService.cpp b/mozilla/xpcom/base/nsConsoleService.cpp index 0f4c1eba0a4..d3c8379034d 100644 --- a/mozilla/xpcom/base/nsConsoleService.cpp +++ b/mozilla/xpcom/base/nsConsoleService.cpp @@ -49,6 +49,7 @@ #include "nsConsoleService.h" #include "nsConsoleMessage.h" +#include "nsIClassInfoImpl.h" NS_IMPL_THREADSAFE_ADDREF(nsConsoleService) NS_IMPL_THREADSAFE_RELEASE(nsConsoleService) diff --git a/mozilla/xpcom/build/nsXPComInit.cpp b/mozilla/xpcom/build/nsXPComInit.cpp index ff91d4baa89..f37370fdbf1 100644 --- a/mozilla/xpcom/build/nsXPComInit.cpp +++ b/mozilla/xpcom/build/nsXPComInit.cpp @@ -39,6 +39,7 @@ #include "nsXPCOM.h" #include "nsXPCOMPrivate.h" #include "nscore.h" +#include "nsIClassInfoImpl.h" #include "nsStaticComponents.h" #include "prlink.h" #include "nsCOMPtr.h" diff --git a/mozilla/xpcom/components/nsComponentManager.cpp b/mozilla/xpcom/components/nsComponentManager.cpp index 9511930f1f9..eb2a1ba9436 100644 --- a/mozilla/xpcom/components/nsComponentManager.cpp +++ b/mozilla/xpcom/components/nsComponentManager.cpp @@ -75,6 +75,7 @@ #include "nsXPCOM.h" #include "nsXPCOMPrivate.h" #include "nsISupportsPrimitives.h" +#include "nsIClassInfo.h" #include "nsLocalFile.h" #include "nsReadableUtils.h" #include "nsString.h" diff --git a/mozilla/xpcom/components/nsIClassInfo.idl b/mozilla/xpcom/components/nsIClassInfo.idl index e934057c0a3..a7413f587b1 100644 --- a/mozilla/xpcom/components/nsIClassInfo.idl +++ b/mozilla/xpcom/components/nsIClassInfo.idl @@ -39,7 +39,6 @@ * ***** END LICENSE BLOCK ***** */ #include "nsISupports.idl" -#include "nsIProgrammingLanguage.idl" /** * Provides information about a specific implementation class diff --git a/mozilla/xpcom/glue/Makefile.in b/mozilla/xpcom/glue/Makefile.in index edea7e622da..dacec3451f3 100644 --- a/mozilla/xpcom/glue/Makefile.in +++ b/mozilla/xpcom/glue/Makefile.in @@ -104,6 +104,7 @@ SDK_HEADERS = \ nsComponentManagerUtils.h \ nsServiceManagerUtils.h \ nsVersionComparator.h \ + nsIClassInfoImpl.h \ $(NULL) SDK_LIBRARY = \ @@ -117,4 +118,3 @@ FORCE_STATIC_LIB = 1 FORCE_USE_PIC = 1 include $(topsrcdir)/config/rules.mk - diff --git a/mozilla/xpcom/glue/nsGenericFactory.cpp b/mozilla/xpcom/glue/nsGenericFactory.cpp index 8a1902ee4d2..52d46709da6 100644 --- a/mozilla/xpcom/glue/nsGenericFactory.cpp +++ b/mozilla/xpcom/glue/nsGenericFactory.cpp @@ -44,6 +44,7 @@ #include "nsCOMPtr.h" #include "nsIComponentManager.h" #include "nsIComponentRegistrar.h" +#include "nsIProgrammingLanguage.h" #ifdef XPCOM_GLUE #include "nsXPCOMGlue.h" diff --git a/mozilla/xpcom/glue/nsIClassInfoImpl.h b/mozilla/xpcom/glue/nsIClassInfoImpl.h new file mode 100644 index 00000000000..5cca2eda271 --- /dev/null +++ b/mozilla/xpcom/glue/nsIClassInfoImpl.h @@ -0,0 +1,400 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is XPCOM. + * + * The Initial Developer of the Original Code is Netscape Communications Corp. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef nsIClassInfoImpl_h__ +#define nsIClassInfoImpl_h__ + +#include "nsIClassInfo.h" + +#define NS_CLASSINFO_NAME(_class) _class##_classInfoGlobal +#define NS_CI_INTERFACE_GETTER_NAME(_class) _class##_GetInterfacesHelper + +#define NS_DECL_CI_INTERFACE_GETTER(_class) \ + extern NS_IMETHODIMP NS_CI_INTERFACE_GETTER_NAME(_class)(PRUint32 *, \ + nsIID ***); + +#define NS_DECL_CLASSINFO(_class) \ + NS_DECL_CI_INTERFACE_GETTER(_class) \ + nsIClassInfo *NS_CLASSINFO_NAME(_class); + +#define NS_IMPL_QUERY_CLASSINFO(_class) \ + if ( aIID.Equals(NS_GET_IID(nsIClassInfo)) ) { \ + extern nsIClassInfo *NS_CLASSINFO_NAME(_class); \ + foundInterface = NS_STATIC_CAST(nsIClassInfo*, NS_CLASSINFO_NAME(_class));\ + } else + +#define NS_CLASSINFO_HELPER_BEGIN(_class, _c) \ +NS_IMETHODIMP \ +NS_CI_INTERFACE_GETTER_NAME(_class)(PRUint32 *count, nsIID ***array) \ +{ \ + *count = _c; \ + *array = (nsIID **)nsMemory::Alloc(sizeof (nsIID *) * _c); + +#define NS_CLASSINFO_HELPER_ENTRY(_i, _interface) \ + (*array)[_i] = (nsIID *)nsMemory::Clone(&NS_GET_IID(_interface), \ + sizeof(nsIID)); + +#define NS_CLASSINFO_HELPER_END \ + return NS_OK; \ +} + +#define NS_IMPL_CI_INTERFACE_GETTER1(_class, _interface) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 1) \ + NS_CLASSINFO_HELPER_ENTRY(0, _interface) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE1_CI(_class, _i1) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS1_CI(_class, _interface) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE1_CI(_class, _interface) \ + NS_IMPL_CI_INTERFACE_GETTER1(_class, _interface) + +#define NS_IMPL_CI_INTERFACE_GETTER2(_class, _i1, _i2) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 2) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE2_CI(_class, _i1, _i2) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS2_CI(_class, _i1, _i2) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE2_CI(_class, _i1, _i2) \ + NS_IMPL_CI_INTERFACE_GETTER2(_class, _i1, _i2) + +#define NS_IMPL_CI_INTERFACE_GETTER3(_class, _i1, _i2, _i3) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 3) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE3_CI(_class, _i1, _i2, _i3) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY(_i3) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS3_CI(_class, _i1, _i2, _i3) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE3_CI(_class, _i1, _i2, _i3) \ + NS_IMPL_CI_INTERFACE_GETTER3(_class, _i1, _i2, _i3) + +#define NS_IMPL_CI_INTERFACE_GETTER4(_class, _i1, _i2, _i3, _i4) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 4) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ + NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE4_CI(_class, _i1, _i2, _i3, _i4) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY(_i3) \ + NS_INTERFACE_MAP_ENTRY(_i4) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS4_CI(_class, _i1, _i2, _i3, _i4) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE4_CI(_class, _i1, _i2, _i3, _i4) \ + NS_IMPL_CI_INTERFACE_GETTER4(_class, _i1, _i2, _i3, _i4) + +#define NS_IMPL_CI_INTERFACE_GETTER5(_class, _i1, _i2, _i3, _i4, _i5) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 5) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ + NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ + NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE5_CI(_class, _i1, _i2, _i3, _i4, _i5) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY(_i3) \ + NS_INTERFACE_MAP_ENTRY(_i4) \ + NS_INTERFACE_MAP_ENTRY(_i5) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS5_CI(_class, _i1, _i2, _i3, _i4, _i5) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE5_CI(_class, _i1, _i2, _i3, _i4, _i5) \ + NS_IMPL_CI_INTERFACE_GETTER5(_class, _i1, _i2, _i3, _i4, _i5) + +#define NS_IMPL_CI_INTERFACE_GETTER6(_class, _i1, _i2, _i3, _i4, _i5, _i6) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 6) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ + NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ + NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ + NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE6_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY(_i3) \ + NS_INTERFACE_MAP_ENTRY(_i4) \ + NS_INTERFACE_MAP_ENTRY(_i5) \ + NS_INTERFACE_MAP_ENTRY(_i6) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS6_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE6_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6) \ + NS_IMPL_CI_INTERFACE_GETTER6(_class, _i1, _i2, _i3, _i4, _i5, _i6) + +#define NS_IMPL_CI_INTERFACE_GETTER7(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 7) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ + NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ + NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ + NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ + NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE7_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY(_i3) \ + NS_INTERFACE_MAP_ENTRY(_i4) \ + NS_INTERFACE_MAP_ENTRY(_i5) \ + NS_INTERFACE_MAP_ENTRY(_i6) \ + NS_INTERFACE_MAP_ENTRY(_i7) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS7_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE7_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) \ + NS_IMPL_CI_INTERFACE_GETTER7(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) + +#define NS_IMPL_CI_INTERFACE_GETTER8(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7, _i8) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 8) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ + NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ + NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ + NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ + NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ + NS_CLASSINFO_HELPER_ENTRY(7, _i8) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE8_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7, _i8) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY(_i3) \ + NS_INTERFACE_MAP_ENTRY(_i4) \ + NS_INTERFACE_MAP_ENTRY(_i5) \ + NS_INTERFACE_MAP_ENTRY(_i6) \ + NS_INTERFACE_MAP_ENTRY(_i7) \ + NS_INTERFACE_MAP_ENTRY(_i8) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS8_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE8_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8) \ + NS_IMPL_CI_INTERFACE_GETTER8(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8) + +#define NS_IMPL_CI_INTERFACE_GETTER9(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7, _i8, _i9) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 9) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ + NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ + NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ + NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ + NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ + NS_CLASSINFO_HELPER_ENTRY(7, _i8) \ + NS_CLASSINFO_HELPER_ENTRY(8, _i9) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE9_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7, _i8, _i9) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY(_i3) \ + NS_INTERFACE_MAP_ENTRY(_i4) \ + NS_INTERFACE_MAP_ENTRY(_i5) \ + NS_INTERFACE_MAP_ENTRY(_i6) \ + NS_INTERFACE_MAP_ENTRY(_i7) \ + NS_INTERFACE_MAP_ENTRY(_i8) \ + NS_INTERFACE_MAP_ENTRY(_i9) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS9_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ + _i8, _i9) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE9_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ + _i8, _i9) \ + NS_IMPL_CI_INTERFACE_GETTER9(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ + _i8, _i9) + +#define NS_IMPL_CI_INTERFACE_GETTER10(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7, _i8, _i9, _i10) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 10) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ + NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ + NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ + NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ + NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ + NS_CLASSINFO_HELPER_ENTRY(7, _i8) \ + NS_CLASSINFO_HELPER_ENTRY(8, _i9) \ + NS_CLASSINFO_HELPER_ENTRY(9, _i10) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_CI_INTERFACE_GETTER11(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7, _i8, _i9, _i10, _i11) \ + NS_CLASSINFO_HELPER_BEGIN(_class, 11) \ + NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ + NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ + NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ + NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ + NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ + NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ + NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ + NS_CLASSINFO_HELPER_ENTRY(7, _i8) \ + NS_CLASSINFO_HELPER_ENTRY(8, _i9) \ + NS_CLASSINFO_HELPER_ENTRY(9, _i10) \ + NS_CLASSINFO_HELPER_ENTRY(10, _i11) \ + NS_CLASSINFO_HELPER_END + +#define NS_IMPL_QUERY_INTERFACE10_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7, _i8, _i9, _i10) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY(_i3) \ + NS_INTERFACE_MAP_ENTRY(_i4) \ + NS_INTERFACE_MAP_ENTRY(_i5) \ + NS_INTERFACE_MAP_ENTRY(_i6) \ + NS_INTERFACE_MAP_ENTRY(_i7) \ + NS_INTERFACE_MAP_ENTRY(_i8) \ + NS_INTERFACE_MAP_ENTRY(_i9) \ + NS_INTERFACE_MAP_ENTRY(_i10) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_QUERY_INTERFACE11_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ + _i7, _i8, _i9, _i10, _i11) \ + NS_INTERFACE_MAP_BEGIN(_class) \ + NS_INTERFACE_MAP_ENTRY(_i1) \ + NS_INTERFACE_MAP_ENTRY(_i2) \ + NS_INTERFACE_MAP_ENTRY(_i3) \ + NS_INTERFACE_MAP_ENTRY(_i4) \ + NS_INTERFACE_MAP_ENTRY(_i5) \ + NS_INTERFACE_MAP_ENTRY(_i6) \ + NS_INTERFACE_MAP_ENTRY(_i7) \ + NS_INTERFACE_MAP_ENTRY(_i8) \ + NS_INTERFACE_MAP_ENTRY(_i9) \ + NS_INTERFACE_MAP_ENTRY(_i10) \ + NS_INTERFACE_MAP_ENTRY(_i11) \ + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ + NS_IMPL_QUERY_CLASSINFO(_class) \ + NS_INTERFACE_MAP_END + +#define NS_IMPL_ISUPPORTS10_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ + _i8, _i9, _i10) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE10_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ + _i8, _i9, _i10) \ + NS_IMPL_CI_INTERFACE_GETTER10(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ + _i8, _i9, _i10) + +#define NS_IMPL_ISUPPORTS11_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ + _i8, _i9, _i10, _i11) \ + NS_IMPL_ADDREF(_class) \ + NS_IMPL_RELEASE(_class) \ + NS_IMPL_QUERY_INTERFACE11_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ + _i8, _i9, _i10, _i11) \ + NS_IMPL_CI_INTERFACE_GETTER11(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ + _i8, _i9, _i10, _i11) + +#endif // nsIClassInfoImpl_h__ diff --git a/mozilla/xpcom/glue/nsISupportsImpl.h b/mozilla/xpcom/glue/nsISupportsImpl.h index da7e30f395f..95520db0563 100644 --- a/mozilla/xpcom/glue/nsISupportsImpl.h +++ b/mozilla/xpcom/glue/nsISupportsImpl.h @@ -816,372 +816,6 @@ NS_IMETHODIMP_(nsrefcnt) _class::Release(void) \ NS_IMPL_THREADSAFE_QUERY_INTERFACE11(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ _i7, _i8, _i9, _i10, _i11) -/////////////////////////////////////////////////////////////////////////////// -// Macros for implementing nsIClassInfo-related stuff. -/////////////////////////////////////////////////////////////////////////////// - -// include here instead of at the top because it requires the nsISupport decl -#include "nsIClassInfo.h" - -#define NS_CLASSINFO_NAME(_class) _class##_classInfoGlobal -#define NS_CI_INTERFACE_GETTER_NAME(_class) _class##_GetInterfacesHelper - -#define NS_DECL_CI_INTERFACE_GETTER(_class) \ - extern NS_IMETHODIMP NS_CI_INTERFACE_GETTER_NAME(_class)(PRUint32 *, \ - nsIID ***); - -#define NS_DECL_CLASSINFO(_class) \ - NS_DECL_CI_INTERFACE_GETTER(_class) \ - nsIClassInfo *NS_CLASSINFO_NAME(_class); - -#define NS_IMPL_QUERY_CLASSINFO(_class) \ - if ( aIID.Equals(NS_GET_IID(nsIClassInfo)) ) { \ - extern nsIClassInfo *NS_CLASSINFO_NAME(_class); \ - foundInterface = NS_STATIC_CAST(nsIClassInfo*, NS_CLASSINFO_NAME(_class));\ - } else - -#define NS_CLASSINFO_HELPER_BEGIN(_class, _c) \ -NS_IMETHODIMP \ -NS_CI_INTERFACE_GETTER_NAME(_class)(PRUint32 *count, nsIID ***array) \ -{ \ - *count = _c; \ - *array = (nsIID **)nsMemory::Alloc(sizeof (nsIID *) * _c); - -#define NS_CLASSINFO_HELPER_ENTRY(_i, _interface) \ - (*array)[_i] = (nsIID *)nsMemory::Clone(&NS_GET_IID(_interface), \ - sizeof(nsIID)); - -#define NS_CLASSINFO_HELPER_END \ - return NS_OK; \ -} - -#define NS_IMPL_CI_INTERFACE_GETTER1(_class, _interface) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 1) \ - NS_CLASSINFO_HELPER_ENTRY(0, _interface) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE1_CI(_class, _i1) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS1_CI(_class, _interface) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE1_CI(_class, _interface) \ - NS_IMPL_CI_INTERFACE_GETTER1(_class, _interface) - -#define NS_IMPL_CI_INTERFACE_GETTER2(_class, _i1, _i2) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 2) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE2_CI(_class, _i1, _i2) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS2_CI(_class, _i1, _i2) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE2_CI(_class, _i1, _i2) \ - NS_IMPL_CI_INTERFACE_GETTER2(_class, _i1, _i2) - -#define NS_IMPL_CI_INTERFACE_GETTER3(_class, _i1, _i2, _i3) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 3) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE3_CI(_class, _i1, _i2, _i3) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY(_i3) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS3_CI(_class, _i1, _i2, _i3) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE3_CI(_class, _i1, _i2, _i3) \ - NS_IMPL_CI_INTERFACE_GETTER3(_class, _i1, _i2, _i3) - -#define NS_IMPL_CI_INTERFACE_GETTER4(_class, _i1, _i2, _i3, _i4) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 4) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ - NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE4_CI(_class, _i1, _i2, _i3, _i4) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY(_i3) \ - NS_INTERFACE_MAP_ENTRY(_i4) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS4_CI(_class, _i1, _i2, _i3, _i4) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE4_CI(_class, _i1, _i2, _i3, _i4) \ - NS_IMPL_CI_INTERFACE_GETTER4(_class, _i1, _i2, _i3, _i4) - -#define NS_IMPL_CI_INTERFACE_GETTER5(_class, _i1, _i2, _i3, _i4, _i5) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 5) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ - NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ - NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE5_CI(_class, _i1, _i2, _i3, _i4, _i5) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY(_i3) \ - NS_INTERFACE_MAP_ENTRY(_i4) \ - NS_INTERFACE_MAP_ENTRY(_i5) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS5_CI(_class, _i1, _i2, _i3, _i4, _i5) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE5_CI(_class, _i1, _i2, _i3, _i4, _i5) \ - NS_IMPL_CI_INTERFACE_GETTER5(_class, _i1, _i2, _i3, _i4, _i5) - -#define NS_IMPL_CI_INTERFACE_GETTER6(_class, _i1, _i2, _i3, _i4, _i5, _i6) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 6) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ - NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ - NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ - NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE6_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY(_i3) \ - NS_INTERFACE_MAP_ENTRY(_i4) \ - NS_INTERFACE_MAP_ENTRY(_i5) \ - NS_INTERFACE_MAP_ENTRY(_i6) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS6_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE6_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6) \ - NS_IMPL_CI_INTERFACE_GETTER6(_class, _i1, _i2, _i3, _i4, _i5, _i6) - -#define NS_IMPL_CI_INTERFACE_GETTER7(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 7) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ - NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ - NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ - NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ - NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE7_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY(_i3) \ - NS_INTERFACE_MAP_ENTRY(_i4) \ - NS_INTERFACE_MAP_ENTRY(_i5) \ - NS_INTERFACE_MAP_ENTRY(_i6) \ - NS_INTERFACE_MAP_ENTRY(_i7) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS7_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE7_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) \ - NS_IMPL_CI_INTERFACE_GETTER7(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) - -#define NS_IMPL_CI_INTERFACE_GETTER8(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7, _i8) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 8) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ - NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ - NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ - NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ - NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ - NS_CLASSINFO_HELPER_ENTRY(7, _i8) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE8_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7, _i8) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY(_i3) \ - NS_INTERFACE_MAP_ENTRY(_i4) \ - NS_INTERFACE_MAP_ENTRY(_i5) \ - NS_INTERFACE_MAP_ENTRY(_i6) \ - NS_INTERFACE_MAP_ENTRY(_i7) \ - NS_INTERFACE_MAP_ENTRY(_i8) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS8_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE8_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8) \ - NS_IMPL_CI_INTERFACE_GETTER8(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8) - -#define NS_IMPL_CI_INTERFACE_GETTER9(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7, _i8, _i9) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 9) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ - NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ - NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ - NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ - NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ - NS_CLASSINFO_HELPER_ENTRY(7, _i8) \ - NS_CLASSINFO_HELPER_ENTRY(8, _i9) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE9_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7, _i8, _i9) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY(_i3) \ - NS_INTERFACE_MAP_ENTRY(_i4) \ - NS_INTERFACE_MAP_ENTRY(_i5) \ - NS_INTERFACE_MAP_ENTRY(_i6) \ - NS_INTERFACE_MAP_ENTRY(_i7) \ - NS_INTERFACE_MAP_ENTRY(_i8) \ - NS_INTERFACE_MAP_ENTRY(_i9) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS9_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ - _i8, _i9) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE9_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ - _i8, _i9) \ - NS_IMPL_CI_INTERFACE_GETTER9(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ - _i8, _i9) - -#define NS_IMPL_CI_INTERFACE_GETTER10(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7, _i8, _i9, _i10) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 10) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ - NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ - NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ - NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ - NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ - NS_CLASSINFO_HELPER_ENTRY(7, _i8) \ - NS_CLASSINFO_HELPER_ENTRY(8, _i9) \ - NS_CLASSINFO_HELPER_ENTRY(9, _i10) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_CI_INTERFACE_GETTER11(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7, _i8, _i9, _i10, _i11) \ - NS_CLASSINFO_HELPER_BEGIN(_class, 11) \ - NS_CLASSINFO_HELPER_ENTRY(0, _i1) \ - NS_CLASSINFO_HELPER_ENTRY(1, _i2) \ - NS_CLASSINFO_HELPER_ENTRY(2, _i3) \ - NS_CLASSINFO_HELPER_ENTRY(3, _i4) \ - NS_CLASSINFO_HELPER_ENTRY(4, _i5) \ - NS_CLASSINFO_HELPER_ENTRY(5, _i6) \ - NS_CLASSINFO_HELPER_ENTRY(6, _i7) \ - NS_CLASSINFO_HELPER_ENTRY(7, _i8) \ - NS_CLASSINFO_HELPER_ENTRY(8, _i9) \ - NS_CLASSINFO_HELPER_ENTRY(9, _i10) \ - NS_CLASSINFO_HELPER_ENTRY(10, _i11) \ - NS_CLASSINFO_HELPER_END - -#define NS_IMPL_QUERY_INTERFACE10_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7, _i8, _i9, _i10) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY(_i3) \ - NS_INTERFACE_MAP_ENTRY(_i4) \ - NS_INTERFACE_MAP_ENTRY(_i5) \ - NS_INTERFACE_MAP_ENTRY(_i6) \ - NS_INTERFACE_MAP_ENTRY(_i7) \ - NS_INTERFACE_MAP_ENTRY(_i8) \ - NS_INTERFACE_MAP_ENTRY(_i9) \ - NS_INTERFACE_MAP_ENTRY(_i10) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_QUERY_INTERFACE11_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, \ - _i7, _i8, _i9, _i10, _i11) \ - NS_INTERFACE_MAP_BEGIN(_class) \ - NS_INTERFACE_MAP_ENTRY(_i1) \ - NS_INTERFACE_MAP_ENTRY(_i2) \ - NS_INTERFACE_MAP_ENTRY(_i3) \ - NS_INTERFACE_MAP_ENTRY(_i4) \ - NS_INTERFACE_MAP_ENTRY(_i5) \ - NS_INTERFACE_MAP_ENTRY(_i6) \ - NS_INTERFACE_MAP_ENTRY(_i7) \ - NS_INTERFACE_MAP_ENTRY(_i8) \ - NS_INTERFACE_MAP_ENTRY(_i9) \ - NS_INTERFACE_MAP_ENTRY(_i10) \ - NS_INTERFACE_MAP_ENTRY(_i11) \ - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, _i1) \ - NS_IMPL_QUERY_CLASSINFO(_class) \ - NS_INTERFACE_MAP_END - -#define NS_IMPL_ISUPPORTS10_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ - _i8, _i9, _i10) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE10_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ - _i8, _i9, _i10) \ - NS_IMPL_CI_INTERFACE_GETTER10(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ - _i8, _i9, _i10) - -#define NS_IMPL_ISUPPORTS11_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ - _i8, _i9, _i10, _i11) \ - NS_IMPL_ADDREF(_class) \ - NS_IMPL_RELEASE(_class) \ - NS_IMPL_QUERY_INTERFACE11_CI(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ - _i8, _i9, _i10, _i11) \ - NS_IMPL_CI_INTERFACE_GETTER11(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \ - _i8, _i9, _i10, _i11) - #define NS_INTERFACE_MAP_END_THREADSAFE NS_IMPL_QUERY_TAIL_GUTS #endif diff --git a/mozilla/xpcom/io/nsFastLoadFile.cpp b/mozilla/xpcom/io/nsFastLoadFile.cpp index c75a8c28efc..9cf7a18bcac 100644 --- a/mozilla/xpcom/io/nsFastLoadFile.cpp +++ b/mozilla/xpcom/io/nsFastLoadFile.cpp @@ -52,6 +52,7 @@ #include "nsISeekableStream.h" #include "nsISerializable.h" #include "nsIStreamBufferAccess.h" +#include "nsIClassInfo.h" #include "nsBinaryStream.h" #include "nsFastLoadFile.h" diff --git a/mozilla/xpcom/io/nsStringStream.cpp b/mozilla/xpcom/io/nsStringStream.cpp index 8c1413f8607..e615f2eb1cb 100644 --- a/mozilla/xpcom/io/nsStringStream.cpp +++ b/mozilla/xpcom/io/nsStringStream.cpp @@ -61,6 +61,7 @@ #include "nsCRT.h" #include "prerror.h" #include "plstr.h" +#include "nsIClassInfoImpl.h" //----------------------------------------------------------------------------- // nsIStringInputStream implementation diff --git a/mozilla/xpcom/sample/nsSample.cpp b/mozilla/xpcom/sample/nsSample.cpp index ac3d8449b4e..f8c62b6731c 100644 --- a/mozilla/xpcom/sample/nsSample.cpp +++ b/mozilla/xpcom/sample/nsSample.cpp @@ -49,6 +49,7 @@ #include "nsMemory.h" #include "nsEmbedString.h" +#include "nsIClassInfoImpl.h" //////////////////////////////////////////////////////////////////////// nsSampleImpl::nsSampleImpl() : mValue(nsnull) diff --git a/mozilla/xpcom/sample/nsSampleModule.cpp b/mozilla/xpcom/sample/nsSampleModule.cpp index 2ec63359cc5..b405a57eb98 100644 --- a/mozilla/xpcom/sample/nsSampleModule.cpp +++ b/mozilla/xpcom/sample/nsSampleModule.cpp @@ -36,6 +36,7 @@ * * ***** END LICENSE BLOCK ***** */ #include "nsIGenericFactory.h" +#include "nsIClassInfoImpl.h" #include "nsSample.h"