{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.RTCDTMFSender (insertDTMF, getCanInsertDTMF, getTrack, getToneBuffer, getDuration, getInterToneGap, toneChange, RTCDTMFSender, castToRTCDTMFSender, gTypeRTCDTMFSender) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import Data.Typeable (Typeable) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) import Data.Int (Int64) import Data.Word (Word, Word64) import Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.Enums -- | insertDTMF :: (MonadDOM m, ToJSString tones) => RTCDTMFSender -> tones -> Int -> Int -> m () insertDTMF self tones duration interToneGap = liftDOM (void (self ^. jsf "insertDTMF" [toJSVal tones, toJSVal duration, toJSVal interToneGap])) -- | getCanInsertDTMF :: (MonadDOM m) => RTCDTMFSender -> m Bool getCanInsertDTMF self = liftDOM ((self ^. js "canInsertDTMF") >>= valToBool) -- | getTrack :: (MonadDOM m) => RTCDTMFSender -> m (Maybe MediaStreamTrack) getTrack self = liftDOM ((self ^. js "track") >>= fromJSVal) -- | getToneBuffer :: (MonadDOM m, FromJSString result) => RTCDTMFSender -> m result getToneBuffer self = liftDOM ((self ^. js "toneBuffer") >>= fromJSValUnchecked) -- | getDuration :: (MonadDOM m) => RTCDTMFSender -> m Int getDuration self = liftDOM (round <$> ((self ^. js "duration") >>= valToNumber)) -- | getInterToneGap :: (MonadDOM m) => RTCDTMFSender -> m Int getInterToneGap self = liftDOM (round <$> ((self ^. js "interToneGap") >>= valToNumber)) -- | toneChange :: EventName RTCDTMFSender Event toneChange = unsafeEventName (toJSString "tonechange")