{-# LANGUAGE PatternSynonyms, ForeignFunctionInterface, JavaScriptFFI #-} module GHCJS.DOM.JSFFI.Generated.RTCDTMFSender (js_insertDTMF, insertDTMF, js_getCanInsertDTMF, getCanInsertDTMF, js_getTrack, getTrack, js_getToneBuffer, getToneBuffer, js_getDuration, getDuration, js_getInterToneGap, getInterToneGap, toneChange, RTCDTMFSender, castToRTCDTMFSender, gTypeRTCDTMFSender) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import Data.Typeable (Typeable) import GHCJS.Types (JSRef(..), JSString, castRef) import GHCJS.Foreign (jsNull) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSRef(..), FromJSRef(..)) import GHCJS.Marshal.Pure (PToJSRef(..), PFromJSRef(..)) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.Enums foreign import javascript unsafe "$1[\"insertDTMF\"]($2, $3, $4)" js_insertDTMF :: JSRef RTCDTMFSender -> JSString -> Int -> Int -> IO () -- | insertDTMF :: (MonadIO m, ToJSString tones) => RTCDTMFSender -> tones -> Int -> Int -> m () insertDTMF self tones duration interToneGap = liftIO (js_insertDTMF (unRTCDTMFSender self) (toJSString tones) duration interToneGap) foreign import javascript unsafe "($1[\"canInsertDTMF\"] ? 1 : 0)" js_getCanInsertDTMF :: JSRef RTCDTMFSender -> IO Bool -- | getCanInsertDTMF :: (MonadIO m) => RTCDTMFSender -> m Bool getCanInsertDTMF self = liftIO (js_getCanInsertDTMF (unRTCDTMFSender self)) foreign import javascript unsafe "$1[\"track\"]" js_getTrack :: JSRef RTCDTMFSender -> IO (JSRef MediaStreamTrack) -- | getTrack :: (MonadIO m) => RTCDTMFSender -> m (Maybe MediaStreamTrack) getTrack self = liftIO ((js_getTrack (unRTCDTMFSender self)) >>= fromJSRef) foreign import javascript unsafe "$1[\"toneBuffer\"]" js_getToneBuffer :: JSRef RTCDTMFSender -> IO JSString -- | getToneBuffer :: (MonadIO m, FromJSString result) => RTCDTMFSender -> m result getToneBuffer self = liftIO (fromJSString <$> (js_getToneBuffer (unRTCDTMFSender self))) foreign import javascript unsafe "$1[\"duration\"]" js_getDuration :: JSRef RTCDTMFSender -> IO Int -- | getDuration :: (MonadIO m) => RTCDTMFSender -> m Int getDuration self = liftIO (js_getDuration (unRTCDTMFSender self)) foreign import javascript unsafe "$1[\"interToneGap\"]" js_getInterToneGap :: JSRef RTCDTMFSender -> IO Int -- | getInterToneGap :: (MonadIO m) => RTCDTMFSender -> m Int getInterToneGap self = liftIO (js_getInterToneGap (unRTCDTMFSender self)) -- | toneChange :: EventName RTCDTMFSender Event toneChange = unsafeEventName (toJSString "tonechange")