gi-glib-0.2.44.12: GI/GLib/Structs/Timer.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
Opaque datatype that records a start time.
-}
module GI.GLib.Structs.Timer
(
-- * Exported types
Timer(..) ,
noTimer ,
-- * Methods
-- ** timerContinue
timerContinue ,
-- ** timerDestroy
timerDestroy ,
-- ** timerElapsed
timerElapsed ,
-- ** timerReset
timerReset ,
-- ** timerStart
timerStart ,
-- ** timerStop
timerStop ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.GLib.Types
import GI.GLib.Callbacks
newtype Timer = Timer (ForeignPtr Timer)
noTimer :: Maybe Timer
noTimer = Nothing
-- method Timer::continue
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_timer_continue" g_timer_continue ::
Ptr Timer -> -- _obj : TInterface "GLib" "Timer"
IO ()
timerContinue ::
(MonadIO m) =>
Timer -> -- _obj
m ()
timerContinue _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_timer_continue _obj'
touchManagedPtr _obj
return ()
-- method Timer::destroy
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_timer_destroy" g_timer_destroy ::
Ptr Timer -> -- _obj : TInterface "GLib" "Timer"
IO ()
timerDestroy ::
(MonadIO m) =>
Timer -> -- _obj
m ()
timerDestroy _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_timer_destroy _obj'
touchManagedPtr _obj
return ()
-- method Timer::elapsed
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "microseconds", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "microseconds", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False
foreign import ccall "g_timer_elapsed" g_timer_elapsed ::
Ptr Timer -> -- _obj : TInterface "GLib" "Timer"
Word64 -> -- microseconds : TBasicType TUInt64
IO CDouble
timerElapsed ::
(MonadIO m) =>
Timer -> -- _obj
Word64 -> -- microseconds
m Double
timerElapsed _obj microseconds = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_timer_elapsed _obj' microseconds
let result' = realToFrac result
touchManagedPtr _obj
return result'
-- method Timer::reset
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_timer_reset" g_timer_reset ::
Ptr Timer -> -- _obj : TInterface "GLib" "Timer"
IO ()
timerReset ::
(MonadIO m) =>
Timer -> -- _obj
m ()
timerReset _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_timer_reset _obj'
touchManagedPtr _obj
return ()
-- method Timer::start
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_timer_start" g_timer_start ::
Ptr Timer -> -- _obj : TInterface "GLib" "Timer"
IO ()
timerStart ::
(MonadIO m) =>
Timer -> -- _obj
m ()
timerStart _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_timer_start _obj'
touchManagedPtr _obj
return ()
-- method Timer::stop
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "Timer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_timer_stop" g_timer_stop ::
Ptr Timer -> -- _obj : TInterface "GLib" "Timer"
IO ()
timerStop ::
(MonadIO m) =>
Timer -> -- _obj
m ()
timerStop _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_timer_stop _obj'
touchManagedPtr _obj
return ()