{-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} module GHCJS.DOM.JSFFI.SpeechGrammar (newSpeechGrammarList, addFromURI, addFromString, getLength, getSrc, setSrc, getWeight, setWeight, item, item_, SpeechGrammar(..), gTypeSpeechGrammar, SpeechGrammarList(..), gTypeSpeechGrammarList) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import GHCJS.Types (JSVal(..), JSString) import GHCJS.Foreign (jsNull, jsUndefined) 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 Data.Traversable (mapM) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.JSFFI.Generated.Enums foreign import javascript unsafe "new window[\"webkitSpeechGrammarList\"]()" js_newSpeechGrammarList :: IO SpeechGrammarList -- | newSpeechGrammarList :: (MonadIO m) => m SpeechGrammarList newSpeechGrammarList = liftIO (js_newSpeechGrammarList) foreign import javascript unsafe "$1[\"addFromURI\"]($2,\n$3)" js_speechGrammarListAddFromURI :: SpeechGrammarList -> JSString -> Optional Double -> IO () -- | addFromURI :: (MonadIO m, ToJSString grammarURI) => SpeechGrammarList -> grammarURI -> Maybe Double -> m () addFromURI self grammarURI weight = liftIO (js_speechGrammarListAddFromURI self (toJSString grammarURI) (maybeToOptional weight)) foreign import javascript unsafe "$1[\"addFromString\"]($2,\n$3)" js_speechGrammarListAddFromString :: SpeechGrammarList -> JSString -> Optional Double -> IO () -- | addFromString :: (MonadIO m, ToJSString grammarStr) => SpeechGrammarList -> grammarStr -> Maybe Double -> m () addFromString self grammarStr weight = liftIO (js_speechGrammarListAddFromString self (toJSString grammarStr) (maybeToOptional weight)) foreign import javascript unsafe "$1[\"length\"]" js_getLength :: SpeechGrammarList -> IO Word -- | getLength :: (MonadIO m) => SpeechGrammarList -> m Word getLength self = liftIO (js_getLength self) foreign import javascript unsafe "$1[$2]" js_item :: SpeechGrammarList -> Word -> IO SpeechGrammar -- | item :: (MonadIO m) => SpeechGrammarList -> Word -> m SpeechGrammar item self index = liftIO (js_item self index) -- | item_ :: (MonadIO m) => SpeechGrammarList -> Word -> m () item_ self index = liftIO (void (js_item self index)) foreign import javascript unsafe "$1[\"src\"] = $2;" js_setSrc :: SpeechGrammar -> JSString -> IO () -- | setSrc :: (MonadIO m, ToJSString val) => SpeechGrammar -> val -> m () setSrc self val = liftIO (js_setSrc self (toJSString val)) foreign import javascript unsafe "$1[\"src\"]" js_getSrc :: SpeechGrammar -> IO JSString -- | getSrc :: (MonadIO m, FromJSString result) => SpeechGrammar -> m result getSrc self = liftIO (fromJSString <$> (js_getSrc self)) foreign import javascript unsafe "$1[\"weight\"] = $2;" js_setWeight :: SpeechGrammar -> Double -> IO () -- | setWeight :: (MonadIO m) => SpeechGrammar -> Double -> m () setWeight self val = liftIO (js_setWeight self val) foreign import javascript unsafe "$1[\"weight\"]" js_getWeight :: SpeechGrammar -> IO Double -- | getWeight :: (MonadIO m) => SpeechGrammar -> m Double getWeight self = liftIO (js_getWeight self)