Generated file

Copy as Markdown

Other Tools

/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/toolkit/components/glean/xpcom/nsIFOG.idl
*/
#ifndef __gen_nsIFOG_h__
#define __gen_nsIFOG_h__
#include "nsISupports.h"
#include "nsTArray.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: nsIFOG */
#define NS_IFOG_IID_STR "98d0e975-9cad-4ce3-ae2f-f878b8be6307"
#define NS_IFOG_IID \
{0x98d0e975, 0x9cad, 0x4ce3, \
{ 0xae, 0x2f, 0xf8, 0x78, 0xb8, 0xbe, 0x63, 0x07 }}
class NS_NO_VTABLE MOZ_BINDING(binding_to, idl, class, XPIDL_nsIFOG) nsIFOG : public nsISupports {
public:
NS_INLINE_DECL_STATIC_IID(NS_IFOG_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIFOG;
/* void initializeFOG ([optional] in AUTF8String aDataPathOverride, [optional] in AUTF8String aAppIdOverride, [optional] in boolean aDisableInternalPings); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_initializeFOG)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD InitializeFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride, bool aDisableInternalPings) = 0;
/* void registerCustomPings (); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_registerCustomPings)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RegisterCustomPings(void) = 0;
/* void setLogPings (in boolean aEnableLogPings); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_setLogPings)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetLogPings(bool aEnableLogPings) = 0;
/* void setTagPings (in ACString aDebugTag); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_setTagPings)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetTagPings(const nsACString& aDebugTag) = 0;
/* void sendPing (in ACString aPingName); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_sendPing)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SendPing(const nsACString& aPingName) = 0;
/* [implicit_jscontext] void setExperimentActive (in ACString aExperimentId, in ACString aBranch, [optional] in jsval aExtra); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_setExperimentActive)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetExperimentActive(const nsACString& aExperimentId, const nsACString& aBranch, JS::Handle<JS::Value> aExtra, JSContext* cx) = 0;
/* void setExperimentInactive (in ACString aExperimentId); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_setExperimentInactive)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetExperimentInactive(const nsACString& aExperimentId) = 0;
/* [implicit_jscontext] jsval testGetExperimentData (in ACString aExperimentId); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testGetExperimentData)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD TestGetExperimentData(const nsACString& aExperimentId, JSContext* cx, JS::MutableHandle<JS::Value> _retval) = 0;
/* void applyServerKnobsConfig (in ACString aJsonConfig); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_applyServerKnobsConfig)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ApplyServerKnobsConfig(const nsACString& aJsonConfig) = 0;
/* [implicit_jscontext] Promise testFlushAllChildren (); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testFlushAllChildren)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD TestFlushAllChildren(JSContext* cx, ::mozilla::dom::Promise * * _retval) = 0;
/* void testResetFOG ([optional] in AUTF8String aDataPathOverride, [optional] in AUTF8String aAppIdOverride); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testResetFOG)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD TestResetFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride) = 0;
/* void testShutdownFOG (); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testShutdownFOG)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD TestShutdownFOG(void) = 0;
/* [implicit_jscontext] Promise testTriggerMetrics (in unsigned long aProcessType); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testTriggerMetrics)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD TestTriggerMetrics(uint32_t aProcessType, JSContext* cx, ::mozilla::dom::Promise * * _retval) = 0;
/* uint32_t testRegisterRuntimeMetric (in ACString aType, in ACString aCategory, in ACString aName, in Array<ACString> aPings, in ACString aLifetime, in boolean aDisabled, in boolean aInSession, [optional] in ACString aExtraArgs); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testRegisterRuntimeMetric)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD TestRegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs, uint32_t *_retval) = 0;
/* uint32_t testRegisterRuntimePing (in ACString aName, in boolean aIncludeClientId, in boolean aSendIfEmpty, in boolean aPreciseTimestamps, in boolean aIncludeInfoSections, in boolean aEnabled, in Array<ACString> aSchedulesPings, in Array<ACString> aReasonCodes, in boolean aFollowsCollectionEnabled, in Array<ACString> aUploaderCapabilities); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testRegisterRuntimePing)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD TestRegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities, uint32_t *_retval) = 0;
/* void clearAttribution (); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_clearAttribution)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ClearAttribution(void) = 0;
/* void updateAttribution (in ACString aSource, in ACString aMedium, in ACString aCampaign, in ACString aTerm, in ACString aContent); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_updateAttribution)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD UpdateAttribution(const nsACString& aSource, const nsACString& aMedium, const nsACString& aCampaign, const nsACString& aTerm, const nsACString& aContent) = 0;
/* [implicit_jscontext] jsval testGetAttribution (); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testGetAttribution)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD TestGetAttribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval) = 0;
/* void clearDistribution (); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_clearDistribution)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ClearDistribution(void) = 0;
/* void updateDistribution (in ACString aName); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_updateDistribution)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD UpdateDistribution(const nsACString& aName) = 0;
/* [implicit_jscontext] jsval testGetDistribution (); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testGetDistribution)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD TestGetDistribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval) = 0;
/* void registerRuntimeMetric (in ACString aType, in ACString aCategory, in ACString aName, in Array<ACString> aPings, in ACString aLifetime, in boolean aDisabled, in boolean aInSession, [optional] in ACString aExtraArgs); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_registerRuntimeMetric)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs) = 0;
/* void registerRuntimePing (in ACString aName, in boolean aIncludeClientId, in boolean aSendIfEmpty, in boolean aPreciseTimestamps, in boolean aIncludeInfoSections, in boolean aEnabled, in Array<ACString> aSchedulesPings, in Array<ACString> aReasonCodes, in boolean aFollowsCollectionEnabled, in Array<ACString> aUploaderCapabilities); */
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_registerRuntimePing)
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities) = 0;
};
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIFOG \
NS_IMETHOD InitializeFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride, bool aDisableInternalPings) override; \
NS_IMETHOD RegisterCustomPings(void) override; \
NS_IMETHOD SetLogPings(bool aEnableLogPings) override; \
NS_IMETHOD SetTagPings(const nsACString& aDebugTag) override; \
NS_IMETHOD SendPing(const nsACString& aPingName) override; \
NS_IMETHOD SetExperimentActive(const nsACString& aExperimentId, const nsACString& aBranch, JS::Handle<JS::Value> aExtra, JSContext* cx) override; \
NS_IMETHOD SetExperimentInactive(const nsACString& aExperimentId) override; \
NS_IMETHOD TestGetExperimentData(const nsACString& aExperimentId, JSContext* cx, JS::MutableHandle<JS::Value> _retval) override; \
NS_IMETHOD ApplyServerKnobsConfig(const nsACString& aJsonConfig) override; \
NS_IMETHOD TestFlushAllChildren(JSContext* cx, ::mozilla::dom::Promise * * _retval) override; \
NS_IMETHOD TestResetFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride) override; \
NS_IMETHOD TestShutdownFOG(void) override; \
NS_IMETHOD TestTriggerMetrics(uint32_t aProcessType, JSContext* cx, ::mozilla::dom::Promise * * _retval) override; \
NS_IMETHOD TestRegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs, uint32_t *_retval) override; \
NS_IMETHOD TestRegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities, uint32_t *_retval) override; \
NS_IMETHOD ClearAttribution(void) override; \
NS_IMETHOD UpdateAttribution(const nsACString& aSource, const nsACString& aMedium, const nsACString& aCampaign, const nsACString& aTerm, const nsACString& aContent) override; \
NS_IMETHOD TestGetAttribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval) override; \
NS_IMETHOD ClearDistribution(void) override; \
NS_IMETHOD UpdateDistribution(const nsACString& aName) override; \
NS_IMETHOD TestGetDistribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval) override; \
NS_IMETHOD RegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs) override; \
NS_IMETHOD RegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities) 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_NSIFOG \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_initializeFOG)\
nsresult InitializeFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride, bool aDisableInternalPings); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_registerCustomPings)\
nsresult RegisterCustomPings(void); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_setLogPings)\
nsresult SetLogPings(bool aEnableLogPings); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_setTagPings)\
nsresult SetTagPings(const nsACString& aDebugTag); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_sendPing)\
nsresult SendPing(const nsACString& aPingName); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_setExperimentActive)\
nsresult SetExperimentActive(const nsACString& aExperimentId, const nsACString& aBranch, JS::Handle<JS::Value> aExtra, JSContext* cx); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_setExperimentInactive)\
nsresult SetExperimentInactive(const nsACString& aExperimentId); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testGetExperimentData)\
nsresult TestGetExperimentData(const nsACString& aExperimentId, JSContext* cx, JS::MutableHandle<JS::Value> _retval); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_applyServerKnobsConfig)\
nsresult ApplyServerKnobsConfig(const nsACString& aJsonConfig); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testFlushAllChildren)\
nsresult TestFlushAllChildren(JSContext* cx, ::mozilla::dom::Promise * * _retval); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testResetFOG)\
nsresult TestResetFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testShutdownFOG)\
nsresult TestShutdownFOG(void); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testTriggerMetrics)\
nsresult TestTriggerMetrics(uint32_t aProcessType, JSContext* cx, ::mozilla::dom::Promise * * _retval); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testRegisterRuntimeMetric)\
nsresult TestRegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs, uint32_t *_retval); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testRegisterRuntimePing)\
nsresult TestRegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities, uint32_t *_retval); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_clearAttribution)\
nsresult ClearAttribution(void); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_updateAttribution)\
nsresult UpdateAttribution(const nsACString& aSource, const nsACString& aMedium, const nsACString& aCampaign, const nsACString& aTerm, const nsACString& aContent); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testGetAttribution)\
nsresult TestGetAttribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_clearDistribution)\
nsresult ClearDistribution(void); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_updateDistribution)\
nsresult UpdateDistribution(const nsACString& aName); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_testGetDistribution)\
nsresult TestGetDistribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_registerRuntimeMetric)\
nsresult RegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs); \
MOZ_BINDING(binding_to, idl, method, XPIDL_nsIFOG_registerRuntimePing)\
nsresult RegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIFOG(_to) \
NS_IMETHOD InitializeFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride, bool aDisableInternalPings) override { return _to InitializeFOG(aDataPathOverride, aAppIdOverride, aDisableInternalPings); } \
NS_IMETHOD RegisterCustomPings(void) override { return _to RegisterCustomPings(); } \
NS_IMETHOD SetLogPings(bool aEnableLogPings) override { return _to SetLogPings(aEnableLogPings); } \
NS_IMETHOD SetTagPings(const nsACString& aDebugTag) override { return _to SetTagPings(aDebugTag); } \
NS_IMETHOD SendPing(const nsACString& aPingName) override { return _to SendPing(aPingName); } \
NS_IMETHOD SetExperimentActive(const nsACString& aExperimentId, const nsACString& aBranch, JS::Handle<JS::Value> aExtra, JSContext* cx) override { return _to SetExperimentActive(aExperimentId, aBranch, aExtra, cx); } \
NS_IMETHOD SetExperimentInactive(const nsACString& aExperimentId) override { return _to SetExperimentInactive(aExperimentId); } \
NS_IMETHOD TestGetExperimentData(const nsACString& aExperimentId, JSContext* cx, JS::MutableHandle<JS::Value> _retval) override { return _to TestGetExperimentData(aExperimentId, cx, _retval); } \
NS_IMETHOD ApplyServerKnobsConfig(const nsACString& aJsonConfig) override { return _to ApplyServerKnobsConfig(aJsonConfig); } \
NS_IMETHOD TestFlushAllChildren(JSContext* cx, ::mozilla::dom::Promise * * _retval) override { return _to TestFlushAllChildren(cx, _retval); } \
NS_IMETHOD TestResetFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride) override { return _to TestResetFOG(aDataPathOverride, aAppIdOverride); } \
NS_IMETHOD TestShutdownFOG(void) override { return _to TestShutdownFOG(); } \
NS_IMETHOD TestTriggerMetrics(uint32_t aProcessType, JSContext* cx, ::mozilla::dom::Promise * * _retval) override { return _to TestTriggerMetrics(aProcessType, cx, _retval); } \
NS_IMETHOD TestRegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs, uint32_t *_retval) override { return _to TestRegisterRuntimeMetric(aType, aCategory, aName, aPings, aLifetime, aDisabled, aInSession, aExtraArgs, _retval); } \
NS_IMETHOD TestRegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities, uint32_t *_retval) override { return _to TestRegisterRuntimePing(aName, aIncludeClientId, aSendIfEmpty, aPreciseTimestamps, aIncludeInfoSections, aEnabled, aSchedulesPings, aReasonCodes, aFollowsCollectionEnabled, aUploaderCapabilities, _retval); } \
NS_IMETHOD ClearAttribution(void) override { return _to ClearAttribution(); } \
NS_IMETHOD UpdateAttribution(const nsACString& aSource, const nsACString& aMedium, const nsACString& aCampaign, const nsACString& aTerm, const nsACString& aContent) override { return _to UpdateAttribution(aSource, aMedium, aCampaign, aTerm, aContent); } \
NS_IMETHOD TestGetAttribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval) override { return _to TestGetAttribution(cx, _retval); } \
NS_IMETHOD ClearDistribution(void) override { return _to ClearDistribution(); } \
NS_IMETHOD UpdateDistribution(const nsACString& aName) override { return _to UpdateDistribution(aName); } \
NS_IMETHOD TestGetDistribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval) override { return _to TestGetDistribution(cx, _retval); } \
NS_IMETHOD RegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs) override { return _to RegisterRuntimeMetric(aType, aCategory, aName, aPings, aLifetime, aDisabled, aInSession, aExtraArgs); } \
NS_IMETHOD RegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities) override { return _to RegisterRuntimePing(aName, aIncludeClientId, aSendIfEmpty, aPreciseTimestamps, aIncludeInfoSections, aEnabled, aSchedulesPings, aReasonCodes, aFollowsCollectionEnabled, aUploaderCapabilities); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIFOG(_to) \
NS_IMETHOD InitializeFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride, bool aDisableInternalPings) override { return !_to ? NS_ERROR_NULL_POINTER : _to->InitializeFOG(aDataPathOverride, aAppIdOverride, aDisableInternalPings); } \
NS_IMETHOD RegisterCustomPings(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterCustomPings(); } \
NS_IMETHOD SetLogPings(bool aEnableLogPings) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLogPings(aEnableLogPings); } \
NS_IMETHOD SetTagPings(const nsACString& aDebugTag) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTagPings(aDebugTag); } \
NS_IMETHOD SendPing(const nsACString& aPingName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SendPing(aPingName); } \
NS_IMETHOD SetExperimentActive(const nsACString& aExperimentId, const nsACString& aBranch, JS::Handle<JS::Value> aExtra, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetExperimentActive(aExperimentId, aBranch, aExtra, cx); } \
NS_IMETHOD SetExperimentInactive(const nsACString& aExperimentId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetExperimentInactive(aExperimentId); } \
NS_IMETHOD TestGetExperimentData(const nsACString& aExperimentId, JSContext* cx, JS::MutableHandle<JS::Value> _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestGetExperimentData(aExperimentId, cx, _retval); } \
NS_IMETHOD ApplyServerKnobsConfig(const nsACString& aJsonConfig) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ApplyServerKnobsConfig(aJsonConfig); } \
NS_IMETHOD TestFlushAllChildren(JSContext* cx, ::mozilla::dom::Promise * * _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestFlushAllChildren(cx, _retval); } \
NS_IMETHOD TestResetFOG(const nsACString& aDataPathOverride, const nsACString& aAppIdOverride) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestResetFOG(aDataPathOverride, aAppIdOverride); } \
NS_IMETHOD TestShutdownFOG(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestShutdownFOG(); } \
NS_IMETHOD TestTriggerMetrics(uint32_t aProcessType, JSContext* cx, ::mozilla::dom::Promise * * _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestTriggerMetrics(aProcessType, cx, _retval); } \
NS_IMETHOD TestRegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestRegisterRuntimeMetric(aType, aCategory, aName, aPings, aLifetime, aDisabled, aInSession, aExtraArgs, _retval); } \
NS_IMETHOD TestRegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestRegisterRuntimePing(aName, aIncludeClientId, aSendIfEmpty, aPreciseTimestamps, aIncludeInfoSections, aEnabled, aSchedulesPings, aReasonCodes, aFollowsCollectionEnabled, aUploaderCapabilities, _retval); } \
NS_IMETHOD ClearAttribution(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearAttribution(); } \
NS_IMETHOD UpdateAttribution(const nsACString& aSource, const nsACString& aMedium, const nsACString& aCampaign, const nsACString& aTerm, const nsACString& aContent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UpdateAttribution(aSource, aMedium, aCampaign, aTerm, aContent); } \
NS_IMETHOD TestGetAttribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestGetAttribution(cx, _retval); } \
NS_IMETHOD ClearDistribution(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearDistribution(); } \
NS_IMETHOD UpdateDistribution(const nsACString& aName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UpdateDistribution(aName); } \
NS_IMETHOD TestGetDistribution(JSContext* cx, JS::MutableHandle<JS::Value> _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestGetDistribution(cx, _retval); } \
NS_IMETHOD RegisterRuntimeMetric(const nsACString& aType, const nsACString& aCategory, const nsACString& aName, const nsTArray<nsCString >& aPings, const nsACString& aLifetime, bool aDisabled, bool aInSession, const nsACString& aExtraArgs) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterRuntimeMetric(aType, aCategory, aName, aPings, aLifetime, aDisabled, aInSession, aExtraArgs); } \
NS_IMETHOD RegisterRuntimePing(const nsACString& aName, bool aIncludeClientId, bool aSendIfEmpty, bool aPreciseTimestamps, bool aIncludeInfoSections, bool aEnabled, const nsTArray<nsCString >& aSchedulesPings, const nsTArray<nsCString >& aReasonCodes, bool aFollowsCollectionEnabled, const nsTArray<nsCString >& aUploaderCapabilities) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterRuntimePing(aName, aIncludeClientId, aSendIfEmpty, aPreciseTimestamps, aIncludeInfoSections, aEnabled, aSchedulesPings, aReasonCodes, aFollowsCollectionEnabled, aUploaderCapabilities); }
#endif /* __gen_nsIFOG_h__ */