packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCRtpParameters.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webrtc (webref). Do not edit.
module JSDOM.Generated.RTCRtpParameters
       (newRTCRtpParameters, setHeaderExtensions, getHeaderExtensions, setRtcp, getRtcp, setCodecs, getCodecs, RTCRtpParameters(..), gTypeRTCRtpParameters, IsRTCRtpParameters, toRTCRtpParameters)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpparameters RTCRtpParameters specification>
newRTCRtpParameters :: (MonadDOM m) => [RTCRtpHeaderExtensionParameters] -> RTCRtcpParameters -> [RTCRtpCodecParameters] -> m RTCRtpParameters
newRTCRtpParameters headerExtensions rtcp codecs = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "headerExtensions" (toJSVal headerExtensions)) P.>> (o ^. jss "rtcp" (toJSVal rtcp)) P.>> (o ^. jss "codecs" (toJSVal codecs)) P.>> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpparameters-headerextensions RTCRtpParameters.headerExtensions specification>
setHeaderExtensions :: (MonadDOM m, IsRTCRtpParameters self) => self -> [RTCRtpHeaderExtensionParameters] -> m ()
setHeaderExtensions self val = liftDOM (void ((Types.toRTCRtpParameters self) ^. jss "headerExtensions" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpparameters-headerextensions RTCRtpParameters.headerExtensions specification>
getHeaderExtensions :: (MonadDOM m, IsRTCRtpParameters self) => self -> m [RTCRtpHeaderExtensionParameters]
getHeaderExtensions self = liftDOM ((((Types.toRTCRtpParameters self) ^. js "headerExtensions") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpparameters-rtcp RTCRtpParameters.rtcp specification>
setRtcp :: (MonadDOM m, IsRTCRtpParameters self) => self -> RTCRtcpParameters -> m ()
setRtcp self val = liftDOM (void ((Types.toRTCRtpParameters self) ^. jss "rtcp" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpparameters-rtcp RTCRtpParameters.rtcp specification>
getRtcp :: (MonadDOM m, IsRTCRtpParameters self) => self -> m RTCRtcpParameters
getRtcp self = liftDOM ((((Types.toRTCRtpParameters self) ^. js "rtcp") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpparameters-codecs RTCRtpParameters.codecs specification>
setCodecs :: (MonadDOM m, IsRTCRtpParameters self) => self -> [RTCRtpCodecParameters] -> m ()
setCodecs self val = liftDOM (void ((Types.toRTCRtpParameters self) ^. jss "codecs" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpparameters-codecs RTCRtpParameters.codecs specification>
getCodecs :: (MonadDOM m, IsRTCRtpParameters self) => self -> m [RTCRtpCodecParameters]
getCodecs self = liftDOM ((((Types.toRTCRtpParameters self) ^. js "codecs") >>= fromJSValUnchecked))