{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GLib.Structs.TimeZone
(
TimeZone(..) ,
#if defined(ENABLE_OVERLOADING)
ResolveTimeZoneMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
TimeZoneAdjustTimeMethodInfo ,
#endif
timeZoneAdjustTime ,
#if defined(ENABLE_OVERLOADING)
TimeZoneFindIntervalMethodInfo ,
#endif
timeZoneFindInterval ,
#if defined(ENABLE_OVERLOADING)
TimeZoneGetAbbreviationMethodInfo ,
#endif
timeZoneGetAbbreviation ,
#if defined(ENABLE_OVERLOADING)
TimeZoneGetIdentifierMethodInfo ,
#endif
timeZoneGetIdentifier ,
#if defined(ENABLE_OVERLOADING)
TimeZoneGetOffsetMethodInfo ,
#endif
timeZoneGetOffset ,
#if defined(ENABLE_OVERLOADING)
TimeZoneIsDstMethodInfo ,
#endif
timeZoneIsDst ,
timeZoneNew ,
timeZoneNewIdentifier ,
timeZoneNewLocal ,
timeZoneNewOffset ,
timeZoneNewUtc ,
#if defined(ENABLE_OVERLOADING)
TimeZoneRefMethodInfo ,
#endif
timeZoneRef ,
#if defined(ENABLE_OVERLOADING)
TimeZoneUnrefMethodInfo ,
#endif
timeZoneUnref ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import {-# SOURCE #-} qualified GI.GLib.Enums as GLib.Enums
newtype TimeZone = TimeZone (SP.ManagedPtr TimeZone)
deriving (TimeZone -> TimeZone -> Bool
(TimeZone -> TimeZone -> Bool)
-> (TimeZone -> TimeZone -> Bool) -> Eq TimeZone
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TimeZone -> TimeZone -> Bool
$c/= :: TimeZone -> TimeZone -> Bool
== :: TimeZone -> TimeZone -> Bool
$c== :: TimeZone -> TimeZone -> Bool
Eq)
instance SP.ManagedPtrNewtype TimeZone where
toManagedPtr :: TimeZone -> ManagedPtr TimeZone
toManagedPtr (TimeZone p :: ManagedPtr TimeZone
p) = ManagedPtr TimeZone
p
foreign import ccall "g_time_zone_get_type" c_g_time_zone_get_type ::
IO GType
type instance O.ParentTypes TimeZone = '[]
instance O.HasParentTypes TimeZone
instance B.Types.TypedObject TimeZone where
glibType :: IO GType
glibType = IO GType
c_g_time_zone_get_type
instance B.Types.GBoxed TimeZone
instance B.GValue.IsGValue TimeZone where
toGValue :: TimeZone -> IO GValue
toGValue o :: TimeZone
o = do
GType
gtype <- IO GType
c_g_time_zone_get_type
TimeZone -> (Ptr TimeZone -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TimeZone
o (GType
-> (GValue -> Ptr TimeZone -> IO ()) -> Ptr TimeZone -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr TimeZone -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
fromGValue :: GValue -> IO TimeZone
fromGValue gv :: GValue
gv = do
Ptr TimeZone
ptr <- GValue -> IO (Ptr TimeZone)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr TimeZone)
(ManagedPtr TimeZone -> TimeZone) -> Ptr TimeZone -> IO TimeZone
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr TimeZone -> TimeZone
TimeZone Ptr TimeZone
ptr
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TimeZone
type instance O.AttributeList TimeZone = TimeZoneAttributeList
type TimeZoneAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "g_time_zone_new" g_time_zone_new ::
CString ->
IO (Ptr TimeZone)
timeZoneNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (T.Text)
-> m TimeZone
timeZoneNew :: Maybe Text -> m TimeZone
timeZoneNew identifier :: Maybe Text
identifier = IO TimeZone -> m TimeZone
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TimeZone -> m TimeZone) -> IO TimeZone -> m TimeZone
forall a b. (a -> b) -> a -> b
$ do
Ptr CChar
maybeIdentifier <- case Maybe Text
identifier of
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
nullPtr
Just jIdentifier :: Text
jIdentifier -> do
Ptr CChar
jIdentifier' <- Text -> IO (Ptr CChar)
textToCString Text
jIdentifier
Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
jIdentifier'
Ptr TimeZone
result <- Ptr CChar -> IO (Ptr TimeZone)
g_time_zone_new Ptr CChar
maybeIdentifier
Text -> Ptr TimeZone -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "timeZoneNew" Ptr TimeZone
result
TimeZone
result' <- ((ManagedPtr TimeZone -> TimeZone) -> Ptr TimeZone -> IO TimeZone
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TimeZone -> TimeZone
TimeZone) Ptr TimeZone
result
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
maybeIdentifier
TimeZone -> IO TimeZone
forall (m :: * -> *) a. Monad m => a -> m a
return TimeZone
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_time_zone_new_identifier" g_time_zone_new_identifier ::
CString ->
IO (Ptr TimeZone)
timeZoneNewIdentifier ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m TimeZone
timeZoneNewIdentifier :: Text -> m TimeZone
timeZoneNewIdentifier identifier :: Text
identifier = IO TimeZone -> m TimeZone
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TimeZone -> m TimeZone) -> IO TimeZone -> m TimeZone
forall a b. (a -> b) -> a -> b
$ do
Ptr CChar
identifier' <- Text -> IO (Ptr CChar)
textToCString Text
identifier
Ptr TimeZone
result <- Ptr CChar -> IO (Ptr TimeZone)
g_time_zone_new_identifier Ptr CChar
identifier'
Text -> Ptr TimeZone -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "timeZoneNewIdentifier" Ptr TimeZone
result
TimeZone
result' <- ((ManagedPtr TimeZone -> TimeZone) -> Ptr TimeZone -> IO TimeZone
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TimeZone -> TimeZone
TimeZone) Ptr TimeZone
result
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
identifier'
TimeZone -> IO TimeZone
forall (m :: * -> *) a. Monad m => a -> m a
return TimeZone
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_time_zone_new_local" g_time_zone_new_local ::
IO (Ptr TimeZone)
timeZoneNewLocal ::
(B.CallStack.HasCallStack, MonadIO m) =>
m TimeZone
timeZoneNewLocal :: m TimeZone
timeZoneNewLocal = IO TimeZone -> m TimeZone
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TimeZone -> m TimeZone) -> IO TimeZone -> m TimeZone
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
result <- IO (Ptr TimeZone)
g_time_zone_new_local
Text -> Ptr TimeZone -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "timeZoneNewLocal" Ptr TimeZone
result
TimeZone
result' <- ((ManagedPtr TimeZone -> TimeZone) -> Ptr TimeZone -> IO TimeZone
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TimeZone -> TimeZone
TimeZone) Ptr TimeZone
result
TimeZone -> IO TimeZone
forall (m :: * -> *) a. Monad m => a -> m a
return TimeZone
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_time_zone_new_offset" g_time_zone_new_offset ::
Int32 ->
IO (Ptr TimeZone)
timeZoneNewOffset ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> m TimeZone
timeZoneNewOffset :: Int32 -> m TimeZone
timeZoneNewOffset seconds :: Int32
seconds = IO TimeZone -> m TimeZone
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TimeZone -> m TimeZone) -> IO TimeZone -> m TimeZone
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
result <- Int32 -> IO (Ptr TimeZone)
g_time_zone_new_offset Int32
seconds
Text -> Ptr TimeZone -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "timeZoneNewOffset" Ptr TimeZone
result
TimeZone
result' <- ((ManagedPtr TimeZone -> TimeZone) -> Ptr TimeZone -> IO TimeZone
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TimeZone -> TimeZone
TimeZone) Ptr TimeZone
result
TimeZone -> IO TimeZone
forall (m :: * -> *) a. Monad m => a -> m a
return TimeZone
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_time_zone_new_utc" g_time_zone_new_utc ::
IO (Ptr TimeZone)
timeZoneNewUtc ::
(B.CallStack.HasCallStack, MonadIO m) =>
m TimeZone
timeZoneNewUtc :: m TimeZone
timeZoneNewUtc = IO TimeZone -> m TimeZone
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TimeZone -> m TimeZone) -> IO TimeZone -> m TimeZone
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
result <- IO (Ptr TimeZone)
g_time_zone_new_utc
Text -> Ptr TimeZone -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "timeZoneNewUtc" Ptr TimeZone
result
TimeZone
result' <- ((ManagedPtr TimeZone -> TimeZone) -> Ptr TimeZone -> IO TimeZone
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TimeZone -> TimeZone
TimeZone) Ptr TimeZone
result
TimeZone -> IO TimeZone
forall (m :: * -> *) a. Monad m => a -> m a
return TimeZone
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_time_zone_adjust_time" g_time_zone_adjust_time ::
Ptr TimeZone ->
CUInt ->
Int64 ->
IO Int32
timeZoneAdjustTime ::
(B.CallStack.HasCallStack, MonadIO m) =>
TimeZone
-> GLib.Enums.TimeType
-> Int64
-> m Int32
timeZoneAdjustTime :: TimeZone -> TimeType -> Int64 -> m Int32
timeZoneAdjustTime tz :: TimeZone
tz type_ :: TimeType
type_ time_ :: Int64
time_ = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
tz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
tz
let type_' :: CUInt
type_' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (TimeType -> Int) -> TimeType -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TimeType -> Int
forall a. Enum a => a -> Int
fromEnum) TimeType
type_
Int32
result <- Ptr TimeZone -> CUInt -> Int64 -> IO Int32
g_time_zone_adjust_time Ptr TimeZone
tz' CUInt
type_' Int64
time_
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data TimeZoneAdjustTimeMethodInfo
instance (signature ~ (GLib.Enums.TimeType -> Int64 -> m Int32), MonadIO m) => O.MethodInfo TimeZoneAdjustTimeMethodInfo TimeZone signature where
overloadedMethod = timeZoneAdjustTime
#endif
foreign import ccall "g_time_zone_find_interval" g_time_zone_find_interval ::
Ptr TimeZone ->
CUInt ->
Int64 ->
IO Int32
timeZoneFindInterval ::
(B.CallStack.HasCallStack, MonadIO m) =>
TimeZone
-> GLib.Enums.TimeType
-> Int64
-> m Int32
timeZoneFindInterval :: TimeZone -> TimeType -> Int64 -> m Int32
timeZoneFindInterval tz :: TimeZone
tz type_ :: TimeType
type_ time_ :: Int64
time_ = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
tz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
tz
let type_' :: CUInt
type_' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (TimeType -> Int) -> TimeType -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TimeType -> Int
forall a. Enum a => a -> Int
fromEnum) TimeType
type_
Int32
result <- Ptr TimeZone -> CUInt -> Int64 -> IO Int32
g_time_zone_find_interval Ptr TimeZone
tz' CUInt
type_' Int64
time_
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data TimeZoneFindIntervalMethodInfo
instance (signature ~ (GLib.Enums.TimeType -> Int64 -> m Int32), MonadIO m) => O.MethodInfo TimeZoneFindIntervalMethodInfo TimeZone signature where
overloadedMethod = timeZoneFindInterval
#endif
foreign import ccall "g_time_zone_get_abbreviation" g_time_zone_get_abbreviation ::
Ptr TimeZone ->
Int32 ->
IO CString
timeZoneGetAbbreviation ::
(B.CallStack.HasCallStack, MonadIO m) =>
TimeZone
-> Int32
-> m T.Text
timeZoneGetAbbreviation :: TimeZone -> Int32 -> m Text
timeZoneGetAbbreviation tz :: TimeZone
tz interval :: Int32
interval = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
tz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
tz
Ptr CChar
result <- Ptr TimeZone -> Int32 -> IO (Ptr CChar)
g_time_zone_get_abbreviation Ptr TimeZone
tz' Int32
interval
Text -> Ptr CChar -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "timeZoneGetAbbreviation" Ptr CChar
result
Text
result' <- HasCallStack => Ptr CChar -> IO Text
Ptr CChar -> IO Text
cstringToText Ptr CChar
result
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data TimeZoneGetAbbreviationMethodInfo
instance (signature ~ (Int32 -> m T.Text), MonadIO m) => O.MethodInfo TimeZoneGetAbbreviationMethodInfo TimeZone signature where
overloadedMethod = timeZoneGetAbbreviation
#endif
foreign import ccall "g_time_zone_get_identifier" g_time_zone_get_identifier ::
Ptr TimeZone ->
IO CString
timeZoneGetIdentifier ::
(B.CallStack.HasCallStack, MonadIO m) =>
TimeZone
-> m T.Text
timeZoneGetIdentifier :: TimeZone -> m Text
timeZoneGetIdentifier tz :: TimeZone
tz = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
tz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
tz
Ptr CChar
result <- Ptr TimeZone -> IO (Ptr CChar)
g_time_zone_get_identifier Ptr TimeZone
tz'
Text -> Ptr CChar -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "timeZoneGetIdentifier" Ptr CChar
result
Text
result' <- HasCallStack => Ptr CChar -> IO Text
Ptr CChar -> IO Text
cstringToText Ptr CChar
result
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data TimeZoneGetIdentifierMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo TimeZoneGetIdentifierMethodInfo TimeZone signature where
overloadedMethod = timeZoneGetIdentifier
#endif
foreign import ccall "g_time_zone_get_offset" g_time_zone_get_offset ::
Ptr TimeZone ->
Int32 ->
IO Int32
timeZoneGetOffset ::
(B.CallStack.HasCallStack, MonadIO m) =>
TimeZone
-> Int32
-> m Int32
timeZoneGetOffset :: TimeZone -> Int32 -> m Int32
timeZoneGetOffset tz :: TimeZone
tz interval :: Int32
interval = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
tz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
tz
Int32
result <- Ptr TimeZone -> Int32 -> IO Int32
g_time_zone_get_offset Ptr TimeZone
tz' Int32
interval
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data TimeZoneGetOffsetMethodInfo
instance (signature ~ (Int32 -> m Int32), MonadIO m) => O.MethodInfo TimeZoneGetOffsetMethodInfo TimeZone signature where
overloadedMethod = timeZoneGetOffset
#endif
foreign import ccall "g_time_zone_is_dst" g_time_zone_is_dst ::
Ptr TimeZone ->
Int32 ->
IO CInt
timeZoneIsDst ::
(B.CallStack.HasCallStack, MonadIO m) =>
TimeZone
-> Int32
-> m Bool
timeZoneIsDst :: TimeZone -> Int32 -> m Bool
timeZoneIsDst tz :: TimeZone
tz interval :: Int32
interval = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
tz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
tz
CInt
result <- Ptr TimeZone -> Int32 -> IO CInt
g_time_zone_is_dst Ptr TimeZone
tz' Int32
interval
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data TimeZoneIsDstMethodInfo
instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TimeZoneIsDstMethodInfo TimeZone signature where
overloadedMethod = timeZoneIsDst
#endif
foreign import ccall "g_time_zone_ref" g_time_zone_ref ::
Ptr TimeZone ->
IO (Ptr TimeZone)
timeZoneRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
TimeZone
-> m TimeZone
timeZoneRef :: TimeZone -> m TimeZone
timeZoneRef tz :: TimeZone
tz = IO TimeZone -> m TimeZone
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TimeZone -> m TimeZone) -> IO TimeZone -> m TimeZone
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
tz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
tz
Ptr TimeZone
result <- Ptr TimeZone -> IO (Ptr TimeZone)
g_time_zone_ref Ptr TimeZone
tz'
Text -> Ptr TimeZone -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "timeZoneRef" Ptr TimeZone
result
TimeZone
result' <- ((ManagedPtr TimeZone -> TimeZone) -> Ptr TimeZone -> IO TimeZone
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TimeZone -> TimeZone
TimeZone) Ptr TimeZone
result
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
TimeZone -> IO TimeZone
forall (m :: * -> *) a. Monad m => a -> m a
return TimeZone
result'
#if defined(ENABLE_OVERLOADING)
data TimeZoneRefMethodInfo
instance (signature ~ (m TimeZone), MonadIO m) => O.MethodInfo TimeZoneRefMethodInfo TimeZone signature where
overloadedMethod = timeZoneRef
#endif
foreign import ccall "g_time_zone_unref" g_time_zone_unref ::
Ptr TimeZone ->
IO ()
timeZoneUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
TimeZone
-> m ()
timeZoneUnref :: TimeZone -> m ()
timeZoneUnref tz :: TimeZone
tz = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeZone
tz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
tz
Ptr TimeZone -> IO ()
g_time_zone_unref Ptr TimeZone
tz'
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TimeZoneUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TimeZoneUnrefMethodInfo TimeZone signature where
overloadedMethod = timeZoneUnref
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveTimeZoneMethod (t :: Symbol) (o :: *) :: * where
ResolveTimeZoneMethod "adjustTime" o = TimeZoneAdjustTimeMethodInfo
ResolveTimeZoneMethod "findInterval" o = TimeZoneFindIntervalMethodInfo
ResolveTimeZoneMethod "isDst" o = TimeZoneIsDstMethodInfo
ResolveTimeZoneMethod "ref" o = TimeZoneRefMethodInfo
ResolveTimeZoneMethod "unref" o = TimeZoneUnrefMethodInfo
ResolveTimeZoneMethod "getAbbreviation" o = TimeZoneGetAbbreviationMethodInfo
ResolveTimeZoneMethod "getIdentifier" o = TimeZoneGetIdentifierMethodInfo
ResolveTimeZoneMethod "getOffset" o = TimeZoneGetOffsetMethodInfo
ResolveTimeZoneMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTimeZoneMethod t TimeZone, O.MethodInfo info TimeZone p) => OL.IsLabel t (TimeZone -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif