/* * DO NOT EDIT. THIS FILE IS GENERATED FROM c:/mozilla/xpcom/base/nsITraceRefcnt.idl */ #ifndef __gen_nsITraceRefcnt_h__ #define __gen_nsITraceRefcnt_h__ #ifndef __gen_nsISupports_h__ #include "nsISupports.h" #endif /* For IDL files that don't want to include root IDL files. */ #ifndef NS_NO_VTABLE #define NS_NO_VTABLE #endif /* starting interface: nsITraceRefcnt */ #define NS_ITRACEREFCNT_IID_STR "273dc92f-0fe6-4545-96a9-21be77828039" #define NS_ITRACEREFCNT_IID \ {0x273dc92f, 0x0fe6, 0x4545, \ { 0x96, 0xa9, 0x21, 0xbe, 0x77, 0x82, 0x80, 0x39 }} /** * nsITraceRefcnt is an interface between XPCOM Glue and XPCOM. Users should * access the nsITraceRefcnt interface through the static class nsTraceRefcnt. * @see nsTraceRefcnt.h * * @status UNDER_REVIEW */ class NS_NO_VTABLE nsITraceRefcnt : public nsISupports { public: NS_DEFINE_STATIC_IID_ACCESSOR(NS_ITRACEREFCNT_IID) /* void logAddRef (in voidPtr aPtr, in nsrefcnt aNewRefcnt, in string aTypeName, in unsigned long aInstanceSize); */ NS_IMETHOD LogAddRef(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName, PRUint32 aInstanceSize) = 0; /* void logRelease (in voidPtr aPtr, in nsrefcnt aNewRefcnt, in string aTypeName); */ NS_IMETHOD LogRelease(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName) = 0; /* void logCtor (in voidPtr aPtr, in string aTypeName, in unsigned long aInstanceSize); */ NS_IMETHOD LogCtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize) = 0; /* void logDtor (in voidPtr aPtr, in string aTypeName, in unsigned long aInstanceSize); */ NS_IMETHOD LogDtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize) = 0; /* void logAddCOMPtr (in voidPtr aPtr, in nsISupports aObject); */ NS_IMETHOD LogAddCOMPtr(void * aPtr, nsISupports *aObject) = 0; /* void logReleaseCOMPtr (in voidPtr aPtr, in nsISupports aObject); */ NS_IMETHOD LogReleaseCOMPtr(void * aPtr, nsISupports *aObject) = 0; }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSITRACEREFCNT \ NS_IMETHOD LogAddRef(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName, PRUint32 aInstanceSize); \ NS_IMETHOD LogRelease(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName); \ NS_IMETHOD LogCtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize); \ NS_IMETHOD LogDtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize); \ NS_IMETHOD LogAddCOMPtr(void * aPtr, nsISupports *aObject); \ NS_IMETHOD LogReleaseCOMPtr(void * aPtr, nsISupports *aObject); /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSITRACEREFCNT(_to) \ NS_IMETHOD LogAddRef(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName, PRUint32 aInstanceSize) { return _to LogAddRef(aPtr, aNewRefcnt, aTypeName, aInstanceSize); } \ NS_IMETHOD LogRelease(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName) { return _to LogRelease(aPtr, aNewRefcnt, aTypeName); } \ NS_IMETHOD LogCtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize) { return _to LogCtor(aPtr, aTypeName, aInstanceSize); } \ NS_IMETHOD LogDtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize) { return _to LogDtor(aPtr, aTypeName, aInstanceSize); } \ NS_IMETHOD LogAddCOMPtr(void * aPtr, nsISupports *aObject) { return _to LogAddCOMPtr(aPtr, aObject); } \ NS_IMETHOD LogReleaseCOMPtr(void * aPtr, nsISupports *aObject) { return _to LogReleaseCOMPtr(aPtr, aObject); } /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSITRACEREFCNT(_to) \ NS_IMETHOD LogAddRef(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName, PRUint32 aInstanceSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->LogAddRef(aPtr, aNewRefcnt, aTypeName, aInstanceSize); } \ NS_IMETHOD LogRelease(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName) { return !_to ? NS_ERROR_NULL_POINTER : _to->LogRelease(aPtr, aNewRefcnt, aTypeName); } \ NS_IMETHOD LogCtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->LogCtor(aPtr, aTypeName, aInstanceSize); } \ NS_IMETHOD LogDtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->LogDtor(aPtr, aTypeName, aInstanceSize); } \ NS_IMETHOD LogAddCOMPtr(void * aPtr, nsISupports *aObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->LogAddCOMPtr(aPtr, aObject); } \ NS_IMETHOD LogReleaseCOMPtr(void * aPtr, nsISupports *aObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->LogReleaseCOMPtr(aPtr, aObject); } #if 0 /* Use the code below as a template for the implementation class for this interface. */ /* Header file */ class nsTraceRefcnt : public nsITraceRefcnt { public: NS_DECL_ISUPPORTS NS_DECL_NSITRACEREFCNT nsTraceRefcnt(); private: ~nsTraceRefcnt(); protected: /* additional members */ }; /* Implementation file */ NS_IMPL_ISUPPORTS1(nsTraceRefcnt, nsITraceRefcnt) nsTraceRefcnt::nsTraceRefcnt() { /* member initializers and constructor code */ } nsTraceRefcnt::~nsTraceRefcnt() { /* destructor code */ } /* void logAddRef (in voidPtr aPtr, in nsrefcnt aNewRefcnt, in string aTypeName, in unsigned long aInstanceSize); */ NS_IMETHODIMP nsTraceRefcnt::LogAddRef(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName, PRUint32 aInstanceSize) { return NS_ERROR_NOT_IMPLEMENTED; } /* void logRelease (in voidPtr aPtr, in nsrefcnt aNewRefcnt, in string aTypeName); */ NS_IMETHODIMP nsTraceRefcnt::LogRelease(void * aPtr, nsrefcnt aNewRefcnt, const char *aTypeName) { return NS_ERROR_NOT_IMPLEMENTED; } /* void logCtor (in voidPtr aPtr, in string aTypeName, in unsigned long aInstanceSize); */ NS_IMETHODIMP nsTraceRefcnt::LogCtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize) { return NS_ERROR_NOT_IMPLEMENTED; } /* void logDtor (in voidPtr aPtr, in string aTypeName, in unsigned long aInstanceSize); */ NS_IMETHODIMP nsTraceRefcnt::LogDtor(void * aPtr, const char *aTypeName, PRUint32 aInstanceSize) { return NS_ERROR_NOT_IMPLEMENTED; } /* void logAddCOMPtr (in voidPtr aPtr, in nsISupports aObject); */ NS_IMETHODIMP nsTraceRefcnt::LogAddCOMPtr(void * aPtr, nsISupports *aObject) { return NS_ERROR_NOT_IMPLEMENTED; } /* void logReleaseCOMPtr (in voidPtr aPtr, in nsISupports aObject); */ NS_IMETHODIMP nsTraceRefcnt::LogReleaseCOMPtr(void * aPtr, nsISupports *aObject) { return NS_ERROR_NOT_IMPLEMENTED; } /* End of implementation class template. */ #endif #endif /* __gen_nsITraceRefcnt_h__ */