Copy as Markdown
Other Tools
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM $SRCDIR/netwerk/url-classifier/nsIUrlClassifierExceptionListEntry.idl
 */
#ifndef __gen_nsIUrlClassifierExceptionListEntry_h__
#define __gen_nsIUrlClassifierExceptionListEntry_h__
#include "nsISupports.h"
#include "nsIURI.h"
#include "nsTArray.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:    nsIUrlClassifierExceptionListEntry */
#define NS_IURLCLASSIFIEREXCEPTIONLISTENTRY_IID_STR "8753a413-3ed6-4a61-a1dc-b31a7e69b796"
#define NS_IURLCLASSIFIEREXCEPTIONLISTENTRY_IID \
  {0x8753a413, 0x3ed6, 0x4a61, \
    { 0xa1, 0xdc, 0xb3, 0x1a, 0x7e, 0x69, 0xb7, 0x96 }}
class NS_NO_VTABLE nsIUrlClassifierExceptionListEntry : public nsISupports {
 public:
  NS_INLINE_DECL_STATIC_IID(NS_IURLCLASSIFIEREXCEPTIONLISTENTRY_IID)
  /* Used by ToJSValue to check which scriptable interface is implemented. */
  using ScriptableInterfaceType = nsIUrlClassifierExceptionListEntry;
  enum Category : uint8_t {
    CATEGORY_INTERNAL_PREF = 0,
    CATEGORY_BASELINE = 1,
    CATEGORY_CONVENIENCE = 2,
  };
  /* void init (in nsIUrlClassifierExceptionListEntry_Category aCategory, in ACString aUrlPattern, in ACString aTopLevelUrlPattern, in boolean aIsPrivateBrowsingOnly, in Array<ACString> aFilterContentBlockingCategories, in Array<ACString> aClassifierFeatures); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Init(nsIUrlClassifierExceptionListEntry::Category aCategory, const nsACString& aUrlPattern, const nsACString& aTopLevelUrlPattern, bool aIsPrivateBrowsingOnly, const nsTArray<nsCString >& aFilterContentBlockingCategories, const nsTArray<nsCString >& aClassifierFeatures) = 0;
  /* boolean matches (in nsIURI aURI, in nsIURI aTopLevelURI, in boolean aIsPrivateBrowsing); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Matches(nsIURI *aURI, nsIURI *aTopLevelURI, bool aIsPrivateBrowsing, bool *_retval) = 0;
  /* readonly attribute nsIUrlClassifierExceptionListEntry_Category category; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCategory(nsIUrlClassifierExceptionListEntry::Category *aCategory) = 0;
  /* readonly attribute ACString urlPattern; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetUrlPattern(nsACString& aUrlPattern) = 0;
  /* readonly attribute ACString topLevelUrlPattern; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetTopLevelUrlPattern(nsACString& aTopLevelUrlPattern) = 0;
  /* readonly attribute boolean isPrivateBrowsingOnly; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetIsPrivateBrowsingOnly(bool *aIsPrivateBrowsingOnly) = 0;
  /* readonly attribute Array<ACString> filterContentBlockingCategories; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFilterContentBlockingCategories(nsTArray<nsCString >& aFilterContentBlockingCategories) = 0;
  /* readonly attribute Array<ACString> classifierFeatures; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetClassifierFeatures(nsTArray<nsCString >& aClassifierFeatures) = 0;
  /* [noscript] ACString describe (); */
  NS_IMETHOD Describe(nsACString& _retval) = 0;
};
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIURLCLASSIFIEREXCEPTIONLISTENTRY \
  NS_IMETHOD Init(nsIUrlClassifierExceptionListEntry::Category aCategory, const nsACString& aUrlPattern, const nsACString& aTopLevelUrlPattern, bool aIsPrivateBrowsingOnly, const nsTArray<nsCString >& aFilterContentBlockingCategories, const nsTArray<nsCString >& aClassifierFeatures) override; \
  NS_IMETHOD Matches(nsIURI *aURI, nsIURI *aTopLevelURI, bool aIsPrivateBrowsing, bool *_retval) override; \
  NS_IMETHOD GetCategory(nsIUrlClassifierExceptionListEntry::Category *aCategory) override; \
  NS_IMETHOD GetUrlPattern(nsACString& aUrlPattern) override; \
  NS_IMETHOD GetTopLevelUrlPattern(nsACString& aTopLevelUrlPattern) override; \
  NS_IMETHOD GetIsPrivateBrowsingOnly(bool *aIsPrivateBrowsingOnly) override; \
  NS_IMETHOD GetFilterContentBlockingCategories(nsTArray<nsCString >& aFilterContentBlockingCategories) override; \
  NS_IMETHOD GetClassifierFeatures(nsTArray<nsCString >& aClassifierFeatures) override; \
  NS_IMETHOD Describe(nsACString& _retval) 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_NSIURLCLASSIFIEREXCEPTIONLISTENTRY \
  nsresult Init(nsIUrlClassifierExceptionListEntry::Category aCategory, const nsACString& aUrlPattern, const nsACString& aTopLevelUrlPattern, bool aIsPrivateBrowsingOnly, const nsTArray<nsCString >& aFilterContentBlockingCategories, const nsTArray<nsCString >& aClassifierFeatures); \
  nsresult Matches(nsIURI *aURI, nsIURI *aTopLevelURI, bool aIsPrivateBrowsing, bool *_retval); \
  nsresult GetCategory(nsIUrlClassifierExceptionListEntry::Category *aCategory); \
  nsresult GetUrlPattern(nsACString& aUrlPattern); \
  nsresult GetTopLevelUrlPattern(nsACString& aTopLevelUrlPattern); \
  nsresult GetIsPrivateBrowsingOnly(bool *aIsPrivateBrowsingOnly); \
  nsresult GetFilterContentBlockingCategories(nsTArray<nsCString >& aFilterContentBlockingCategories); \
  nsresult GetClassifierFeatures(nsTArray<nsCString >& aClassifierFeatures); \
  nsresult Describe(nsACString& _retval); 
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIURLCLASSIFIEREXCEPTIONLISTENTRY(_to) \
  NS_IMETHOD Init(nsIUrlClassifierExceptionListEntry::Category aCategory, const nsACString& aUrlPattern, const nsACString& aTopLevelUrlPattern, bool aIsPrivateBrowsingOnly, const nsTArray<nsCString >& aFilterContentBlockingCategories, const nsTArray<nsCString >& aClassifierFeatures) override { return _to Init(aCategory, aUrlPattern, aTopLevelUrlPattern, aIsPrivateBrowsingOnly, aFilterContentBlockingCategories, aClassifierFeatures); } \
  NS_IMETHOD Matches(nsIURI *aURI, nsIURI *aTopLevelURI, bool aIsPrivateBrowsing, bool *_retval) override { return _to Matches(aURI, aTopLevelURI, aIsPrivateBrowsing, _retval); } \
  NS_IMETHOD GetCategory(nsIUrlClassifierExceptionListEntry::Category *aCategory) override { return _to GetCategory(aCategory); } \
  NS_IMETHOD GetUrlPattern(nsACString& aUrlPattern) override { return _to GetUrlPattern(aUrlPattern); } \
  NS_IMETHOD GetTopLevelUrlPattern(nsACString& aTopLevelUrlPattern) override { return _to GetTopLevelUrlPattern(aTopLevelUrlPattern); } \
  NS_IMETHOD GetIsPrivateBrowsingOnly(bool *aIsPrivateBrowsingOnly) override { return _to GetIsPrivateBrowsingOnly(aIsPrivateBrowsingOnly); } \
  NS_IMETHOD GetFilterContentBlockingCategories(nsTArray<nsCString >& aFilterContentBlockingCategories) override { return _to GetFilterContentBlockingCategories(aFilterContentBlockingCategories); } \
  NS_IMETHOD GetClassifierFeatures(nsTArray<nsCString >& aClassifierFeatures) override { return _to GetClassifierFeatures(aClassifierFeatures); } \
  NS_IMETHOD Describe(nsACString& _retval) override { return _to Describe(_retval); } 
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIURLCLASSIFIEREXCEPTIONLISTENTRY(_to) \
  NS_IMETHOD Init(nsIUrlClassifierExceptionListEntry::Category aCategory, const nsACString& aUrlPattern, const nsACString& aTopLevelUrlPattern, bool aIsPrivateBrowsingOnly, const nsTArray<nsCString >& aFilterContentBlockingCategories, const nsTArray<nsCString >& aClassifierFeatures) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(aCategory, aUrlPattern, aTopLevelUrlPattern, aIsPrivateBrowsingOnly, aFilterContentBlockingCategories, aClassifierFeatures); } \
  NS_IMETHOD Matches(nsIURI *aURI, nsIURI *aTopLevelURI, bool aIsPrivateBrowsing, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Matches(aURI, aTopLevelURI, aIsPrivateBrowsing, _retval); } \
  NS_IMETHOD GetCategory(nsIUrlClassifierExceptionListEntry::Category *aCategory) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCategory(aCategory); } \
  NS_IMETHOD GetUrlPattern(nsACString& aUrlPattern) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUrlPattern(aUrlPattern); } \
  NS_IMETHOD GetTopLevelUrlPattern(nsACString& aTopLevelUrlPattern) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTopLevelUrlPattern(aTopLevelUrlPattern); } \
  NS_IMETHOD GetIsPrivateBrowsingOnly(bool *aIsPrivateBrowsingOnly) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsPrivateBrowsingOnly(aIsPrivateBrowsingOnly); } \
  NS_IMETHOD GetFilterContentBlockingCategories(nsTArray<nsCString >& aFilterContentBlockingCategories) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFilterContentBlockingCategories(aFilterContentBlockingCategories); } \
  NS_IMETHOD GetClassifierFeatures(nsTArray<nsCString >& aClassifierFeatures) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClassifierFeatures(aClassifierFeatures); } \
  NS_IMETHOD Describe(nsACString& _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Describe(_retval); } 
#endif /* __gen_nsIUrlClassifierExceptionListEntry_h__ */