Copy as Markdown

Other Tools

/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl
*/
#ifndef __gen_nsIAboutThirdParty_h__
#define __gen_nsIAboutThirdParty_h__
#include "nsISupports.h"
#include "js/Value.h"
#include "js/GCAnnotations.h"
/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
/* starting interface: nsIInstalledApplication */
#define NS_IINSTALLEDAPPLICATION_IID_STR "063813a0-85d8-4e77-80ea-b61292c0493d"
#define NS_IINSTALLEDAPPLICATION_IID \
{0x063813a0, 0x85d8, 0x4e77, \
{ 0x80, 0xea, 0xb6, 0x12, 0x92, 0xc0, 0x49, 0x3d }}
class NS_NO_VTABLE nsIInstalledApplication : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IINSTALLEDAPPLICATION_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIInstalledApplication;
/* readonly attribute AString name; */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetName(nsAString& aName) = 0;
/* readonly attribute AString publisher; */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetPublisher(nsAString& aPublisher) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIInstalledApplication, NS_IINSTALLEDAPPLICATION_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIINSTALLEDAPPLICATION \
NS_IMETHOD GetName(nsAString& aName) override; \
NS_IMETHOD GetPublisher(nsAString& aPublisher) 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_NSIINSTALLEDAPPLICATION \
nsresult GetName(nsAString& aName); \
nsresult GetPublisher(nsAString& aPublisher);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIINSTALLEDAPPLICATION(_to) \
NS_IMETHOD GetName(nsAString& aName) override { return _to GetName(aName); } \
NS_IMETHOD GetPublisher(nsAString& aPublisher) override { return _to GetPublisher(aPublisher); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIINSTALLEDAPPLICATION(_to) \
NS_IMETHOD GetName(nsAString& aName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetName(aName); } \
NS_IMETHOD GetPublisher(nsAString& aPublisher) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPublisher(aPublisher); }
/* starting interface: nsIAboutThirdParty */
#define NS_IABOUTTHIRDPARTY_IID_STR "d33ff086-b328-4ae6-aaf5-52d41aa5df38"
#define NS_IABOUTTHIRDPARTY_IID \
{0xd33ff086, 0xb328, 0x4ae6, \
{ 0xaa, 0xf5, 0x52, 0xd4, 0x1a, 0xa5, 0xdf, 0x38 }}
class NS_NO_VTABLE nsIAboutThirdParty : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IABOUTTHIRDPARTY_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIAboutThirdParty;
enum {
ModuleType_Unknown = 1U,
ModuleType_IME = 2U,
ModuleType_ShellExtension = 4U,
ModuleType_BlockedByUser = 8U,
ModuleType_BlockedByUserAtLaunch = 16U
};
/* unsigned long lookupModuleType (in AString aLeafName); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD LookupModuleType(const nsAString& aLeafName, uint32_t *_retval) = 0;
/* nsIInstalledApplication lookupApplication (in AString aModulePath); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD LookupApplication(const nsAString& aModulePath, nsIInstalledApplication **_retval) = 0;
/* readonly attribute boolean isDynamicBlocklistAvailable; */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetIsDynamicBlocklistAvailable(bool *aIsDynamicBlocklistAvailable) = 0;
/* readonly attribute boolean isDynamicBlocklistDisabled; */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetIsDynamicBlocklistDisabled(bool *aIsDynamicBlocklistDisabled) = 0;
/* [implicit_jscontext] Promise updateBlocklist (in AString aLeafName, in boolean aNewBlockStatus); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD UpdateBlocklist(const nsAString& aLeafName, bool aNewBlockStatus, JSContext* cx, ::mozilla::dom::Promise * * _retval) = 0;
/* [implicit_jscontext] Promise collectSystemInfo (); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD CollectSystemInfo(JSContext* cx, ::mozilla::dom::Promise * * _retval) = 0;
/* void openAndCloseFileDialogForTesting (in AString aModuleName, in AString aInitialDir, in AString aFilter); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD OpenAndCloseFileDialogForTesting(const nsAString& aModuleName, const nsAString& aInitialDir, const nsAString& aFilter) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIAboutThirdParty, NS_IABOUTTHIRDPARTY_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIABOUTTHIRDPARTY \
NS_IMETHOD LookupModuleType(const nsAString& aLeafName, uint32_t *_retval) override; \
NS_IMETHOD LookupApplication(const nsAString& aModulePath, nsIInstalledApplication **_retval) override; \
NS_IMETHOD GetIsDynamicBlocklistAvailable(bool *aIsDynamicBlocklistAvailable) override; \
NS_IMETHOD GetIsDynamicBlocklistDisabled(bool *aIsDynamicBlocklistDisabled) override; \
NS_IMETHOD UpdateBlocklist(const nsAString& aLeafName, bool aNewBlockStatus, JSContext* cx, ::mozilla::dom::Promise * * _retval) override; \
NS_IMETHOD CollectSystemInfo(JSContext* cx, ::mozilla::dom::Promise * * _retval) override; \
NS_IMETHOD OpenAndCloseFileDialogForTesting(const nsAString& aModuleName, const nsAString& aInitialDir, const nsAString& aFilter) 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_NSIABOUTTHIRDPARTY \
nsresult LookupModuleType(const nsAString& aLeafName, uint32_t *_retval); \
nsresult LookupApplication(const nsAString& aModulePath, nsIInstalledApplication **_retval); \
nsresult GetIsDynamicBlocklistAvailable(bool *aIsDynamicBlocklistAvailable); \
nsresult GetIsDynamicBlocklistDisabled(bool *aIsDynamicBlocklistDisabled); \
nsresult UpdateBlocklist(const nsAString& aLeafName, bool aNewBlockStatus, JSContext* cx, ::mozilla::dom::Promise * * _retval); \
nsresult CollectSystemInfo(JSContext* cx, ::mozilla::dom::Promise * * _retval); \
nsresult OpenAndCloseFileDialogForTesting(const nsAString& aModuleName, const nsAString& aInitialDir, const nsAString& aFilter);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIABOUTTHIRDPARTY(_to) \
NS_IMETHOD LookupModuleType(const nsAString& aLeafName, uint32_t *_retval) override { return _to LookupModuleType(aLeafName, _retval); } \
NS_IMETHOD LookupApplication(const nsAString& aModulePath, nsIInstalledApplication **_retval) override { return _to LookupApplication(aModulePath, _retval); } \
NS_IMETHOD GetIsDynamicBlocklistAvailable(bool *aIsDynamicBlocklistAvailable) override { return _to GetIsDynamicBlocklistAvailable(aIsDynamicBlocklistAvailable); } \
NS_IMETHOD GetIsDynamicBlocklistDisabled(bool *aIsDynamicBlocklistDisabled) override { return _to GetIsDynamicBlocklistDisabled(aIsDynamicBlocklistDisabled); } \
NS_IMETHOD UpdateBlocklist(const nsAString& aLeafName, bool aNewBlockStatus, JSContext* cx, ::mozilla::dom::Promise * * _retval) override { return _to UpdateBlocklist(aLeafName, aNewBlockStatus, cx, _retval); } \
NS_IMETHOD CollectSystemInfo(JSContext* cx, ::mozilla::dom::Promise * * _retval) override { return _to CollectSystemInfo(cx, _retval); } \
NS_IMETHOD OpenAndCloseFileDialogForTesting(const nsAString& aModuleName, const nsAString& aInitialDir, const nsAString& aFilter) override { return _to OpenAndCloseFileDialogForTesting(aModuleName, aInitialDir, aFilter); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIABOUTTHIRDPARTY(_to) \
NS_IMETHOD LookupModuleType(const nsAString& aLeafName, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->LookupModuleType(aLeafName, _retval); } \
NS_IMETHOD LookupApplication(const nsAString& aModulePath, nsIInstalledApplication **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->LookupApplication(aModulePath, _retval); } \
NS_IMETHOD GetIsDynamicBlocklistAvailable(bool *aIsDynamicBlocklistAvailable) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsDynamicBlocklistAvailable(aIsDynamicBlocklistAvailable); } \
NS_IMETHOD GetIsDynamicBlocklistDisabled(bool *aIsDynamicBlocklistDisabled) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsDynamicBlocklistDisabled(aIsDynamicBlocklistDisabled); } \
NS_IMETHOD UpdateBlocklist(const nsAString& aLeafName, bool aNewBlockStatus, JSContext* cx, ::mozilla::dom::Promise * * _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UpdateBlocklist(aLeafName, aNewBlockStatus, cx, _retval); } \
NS_IMETHOD CollectSystemInfo(JSContext* cx, ::mozilla::dom::Promise * * _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CollectSystemInfo(cx, _retval); } \
NS_IMETHOD OpenAndCloseFileDialogForTesting(const nsAString& aModuleName, const nsAString& aInitialDir, const nsAString& aFilter) override { return !_to ? NS_ERROR_NULL_POINTER : _to->OpenAndCloseFileDialogForTesting(aModuleName, aInitialDir, aFilter); }
#endif /* __gen_nsIAboutThirdParty_h__ */