jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCRtpEncodingParameters.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.RTCRtpEncodingParameters
(newRTCRtpEncodingParameters, setActive, getActive, getActiveUnsafe, getActiveUnchecked, setCodec, getCodec, getCodecUnsafe, getCodecUnchecked, setMaxBitrate, getMaxBitrate, getMaxBitrateUnsafe, getMaxBitrateUnchecked, setMaxFramerate, getMaxFramerate, getMaxFramerateUnsafe, getMaxFramerateUnchecked, setScaleResolutionDownBy, getScaleResolutionDownBy, getScaleResolutionDownByUnsafe, getScaleResolutionDownByUnchecked, setPriority, getPriority, getPriorityUnsafe, getPriorityUnchecked, setNetworkPriority, getNetworkPriority, getNetworkPriorityUnsafe, getNetworkPriorityUnchecked, setScalabilityMode, getScalabilityMode, getScalabilityModeUnsafe, getScalabilityModeUnchecked, RTCRtpEncodingParameters(..), gTypeRTCRtpEncodingParameters)
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-rtcrtpencodingparameters RTCRtpEncodingParameters specification>
newRTCRtpEncodingParameters :: (MonadDOM m) => m RTCRtpEncodingParameters
newRTCRtpEncodingParameters = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-active RTCRtpEncodingParameters.active specification>
setActive :: (MonadDOM m) => RTCRtpEncodingParameters -> Bool -> m ()
setActive self val = liftDOM (void (self ^. jss "active" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-active RTCRtpEncodingParameters.active specification>
getActive :: (MonadDOM m) => RTCRtpEncodingParameters -> m (Maybe Bool)
getActive self = liftDOM (((self ^. js "active") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-active RTCRtpEncodingParameters.active specification>
getActiveUnsafe :: (MonadDOM m, HasCallStack) => RTCRtpEncodingParameters -> m Bool
getActiveUnsafe self = liftDOM ((((self ^. js "active") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-active RTCRtpEncodingParameters.active specification>
getActiveUnchecked :: (MonadDOM m) => RTCRtpEncodingParameters -> m Bool
getActiveUnchecked self = liftDOM (((self ^. js "active") >>= valToBool))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-codec RTCRtpEncodingParameters.codec specification>
setCodec :: (MonadDOM m, IsRTCRtpCodec val) => RTCRtpEncodingParameters -> val -> m ()
setCodec self val = liftDOM (void (self ^. jss "codec" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-codec RTCRtpEncodingParameters.codec specification>
getCodec :: (MonadDOM m) => RTCRtpEncodingParameters -> m (Maybe RTCRtpCodec)
getCodec self = liftDOM (((self ^. js "codec") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-codec RTCRtpEncodingParameters.codec specification>
getCodecUnsafe :: (MonadDOM m, HasCallStack) => RTCRtpEncodingParameters -> m RTCRtpCodec
getCodecUnsafe self = liftDOM ((((self ^. js "codec") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-codec RTCRtpEncodingParameters.codec specification>
getCodecUnchecked :: (MonadDOM m) => RTCRtpEncodingParameters -> m RTCRtpCodec
getCodecUnchecked self = liftDOM (((self ^. js "codec") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-maxbitrate RTCRtpEncodingParameters.maxBitrate specification>
setMaxBitrate :: (MonadDOM m) => RTCRtpEncodingParameters -> Word -> m ()
setMaxBitrate self val = liftDOM (void (self ^. jss "maxBitrate" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-maxbitrate RTCRtpEncodingParameters.maxBitrate specification>
getMaxBitrate :: (MonadDOM m) => RTCRtpEncodingParameters -> m (Maybe Word)
getMaxBitrate self = liftDOM (((self ^. js "maxBitrate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-maxbitrate RTCRtpEncodingParameters.maxBitrate specification>
getMaxBitrateUnsafe :: (MonadDOM m, HasCallStack) => RTCRtpEncodingParameters -> m Word
getMaxBitrateUnsafe self = liftDOM ((((self ^. js "maxBitrate") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-maxbitrate RTCRtpEncodingParameters.maxBitrate specification>
getMaxBitrateUnchecked :: (MonadDOM m) => RTCRtpEncodingParameters -> m Word
getMaxBitrateUnchecked self = liftDOM ((P.round <$> ((self ^. js "maxBitrate") >>= valToNumber)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-maxframerate RTCRtpEncodingParameters.maxFramerate specification>
setMaxFramerate :: (MonadDOM m) => RTCRtpEncodingParameters -> Double -> m ()
setMaxFramerate self val = liftDOM (void (self ^. jss "maxFramerate" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-maxframerate RTCRtpEncodingParameters.maxFramerate specification>
getMaxFramerate :: (MonadDOM m) => RTCRtpEncodingParameters -> m (Maybe Double)
getMaxFramerate self = liftDOM (((self ^. js "maxFramerate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-maxframerate RTCRtpEncodingParameters.maxFramerate specification>
getMaxFramerateUnsafe :: (MonadDOM m, HasCallStack) => RTCRtpEncodingParameters -> m Double
getMaxFramerateUnsafe self = liftDOM ((((self ^. js "maxFramerate") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-maxframerate RTCRtpEncodingParameters.maxFramerate specification>
getMaxFramerateUnchecked :: (MonadDOM m) => RTCRtpEncodingParameters -> m Double
getMaxFramerateUnchecked self = liftDOM (((self ^. js "maxFramerate") >>= valToNumber))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-scaleresolutiondownby RTCRtpEncodingParameters.scaleResolutionDownBy specification>
setScaleResolutionDownBy :: (MonadDOM m) => RTCRtpEncodingParameters -> Double -> m ()
setScaleResolutionDownBy self val = liftDOM (void (self ^. jss "scaleResolutionDownBy" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-scaleresolutiondownby RTCRtpEncodingParameters.scaleResolutionDownBy specification>
getScaleResolutionDownBy :: (MonadDOM m) => RTCRtpEncodingParameters -> m (Maybe Double)
getScaleResolutionDownBy self = liftDOM (((self ^. js "scaleResolutionDownBy") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-scaleresolutiondownby RTCRtpEncodingParameters.scaleResolutionDownBy specification>
getScaleResolutionDownByUnsafe :: (MonadDOM m, HasCallStack) => RTCRtpEncodingParameters -> m Double
getScaleResolutionDownByUnsafe self = liftDOM ((((self ^. js "scaleResolutionDownBy") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-scaleresolutiondownby RTCRtpEncodingParameters.scaleResolutionDownBy specification>
getScaleResolutionDownByUnchecked :: (MonadDOM m) => RTCRtpEncodingParameters -> m Double
getScaleResolutionDownByUnchecked self = liftDOM (((self ^. js "scaleResolutionDownBy") >>= valToNumber))
-- | <https://w3c.github.io/webrtc-priority/#dom-rtcrtpencodingparameters-priority RTCRtpEncodingParameters.priority specification>
setPriority :: (MonadDOM m) => RTCRtpEncodingParameters -> RTCPriorityType -> m ()
setPriority self val = liftDOM (void (self ^. jss "priority" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-priority/#dom-rtcrtpencodingparameters-priority RTCRtpEncodingParameters.priority specification>
getPriority :: (MonadDOM m) => RTCRtpEncodingParameters -> m (Maybe RTCPriorityType)
getPriority self = liftDOM (((self ^. js "priority") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-priority/#dom-rtcrtpencodingparameters-priority RTCRtpEncodingParameters.priority specification>
getPriorityUnsafe :: (MonadDOM m, HasCallStack) => RTCRtpEncodingParameters -> m RTCPriorityType
getPriorityUnsafe self = liftDOM ((((self ^. js "priority") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-priority/#dom-rtcrtpencodingparameters-priority RTCRtpEncodingParameters.priority specification>
getPriorityUnchecked :: (MonadDOM m) => RTCRtpEncodingParameters -> m RTCPriorityType
getPriorityUnchecked self = liftDOM (((self ^. js "priority") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-priority/#dom-rtcrtpencodingparameters-networkpriority RTCRtpEncodingParameters.networkPriority specification>
setNetworkPriority :: (MonadDOM m) => RTCRtpEncodingParameters -> RTCPriorityType -> m ()
setNetworkPriority self val = liftDOM (void (self ^. jss "networkPriority" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-priority/#dom-rtcrtpencodingparameters-networkpriority RTCRtpEncodingParameters.networkPriority specification>
getNetworkPriority :: (MonadDOM m) => RTCRtpEncodingParameters -> m (Maybe RTCPriorityType)
getNetworkPriority self = liftDOM (((self ^. js "networkPriority") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-priority/#dom-rtcrtpencodingparameters-networkpriority RTCRtpEncodingParameters.networkPriority specification>
getNetworkPriorityUnsafe :: (MonadDOM m, HasCallStack) => RTCRtpEncodingParameters -> m RTCPriorityType
getNetworkPriorityUnsafe self = liftDOM ((((self ^. js "networkPriority") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-priority/#dom-rtcrtpencodingparameters-networkpriority RTCRtpEncodingParameters.networkPriority specification>
getNetworkPriorityUnchecked :: (MonadDOM m) => RTCRtpEncodingParameters -> m RTCPriorityType
getNetworkPriorityUnchecked self = liftDOM (((self ^. js "networkPriority") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-svc/#dom-rtcrtpencodingparameters-scalabilitymode RTCRtpEncodingParameters.scalabilityMode specification>
setScalabilityMode :: (MonadDOM m, ToJSString val) => RTCRtpEncodingParameters -> val -> m ()
setScalabilityMode self val = liftDOM (void (self ^. jss "scalabilityMode" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-svc/#dom-rtcrtpencodingparameters-scalabilitymode RTCRtpEncodingParameters.scalabilityMode specification>
getScalabilityMode :: (MonadDOM m, FromJSString result) => RTCRtpEncodingParameters -> m (Maybe result)
getScalabilityMode self = liftDOM (((self ^. js "scalabilityMode") >>= fromMaybeJSString))
-- | <https://w3c.github.io/webrtc-svc/#dom-rtcrtpencodingparameters-scalabilitymode RTCRtpEncodingParameters.scalabilityMode specification>
getScalabilityModeUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => RTCRtpEncodingParameters -> m result
getScalabilityModeUnsafe self = liftDOM ((((self ^. js "scalabilityMode") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-svc/#dom-rtcrtpencodingparameters-scalabilitymode RTCRtpEncodingParameters.scalabilityMode specification>
getScalabilityModeUnchecked :: (MonadDOM m, FromJSString result) => RTCRtpEncodingParameters -> m result
getScalabilityModeUnchecked self = liftDOM (((self ^. js "scalabilityMode") >>= fromJSValUnchecked))