{-# 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
= liftDOM
(MediaRemoteControls <$> new (jsg "MediaRemoteControls") ())
setPreviousTrackEnabled ::
(MonadDOM m) => MediaRemoteControls -> Bool -> m ()
setPreviousTrackEnabled self val
= liftDOM (self ^. jss "previousTrackEnabled" (toJSVal val))
getPreviousTrackEnabled ::
(MonadDOM m) => MediaRemoteControls -> m Bool
getPreviousTrackEnabled self
= liftDOM ((self ^. js "previousTrackEnabled") >>= valToBool)
setNextTrackEnabled ::
(MonadDOM m) => MediaRemoteControls -> Bool -> m ()
setNextTrackEnabled self val
= liftDOM (self ^. jss "nextTrackEnabled" (toJSVal val))
getNextTrackEnabled ::
(MonadDOM m) => MediaRemoteControls -> m Bool
getNextTrackEnabled self
= liftDOM ((self ^. js "nextTrackEnabled") >>= valToBool)
previoustrack :: EventName MediaRemoteControls onprevioustrack
previoustrack = unsafeEventName (toJSString "previoustrack")
nexttrack :: EventName MediaRemoteControls onnexttrack
nexttrack = unsafeEventName (toJSString "nexttrack")