Class WebRtcProtocolHandler
java.lang.Object
com.openfin.desktop.channel.AbstractProtocolHandler
com.openfin.desktop.channel.webrtc.WebRtcProtocolHandler
- All Implemented Interfaces:
DataChannelListener,EventListener,dev.onvoid.webrtc.PeerConnectionObserver
public class WebRtcProtocolHandler extends AbstractProtocolHandler implements dev.onvoid.webrtc.PeerConnectionObserver, EventListener, DataChannelListener
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.openfin.desktop.channel.webrtc.DataChannelListener
DataChannelListener.State -
Field Summary
Fields Modifier and Type Field Description protected dev.onvoid.webrtc.RTCPeerConnectionpeerConnectionFields inherited from class com.openfin.desktop.channel.AbstractProtocolHandler
channel, clientEndpointIdentity, endpointIdentity, isProvider, logger -
Constructor Summary
Constructors Constructor Description WebRtcProtocolHandler(Channel channel) -
Method Summary
Modifier and Type Method Description protected voidacceptAnswer(org.json.JSONObject answer, java.util.concurrent.CompletableFuture<java.lang.Boolean> future)Accept answer from a channel providerprotected voidacceptOffer(org.json.JSONObject payload)protected voidcleanup()protected dev.onvoid.webrtc.RTCSessionDescriptioncreateAnswer()voideventReceived(ActionEvent actionEvent)Invoked when registered event occursProtocolOptionsgetProtocolOptions()protected org.json.JSONObjectgetSupportedAnswerProtocol()protected org.json.JSONObjectgetSupportedOfferProtocol()voidinitializeClient()voidonAddStream(dev.onvoid.webrtc.media.MediaStream stream)voidonAddTrack(dev.onvoid.webrtc.RTCRtpReceiver receiver, dev.onvoid.webrtc.media.MediaStream[] mediaStreams)voidonConnectionChange(dev.onvoid.webrtc.RTCPeerConnectionState state)voidonDataChannel(dev.onvoid.webrtc.RTCDataChannel dataChannel)voidonIceCandidate(dev.onvoid.webrtc.RTCIceCandidate rtcIceCandidate)voidonIceCandidateError(dev.onvoid.webrtc.RTCPeerConnectionIceErrorEvent event)voidonIceCandidatesRemoved(dev.onvoid.webrtc.RTCIceCandidate[] candidates)voidonIceConnectionChange(dev.onvoid.webrtc.RTCIceConnectionState state)voidonIceConnectionReceivingChange(boolean receiving)voidonIceGatheringChange(dev.onvoid.webrtc.RTCIceGatheringState state)voidonMessage(DataChannel source, java.lang.String message)voidonRemoveStream(dev.onvoid.webrtc.media.MediaStream stream)voidonRemoveTrack(dev.onvoid.webrtc.RTCRtpReceiver receiver)voidonRenegotiationNeeded()voidonSignalingChange(dev.onvoid.webrtc.RTCSignalingState state)voidonStandardizedIceConnectionChange(dev.onvoid.webrtc.RTCIceConnectionState state)voidonStateChange(DataChannel source, DataChannelListener.State state)voidonTrack(dev.onvoid.webrtc.RTCRtpTransceiver transceiver)voidsendChannelMessage(java.lang.String action, org.json.JSONObject destionationIdentity, org.json.JSONObject providerIdentity, org.json.JSONObject actionPayload, AckListener ackListener)java.util.concurrent.CompletableFuture<Ack>sendChannelMessageAsync(java.lang.String action, org.json.JSONObject destionationIdentity, org.json.JSONObject providerIdentity, java.lang.Object actionPayload)Methods inherited from class com.openfin.desktop.channel.AbstractProtocolHandler
createProtocolHandler, getChannel, getChannelConnectPayload, getChannelCreatePayload, getOfferProtocolByType, initializeProvider, processConnectAnswer, processConnectOffer, setClientEndpointIdentity
-
Field Details
-
peerConnection
protected dev.onvoid.webrtc.RTCPeerConnection peerConnection
-
-
Constructor Details
-
Method Details
-
getProtocolOptions
- Overrides:
getProtocolOptionsin classAbstractProtocolHandler
-
initializeClient
public void initializeClient() throws java.lang.Exception- Overrides:
initializeClientin classAbstractProtocolHandler- Throws:
java.lang.Exception
-
getSupportedOfferProtocol
protected org.json.JSONObject getSupportedOfferProtocol()- Overrides:
getSupportedOfferProtocolin classAbstractProtocolHandler
-
acceptAnswer
protected void acceptAnswer(org.json.JSONObject answer, java.util.concurrent.CompletableFuture<java.lang.Boolean> future) throws java.lang.ExceptionAccept answer from a channel provider- Overrides:
acceptAnswerin classAbstractProtocolHandler- Parameters:
answer- answer objectfuture- future for returning true if accepted- Throws:
java.lang.Exception- Exception
-
acceptOffer
protected void acceptOffer(org.json.JSONObject payload) throws java.lang.Exception- Overrides:
acceptOfferin classAbstractProtocolHandler- Throws:
java.lang.Exception
-
getSupportedAnswerProtocol
protected org.json.JSONObject getSupportedAnswerProtocol()- Overrides:
getSupportedAnswerProtocolin classAbstractProtocolHandler
-
createAnswer
protected dev.onvoid.webrtc.RTCSessionDescription createAnswer() throws java.lang.Exception- Throws:
java.lang.Exception
-
sendChannelMessage
public void sendChannelMessage(java.lang.String action, org.json.JSONObject destionationIdentity, org.json.JSONObject providerIdentity, org.json.JSONObject actionPayload, AckListener ackListener)- Overrides:
sendChannelMessagein classAbstractProtocolHandler
-
sendChannelMessageAsync
public java.util.concurrent.CompletableFuture<Ack> sendChannelMessageAsync(java.lang.String action, org.json.JSONObject destionationIdentity, org.json.JSONObject providerIdentity, java.lang.Object actionPayload)- Overrides:
sendChannelMessageAsyncin classAbstractProtocolHandler
-
onSignalingChange
public void onSignalingChange(dev.onvoid.webrtc.RTCSignalingState state)- Specified by:
onSignalingChangein interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onConnectionChange
public void onConnectionChange(dev.onvoid.webrtc.RTCPeerConnectionState state)- Specified by:
onConnectionChangein interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onIceConnectionChange
public void onIceConnectionChange(dev.onvoid.webrtc.RTCIceConnectionState state)- Specified by:
onIceConnectionChangein interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onStandardizedIceConnectionChange
public void onStandardizedIceConnectionChange(dev.onvoid.webrtc.RTCIceConnectionState state)- Specified by:
onStandardizedIceConnectionChangein interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onIceConnectionReceivingChange
public void onIceConnectionReceivingChange(boolean receiving)- Specified by:
onIceConnectionReceivingChangein interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onIceGatheringChange
public void onIceGatheringChange(dev.onvoid.webrtc.RTCIceGatheringState state)- Specified by:
onIceGatheringChangein interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onIceCandidate
public void onIceCandidate(dev.onvoid.webrtc.RTCIceCandidate rtcIceCandidate)- Specified by:
onIceCandidatein interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onIceCandidateError
public void onIceCandidateError(dev.onvoid.webrtc.RTCPeerConnectionIceErrorEvent event)- Specified by:
onIceCandidateErrorin interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onIceCandidatesRemoved
public void onIceCandidatesRemoved(dev.onvoid.webrtc.RTCIceCandidate[] candidates)- Specified by:
onIceCandidatesRemovedin interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onAddStream
public void onAddStream(dev.onvoid.webrtc.media.MediaStream stream)- Specified by:
onAddStreamin interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onRemoveStream
public void onRemoveStream(dev.onvoid.webrtc.media.MediaStream stream)- Specified by:
onRemoveStreamin interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onDataChannel
public void onDataChannel(dev.onvoid.webrtc.RTCDataChannel dataChannel)- Specified by:
onDataChannelin interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onRenegotiationNeeded
public void onRenegotiationNeeded()- Specified by:
onRenegotiationNeededin interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onAddTrack
public void onAddTrack(dev.onvoid.webrtc.RTCRtpReceiver receiver, dev.onvoid.webrtc.media.MediaStream[] mediaStreams)- Specified by:
onAddTrackin interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onRemoveTrack
public void onRemoveTrack(dev.onvoid.webrtc.RTCRtpReceiver receiver)- Specified by:
onRemoveTrackin interfacedev.onvoid.webrtc.PeerConnectionObserver
-
onTrack
public void onTrack(dev.onvoid.webrtc.RTCRtpTransceiver transceiver)- Specified by:
onTrackin interfacedev.onvoid.webrtc.PeerConnectionObserver
-
eventReceived
Description copied from interface:EventListenerInvoked when registered event occurs- Specified by:
eventReceivedin interfaceEventListener- Parameters:
actionEvent- Event object- See Also:
ActionEvent
-
onStateChange
- Specified by:
onStateChangein interfaceDataChannelListener
-
onMessage
- Specified by:
onMessagein interfaceDataChannelListener
-
cleanup
protected void cleanup()- Overrides:
cleanupin classAbstractProtocolHandler
-