/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ // invalid widl // interface nsISupports; [ChromeOnly, JSImplementation="@mozilla.org/dom/peerconnectionobserver;1", Constructor (RTCPeerConnection domPC)] interface PeerConnectionObserver { /* JSEP callbacks */ undefined onCreateOfferSuccess(DOMString offer); undefined onCreateOfferError(unsigned long name, DOMString message); undefined onCreateAnswerSuccess(DOMString answer); undefined onCreateAnswerError(unsigned long name, DOMString message); undefined onSetLocalDescriptionSuccess(); undefined onSetRemoteDescriptionSuccess(); undefined onSetLocalDescriptionError(unsigned long name, DOMString message); undefined onSetRemoteDescriptionError(unsigned long name, DOMString message); undefined onAddIceCandidateSuccess(); undefined onAddIceCandidateError(unsigned long name, DOMString message); undefined onIceCandidate(unsigned short level, DOMString mid, DOMString candidate); /* Stats callbacks */ undefined onGetStatsSuccess(optional RTCStatsReportInternal report); undefined onGetStatsError(unsigned long name, DOMString message); /* Data channel callbacks */ undefined notifyDataChannel(RTCDataChannel channel); /* Notification of one of several types of state changed */ undefined onStateChange(PCObserverStateType state); /* Transceiver management; called when setRemoteDescription causes a transceiver to be created on the C++ side */ undefined onTransceiverNeeded(DOMString kind, TransceiverImpl transceiverImpl); /* DTMF callback */ undefined onDTMFToneChange(MediaStreamTrack track, DOMString tone); /* Packet dump callback */ undefined onPacket(unsigned long level, mozPacketDumpType type, boolean sending, ArrayBuffer packet); /* Transceiver sync */ undefined syncTransceivers(); };