module JSDOM.Generated.RTCPeerConnection
(newRTCPeerConnection, createOffer, createAnswer,
setLocalDescription, setRemoteDescription, updateIce,
addIceCandidate, getLocalStreams, getLocalStreams_,
getRemoteStreams, getRemoteStreams_, getStreamById, getStreamById_,
getStreamByIdUnsafe, getStreamByIdUnchecked, getConfiguration,
getConfiguration_, getConfigurationUnsafe,
getConfigurationUnchecked, addStream, removeStream, getStats,
createDataChannel, createDataChannel_, createDataChannelUnsafe,
createDataChannelUnchecked, createDTMFSender, createDTMFSender_,
createDTMFSenderUnsafe, createDTMFSenderUnchecked, close,
getLocalDescription, getLocalDescriptionUnsafe,
getLocalDescriptionUnchecked, getRemoteDescription,
getRemoteDescriptionUnsafe, getRemoteDescriptionUnchecked,
getSignalingState, getIceGatheringState, getIceConnectionState,
negotiationNeeded, iceCandidate, signalingStateChange,
addStreamEvent, removeStreamEvent, iceConnectionStateChange,
dataChannel, RTCPeerConnection(..), gTypeRTCPeerConnection)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array)
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName)
import JSDOM.Enums
newRTCPeerConnection ::
(MonadDOM m, IsDictionary rtcConfiguration) =>
Maybe rtcConfiguration -> m RTCPeerConnection
newRTCPeerConnection rtcConfiguration
= liftDOM
(RTCPeerConnection <$>
new (jsg "RTCPeerConnection") [toJSVal rtcConfiguration])
createOffer ::
(MonadDOM m, IsDictionary offerOptions) =>
RTCPeerConnection ->
Maybe RTCSessionDescriptionCallback ->
Maybe RTCPeerConnectionErrorCallback -> Maybe offerOptions -> m ()
createOffer self successCallback failureCallback offerOptions
= liftDOM
(void
(self ^. jsf "createOffer"
[toJSVal successCallback, toJSVal failureCallback,
toJSVal offerOptions]))
createAnswer ::
(MonadDOM m, IsDictionary answerOptions) =>
RTCPeerConnection ->
Maybe RTCSessionDescriptionCallback ->
Maybe RTCPeerConnectionErrorCallback -> Maybe answerOptions -> m ()
createAnswer self successCallback failureCallback answerOptions
= liftDOM
(void
(self ^. jsf "createAnswer"
[toJSVal successCallback, toJSVal failureCallback,
toJSVal answerOptions]))
setLocalDescription ::
(MonadDOM m) =>
RTCPeerConnection ->
Maybe RTCSessionDescription ->
Maybe VoidCallback -> Maybe RTCPeerConnectionErrorCallback -> m ()
setLocalDescription self description successCallback
failureCallback
= liftDOM
(void
(self ^. jsf "setLocalDescription"
[toJSVal description, toJSVal successCallback,
toJSVal failureCallback]))
setRemoteDescription ::
(MonadDOM m) =>
RTCPeerConnection ->
Maybe RTCSessionDescription ->
Maybe VoidCallback -> Maybe RTCPeerConnectionErrorCallback -> m ()
setRemoteDescription self description successCallback
failureCallback
= liftDOM
(void
(self ^. jsf "setRemoteDescription"
[toJSVal description, toJSVal successCallback,
toJSVal failureCallback]))
updateIce ::
(MonadDOM m, IsDictionary configuration) =>
RTCPeerConnection -> Maybe configuration -> m ()
updateIce self configuration
= liftDOM (void (self ^. jsf "updateIce" [toJSVal configuration]))
addIceCandidate ::
(MonadDOM m) =>
RTCPeerConnection ->
Maybe RTCIceCandidate ->
Maybe VoidCallback -> Maybe RTCPeerConnectionErrorCallback -> m ()
addIceCandidate self candidate successCallback failureCallback
= liftDOM
(void
(self ^. jsf "addIceCandidate"
[toJSVal candidate, toJSVal successCallback,
toJSVal failureCallback]))
getLocalStreams ::
(MonadDOM m) => RTCPeerConnection -> m [Maybe MediaStream]
getLocalStreams self
= liftDOM ((self ^. jsf "getLocalStreams" ()) >>= fromJSArray)
getLocalStreams_ :: (MonadDOM m) => RTCPeerConnection -> m ()
getLocalStreams_ self
= liftDOM (void (self ^. jsf "getLocalStreams" ()))
getRemoteStreams ::
(MonadDOM m) => RTCPeerConnection -> m [Maybe MediaStream]
getRemoteStreams self
= liftDOM ((self ^. jsf "getRemoteStreams" ()) >>= fromJSArray)
getRemoteStreams_ :: (MonadDOM m) => RTCPeerConnection -> m ()
getRemoteStreams_ self
= liftDOM (void (self ^. jsf "getRemoteStreams" ()))
getStreamById ::
(MonadDOM m, ToJSString streamId) =>
RTCPeerConnection -> streamId -> m (Maybe MediaStream)
getStreamById self streamId
= liftDOM
((self ^. jsf "getStreamById" [toJSVal streamId]) >>= fromJSVal)
getStreamById_ ::
(MonadDOM m, ToJSString streamId) =>
RTCPeerConnection -> streamId -> m ()
getStreamById_ self streamId
= liftDOM (void (self ^. jsf "getStreamById" [toJSVal streamId]))
getStreamByIdUnsafe ::
(MonadDOM m, ToJSString streamId, HasCallStack) =>
RTCPeerConnection -> streamId -> m MediaStream
getStreamByIdUnsafe self streamId
= liftDOM
(((self ^. jsf "getStreamById" [toJSVal streamId]) >>= fromJSVal)
>>= maybe (Prelude.error "Nothing to return") return)
getStreamByIdUnchecked ::
(MonadDOM m, ToJSString streamId) =>
RTCPeerConnection -> streamId -> m MediaStream
getStreamByIdUnchecked self streamId
= liftDOM
((self ^. jsf "getStreamById" [toJSVal streamId]) >>=
fromJSValUnchecked)
getConfiguration ::
(MonadDOM m) => RTCPeerConnection -> m (Maybe RTCConfiguration)
getConfiguration self
= liftDOM ((self ^. jsf "getConfiguration" ()) >>= fromJSVal)
getConfiguration_ :: (MonadDOM m) => RTCPeerConnection -> m ()
getConfiguration_ self
= liftDOM (void (self ^. jsf "getConfiguration" ()))
getConfigurationUnsafe ::
(MonadDOM m, HasCallStack) =>
RTCPeerConnection -> m RTCConfiguration
getConfigurationUnsafe self
= liftDOM
(((self ^. jsf "getConfiguration" ()) >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
getConfigurationUnchecked ::
(MonadDOM m) => RTCPeerConnection -> m RTCConfiguration
getConfigurationUnchecked self
= liftDOM
((self ^. jsf "getConfiguration" ()) >>= fromJSValUnchecked)
addStream ::
(MonadDOM m) => RTCPeerConnection -> Maybe MediaStream -> m ()
addStream self stream
= liftDOM (void (self ^. jsf "addStream" [toJSVal stream]))
removeStream ::
(MonadDOM m) => RTCPeerConnection -> Maybe MediaStream -> m ()
removeStream self stream
= liftDOM (void (self ^. jsf "removeStream" [toJSVal stream]))
getStats ::
(MonadDOM m, IsMediaStreamTrack selector) =>
RTCPeerConnection ->
Maybe RTCStatsCallback ->
Maybe RTCPeerConnectionErrorCallback -> Maybe selector -> m ()
getStats self successCallback failureCallback selector
= liftDOM
(void
(self ^. jsf "getStats"
[toJSVal successCallback, toJSVal failureCallback,
toJSVal selector]))
createDataChannel ::
(MonadDOM m, ToJSString label, IsDictionary options) =>
RTCPeerConnection ->
Maybe label -> Maybe options -> m (Maybe RTCDataChannel)
createDataChannel self label options
= liftDOM
((self ^. jsf "createDataChannel" [toJSVal label, toJSVal options])
>>= fromJSVal)
createDataChannel_ ::
(MonadDOM m, ToJSString label, IsDictionary options) =>
RTCPeerConnection -> Maybe label -> Maybe options -> m ()
createDataChannel_ self label options
= liftDOM
(void
(self ^. jsf "createDataChannel" [toJSVal label, toJSVal options]))
createDataChannelUnsafe ::
(MonadDOM m, ToJSString label, IsDictionary options,
HasCallStack) =>
RTCPeerConnection ->
Maybe label -> Maybe options -> m RTCDataChannel
createDataChannelUnsafe self label options
= liftDOM
(((self ^. jsf "createDataChannel"
[toJSVal label, toJSVal options])
>>= fromJSVal)
>>= maybe (Prelude.error "Nothing to return") return)
createDataChannelUnchecked ::
(MonadDOM m, ToJSString label, IsDictionary options) =>
RTCPeerConnection ->
Maybe label -> Maybe options -> m RTCDataChannel
createDataChannelUnchecked self label options
= liftDOM
((self ^. jsf "createDataChannel" [toJSVal label, toJSVal options])
>>= fromJSValUnchecked)
createDTMFSender ::
(MonadDOM m, IsMediaStreamTrack track) =>
RTCPeerConnection -> Maybe track -> m (Maybe RTCDTMFSender)
createDTMFSender self track
= liftDOM
((self ^. jsf "createDTMFSender" [toJSVal track]) >>= fromJSVal)
createDTMFSender_ ::
(MonadDOM m, IsMediaStreamTrack track) =>
RTCPeerConnection -> Maybe track -> m ()
createDTMFSender_ self track
= liftDOM (void (self ^. jsf "createDTMFSender" [toJSVal track]))
createDTMFSenderUnsafe ::
(MonadDOM m, IsMediaStreamTrack track, HasCallStack) =>
RTCPeerConnection -> Maybe track -> m RTCDTMFSender
createDTMFSenderUnsafe self track
= liftDOM
(((self ^. jsf "createDTMFSender" [toJSVal track]) >>= fromJSVal)
>>= maybe (Prelude.error "Nothing to return") return)
createDTMFSenderUnchecked ::
(MonadDOM m, IsMediaStreamTrack track) =>
RTCPeerConnection -> Maybe track -> m RTCDTMFSender
createDTMFSenderUnchecked self track
= liftDOM
((self ^. jsf "createDTMFSender" [toJSVal track]) >>=
fromJSValUnchecked)
close :: (MonadDOM m) => RTCPeerConnection -> m ()
close self = liftDOM (void (self ^. jsf "close" ()))
getLocalDescription ::
(MonadDOM m) =>
RTCPeerConnection -> m (Maybe RTCSessionDescription)
getLocalDescription self
= liftDOM ((self ^. js "localDescription") >>= fromJSVal)
getLocalDescriptionUnsafe ::
(MonadDOM m, HasCallStack) =>
RTCPeerConnection -> m RTCSessionDescription
getLocalDescriptionUnsafe self
= liftDOM
(((self ^. js "localDescription") >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
getLocalDescriptionUnchecked ::
(MonadDOM m) => RTCPeerConnection -> m RTCSessionDescription
getLocalDescriptionUnchecked self
= liftDOM ((self ^. js "localDescription") >>= fromJSValUnchecked)
getRemoteDescription ::
(MonadDOM m) =>
RTCPeerConnection -> m (Maybe RTCSessionDescription)
getRemoteDescription self
= liftDOM ((self ^. js "remoteDescription") >>= fromJSVal)
getRemoteDescriptionUnsafe ::
(MonadDOM m, HasCallStack) =>
RTCPeerConnection -> m RTCSessionDescription
getRemoteDescriptionUnsafe self
= liftDOM
(((self ^. js "remoteDescription") >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
getRemoteDescriptionUnchecked ::
(MonadDOM m) => RTCPeerConnection -> m RTCSessionDescription
getRemoteDescriptionUnchecked self
= liftDOM ((self ^. js "remoteDescription") >>= fromJSValUnchecked)
getSignalingState ::
(MonadDOM m, FromJSString result) => RTCPeerConnection -> m result
getSignalingState self
= liftDOM ((self ^. js "signalingState") >>= fromJSValUnchecked)
getIceGatheringState ::
(MonadDOM m, FromJSString result) => RTCPeerConnection -> m result
getIceGatheringState self
= liftDOM ((self ^. js "iceGatheringState") >>= fromJSValUnchecked)
getIceConnectionState ::
(MonadDOM m, FromJSString result) => RTCPeerConnection -> m result
getIceConnectionState self
= liftDOM
((self ^. js "iceConnectionState") >>= fromJSValUnchecked)
negotiationNeeded :: EventName RTCPeerConnection Event
negotiationNeeded
= unsafeEventName (toJSString "negotiationneeded")
iceCandidate :: EventName RTCPeerConnection RTCIceCandidateEvent
iceCandidate = unsafeEventName (toJSString "icecandidate")
signalingStateChange :: EventName RTCPeerConnection Event
signalingStateChange
= unsafeEventName (toJSString "signalingstatechange")
addStreamEvent :: EventName RTCPeerConnection Event
addStreamEvent = unsafeEventName (toJSString "addstream")
removeStreamEvent :: EventName RTCPeerConnection Event
removeStreamEvent = unsafeEventName (toJSString "removestream")
iceConnectionStateChange :: EventName RTCPeerConnection Event
iceConnectionStateChange
= unsafeEventName (toJSString "iceconnectionstatechange")
dataChannel :: EventName RTCPeerConnection Event
dataChannel = unsafeEventName (toJSString "datachannel")