{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.MediaRemoteControls
(newMediaRemoteControls, setPreviousTrackEnabled,
getPreviousTrackEnabled, setNextTrackEnabled, getNextTrackEnabled,
previoustrack, nexttrack, MediaRemoteControls(..),
gTypeMediaRemoteControls)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
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, unsafeEventNameAsync)
import JSDOM.Enums
newMediaRemoteControls :: (MonadDOM m) => m MediaRemoteControls
newMediaRemoteControls :: forall (m :: * -> *). MonadDOM m => m MediaRemoteControls
newMediaRemoteControls
= DOM MediaRemoteControls -> m MediaRemoteControls
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSVal -> MediaRemoteControls
MediaRemoteControls (JSVal -> MediaRemoteControls)
-> JSM JSVal -> DOM MediaRemoteControls
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> JSM JSVal -> () -> JSM JSVal
forall constructor args.
(MakeObject constructor, MakeArgs args) =>
constructor -> args -> JSM JSVal
new (String -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg String
"MediaRemoteControls") ())
setPreviousTrackEnabled ::
(MonadDOM m) => MediaRemoteControls -> Bool -> m ()
setPreviousTrackEnabled :: forall (m :: * -> *).
MonadDOM m =>
MediaRemoteControls -> Bool -> m ()
setPreviousTrackEnabled MediaRemoteControls
self Bool
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (MediaRemoteControls
self MediaRemoteControls
-> Getting (DOM ()) MediaRemoteControls (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"previousTrackEnabled" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))
getPreviousTrackEnabled ::
(MonadDOM m) => MediaRemoteControls -> m Bool
getPreviousTrackEnabled :: forall (m :: * -> *). MonadDOM m => MediaRemoteControls -> m Bool
getPreviousTrackEnabled MediaRemoteControls
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaRemoteControls
self MediaRemoteControls
-> Getting (JSM JSVal) MediaRemoteControls (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaRemoteControls (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"previousTrackEnabled") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
setNextTrackEnabled ::
(MonadDOM m) => MediaRemoteControls -> Bool -> m ()
setNextTrackEnabled :: forall (m :: * -> *).
MonadDOM m =>
MediaRemoteControls -> Bool -> m ()
setNextTrackEnabled MediaRemoteControls
self Bool
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (MediaRemoteControls
self MediaRemoteControls
-> Getting (DOM ()) MediaRemoteControls (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"nextTrackEnabled" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))
getNextTrackEnabled ::
(MonadDOM m) => MediaRemoteControls -> m Bool
getNextTrackEnabled :: forall (m :: * -> *). MonadDOM m => MediaRemoteControls -> m Bool
getNextTrackEnabled MediaRemoteControls
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaRemoteControls
self MediaRemoteControls
-> Getting (JSM JSVal) MediaRemoteControls (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaRemoteControls (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"nextTrackEnabled") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
previoustrack :: EventName MediaRemoteControls onprevioustrack
previoustrack :: forall onprevioustrack.
EventName MediaRemoteControls onprevioustrack
previoustrack = DOMString -> EventName MediaRemoteControls onprevioustrack
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"previoustrack")
nexttrack :: EventName MediaRemoteControls onnexttrack
nexttrack :: forall onprevioustrack.
EventName MediaRemoteControls onprevioustrack
nexttrack = DOMString -> EventName MediaRemoteControls onnexttrack
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"nexttrack")