{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} module GHCJS.DOM.JSFFI.Generated.MediaStreamTrack (js_clone, clone, clone_, js_stop, stop, js_getCapabilities, getCapabilities, getCapabilities_, js_getConstraints, getConstraints, getConstraints_, js_getSettings, getSettings, getSettings_, js_applyConstraints, applyConstraints, js_getKind, getKind, js_getId, getId, js_getLabel, getLabel, js_setEnabled, setEnabled, js_getEnabled, getEnabled, js_getMuted, getMuted, mute, unmute, js_getReadyState, getReadyState, ended, overConstrained, MediaStreamTrack(..), gTypeMediaStreamTrack, IsMediaStreamTrack, toMediaStreamTrack) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import qualified Prelude (error) import Data.Typeable (Typeable) import GHCJS.Types (JSVal(..), JSString) import GHCJS.Foreign (jsNull, jsUndefined) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSVal(..), FromJSVal(..)) import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..)) import Control.Monad (void) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import Data.Maybe (fromJust) import Data.Traversable (mapM) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.JSFFI.Generated.Enums foreign import javascript unsafe "$1[\"clone\"]()" js_clone :: MediaStreamTrack -> IO MediaStreamTrack -- | clone :: (MonadIO m, IsMediaStreamTrack self) => self -> m MediaStreamTrack clone self = liftIO (js_clone (toMediaStreamTrack self)) -- | clone_ :: (MonadIO m, IsMediaStreamTrack self) => self -> m () clone_ self = liftIO (void (js_clone (toMediaStreamTrack self))) foreign import javascript unsafe "$1[\"stop\"]()" js_stop :: MediaStreamTrack -> IO () -- | stop :: (MonadIO m, IsMediaStreamTrack self) => self -> m () stop self = liftIO (js_stop (toMediaStreamTrack self)) foreign import javascript unsafe "$1[\"getCapabilities\"]()" js_getCapabilities :: MediaStreamTrack -> IO MediaTrackCapabilities -- | getCapabilities :: (MonadIO m, IsMediaStreamTrack self) => self -> m MediaTrackCapabilities getCapabilities self = liftIO (js_getCapabilities (toMediaStreamTrack self)) -- | getCapabilities_ :: (MonadIO m, IsMediaStreamTrack self) => self -> m () getCapabilities_ self = liftIO (void (js_getCapabilities (toMediaStreamTrack self))) foreign import javascript unsafe "$1[\"getConstraints\"]()" js_getConstraints :: MediaStreamTrack -> IO MediaTrackConstraints -- | getConstraints :: (MonadIO m, IsMediaStreamTrack self) => self -> m MediaTrackConstraints getConstraints self = liftIO (js_getConstraints (toMediaStreamTrack self)) -- | getConstraints_ :: (MonadIO m, IsMediaStreamTrack self) => self -> m () getConstraints_ self = liftIO (void (js_getConstraints (toMediaStreamTrack self))) foreign import javascript unsafe "$1[\"getSettings\"]()" js_getSettings :: MediaStreamTrack -> IO MediaTrackSettings -- | getSettings :: (MonadIO m, IsMediaStreamTrack self) => self -> m MediaTrackSettings getSettings self = liftIO (js_getSettings (toMediaStreamTrack self)) -- | getSettings_ :: (MonadIO m, IsMediaStreamTrack self) => self -> m () getSettings_ self = liftIO (void (js_getSettings (toMediaStreamTrack self))) foreign import javascript interruptible "$1[\"applyConstraints\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);});" js_applyConstraints :: MediaStreamTrack -> Optional MediaTrackConstraints -> IO JSVal -- | applyConstraints :: (MonadIO m, IsMediaStreamTrack self) => self -> Maybe MediaTrackConstraints -> m () applyConstraints self constraints = liftIO ((js_applyConstraints (toMediaStreamTrack self) (maybeToOptional constraints)) >>= maybeThrowPromiseRejected) foreign import javascript unsafe "$1[\"kind\"]" js_getKind :: MediaStreamTrack -> IO JSString -- | getKind :: (MonadIO m, IsMediaStreamTrack self, FromJSString result) => self -> m result getKind self = liftIO (fromJSString <$> (js_getKind (toMediaStreamTrack self))) foreign import javascript unsafe "$1[\"id\"]" js_getId :: MediaStreamTrack -> IO JSString -- | getId :: (MonadIO m, IsMediaStreamTrack self, FromJSString result) => self -> m result getId self = liftIO (fromJSString <$> (js_getId (toMediaStreamTrack self))) foreign import javascript unsafe "$1[\"label\"]" js_getLabel :: MediaStreamTrack -> IO JSString -- | getLabel :: (MonadIO m, IsMediaStreamTrack self, FromJSString result) => self -> m result getLabel self = liftIO (fromJSString <$> (js_getLabel (toMediaStreamTrack self))) foreign import javascript unsafe "$1[\"enabled\"] = $2;" js_setEnabled :: MediaStreamTrack -> Bool -> IO () -- | setEnabled :: (MonadIO m, IsMediaStreamTrack self) => self -> Bool -> m () setEnabled self val = liftIO (js_setEnabled (toMediaStreamTrack self) val) foreign import javascript unsafe "($1[\"enabled\"] ? 1 : 0)" js_getEnabled :: MediaStreamTrack -> IO Bool -- | getEnabled :: (MonadIO m, IsMediaStreamTrack self) => self -> m Bool getEnabled self = liftIO (js_getEnabled (toMediaStreamTrack self)) foreign import javascript unsafe "($1[\"muted\"] ? 1 : 0)" js_getMuted :: MediaStreamTrack -> IO Bool -- | getMuted :: (MonadIO m, IsMediaStreamTrack self) => self -> m Bool getMuted self = liftIO (js_getMuted (toMediaStreamTrack self)) -- | mute :: (IsMediaStreamTrack self, IsEventTarget self) => EventName self Event mute = unsafeEventName (toJSString "mute") -- | unmute :: (IsMediaStreamTrack self, IsEventTarget self) => EventName self Event unmute = unsafeEventName (toJSString "unmute") foreign import javascript unsafe "$1[\"readyState\"]" js_getReadyState :: MediaStreamTrack -> IO JSVal -- | getReadyState :: (MonadIO m, IsMediaStreamTrack self) => self -> m MediaStreamTrackState getReadyState self = liftIO ((js_getReadyState (toMediaStreamTrack self)) >>= fromJSValUnchecked) -- | ended :: (IsMediaStreamTrack self, IsEventTarget self) => EventName self Event ended = unsafeEventName (toJSString "ended") -- | overConstrained :: (IsMediaStreamTrack self, IsEventTarget self) => EventName self Event overConstrained = unsafeEventName (toJSString "overconstrained")