/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/browser/components/shell/nsISecondaryTile.idl
*/
#ifndef __gen_nsISecondaryTile_h__
#define __gen_nsISecondaryTile_h__
#include "nsISupports.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: nsISecondaryTileListener */
#define NS_ISECONDARYTILELISTENER_IID_STR "338038ab-c803-46f4-95a3-c600d0054a21"
#define NS_ISECONDARYTILELISTENER_IID \
{0x338038ab, 0xc803, 0x46f4, \
{ 0x95, 0xa3, 0xc6, 0x00, 0xd0, 0x05, 0x4a, 0x21 }}
class NS_NO_VTABLE nsISecondaryTileListener : public nsISupports {
public:
NS_INLINE_DECL_STATIC_IID(NS_ISECONDARYTILELISTENER_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsISecondaryTileListener;
/* void succeeded (in boolean accepted); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Succeeded(bool accepted) = 0;
/* void failed (in long aHresult); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Failed(int32_t aHresult) = 0;
};
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISECONDARYTILELISTENER \
NS_IMETHOD Succeeded(bool accepted) override; \
NS_IMETHOD Failed(int32_t aHresult) 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_NSISECONDARYTILELISTENER \
nsresult Succeeded(bool accepted); \
nsresult Failed(int32_t aHresult);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISECONDARYTILELISTENER(_to) \
NS_IMETHOD Succeeded(bool accepted) override { return _to Succeeded(accepted); } \
NS_IMETHOD Failed(int32_t aHresult) override { return _to Failed(aHresult); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISECONDARYTILELISTENER(_to) \
NS_IMETHOD Succeeded(bool accepted) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Succeeded(accepted); } \
NS_IMETHOD Failed(int32_t aHresult) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Failed(aHresult); }
/* starting interface: nsISecondaryTileService */
#define NS_ISECONDARYTILESERVICE_IID_STR "f30f4087-bac4-4c51-b719-275bc292cb01"
#define NS_ISECONDARYTILESERVICE_IID \
{0xf30f4087, 0xbac4, 0x4c51, \
{ 0xb7, 0x19, 0x27, 0x5b, 0xc2, 0x92, 0xcb, 0x01 }}
class NS_NO_VTABLE nsISecondaryTileService : public nsISupports {
public:
NS_INLINE_DECL_STATIC_IID(NS_ISECONDARYTILESERVICE_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsISecondaryTileService;
/* void requestCreateAndPin (in ACString aTileId, in AString aName, in ACString aIconPath, in Array<ACString> aArguments, in nsISecondaryTileListener aListener); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RequestCreateAndPin(const nsACString& aTileId, const nsAString& aName, const nsACString& aIconPath, const nsTArray<nsCString >& aArguments, nsISecondaryTileListener *aListener) = 0;
/* void requestDelete (in ACString aTileId, in nsISecondaryTileListener aListener); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RequestDelete(const nsACString& aTileId, nsISecondaryTileListener *aListener) = 0;
};
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISECONDARYTILESERVICE \
NS_IMETHOD RequestCreateAndPin(const nsACString& aTileId, const nsAString& aName, const nsACString& aIconPath, const nsTArray<nsCString >& aArguments, nsISecondaryTileListener *aListener) override; \
NS_IMETHOD RequestDelete(const nsACString& aTileId, nsISecondaryTileListener *aListener) 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_NSISECONDARYTILESERVICE \
nsresult RequestCreateAndPin(const nsACString& aTileId, const nsAString& aName, const nsACString& aIconPath, const nsTArray<nsCString >& aArguments, nsISecondaryTileListener *aListener); \
nsresult RequestDelete(const nsACString& aTileId, nsISecondaryTileListener *aListener);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISECONDARYTILESERVICE(_to) \
NS_IMETHOD RequestCreateAndPin(const nsACString& aTileId, const nsAString& aName, const nsACString& aIconPath, const nsTArray<nsCString >& aArguments, nsISecondaryTileListener *aListener) override { return _to RequestCreateAndPin(aTileId, aName, aIconPath, aArguments, aListener); } \
NS_IMETHOD RequestDelete(const nsACString& aTileId, nsISecondaryTileListener *aListener) override { return _to RequestDelete(aTileId, aListener); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISECONDARYTILESERVICE(_to) \
NS_IMETHOD RequestCreateAndPin(const nsACString& aTileId, const nsAString& aName, const nsACString& aIconPath, const nsTArray<nsCString >& aArguments, nsISecondaryTileListener *aListener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RequestCreateAndPin(aTileId, aName, aIconPath, aArguments, aListener); } \
NS_IMETHOD RequestDelete(const nsACString& aTileId, nsISecondaryTileListener *aListener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RequestDelete(aTileId, aListener); }
#endif /* __gen_nsISecondaryTile_h__ */