{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} module GHCJS.DOM.JSFFI.Generated.Geolocation (js_getCurrentPosition, getCurrentPosition, js_watchPosition, watchPosition, watchPosition_, js_clearWatch, clearWatch, Geolocation(..), gTypeGeolocation) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import qualified Prelude (error) import Data.Typeable (Typeable) import GHCJS.Types (JSVal(..), JSString) import GHCJS.Foreign (jsNull, jsUndefined) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) 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, unsafeEventNameAsync) import GHCJS.DOM.JSFFI.Generated.Enums foreign import javascript unsafe "$1[\"getCurrentPosition\"]($2, $3,\n$4)" js_getCurrentPosition :: Geolocation -> PositionCallback -> Optional PositionErrorCallback -> Optional PositionOptions -> IO () -- | getCurrentPosition :: (MonadIO m) => Geolocation -> PositionCallback -> Maybe PositionErrorCallback -> Maybe PositionOptions -> m () getCurrentPosition self successCallback errorCallback options = liftIO (js_getCurrentPosition self successCallback (maybeToOptional errorCallback) (maybeToOptional options)) foreign import javascript unsafe "$1[\"watchPosition\"]($2, $3, $4)" js_watchPosition :: Geolocation -> PositionCallback -> Optional PositionErrorCallback -> Optional PositionOptions -> IO Int -- | watchPosition :: (MonadIO m) => Geolocation -> PositionCallback -> Maybe PositionErrorCallback -> Maybe PositionOptions -> m Int watchPosition self successCallback errorCallback options = liftIO (js_watchPosition self successCallback (maybeToOptional errorCallback) (maybeToOptional options)) -- | watchPosition_ :: (MonadIO m) => Geolocation -> PositionCallback -> Maybe PositionErrorCallback -> Maybe PositionOptions -> m () watchPosition_ self successCallback errorCallback options = liftIO (void (js_watchPosition self successCallback (maybeToOptional errorCallback) (maybeToOptional options))) foreign import javascript unsafe "$1[\"clearWatch\"]($2)" js_clearWatch :: Geolocation -> Int -> IO () -- | clearWatch :: (MonadIO m) => Geolocation -> Int -> m () clearWatch self watchId = liftIO (js_clearWatch self watchId)