зеркало из https://github.com/mozilla/pjs.git
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.
This commit is contained in:
Родитель
305dfd6b24
Коммит
41e6c02b2f
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
#include "nsIObjectOutputStream.h"
|
||||
#include "nsIPrefBranch.h"
|
||||
#include "nsIPrefService.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
#include "nsPrincipal.h"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include "nsReadableUtils.h"
|
||||
#include "nsCRT.h"
|
||||
#include "nsString.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
|
||||
NS_IMPL_QUERY_INTERFACE2_CI(nsSystemPrincipal,
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include "nsISimpleEnumerator.h"
|
||||
#include "nsLDAPControl.h"
|
||||
#include "nsILDAPErrors.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
// constructor
|
||||
nsLDAPOperation::nsLDAPOperation()
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
#ifndef nsIDOMClassInfo_h___
|
||||
#define nsIDOMClassInfo_h___
|
||||
|
||||
#include "nsIClassInfo.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
#include "nsVoidArray.h"
|
||||
|
||||
enum nsDOMClassInfoID {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
#endif
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
#include "nsServiceManagerUtils.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsXPCOMCID.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
NS_DECL_CLASSINFO(nsMetricsService)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include "nsMemory.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsIComponentManager.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
@ -136,4 +137,3 @@ nsSchemaDuration::GetNegative(PRBool *aResult)
|
|||
*aResult = negative;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
#include "nsIExceptionService.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsAString.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
// SOAP includes
|
||||
#include "nsISOAPCall.h"
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include "nsMemory.h"
|
||||
#include "nsComponentManagerUtils.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
const PRUint8 sInt8Val = 2;
|
||||
const PRInt16 sInt16Val = 0x1234;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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__
|
||||
|
||||
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
#include "nsIWebScriptsAccessService.h"
|
||||
#include "nsMemory.h"
|
||||
#include "nsIDocument.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
nsHTTPSOAPTransport::nsHTTPSOAPTransport()
|
||||
{
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "nsIURI.h"
|
||||
#include "nsNetUtil.h"
|
||||
#include "nsSOAPException.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
/////////////////////////////////////////////
|
||||
//
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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) :
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include "nsIDOMNodeList.h"
|
||||
#include "nsISOAPMessage.h"
|
||||
#include "nsSOAPException.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
nsSOAPFault::nsSOAPFault()
|
||||
{
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
#include "nsISOAPAttachments.h"
|
||||
#include "nsISOAPMessage.h"
|
||||
#include "nsSOAPException.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
nsSOAPHeaderBlock::nsSOAPHeaderBlock()
|
||||
{
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#include "nsSOAPUtils.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsISOAPAttachments.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
nsSOAPParameter::nsSOAPParameter()
|
||||
{
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "nsHashKeys.h"
|
||||
#include "jsapi.h"
|
||||
#include "nsIXPCScriptable.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
class nsSOAPPropertyBagEnumerator;
|
||||
class nsSOAPPropertyBag:public nsIPropertyBag, public nsIXPCScriptable {
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
#include "nsISOAPParameter.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsIComponentManager.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
nsSOAPResponse::nsSOAPResponse()
|
||||
{
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
#include "nsString.h"
|
||||
#include "nsReadableUtils.h"
|
||||
#include "nsWeakReference.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
// Typelib includes
|
||||
#include "nsIInterfaceInfo.h"
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
#include "nsIEventStateManager.h"
|
||||
#include "nsIContent.h"
|
||||
#include "nsIXFormsControl.h"
|
||||
#include "nsIProgrammingLanguage.h"
|
||||
|
||||
NS_IMPL_ISUPPORTS2(nsXFormsAccessors, nsIXFormsAccessors, nsIClassInfo)
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#include "nsIXPCScriptable.h"
|
||||
#include "xpctest_calljs.h"
|
||||
#include "nsISupports.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
class xpcTestCallJS : public nsIXPCTestCallJS, public nsIXPCScriptable {
|
||||
public:
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#include "xpctest_multiple.h"
|
||||
#include "nsISupports.h"
|
||||
#include "xpctest_private.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
class xpcTestParentOne : public nsIXPCTestParentOne {
|
||||
public:
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
#include "nsNetCID.h"
|
||||
#include "nsIObjectInputStream.h"
|
||||
#include "nsIObjectOutputStream.h"
|
||||
#include "nsIProgrammingLanguage.h"
|
||||
|
||||
static NS_DEFINE_CID(kJARURICID, NS_JARURI_CID);
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
#include "nsI4xScriptablePlugin.h"
|
||||
#include "nsIClassInfo.h"
|
||||
#include "nsIProgrammingLanguage.h"
|
||||
|
||||
class CPlugin;
|
||||
|
||||
|
@ -103,4 +104,4 @@ protected:
|
|||
acmeIScriptObject* mWindow;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
#include "nsI4xScriptablePlugin.h"
|
||||
#include "nsIClassInfo.h"
|
||||
#include "nsIProgrammingLanguage.h"
|
||||
|
||||
class CPlugin;
|
||||
|
||||
|
@ -92,4 +93,4 @@ protected:
|
|||
CPlugin* mPlugin;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
#include "nsIScriptablePluginSample.h"
|
||||
#include "nsIClassInfo.h"
|
||||
#include "nsIProgrammingLanguage.h"
|
||||
|
||||
class nsPluginInstance;
|
||||
|
||||
|
@ -104,4 +105,4 @@ protected:
|
|||
nsPluginInstance* mPlugin;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
#include "nsIScriptablePluginSample.h"
|
||||
#include "nsIClassInfo.h"
|
||||
#include "nsIProgrammingLanguage.h"
|
||||
|
||||
class nsPluginInstance;
|
||||
|
||||
|
@ -105,4 +106,3 @@ protected:
|
|||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
#include "nsIScriptablePluginSample.h"
|
||||
#include "nsIClassInfo.h"
|
||||
#include "nsIProgrammingLanguage.h"
|
||||
|
||||
class nsPluginInstance;
|
||||
|
||||
|
@ -104,4 +105,4 @@ protected:
|
|||
nsPluginInstance* mPlugin;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
#include "nsISimplePlugin.h"
|
||||
#include "nsIClassInfo.h"
|
||||
#include "nsIProgrammingLanguage.h"
|
||||
|
||||
class nsPluginInstance;
|
||||
|
||||
|
@ -105,4 +106,3 @@ protected:
|
|||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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 */ \
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@
|
|||
#include "nsIIOService.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsURLHelper.h"
|
||||
#include "nsIClassInfo.h"
|
||||
|
||||
class nsIBinaryInputStream;
|
||||
class nsIBinaryOutputStream;
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
|
||||
#include "nsConsoleService.h"
|
||||
#include "nsConsoleMessage.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
NS_IMPL_THREADSAFE_ADDREF(nsConsoleService)
|
||||
NS_IMPL_THREADSAFE_RELEASE(nsConsoleService)
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "nsISupports.idl"
|
||||
#include "nsIProgrammingLanguage.idl"
|
||||
|
||||
/**
|
||||
* Provides information about a specific implementation class
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "nsCOMPtr.h"
|
||||
#include "nsIComponentManager.h"
|
||||
#include "nsIComponentRegistrar.h"
|
||||
#include "nsIProgrammingLanguage.h"
|
||||
|
||||
#ifdef XPCOM_GLUE
|
||||
#include "nsXPCOMGlue.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__
|
|
@ -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
|
||||
|
|
|
@ -52,6 +52,7 @@
|
|||
#include "nsISeekableStream.h"
|
||||
#include "nsISerializable.h"
|
||||
#include "nsIStreamBufferAccess.h"
|
||||
#include "nsIClassInfo.h"
|
||||
|
||||
#include "nsBinaryStream.h"
|
||||
#include "nsFastLoadFile.h"
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
#include "nsCRT.h"
|
||||
#include "prerror.h"
|
||||
#include "plstr.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// nsIStringInputStream implementation
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
#include "nsMemory.h"
|
||||
|
||||
#include "nsEmbedString.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
nsSampleImpl::nsSampleImpl() : mValue(nsnull)
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
#include "nsIGenericFactory.h"
|
||||
#include "nsIClassInfoImpl.h"
|
||||
|
||||
#include "nsSample.h"
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче