{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} module GHCJS.DOM.JSFFI.Generated.MediaStreamTrack (js_getSources, getSources, js_getConstraints, getConstraints, getConstraints_, getConstraintsUnsafe, getConstraintsUnchecked, js_states, states, states_, statesUnsafe, statesUnchecked, js_getCapabilities, getCapabilities, getCapabilities_, getCapabilitiesUnsafe, getCapabilitiesUnchecked, js_applyConstraints, applyConstraints, js_clone, clone, clone_, cloneUnsafe, cloneUnchecked, js_stop, stop, js_getKind, getKind, js_getId, getId, js_getLabel, getLabel, js_setEnabled, setEnabled, js_getEnabled, getEnabled, js_getMuted, getMuted, mute, unmute, js_get_readonly, get_readonly, js_getRemote, getRemote, js_getReadyState, getReadyState, started, 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) 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 GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.JSFFI.Generated.Enums foreign import javascript unsafe "$1[\"getSources\"]($2)" js_getSources :: MediaStreamTrack -> Nullable MediaStreamTrackSourcesCallback -> IO () -- | getSources :: (MonadIO m, IsMediaStreamTrack self) => self -> Maybe MediaStreamTrackSourcesCallback -> m () getSources self callback = liftIO (js_getSources (toMediaStreamTrack self) (maybeToNullable callback)) foreign import javascript unsafe "$1[\"getConstraints\"]()" js_getConstraints :: MediaStreamTrack -> IO (Nullable MediaTrackConstraints) -- | getConstraints :: (MonadIO m, IsMediaStreamTrack self) => self -> m (Maybe MediaTrackConstraints) getConstraints self = liftIO (nullableToMaybe <$> (js_getConstraints (toMediaStreamTrack self))) -- | getConstraints_ :: (MonadIO m, IsMediaStreamTrack self) => self -> m () getConstraints_ self = liftIO (void (js_getConstraints (toMediaStreamTrack self))) -- | getConstraintsUnsafe :: (MonadIO m, IsMediaStreamTrack self, HasCallStack) => self -> m MediaTrackConstraints getConstraintsUnsafe self = liftIO ((nullableToMaybe <$> (js_getConstraints (toMediaStreamTrack self))) >>= maybe (Prelude.error "Nothing to return") return) -- | getConstraintsUnchecked :: (MonadIO m, IsMediaStreamTrack self) => self -> m MediaTrackConstraints getConstraintsUnchecked self = liftIO (fromJust . nullableToMaybe <$> (js_getConstraints (toMediaStreamTrack self))) foreign import javascript unsafe "$1[\"states\"]()" js_states :: MediaStreamTrack -> IO (Nullable MediaSourceStates) -- | states :: (MonadIO m, IsMediaStreamTrack self) => self -> m (Maybe MediaSourceStates) states self = liftIO (nullableToMaybe <$> (js_states (toMediaStreamTrack self))) -- | states_ :: (MonadIO m, IsMediaStreamTrack self) => self -> m () states_ self = liftIO (void (js_states (toMediaStreamTrack self))) -- | statesUnsafe :: (MonadIO m, IsMediaStreamTrack self, HasCallStack) => self -> m MediaSourceStates statesUnsafe self = liftIO ((nullableToMaybe <$> (js_states (toMediaStreamTrack self))) >>= maybe (Prelude.error "Nothing to return") return) -- | statesUnchecked :: (MonadIO m, IsMediaStreamTrack self) => self -> m MediaSourceStates statesUnchecked self = liftIO (fromJust . nullableToMaybe <$> (js_states (toMediaStreamTrack self))) foreign import javascript unsafe "$1[\"getCapabilities\"]()" js_getCapabilities :: MediaStreamTrack -> IO (Nullable MediaStreamCapabilities) -- | getCapabilities :: (MonadIO m, IsMediaStreamTrack self) => self -> m (Maybe MediaStreamCapabilities) getCapabilities self = liftIO (nullableToMaybe <$> (js_getCapabilities (toMediaStreamTrack self))) -- | getCapabilities_ :: (MonadIO m, IsMediaStreamTrack self) => self -> m () getCapabilities_ self = liftIO (void (js_getCapabilities (toMediaStreamTrack self))) -- | getCapabilitiesUnsafe :: (MonadIO m, IsMediaStreamTrack self, HasCallStack) => self -> m MediaStreamCapabilities getCapabilitiesUnsafe self = liftIO ((nullableToMaybe <$> (js_getCapabilities (toMediaStreamTrack self))) >>= maybe (Prelude.error "Nothing to return") return) -- | getCapabilitiesUnchecked :: (MonadIO m, IsMediaStreamTrack self) => self -> m MediaStreamCapabilities getCapabilitiesUnchecked self = liftIO (fromJust . nullableToMaybe <$> (js_getCapabilities (toMediaStreamTrack self))) foreign import javascript unsafe "$1[\"applyConstraints\"]($2)" js_applyConstraints :: MediaStreamTrack -> Nullable Dictionary -> IO () -- | applyConstraints :: (MonadIO m, IsMediaStreamTrack self, IsDictionary constraints) => self -> Maybe constraints -> m () applyConstraints self constraints = liftIO (js_applyConstraints (toMediaStreamTrack self) (maybeToNullable (fmap toDictionary constraints))) foreign import javascript unsafe "$1[\"clone\"]()" js_clone :: MediaStreamTrack -> IO (Nullable MediaStreamTrack) -- | clone :: (MonadIO m, IsMediaStreamTrack self) => self -> m (Maybe MediaStreamTrack) clone self = liftIO (nullableToMaybe <$> (js_clone (toMediaStreamTrack self))) -- | clone_ :: (MonadIO m, IsMediaStreamTrack self) => self -> m () clone_ self = liftIO (void (js_clone (toMediaStreamTrack self))) -- | cloneUnsafe :: (MonadIO m, IsMediaStreamTrack self, HasCallStack) => self -> m MediaStreamTrack cloneUnsafe self = liftIO ((nullableToMaybe <$> (js_clone (toMediaStreamTrack self))) >>= maybe (Prelude.error "Nothing to return") return) -- | cloneUnchecked :: (MonadIO m, IsMediaStreamTrack self) => self -> m MediaStreamTrack cloneUnchecked self = liftIO (fromJust . nullableToMaybe <$> (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[\"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[\"_readonly\"] ? 1 : 0)" js_get_readonly :: MediaStreamTrack -> IO Bool -- | get_readonly :: (MonadIO m, IsMediaStreamTrack self) => self -> m Bool get_readonly self = liftIO (js_get_readonly (toMediaStreamTrack self)) foreign import javascript unsafe "($1[\"remote\"] ? 1 : 0)" js_getRemote :: MediaStreamTrack -> IO Bool -- | getRemote :: (MonadIO m, IsMediaStreamTrack self) => self -> m Bool getRemote self = liftIO (js_getRemote (toMediaStreamTrack self)) 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) -- | started :: (IsMediaStreamTrack self, IsEventTarget self) => EventName self Event started = unsafeEventName (toJSString "started") -- | ended :: (IsMediaStreamTrack self, IsEventTarget self) => EventName self Event ended = unsafeEventName (toJSString "ended") -- | overConstrained :: (IsMediaStreamTrack self, IsEventTarget self) => EventName self Event overConstrained = unsafeEventName (toJSString "overconstrained")