/* * DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/xpcom/threads/nsIThreadPool.idl */ #ifndef __gen_nsIThreadPool_h__ #define __gen_nsIThreadPool_h__ #include "nsIEventTarget.h" #include "nsIThread.h" /* For IDL files that don't want to include root IDL files. */ #ifndef NS_NO_VTABLE #define NS_NO_VTABLE #endif /* starting interface: nsIThreadPoolListener */ #define NS_ITHREADPOOLLISTENER_IID_STR "ef194cab-3f86-4b61-b132-e5e96a79e5d1" #define NS_ITHREADPOOLLISTENER_IID \ {0xef194cab, 0x3f86, 0x4b61, \ { 0xb1, 0x32, 0xe5, 0xe9, 0x6a, 0x79, 0xe5, 0xd1 }} class NS_NO_VTABLE MOZ_BINDING(binding_to, idl, class, XPIDL_nsIThreadPoolListener) nsIThreadPoolListener : public nsISupports { public: NS_INLINE_DECL_STATIC_IID(NS_ITHREADPOOLLISTENER_IID) /* void onThreadCreated (); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPoolListener_onThreadCreated) NS_IMETHOD OnThreadCreated(void) = 0; /* void onThreadShuttingDown (); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPoolListener_onThreadShuttingDown) NS_IMETHOD OnThreadShuttingDown(void) = 0; }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSITHREADPOOLLISTENER \ NS_IMETHOD OnThreadCreated(void) override; \ NS_IMETHOD OnThreadShuttingDown(void) override; /* Use this macro when declaring the members of this interface when the class doesn't implement the interface. This is useful for forwarding. */ #define NS_DECL_NON_VIRTUAL_NSITHREADPOOLLISTENER \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPoolListener_onThreadCreated)\ nsresult OnThreadCreated(void); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPoolListener_onThreadShuttingDown)\ nsresult OnThreadShuttingDown(void); /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSITHREADPOOLLISTENER(_to) \ NS_IMETHOD OnThreadCreated(void) override { return _to OnThreadCreated(); } \ NS_IMETHOD OnThreadShuttingDown(void) override { return _to OnThreadShuttingDown(); } /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSITHREADPOOLLISTENER(_to) \ NS_IMETHOD OnThreadCreated(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->OnThreadCreated(); } \ NS_IMETHOD OnThreadShuttingDown(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->OnThreadShuttingDown(); } /* starting interface: nsIThreadPool */ #define NS_ITHREADPOOL_IID_STR "76ce99c9-8e43-489a-9789-f27cc4424965" #define NS_ITHREADPOOL_IID \ {0x76ce99c9, 0x8e43, 0x489a, \ { 0x97, 0x89, 0xf2, 0x7c, 0xc4, 0x42, 0x49, 0x65 }} class NS_NO_VTABLE MOZ_BINDING(binding_to, idl, class, XPIDL_nsIThreadPool) nsIThreadPool : public nsIEventTarget { public: NS_INLINE_DECL_STATIC_IID(NS_ITHREADPOOL_IID) /* [noscript] void setQoSForThreads (in nsIThread_QoSPriority aPriority); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPool_setQoSForThreads) NS_IMETHOD SetQoSForThreads(nsIThread::QoSPriority aPriority) = 0; /* void shutdown (); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPool_shutdown) NS_IMETHOD Shutdown(void) = 0; /* [noscript] void shutdownWithTimeout (in long aTimeoutMs); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPool_shutdownWithTimeout) NS_IMETHOD ShutdownWithTimeout(int32_t aTimeoutMs) = 0; /* attribute unsigned long threadLimit; */ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_threadLimit) NS_IMETHOD GetThreadLimit(uint32_t *aThreadLimit) = 0; MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_threadLimit) NS_IMETHOD SetThreadLimit(uint32_t aThreadLimit) = 0; /* attribute unsigned long idleThreadLimit; */ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_idleThreadLimit) NS_IMETHOD GetIdleThreadLimit(uint32_t *aIdleThreadLimit) = 0; MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_idleThreadLimit) NS_IMETHOD SetIdleThreadLimit(uint32_t aIdleThreadLimit) = 0; /* attribute unsigned long idleThreadGraceTimeout; */ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_idleThreadGraceTimeout) NS_IMETHOD GetIdleThreadGraceTimeout(uint32_t *aIdleThreadGraceTimeout) = 0; MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_idleThreadGraceTimeout) NS_IMETHOD SetIdleThreadGraceTimeout(uint32_t aIdleThreadGraceTimeout) = 0; /* attribute unsigned long idleThreadMaximumTimeout; */ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_idleThreadMaximumTimeout) NS_IMETHOD GetIdleThreadMaximumTimeout(uint32_t *aIdleThreadMaximumTimeout) = 0; MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_idleThreadMaximumTimeout) NS_IMETHOD SetIdleThreadMaximumTimeout(uint32_t aIdleThreadMaximumTimeout) = 0; /* attribute unsigned long threadStackSize; */ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_threadStackSize) NS_IMETHOD GetThreadStackSize(uint32_t *aThreadStackSize) = 0; MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_threadStackSize) NS_IMETHOD SetThreadStackSize(uint32_t aThreadStackSize) = 0; /* attribute nsIThreadPoolListener listener; */ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_listener) NS_IMETHOD GetListener(nsIThreadPoolListener **aListener) = 0; MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_listener) NS_IMETHOD SetListener(nsIThreadPoolListener *aListener) = 0; /* void setName (in ACString aName); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPool_setName) NS_IMETHOD SetName(const nsACString& aName) = 0; }; namespace mozilla::detail { template <> class InterfaceNeedsThreadSafeRefCnt : public std::true_type {}; } /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSITHREADPOOL \ NS_IMETHOD SetQoSForThreads(nsIThread::QoSPriority aPriority) override; \ NS_IMETHOD Shutdown(void) override; \ NS_IMETHOD ShutdownWithTimeout(int32_t aTimeoutMs) override; \ NS_IMETHOD GetThreadLimit(uint32_t *aThreadLimit) override; \ NS_IMETHOD SetThreadLimit(uint32_t aThreadLimit) override; \ NS_IMETHOD GetIdleThreadLimit(uint32_t *aIdleThreadLimit) override; \ NS_IMETHOD SetIdleThreadLimit(uint32_t aIdleThreadLimit) override; \ NS_IMETHOD GetIdleThreadGraceTimeout(uint32_t *aIdleThreadGraceTimeout) override; \ NS_IMETHOD SetIdleThreadGraceTimeout(uint32_t aIdleThreadGraceTimeout) override; \ NS_IMETHOD GetIdleThreadMaximumTimeout(uint32_t *aIdleThreadMaximumTimeout) override; \ NS_IMETHOD SetIdleThreadMaximumTimeout(uint32_t aIdleThreadMaximumTimeout) override; \ NS_IMETHOD GetThreadStackSize(uint32_t *aThreadStackSize) override; \ NS_IMETHOD SetThreadStackSize(uint32_t aThreadStackSize) override; \ NS_IMETHOD GetListener(nsIThreadPoolListener **aListener) override; \ NS_IMETHOD SetListener(nsIThreadPoolListener *aListener) override; \ NS_IMETHOD SetName(const nsACString& aName) override; /* Use this macro when declaring the members of this interface when the class doesn't implement the interface. This is useful for forwarding. */ #define NS_DECL_NON_VIRTUAL_NSITHREADPOOL \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPool_setQoSForThreads)\ nsresult SetQoSForThreads(nsIThread::QoSPriority aPriority); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPool_shutdown)\ nsresult Shutdown(void); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPool_shutdownWithTimeout)\ nsresult ShutdownWithTimeout(int32_t aTimeoutMs); \ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_threadLimit)\ nsresult GetThreadLimit(uint32_t *aThreadLimit); \ MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_threadLimit)\ nsresult SetThreadLimit(uint32_t aThreadLimit); \ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_idleThreadLimit)\ nsresult GetIdleThreadLimit(uint32_t *aIdleThreadLimit); \ MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_idleThreadLimit)\ nsresult SetIdleThreadLimit(uint32_t aIdleThreadLimit); \ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_idleThreadGraceTimeout)\ nsresult GetIdleThreadGraceTimeout(uint32_t *aIdleThreadGraceTimeout); \ MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_idleThreadGraceTimeout)\ nsresult SetIdleThreadGraceTimeout(uint32_t aIdleThreadGraceTimeout); \ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_idleThreadMaximumTimeout)\ nsresult GetIdleThreadMaximumTimeout(uint32_t *aIdleThreadMaximumTimeout); \ MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_idleThreadMaximumTimeout)\ nsresult SetIdleThreadMaximumTimeout(uint32_t aIdleThreadMaximumTimeout); \ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_threadStackSize)\ nsresult GetThreadStackSize(uint32_t *aThreadStackSize); \ MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_threadStackSize)\ nsresult SetThreadStackSize(uint32_t aThreadStackSize); \ MOZ_BINDING(binding_to, idl, getter, XPIDL_nsIThreadPool_listener)\ nsresult GetListener(nsIThreadPoolListener **aListener); \ MOZ_BINDING(binding_to, idl, setter, XPIDL_nsIThreadPool_listener)\ nsresult SetListener(nsIThreadPoolListener *aListener); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIThreadPool_setName)\ nsresult SetName(const nsACString& aName); /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSITHREADPOOL(_to) \ NS_IMETHOD SetQoSForThreads(nsIThread::QoSPriority aPriority) override { return _to SetQoSForThreads(aPriority); } \ NS_IMETHOD Shutdown(void) override { return _to Shutdown(); } \ NS_IMETHOD ShutdownWithTimeout(int32_t aTimeoutMs) override { return _to ShutdownWithTimeout(aTimeoutMs); } \ NS_IMETHOD GetThreadLimit(uint32_t *aThreadLimit) override { return _to GetThreadLimit(aThreadLimit); } \ NS_IMETHOD SetThreadLimit(uint32_t aThreadLimit) override { return _to SetThreadLimit(aThreadLimit); } \ NS_IMETHOD GetIdleThreadLimit(uint32_t *aIdleThreadLimit) override { return _to GetIdleThreadLimit(aIdleThreadLimit); } \ NS_IMETHOD SetIdleThreadLimit(uint32_t aIdleThreadLimit) override { return _to SetIdleThreadLimit(aIdleThreadLimit); } \ NS_IMETHOD GetIdleThreadGraceTimeout(uint32_t *aIdleThreadGraceTimeout) override { return _to GetIdleThreadGraceTimeout(aIdleThreadGraceTimeout); } \ NS_IMETHOD SetIdleThreadGraceTimeout(uint32_t aIdleThreadGraceTimeout) override { return _to SetIdleThreadGraceTimeout(aIdleThreadGraceTimeout); } \ NS_IMETHOD GetIdleThreadMaximumTimeout(uint32_t *aIdleThreadMaximumTimeout) override { return _to GetIdleThreadMaximumTimeout(aIdleThreadMaximumTimeout); } \ NS_IMETHOD SetIdleThreadMaximumTimeout(uint32_t aIdleThreadMaximumTimeout) override { return _to SetIdleThreadMaximumTimeout(aIdleThreadMaximumTimeout); } \ NS_IMETHOD GetThreadStackSize(uint32_t *aThreadStackSize) override { return _to GetThreadStackSize(aThreadStackSize); } \ NS_IMETHOD SetThreadStackSize(uint32_t aThreadStackSize) override { return _to SetThreadStackSize(aThreadStackSize); } \ NS_IMETHOD GetListener(nsIThreadPoolListener **aListener) override { return _to GetListener(aListener); } \ NS_IMETHOD SetListener(nsIThreadPoolListener *aListener) override { return _to SetListener(aListener); } \ NS_IMETHOD SetName(const nsACString& aName) override { return _to SetName(aName); } /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSITHREADPOOL(_to) \ NS_IMETHOD SetQoSForThreads(nsIThread::QoSPriority aPriority) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetQoSForThreads(aPriority); } \ NS_IMETHOD Shutdown(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Shutdown(); } \ NS_IMETHOD ShutdownWithTimeout(int32_t aTimeoutMs) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ShutdownWithTimeout(aTimeoutMs); } \ NS_IMETHOD GetThreadLimit(uint32_t *aThreadLimit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetThreadLimit(aThreadLimit); } \ NS_IMETHOD SetThreadLimit(uint32_t aThreadLimit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetThreadLimit(aThreadLimit); } \ NS_IMETHOD GetIdleThreadLimit(uint32_t *aIdleThreadLimit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIdleThreadLimit(aIdleThreadLimit); } \ NS_IMETHOD SetIdleThreadLimit(uint32_t aIdleThreadLimit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIdleThreadLimit(aIdleThreadLimit); } \ NS_IMETHOD GetIdleThreadGraceTimeout(uint32_t *aIdleThreadGraceTimeout) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIdleThreadGraceTimeout(aIdleThreadGraceTimeout); } \ NS_IMETHOD SetIdleThreadGraceTimeout(uint32_t aIdleThreadGraceTimeout) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIdleThreadGraceTimeout(aIdleThreadGraceTimeout); } \ NS_IMETHOD GetIdleThreadMaximumTimeout(uint32_t *aIdleThreadMaximumTimeout) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIdleThreadMaximumTimeout(aIdleThreadMaximumTimeout); } \ NS_IMETHOD SetIdleThreadMaximumTimeout(uint32_t aIdleThreadMaximumTimeout) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIdleThreadMaximumTimeout(aIdleThreadMaximumTimeout); } \ NS_IMETHOD GetThreadStackSize(uint32_t *aThreadStackSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetThreadStackSize(aThreadStackSize); } \ NS_IMETHOD SetThreadStackSize(uint32_t aThreadStackSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetThreadStackSize(aThreadStackSize); } \ NS_IMETHOD GetListener(nsIThreadPoolListener **aListener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetListener(aListener); } \ NS_IMETHOD SetListener(nsIThreadPoolListener *aListener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetListener(aListener); } \ NS_IMETHOD SetName(const nsACString& aName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetName(aName); } #endif /* __gen_nsIThreadPool_h__ */