module JSDOM.Generated.RTCPeerConnection
(newRTCPeerConnection, createOffer, createAnswer,
setLocalDescription, setRemoteDescription, updateIce,
addIceCandidate, getLocalStreams, getLocalStreams_,
getRemoteStreams, getRemoteStreams_, getStreamById, getStreamById_,
getStreamByIdUnchecked, getConfiguration, getConfiguration_,
getConfigurationUnchecked, addStream, removeStream, getStats,
createDataChannel, createDataChannel_, createDataChannelUnchecked,
createDTMFSender, createDTMFSender_, createDTMFSenderUnchecked,
close, getLocalDescription, getLocalDescriptionUnchecked,
getRemoteDescription, getRemoteDescriptionUnchecked,
getSignalingState, getIceGatheringState, getIceConnectionState,
negotiationNeeded, iceCandidate, signalingStateChange,
addStreamEvent, removeStreamEvent, iceConnectionStateChange,
dataChannel, RTCPeerConnection, castToRTCPeerConnection,
gTypeRTCPeerConnection)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
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]))
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" ()))
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]))
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]))
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)
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)
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")