Copy as Markdown

Other Tools

/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/netwerk/protocol/webtransport/nsIWebTransportStream.idl
*/
#ifndef __gen_nsIWebTransportStream_h__
#define __gen_nsIWebTransportStream_h__
#include "nsISupports.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
class nsIAsyncInputStream; /* forward declaration */
class nsIAsyncOutputStream; /* forward declaration */
class nsIInputStreamCallback; /* forward declaration */
class nsIEventTarget; /* forward declaration */
#include "mozilla/Maybe.h"
namespace mozilla {
class TimeStamp;
}
/* starting interface: nsIWebTransportSendStreamStats */
#define NS_IWEBTRANSPORTSENDSTREAMSTATS_IID_STR "ccc3e685-8411-48f0-8b3e-ff6d1fae4809"
#define NS_IWEBTRANSPORTSENDSTREAMSTATS_IID \
{0xccc3e685, 0x8411, 0x48f0, \
{ 0x8b, 0x3e, 0xff, 0x6d, 0x1f, 0xae, 0x48, 0x09 }}
class NS_NO_VTABLE nsIWebTransportSendStreamStats : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWEBTRANSPORTSENDSTREAMSTATS_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIWebTransportSendStreamStats;
/* [noscript] readonly attribute TimeStamp timestamp; */
NS_IMETHOD GetTimestamp(mozilla::TimeStamp * aTimestamp) = 0;
/* readonly attribute unsigned long long bytesSent; */
NS_IMETHOD GetBytesSent(uint64_t *aBytesSent) = 0;
/* readonly attribute unsigned long long bytesAcknowledged; */
NS_IMETHOD GetBytesAcknowledged(uint64_t *aBytesAcknowledged) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIWebTransportSendStreamStats, NS_IWEBTRANSPORTSENDSTREAMSTATS_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIWEBTRANSPORTSENDSTREAMSTATS \
NS_IMETHOD GetTimestamp(mozilla::TimeStamp * aTimestamp) override; \
NS_IMETHOD GetBytesSent(uint64_t *aBytesSent) override; \
NS_IMETHOD GetBytesAcknowledged(uint64_t *aBytesAcknowledged) 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_NSIWEBTRANSPORTSENDSTREAMSTATS \
nsresult GetTimestamp(mozilla::TimeStamp * aTimestamp); \
nsresult GetBytesSent(uint64_t *aBytesSent); \
nsresult GetBytesAcknowledged(uint64_t *aBytesAcknowledged);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIWEBTRANSPORTSENDSTREAMSTATS(_to) \
NS_IMETHOD GetTimestamp(mozilla::TimeStamp * aTimestamp) override { return _to GetTimestamp(aTimestamp); } \
NS_IMETHOD GetBytesSent(uint64_t *aBytesSent) override { return _to GetBytesSent(aBytesSent); } \
NS_IMETHOD GetBytesAcknowledged(uint64_t *aBytesAcknowledged) override { return _to GetBytesAcknowledged(aBytesAcknowledged); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIWEBTRANSPORTSENDSTREAMSTATS(_to) \
NS_IMETHOD GetTimestamp(mozilla::TimeStamp * aTimestamp) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTimestamp(aTimestamp); } \
NS_IMETHOD GetBytesSent(uint64_t *aBytesSent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBytesSent(aBytesSent); } \
NS_IMETHOD GetBytesAcknowledged(uint64_t *aBytesAcknowledged) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBytesAcknowledged(aBytesAcknowledged); }
/* starting interface: nsIWebTransportReceiveStreamStats */
#define NS_IWEBTRANSPORTRECEIVESTREAMSTATS_IID_STR "43ce1145-30ef-41a7-b97d-fa797f7f7d18"
#define NS_IWEBTRANSPORTRECEIVESTREAMSTATS_IID \
{0x43ce1145, 0x30ef, 0x41a7, \
{ 0xb9, 0x7d, 0xfa, 0x79, 0x7f, 0x7f, 0x7d, 0x18 }}
class NS_NO_VTABLE nsIWebTransportReceiveStreamStats : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWEBTRANSPORTRECEIVESTREAMSTATS_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIWebTransportReceiveStreamStats;
/* [noscript] readonly attribute TimeStamp timestamp; */
NS_IMETHOD GetTimestamp(mozilla::TimeStamp * aTimestamp) = 0;
/* readonly attribute unsigned long long bytesReceived; */
NS_IMETHOD GetBytesReceived(uint64_t *aBytesReceived) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIWebTransportReceiveStreamStats, NS_IWEBTRANSPORTRECEIVESTREAMSTATS_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIWEBTRANSPORTRECEIVESTREAMSTATS \
NS_IMETHOD GetTimestamp(mozilla::TimeStamp * aTimestamp) override; \
NS_IMETHOD GetBytesReceived(uint64_t *aBytesReceived) 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_NSIWEBTRANSPORTRECEIVESTREAMSTATS \
nsresult GetTimestamp(mozilla::TimeStamp * aTimestamp); \
nsresult GetBytesReceived(uint64_t *aBytesReceived);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIWEBTRANSPORTRECEIVESTREAMSTATS(_to) \
NS_IMETHOD GetTimestamp(mozilla::TimeStamp * aTimestamp) override { return _to GetTimestamp(aTimestamp); } \
NS_IMETHOD GetBytesReceived(uint64_t *aBytesReceived) override { return _to GetBytesReceived(aBytesReceived); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIWEBTRANSPORTRECEIVESTREAMSTATS(_to) \
NS_IMETHOD GetTimestamp(mozilla::TimeStamp * aTimestamp) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTimestamp(aTimestamp); } \
NS_IMETHOD GetBytesReceived(uint64_t *aBytesReceived) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBytesReceived(aBytesReceived); }
/* starting interface: nsIWebTransportStreamStatsCallback */
#define NS_IWEBTRANSPORTSTREAMSTATSCALLBACK_IID_STR "9c1df3f5-bf04-46b6-9977-eb6389076db8"
#define NS_IWEBTRANSPORTSTREAMSTATSCALLBACK_IID \
{0x9c1df3f5, 0xbf04, 0x46b6, \
{ 0x99, 0x77, 0xeb, 0x63, 0x89, 0x07, 0x6d, 0xb8 }}
class NS_NO_VTABLE nsIWebTransportStreamStatsCallback : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWEBTRANSPORTSTREAMSTATSCALLBACK_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIWebTransportStreamStatsCallback;
/* void onSendStatsAvailable (in nsIWebTransportSendStreamStats aStats); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD OnSendStatsAvailable(nsIWebTransportSendStreamStats *aStats) = 0;
/* void onReceiveStatsAvailable (in nsIWebTransportReceiveStreamStats aStats); */
JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD OnReceiveStatsAvailable(nsIWebTransportReceiveStreamStats *aStats) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIWebTransportStreamStatsCallback, NS_IWEBTRANSPORTSTREAMSTATSCALLBACK_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIWEBTRANSPORTSTREAMSTATSCALLBACK \
NS_IMETHOD OnSendStatsAvailable(nsIWebTransportSendStreamStats *aStats) override; \
NS_IMETHOD OnReceiveStatsAvailable(nsIWebTransportReceiveStreamStats *aStats) 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_NSIWEBTRANSPORTSTREAMSTATSCALLBACK \
nsresult OnSendStatsAvailable(nsIWebTransportSendStreamStats *aStats); \
nsresult OnReceiveStatsAvailable(nsIWebTransportReceiveStreamStats *aStats);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIWEBTRANSPORTSTREAMSTATSCALLBACK(_to) \
NS_IMETHOD OnSendStatsAvailable(nsIWebTransportSendStreamStats *aStats) override { return _to OnSendStatsAvailable(aStats); } \
NS_IMETHOD OnReceiveStatsAvailable(nsIWebTransportReceiveStreamStats *aStats) override { return _to OnReceiveStatsAvailable(aStats); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIWEBTRANSPORTSTREAMSTATSCALLBACK(_to) \
NS_IMETHOD OnSendStatsAvailable(nsIWebTransportSendStreamStats *aStats) override { return !_to ? NS_ERROR_NULL_POINTER : _to->OnSendStatsAvailable(aStats); } \
NS_IMETHOD OnReceiveStatsAvailable(nsIWebTransportReceiveStreamStats *aStats) override { return !_to ? NS_ERROR_NULL_POINTER : _to->OnReceiveStatsAvailable(aStats); }
/* starting interface: nsIWebTransportReceiveStream */
#define NS_IWEBTRANSPORTRECEIVESTREAM_IID_STR "d461b235-6291-4817-adcc-a2a3b3dfc10b"
#define NS_IWEBTRANSPORTRECEIVESTREAM_IID \
{0xd461b235, 0x6291, 0x4817, \
{ 0xad, 0xcc, 0xa2, 0xa3, 0xb3, 0xdf, 0xc1, 0x0b }}
class NS_NO_VTABLE nsIWebTransportReceiveStream : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWEBTRANSPORTRECEIVESTREAM_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIWebTransportReceiveStream;
/* void sendStopSending (in uint8_t aError); */
NS_IMETHOD SendStopSending(uint8_t aError) = 0;
/* void getReceiveStreamStats (in nsIWebTransportStreamStatsCallback aCallback); */
NS_IMETHOD GetReceiveStreamStats(nsIWebTransportStreamStatsCallback *aCallback) = 0;
/* readonly attribute boolean hasReceivedFIN; */
NS_IMETHOD GetHasReceivedFIN(bool *aHasReceivedFIN) = 0;
/* readonly attribute nsIAsyncInputStream inputStream; */
NS_IMETHOD GetInputStream(nsIAsyncInputStream **aInputStream) = 0;
/* readonly attribute uint64_t streamId; */
NS_IMETHOD GetStreamId(uint64_t *aStreamId) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIWebTransportReceiveStream, NS_IWEBTRANSPORTRECEIVESTREAM_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIWEBTRANSPORTRECEIVESTREAM \
NS_IMETHOD SendStopSending(uint8_t aError) override; \
NS_IMETHOD GetReceiveStreamStats(nsIWebTransportStreamStatsCallback *aCallback) override; \
NS_IMETHOD GetHasReceivedFIN(bool *aHasReceivedFIN) override; \
NS_IMETHOD GetInputStream(nsIAsyncInputStream **aInputStream) override; \
NS_IMETHOD GetStreamId(uint64_t *aStreamId) 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_NSIWEBTRANSPORTRECEIVESTREAM \
nsresult SendStopSending(uint8_t aError); \
nsresult GetReceiveStreamStats(nsIWebTransportStreamStatsCallback *aCallback); \
nsresult GetHasReceivedFIN(bool *aHasReceivedFIN); \
nsresult GetInputStream(nsIAsyncInputStream **aInputStream); \
nsresult GetStreamId(uint64_t *aStreamId);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIWEBTRANSPORTRECEIVESTREAM(_to) \
NS_IMETHOD SendStopSending(uint8_t aError) override { return _to SendStopSending(aError); } \
NS_IMETHOD GetReceiveStreamStats(nsIWebTransportStreamStatsCallback *aCallback) override { return _to GetReceiveStreamStats(aCallback); } \
NS_IMETHOD GetHasReceivedFIN(bool *aHasReceivedFIN) override { return _to GetHasReceivedFIN(aHasReceivedFIN); } \
NS_IMETHOD GetInputStream(nsIAsyncInputStream **aInputStream) override { return _to GetInputStream(aInputStream); } \
NS_IMETHOD GetStreamId(uint64_t *aStreamId) override { return _to GetStreamId(aStreamId); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIWEBTRANSPORTRECEIVESTREAM(_to) \
NS_IMETHOD SendStopSending(uint8_t aError) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SendStopSending(aError); } \
NS_IMETHOD GetReceiveStreamStats(nsIWebTransportStreamStatsCallback *aCallback) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReceiveStreamStats(aCallback); } \
NS_IMETHOD GetHasReceivedFIN(bool *aHasReceivedFIN) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasReceivedFIN(aHasReceivedFIN); } \
NS_IMETHOD GetInputStream(nsIAsyncInputStream **aInputStream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInputStream(aInputStream); } \
NS_IMETHOD GetStreamId(uint64_t *aStreamId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStreamId(aStreamId); }
/* starting interface: nsIWebTransportSendStream */
#define NS_IWEBTRANSPORTSENDSTREAM_IID_STR "804f245c-52ea-403c-8a78-f751533bdd70"
#define NS_IWEBTRANSPORTSENDSTREAM_IID \
{0x804f245c, 0x52ea, 0x403c, \
{ 0x8a, 0x78, 0xf7, 0x51, 0x53, 0x3b, 0xdd, 0x70 }}
class NS_NO_VTABLE nsIWebTransportSendStream : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWEBTRANSPORTSENDSTREAM_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIWebTransportSendStream;
/* void sendFin (); */
NS_IMETHOD SendFin(void) = 0;
/* void reset (in uint8_t aErrorCode); */
NS_IMETHOD Reset(uint8_t aErrorCode) = 0;
/* void getSendStreamStats (in nsIWebTransportStreamStatsCallback aCallback); */
NS_IMETHOD GetSendStreamStats(nsIWebTransportStreamStatsCallback *aCallback) = 0;
/* readonly attribute nsIAsyncOutputStream outputStream; */
NS_IMETHOD GetOutputStream(nsIAsyncOutputStream **aOutputStream) = 0;
/* readonly attribute uint64_t streamId; */
NS_IMETHOD GetStreamId(uint64_t *aStreamId) = 0;
/* [noscript] void setSendOrder (in MaybeInt64 aSendOrder); */
NS_IMETHOD SetSendOrder(mozilla::Maybe<int64_t> aSendOrder) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIWebTransportSendStream, NS_IWEBTRANSPORTSENDSTREAM_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIWEBTRANSPORTSENDSTREAM \
NS_IMETHOD SendFin(void) override; \
NS_IMETHOD Reset(uint8_t aErrorCode) override; \
NS_IMETHOD GetSendStreamStats(nsIWebTransportStreamStatsCallback *aCallback) override; \
NS_IMETHOD GetOutputStream(nsIAsyncOutputStream **aOutputStream) override; \
NS_IMETHOD GetStreamId(uint64_t *aStreamId) override; \
NS_IMETHOD SetSendOrder(mozilla::Maybe<int64_t> aSendOrder) 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_NSIWEBTRANSPORTSENDSTREAM \
nsresult SendFin(void); \
nsresult Reset(uint8_t aErrorCode); \
nsresult GetSendStreamStats(nsIWebTransportStreamStatsCallback *aCallback); \
nsresult GetOutputStream(nsIAsyncOutputStream **aOutputStream); \
nsresult GetStreamId(uint64_t *aStreamId); \
nsresult SetSendOrder(mozilla::Maybe<int64_t> aSendOrder);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIWEBTRANSPORTSENDSTREAM(_to) \
NS_IMETHOD SendFin(void) override { return _to SendFin(); } \
NS_IMETHOD Reset(uint8_t aErrorCode) override { return _to Reset(aErrorCode); } \
NS_IMETHOD GetSendStreamStats(nsIWebTransportStreamStatsCallback *aCallback) override { return _to GetSendStreamStats(aCallback); } \
NS_IMETHOD GetOutputStream(nsIAsyncOutputStream **aOutputStream) override { return _to GetOutputStream(aOutputStream); } \
NS_IMETHOD GetStreamId(uint64_t *aStreamId) override { return _to GetStreamId(aStreamId); } \
NS_IMETHOD SetSendOrder(mozilla::Maybe<int64_t> aSendOrder) override { return _to SetSendOrder(aSendOrder); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIWEBTRANSPORTSENDSTREAM(_to) \
NS_IMETHOD SendFin(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SendFin(); } \
NS_IMETHOD Reset(uint8_t aErrorCode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Reset(aErrorCode); } \
NS_IMETHOD GetSendStreamStats(nsIWebTransportStreamStatsCallback *aCallback) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSendStreamStats(aCallback); } \
NS_IMETHOD GetOutputStream(nsIAsyncOutputStream **aOutputStream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOutputStream(aOutputStream); } \
NS_IMETHOD GetStreamId(uint64_t *aStreamId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStreamId(aStreamId); } \
NS_IMETHOD SetSendOrder(mozilla::Maybe<int64_t> aSendOrder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSendOrder(aSendOrder); }
/* starting interface: nsIWebTransportBidirectionalStream */
#define NS_IWEBTRANSPORTBIDIRECTIONALSTREAM_IID_STR "f9ecb509-36db-4689-97d6-137639a08750"
#define NS_IWEBTRANSPORTBIDIRECTIONALSTREAM_IID \
{0xf9ecb509, 0x36db, 0x4689, \
{ 0x97, 0xd6, 0x13, 0x76, 0x39, 0xa0, 0x87, 0x50 }}
class NS_NO_VTABLE nsIWebTransportBidirectionalStream : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWEBTRANSPORTBIDIRECTIONALSTREAM_IID)
/* Used by ToJSValue to check which scriptable interface is implemented. */
using ScriptableInterfaceType = nsIWebTransportBidirectionalStream;
/* void sendStopSending (in uint8_t aError); */
NS_IMETHOD SendStopSending(uint8_t aError) = 0;
/* void sendFin (); */
NS_IMETHOD SendFin(void) = 0;
/* void reset (in uint8_t aErrorCode); */
NS_IMETHOD Reset(uint8_t aErrorCode) = 0;
/* readonly attribute boolean hasReceivedFIN; */
NS_IMETHOD GetHasReceivedFIN(bool *aHasReceivedFIN) = 0;
/* readonly attribute nsIAsyncInputStream inputStream; */
NS_IMETHOD GetInputStream(nsIAsyncInputStream **aInputStream) = 0;
/* readonly attribute nsIAsyncOutputStream outputStream; */
NS_IMETHOD GetOutputStream(nsIAsyncOutputStream **aOutputStream) = 0;
/* readonly attribute uint64_t streamId; */
NS_IMETHOD GetStreamId(uint64_t *aStreamId) = 0;
/* [noscript] void setSendOrder (in MaybeInt64 aSendOrder); */
NS_IMETHOD SetSendOrder(mozilla::Maybe<int64_t> aSendOrder) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIWebTransportBidirectionalStream, NS_IWEBTRANSPORTBIDIRECTIONALSTREAM_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIWEBTRANSPORTBIDIRECTIONALSTREAM \
NS_IMETHOD SendStopSending(uint8_t aError) override; \
NS_IMETHOD SendFin(void) override; \
NS_IMETHOD Reset(uint8_t aErrorCode) override; \
NS_IMETHOD GetHasReceivedFIN(bool *aHasReceivedFIN) override; \
NS_IMETHOD GetInputStream(nsIAsyncInputStream **aInputStream) override; \
NS_IMETHOD GetOutputStream(nsIAsyncOutputStream **aOutputStream) override; \
NS_IMETHOD GetStreamId(uint64_t *aStreamId) override; \
NS_IMETHOD SetSendOrder(mozilla::Maybe<int64_t> aSendOrder) 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_NSIWEBTRANSPORTBIDIRECTIONALSTREAM \
nsresult SendStopSending(uint8_t aError); \
nsresult SendFin(void); \
nsresult Reset(uint8_t aErrorCode); \
nsresult GetHasReceivedFIN(bool *aHasReceivedFIN); \
nsresult GetInputStream(nsIAsyncInputStream **aInputStream); \
nsresult GetOutputStream(nsIAsyncOutputStream **aOutputStream); \
nsresult GetStreamId(uint64_t *aStreamId); \
nsresult SetSendOrder(mozilla::Maybe<int64_t> aSendOrder);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIWEBTRANSPORTBIDIRECTIONALSTREAM(_to) \
NS_IMETHOD SendStopSending(uint8_t aError) override { return _to SendStopSending(aError); } \
NS_IMETHOD SendFin(void) override { return _to SendFin(); } \
NS_IMETHOD Reset(uint8_t aErrorCode) override { return _to Reset(aErrorCode); } \
NS_IMETHOD GetHasReceivedFIN(bool *aHasReceivedFIN) override { return _to GetHasReceivedFIN(aHasReceivedFIN); } \
NS_IMETHOD GetInputStream(nsIAsyncInputStream **aInputStream) override { return _to GetInputStream(aInputStream); } \
NS_IMETHOD GetOutputStream(nsIAsyncOutputStream **aOutputStream) override { return _to GetOutputStream(aOutputStream); } \
NS_IMETHOD GetStreamId(uint64_t *aStreamId) override { return _to GetStreamId(aStreamId); } \
NS_IMETHOD SetSendOrder(mozilla::Maybe<int64_t> aSendOrder) override { return _to SetSendOrder(aSendOrder); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIWEBTRANSPORTBIDIRECTIONALSTREAM(_to) \
NS_IMETHOD SendStopSending(uint8_t aError) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SendStopSending(aError); } \
NS_IMETHOD SendFin(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SendFin(); } \
NS_IMETHOD Reset(uint8_t aErrorCode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Reset(aErrorCode); } \
NS_IMETHOD GetHasReceivedFIN(bool *aHasReceivedFIN) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasReceivedFIN(aHasReceivedFIN); } \
NS_IMETHOD GetInputStream(nsIAsyncInputStream **aInputStream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInputStream(aInputStream); } \
NS_IMETHOD GetOutputStream(nsIAsyncOutputStream **aOutputStream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOutputStream(aOutputStream); } \
NS_IMETHOD GetStreamId(uint64_t *aStreamId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStreamId(aStreamId); } \
NS_IMETHOD SetSendOrder(mozilla::Maybe<int64_t> aSendOrder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSendOrder(aSendOrder); }
#endif /* __gen_nsIWebTransportStream_h__ */