{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GLib.Structs.DateTime
(
DateTime(..) ,
#if defined(ENABLE_OVERLOADING)
ResolveDateTimeMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
DateTimeAddMethodInfo ,
#endif
dateTimeAdd ,
#if defined(ENABLE_OVERLOADING)
DateTimeAddDaysMethodInfo ,
#endif
dateTimeAddDays ,
#if defined(ENABLE_OVERLOADING)
DateTimeAddFullMethodInfo ,
#endif
dateTimeAddFull ,
#if defined(ENABLE_OVERLOADING)
DateTimeAddHoursMethodInfo ,
#endif
dateTimeAddHours ,
#if defined(ENABLE_OVERLOADING)
DateTimeAddMinutesMethodInfo ,
#endif
dateTimeAddMinutes ,
#if defined(ENABLE_OVERLOADING)
DateTimeAddMonthsMethodInfo ,
#endif
dateTimeAddMonths ,
#if defined(ENABLE_OVERLOADING)
DateTimeAddSecondsMethodInfo ,
#endif
dateTimeAddSeconds ,
#if defined(ENABLE_OVERLOADING)
DateTimeAddWeeksMethodInfo ,
#endif
dateTimeAddWeeks ,
#if defined(ENABLE_OVERLOADING)
DateTimeAddYearsMethodInfo ,
#endif
dateTimeAddYears ,
dateTimeCompare ,
#if defined(ENABLE_OVERLOADING)
DateTimeDifferenceMethodInfo ,
#endif
dateTimeDifference ,
dateTimeEqual ,
#if defined(ENABLE_OVERLOADING)
DateTimeFormatMethodInfo ,
#endif
dateTimeFormat ,
#if defined(ENABLE_OVERLOADING)
DateTimeFormatIso8601MethodInfo ,
#endif
dateTimeFormatIso8601 ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetDayOfMonthMethodInfo ,
#endif
dateTimeGetDayOfMonth ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetDayOfWeekMethodInfo ,
#endif
dateTimeGetDayOfWeek ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetDayOfYearMethodInfo ,
#endif
dateTimeGetDayOfYear ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetHourMethodInfo ,
#endif
dateTimeGetHour ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetMicrosecondMethodInfo ,
#endif
dateTimeGetMicrosecond ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetMinuteMethodInfo ,
#endif
dateTimeGetMinute ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetMonthMethodInfo ,
#endif
dateTimeGetMonth ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetSecondMethodInfo ,
#endif
dateTimeGetSecond ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetSecondsMethodInfo ,
#endif
dateTimeGetSeconds ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetTimezoneMethodInfo ,
#endif
dateTimeGetTimezone ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetTimezoneAbbreviationMethodInfo,
#endif
dateTimeGetTimezoneAbbreviation ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetUtcOffsetMethodInfo ,
#endif
dateTimeGetUtcOffset ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetWeekNumberingYearMethodInfo ,
#endif
dateTimeGetWeekNumberingYear ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetWeekOfYearMethodInfo ,
#endif
dateTimeGetWeekOfYear ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetYearMethodInfo ,
#endif
dateTimeGetYear ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetYmdMethodInfo ,
#endif
dateTimeGetYmd ,
dateTimeHash ,
#if defined(ENABLE_OVERLOADING)
DateTimeIsDaylightSavingsMethodInfo ,
#endif
dateTimeIsDaylightSavings ,
dateTimeNew ,
dateTimeNewFromIso8601 ,
dateTimeNewFromTimevalLocal ,
dateTimeNewFromTimevalUtc ,
dateTimeNewFromUnixLocal ,
dateTimeNewFromUnixUtc ,
dateTimeNewLocal ,
dateTimeNewNow ,
dateTimeNewNowLocal ,
dateTimeNewNowUtc ,
dateTimeNewUtc ,
#if defined(ENABLE_OVERLOADING)
DateTimeRefMethodInfo ,
#endif
dateTimeRef ,
#if defined(ENABLE_OVERLOADING)
DateTimeToLocalMethodInfo ,
#endif
dateTimeToLocal ,
#if defined(ENABLE_OVERLOADING)
DateTimeToTimevalMethodInfo ,
#endif
dateTimeToTimeval ,
#if defined(ENABLE_OVERLOADING)
DateTimeToTimezoneMethodInfo ,
#endif
dateTimeToTimezone ,
#if defined(ENABLE_OVERLOADING)
DateTimeToUnixMethodInfo ,
#endif
dateTimeToUnix ,
#if defined(ENABLE_OVERLOADING)
DateTimeToUtcMethodInfo ,
#endif
dateTimeToUtc ,
#if defined(ENABLE_OVERLOADING)
DateTimeUnrefMethodInfo ,
#endif
dateTimeUnref ,
) 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.Structs.TimeVal as GLib.TimeVal
import {-# SOURCE #-} qualified GI.GLib.Structs.TimeZone as GLib.TimeZone
newtype DateTime = DateTime (SP.ManagedPtr DateTime)
deriving (DateTime -> DateTime -> Bool
(DateTime -> DateTime -> Bool)
-> (DateTime -> DateTime -> Bool) -> Eq DateTime
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DateTime -> DateTime -> Bool
$c/= :: DateTime -> DateTime -> Bool
== :: DateTime -> DateTime -> Bool
$c== :: DateTime -> DateTime -> Bool
Eq)
instance SP.ManagedPtrNewtype DateTime where
toManagedPtr :: DateTime -> ManagedPtr DateTime
toManagedPtr (DateTime p :: ManagedPtr DateTime
p) = ManagedPtr DateTime
p
foreign import ccall "g_date_time_get_type" c_g_date_time_get_type ::
IO GType
type instance O.ParentTypes DateTime = '[]
instance O.HasParentTypes DateTime
instance B.Types.TypedObject DateTime where
glibType :: IO GType
glibType = IO GType
c_g_date_time_get_type
instance B.Types.GBoxed DateTime
instance B.GValue.IsGValue DateTime where
toGValue :: DateTime -> IO GValue
toGValue o :: DateTime
o = do
GType
gtype <- IO GType
c_g_date_time_get_type
DateTime -> (Ptr DateTime -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DateTime
o (GType
-> (GValue -> Ptr DateTime -> IO ()) -> Ptr DateTime -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr DateTime -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
fromGValue :: GValue -> IO DateTime
fromGValue gv :: GValue
gv = do
Ptr DateTime
ptr <- GValue -> IO (Ptr DateTime)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr DateTime)
(ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr DateTime -> DateTime
DateTime Ptr DateTime
ptr
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DateTime
type instance O.AttributeList DateTime = DateTimeAttributeList
type DateTimeAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "g_date_time_new" g_date_time_new ::
Ptr GLib.TimeZone.TimeZone ->
Int32 ->
Int32 ->
Int32 ->
Int32 ->
Int32 ->
CDouble ->
IO (Ptr DateTime)
dateTimeNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
GLib.TimeZone.TimeZone
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m (Maybe DateTime)
dateTimeNew :: TimeZone
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m (Maybe DateTime)
dateTimeNew tz :: TimeZone
tz year :: Int32
year month :: Int32
month day :: Int32
day hour :: Int32
hour minute :: Int32
minute seconds :: Double
seconds = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
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 seconds' :: CDouble
seconds' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
seconds
Ptr DateTime
result <- Ptr TimeZone
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> CDouble
-> IO (Ptr DateTime)
g_date_time_new Ptr TimeZone
tz' Int32
year Int32
month Int32
day Int32
hour Int32
minute CDouble
seconds'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_from_iso8601" g_date_time_new_from_iso8601 ::
CString ->
Ptr GLib.TimeZone.TimeZone ->
IO (Ptr DateTime)
dateTimeNewFromIso8601 ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Maybe (GLib.TimeZone.TimeZone)
-> m (Maybe DateTime)
dateTimeNewFromIso8601 :: Text -> Maybe TimeZone -> m (Maybe DateTime)
dateTimeNewFromIso8601 text :: Text
text defaultTz :: Maybe TimeZone
defaultTz = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
CString
text' <- Text -> IO CString
textToCString Text
text
Ptr TimeZone
maybeDefaultTz <- case Maybe TimeZone
defaultTz of
Nothing -> Ptr TimeZone -> IO (Ptr TimeZone)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr TimeZone
forall a. Ptr a
nullPtr
Just jDefaultTz :: TimeZone
jDefaultTz -> do
Ptr TimeZone
jDefaultTz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
jDefaultTz
Ptr TimeZone -> IO (Ptr TimeZone)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr TimeZone
jDefaultTz'
Ptr DateTime
result <- CString -> Ptr TimeZone -> IO (Ptr DateTime)
g_date_time_new_from_iso8601 CString
text' Ptr TimeZone
maybeDefaultTz
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe TimeZone -> (TimeZone -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe TimeZone
defaultTz TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
text'
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_from_timeval_local" g_date_time_new_from_timeval_local ::
Ptr GLib.TimeVal.TimeVal ->
IO (Ptr DateTime)
{-# DEPRECATED dateTimeNewFromTimevalLocal ["(Since version 2.62)","t'GI.GLib.Structs.TimeVal.TimeVal' is not year-2038-safe. Use"," 'GI.GLib.Structs.DateTime.dateTimeNewFromUnixLocal' instead."] #-}
dateTimeNewFromTimevalLocal ::
(B.CallStack.HasCallStack, MonadIO m) =>
GLib.TimeVal.TimeVal
-> m (Maybe DateTime)
dateTimeNewFromTimevalLocal :: TimeVal -> m (Maybe DateTime)
dateTimeNewFromTimevalLocal tv :: TimeVal
tv = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeVal
tv' <- TimeVal -> IO (Ptr TimeVal)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeVal
tv
Ptr DateTime
result <- Ptr TimeVal -> IO (Ptr DateTime)
g_date_time_new_from_timeval_local Ptr TimeVal
tv'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
TimeVal -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeVal
tv
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_from_timeval_utc" g_date_time_new_from_timeval_utc ::
Ptr GLib.TimeVal.TimeVal ->
IO (Ptr DateTime)
{-# DEPRECATED dateTimeNewFromTimevalUtc ["(Since version 2.62)","t'GI.GLib.Structs.TimeVal.TimeVal' is not year-2038-safe. Use"," 'GI.GLib.Structs.DateTime.dateTimeNewFromUnixUtc' instead."] #-}
dateTimeNewFromTimevalUtc ::
(B.CallStack.HasCallStack, MonadIO m) =>
GLib.TimeVal.TimeVal
-> m (Maybe DateTime)
dateTimeNewFromTimevalUtc :: TimeVal -> m (Maybe DateTime)
dateTimeNewFromTimevalUtc tv :: TimeVal
tv = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr TimeVal
tv' <- TimeVal -> IO (Ptr TimeVal)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeVal
tv
Ptr DateTime
result <- Ptr TimeVal -> IO (Ptr DateTime)
g_date_time_new_from_timeval_utc Ptr TimeVal
tv'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
TimeVal -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeVal
tv
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_from_unix_local" g_date_time_new_from_unix_local ::
Int64 ->
IO (Ptr DateTime)
dateTimeNewFromUnixLocal ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int64
-> m (Maybe DateTime)
dateTimeNewFromUnixLocal :: Int64 -> m (Maybe DateTime)
dateTimeNewFromUnixLocal t :: Int64
t = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
result <- Int64 -> IO (Ptr DateTime)
g_date_time_new_from_unix_local Int64
t
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_from_unix_utc" g_date_time_new_from_unix_utc ::
Int64 ->
IO (Ptr DateTime)
dateTimeNewFromUnixUtc ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int64
-> m (Maybe DateTime)
dateTimeNewFromUnixUtc :: Int64 -> m (Maybe DateTime)
dateTimeNewFromUnixUtc t :: Int64
t = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
result <- Int64 -> IO (Ptr DateTime)
g_date_time_new_from_unix_utc Int64
t
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_local" g_date_time_new_local ::
Int32 ->
Int32 ->
Int32 ->
Int32 ->
Int32 ->
CDouble ->
IO (Ptr DateTime)
dateTimeNewLocal ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m (Maybe DateTime)
dateTimeNewLocal :: Int32
-> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m (Maybe DateTime)
dateTimeNewLocal year :: Int32
year month :: Int32
month day :: Int32
day hour :: Int32
hour minute :: Int32
minute seconds :: Double
seconds = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
let seconds' :: CDouble
seconds' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
seconds
Ptr DateTime
result <- Int32
-> Int32 -> Int32 -> Int32 -> Int32 -> CDouble -> IO (Ptr DateTime)
g_date_time_new_local Int32
year Int32
month Int32
day Int32
hour Int32
minute CDouble
seconds'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_now" g_date_time_new_now ::
Ptr GLib.TimeZone.TimeZone ->
IO (Ptr DateTime)
dateTimeNewNow ::
(B.CallStack.HasCallStack, MonadIO m) =>
GLib.TimeZone.TimeZone
-> m (Maybe DateTime)
dateTimeNewNow :: TimeZone -> m (Maybe DateTime)
dateTimeNewNow tz :: TimeZone
tz = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
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 DateTime
result <- Ptr TimeZone -> IO (Ptr DateTime)
g_date_time_new_now Ptr TimeZone
tz'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_now_local" g_date_time_new_now_local ::
IO (Ptr DateTime)
dateTimeNewNowLocal ::
(B.CallStack.HasCallStack, MonadIO m) =>
m (Maybe DateTime)
dateTimeNewNowLocal :: m (Maybe DateTime)
dateTimeNewNowLocal = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
result <- IO (Ptr DateTime)
g_date_time_new_now_local
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_now_utc" g_date_time_new_now_utc ::
IO (Ptr DateTime)
dateTimeNewNowUtc ::
(B.CallStack.HasCallStack, MonadIO m) =>
m (Maybe DateTime)
dateTimeNewNowUtc :: m (Maybe DateTime)
dateTimeNewNowUtc = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
result <- IO (Ptr DateTime)
g_date_time_new_now_utc
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_new_utc" g_date_time_new_utc ::
Int32 ->
Int32 ->
Int32 ->
Int32 ->
Int32 ->
CDouble ->
IO (Ptr DateTime)
dateTimeNewUtc ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m (Maybe DateTime)
dateTimeNewUtc :: Int32
-> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m (Maybe DateTime)
dateTimeNewUtc year :: Int32
year month :: Int32
month day :: Int32
day hour :: Int32
hour minute :: Int32
minute seconds :: Double
seconds = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
let seconds' :: CDouble
seconds' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
seconds
Ptr DateTime
result <- Int32
-> Int32 -> Int32 -> Int32 -> Int32 -> CDouble -> IO (Ptr DateTime)
g_date_time_new_utc Int32
year Int32
month Int32
day Int32
hour Int32
minute CDouble
seconds'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_add" g_date_time_add ::
Ptr DateTime ->
Int64 ->
IO (Ptr DateTime)
dateTimeAdd ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> Int64
-> m (Maybe DateTime)
dateTimeAdd :: DateTime -> Int64 -> m (Maybe DateTime)
dateTimeAdd datetime :: DateTime
datetime timespan :: Int64
timespan = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> Int64 -> IO (Ptr DateTime)
g_date_time_add Ptr DateTime
datetime' Int64
timespan
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeAddMethodInfo
instance (signature ~ (Int64 -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeAddMethodInfo DateTime signature where
overloadedMethod = dateTimeAdd
#endif
foreign import ccall "g_date_time_add_days" g_date_time_add_days ::
Ptr DateTime ->
Int32 ->
IO (Ptr DateTime)
dateTimeAddDays ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> Int32
-> m (Maybe DateTime)
dateTimeAddDays :: DateTime -> Int32 -> m (Maybe DateTime)
dateTimeAddDays datetime :: DateTime
datetime days :: Int32
days = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> Int32 -> IO (Ptr DateTime)
g_date_time_add_days Ptr DateTime
datetime' Int32
days
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeAddDaysMethodInfo
instance (signature ~ (Int32 -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeAddDaysMethodInfo DateTime signature where
overloadedMethod = dateTimeAddDays
#endif
foreign import ccall "g_date_time_add_full" g_date_time_add_full ::
Ptr DateTime ->
Int32 ->
Int32 ->
Int32 ->
Int32 ->
Int32 ->
CDouble ->
IO (Ptr DateTime)
dateTimeAddFull ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m (Maybe DateTime)
dateTimeAddFull :: DateTime
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m (Maybe DateTime)
dateTimeAddFull datetime :: DateTime
datetime years :: Int32
years months :: Int32
months days :: Int32
days hours :: Int32
hours minutes :: Int32
minutes seconds :: Double
seconds = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
let seconds' :: CDouble
seconds' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
seconds
Ptr DateTime
result <- Ptr DateTime
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> CDouble
-> IO (Ptr DateTime)
g_date_time_add_full Ptr DateTime
datetime' Int32
years Int32
months Int32
days Int32
hours Int32
minutes CDouble
seconds'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeAddFullMethodInfo
instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeAddFullMethodInfo DateTime signature where
overloadedMethod = dateTimeAddFull
#endif
foreign import ccall "g_date_time_add_hours" g_date_time_add_hours ::
Ptr DateTime ->
Int32 ->
IO (Ptr DateTime)
dateTimeAddHours ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> Int32
-> m (Maybe DateTime)
dateTimeAddHours :: DateTime -> Int32 -> m (Maybe DateTime)
dateTimeAddHours datetime :: DateTime
datetime hours :: Int32
hours = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> Int32 -> IO (Ptr DateTime)
g_date_time_add_hours Ptr DateTime
datetime' Int32
hours
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeAddHoursMethodInfo
instance (signature ~ (Int32 -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeAddHoursMethodInfo DateTime signature where
overloadedMethod = dateTimeAddHours
#endif
foreign import ccall "g_date_time_add_minutes" g_date_time_add_minutes ::
Ptr DateTime ->
Int32 ->
IO (Ptr DateTime)
dateTimeAddMinutes ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> Int32
-> m (Maybe DateTime)
dateTimeAddMinutes :: DateTime -> Int32 -> m (Maybe DateTime)
dateTimeAddMinutes datetime :: DateTime
datetime minutes :: Int32
minutes = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> Int32 -> IO (Ptr DateTime)
g_date_time_add_minutes Ptr DateTime
datetime' Int32
minutes
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeAddMinutesMethodInfo
instance (signature ~ (Int32 -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeAddMinutesMethodInfo DateTime signature where
overloadedMethod = dateTimeAddMinutes
#endif
foreign import ccall "g_date_time_add_months" g_date_time_add_months ::
Ptr DateTime ->
Int32 ->
IO (Ptr DateTime)
dateTimeAddMonths ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> Int32
-> m (Maybe DateTime)
dateTimeAddMonths :: DateTime -> Int32 -> m (Maybe DateTime)
dateTimeAddMonths datetime :: DateTime
datetime months :: Int32
months = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> Int32 -> IO (Ptr DateTime)
g_date_time_add_months Ptr DateTime
datetime' Int32
months
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeAddMonthsMethodInfo
instance (signature ~ (Int32 -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeAddMonthsMethodInfo DateTime signature where
overloadedMethod = dateTimeAddMonths
#endif
foreign import ccall "g_date_time_add_seconds" g_date_time_add_seconds ::
Ptr DateTime ->
CDouble ->
IO (Ptr DateTime)
dateTimeAddSeconds ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> Double
-> m (Maybe DateTime)
dateTimeAddSeconds :: DateTime -> Double -> m (Maybe DateTime)
dateTimeAddSeconds datetime :: DateTime
datetime seconds :: Double
seconds = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
let seconds' :: CDouble
seconds' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
seconds
Ptr DateTime
result <- Ptr DateTime -> CDouble -> IO (Ptr DateTime)
g_date_time_add_seconds Ptr DateTime
datetime' CDouble
seconds'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeAddSecondsMethodInfo
instance (signature ~ (Double -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeAddSecondsMethodInfo DateTime signature where
overloadedMethod = dateTimeAddSeconds
#endif
foreign import ccall "g_date_time_add_weeks" g_date_time_add_weeks ::
Ptr DateTime ->
Int32 ->
IO (Ptr DateTime)
dateTimeAddWeeks ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> Int32
-> m (Maybe DateTime)
dateTimeAddWeeks :: DateTime -> Int32 -> m (Maybe DateTime)
dateTimeAddWeeks datetime :: DateTime
datetime weeks :: Int32
weeks = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> Int32 -> IO (Ptr DateTime)
g_date_time_add_weeks Ptr DateTime
datetime' Int32
weeks
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeAddWeeksMethodInfo
instance (signature ~ (Int32 -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeAddWeeksMethodInfo DateTime signature where
overloadedMethod = dateTimeAddWeeks
#endif
foreign import ccall "g_date_time_add_years" g_date_time_add_years ::
Ptr DateTime ->
Int32 ->
IO (Ptr DateTime)
dateTimeAddYears ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> Int32
-> m (Maybe DateTime)
dateTimeAddYears :: DateTime -> Int32 -> m (Maybe DateTime)
dateTimeAddYears datetime :: DateTime
datetime years :: Int32
years = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> Int32 -> IO (Ptr DateTime)
g_date_time_add_years Ptr DateTime
datetime' Int32
years
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeAddYearsMethodInfo
instance (signature ~ (Int32 -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeAddYearsMethodInfo DateTime signature where
overloadedMethod = dateTimeAddYears
#endif
foreign import ccall "g_date_time_difference" g_date_time_difference ::
Ptr DateTime ->
Ptr DateTime ->
IO Int64
dateTimeDifference ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> DateTime
-> m Int64
dateTimeDifference :: DateTime -> DateTime -> m Int64
dateTimeDifference end :: DateTime
end begin :: DateTime
begin = IO Int64 -> m Int64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int64 -> m Int64) -> IO Int64 -> m Int64
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
end' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
end
Ptr DateTime
begin' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
begin
Int64
result <- Ptr DateTime -> Ptr DateTime -> IO Int64
g_date_time_difference Ptr DateTime
end' Ptr DateTime
begin'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
end
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
begin
Int64 -> IO Int64
forall (m :: * -> *) a. Monad m => a -> m a
return Int64
result
#if defined(ENABLE_OVERLOADING)
data DateTimeDifferenceMethodInfo
instance (signature ~ (DateTime -> m Int64), MonadIO m) => O.MethodInfo DateTimeDifferenceMethodInfo DateTime signature where
overloadedMethod = dateTimeDifference
#endif
foreign import ccall "g_date_time_format" g_date_time_format ::
Ptr DateTime ->
CString ->
IO CString
dateTimeFormat ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> T.Text
-> m (Maybe T.Text)
dateTimeFormat :: DateTime -> Text -> m (Maybe Text)
dateTimeFormat datetime :: DateTime
datetime format :: Text
format = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
CString
format' <- Text -> IO CString
textToCString Text
format
CString
result <- Ptr DateTime -> CString -> IO CString
g_date_time_format Ptr DateTime
datetime' CString
format'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \result' :: CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
format'
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeFormatMethodInfo
instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo DateTimeFormatMethodInfo DateTime signature where
overloadedMethod = dateTimeFormat
#endif
foreign import ccall "g_date_time_format_iso8601" g_date_time_format_iso8601 ::
Ptr DateTime ->
IO CString
dateTimeFormatIso8601 ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m (Maybe T.Text)
dateTimeFormatIso8601 :: DateTime -> m (Maybe Text)
dateTimeFormatIso8601 datetime :: DateTime
datetime = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
CString
result <- Ptr DateTime -> IO CString
g_date_time_format_iso8601 Ptr DateTime
datetime'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \result' :: CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeFormatIso8601MethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo DateTimeFormatIso8601MethodInfo DateTime signature where
overloadedMethod = dateTimeFormatIso8601
#endif
foreign import ccall "g_date_time_get_day_of_month" g_date_time_get_day_of_month ::
Ptr DateTime ->
IO Int32
dateTimeGetDayOfMonth ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetDayOfMonth :: DateTime -> m Int32
dateTimeGetDayOfMonth datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_day_of_month Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetDayOfMonthMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetDayOfMonthMethodInfo DateTime signature where
overloadedMethod = dateTimeGetDayOfMonth
#endif
foreign import ccall "g_date_time_get_day_of_week" g_date_time_get_day_of_week ::
Ptr DateTime ->
IO Int32
dateTimeGetDayOfWeek ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetDayOfWeek :: DateTime -> m Int32
dateTimeGetDayOfWeek datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_day_of_week Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetDayOfWeekMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetDayOfWeekMethodInfo DateTime signature where
overloadedMethod = dateTimeGetDayOfWeek
#endif
foreign import ccall "g_date_time_get_day_of_year" g_date_time_get_day_of_year ::
Ptr DateTime ->
IO Int32
dateTimeGetDayOfYear ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetDayOfYear :: DateTime -> m Int32
dateTimeGetDayOfYear datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_day_of_year Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetDayOfYearMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetDayOfYearMethodInfo DateTime signature where
overloadedMethod = dateTimeGetDayOfYear
#endif
foreign import ccall "g_date_time_get_hour" g_date_time_get_hour ::
Ptr DateTime ->
IO Int32
dateTimeGetHour ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetHour :: DateTime -> m Int32
dateTimeGetHour datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_hour Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetHourMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetHourMethodInfo DateTime signature where
overloadedMethod = dateTimeGetHour
#endif
foreign import ccall "g_date_time_get_microsecond" g_date_time_get_microsecond ::
Ptr DateTime ->
IO Int32
dateTimeGetMicrosecond ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetMicrosecond :: DateTime -> m Int32
dateTimeGetMicrosecond datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_microsecond Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetMicrosecondMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetMicrosecondMethodInfo DateTime signature where
overloadedMethod = dateTimeGetMicrosecond
#endif
foreign import ccall "g_date_time_get_minute" g_date_time_get_minute ::
Ptr DateTime ->
IO Int32
dateTimeGetMinute ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetMinute :: DateTime -> m Int32
dateTimeGetMinute datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_minute Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetMinuteMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetMinuteMethodInfo DateTime signature where
overloadedMethod = dateTimeGetMinute
#endif
foreign import ccall "g_date_time_get_month" g_date_time_get_month ::
Ptr DateTime ->
IO Int32
dateTimeGetMonth ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetMonth :: DateTime -> m Int32
dateTimeGetMonth datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_month Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetMonthMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetMonthMethodInfo DateTime signature where
overloadedMethod = dateTimeGetMonth
#endif
foreign import ccall "g_date_time_get_second" g_date_time_get_second ::
Ptr DateTime ->
IO Int32
dateTimeGetSecond ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetSecond :: DateTime -> m Int32
dateTimeGetSecond datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_second Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetSecondMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetSecondMethodInfo DateTime signature where
overloadedMethod = dateTimeGetSecond
#endif
foreign import ccall "g_date_time_get_seconds" g_date_time_get_seconds ::
Ptr DateTime ->
IO CDouble
dateTimeGetSeconds ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Double
dateTimeGetSeconds :: DateTime -> m Double
dateTimeGetSeconds datetime :: DateTime
datetime = IO Double -> m Double
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Double -> m Double) -> IO Double -> m Double
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
CDouble
result <- Ptr DateTime -> IO CDouble
g_date_time_get_seconds Ptr DateTime
datetime'
let result' :: Double
result' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Double -> IO Double
forall (m :: * -> *) a. Monad m => a -> m a
return Double
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeGetSecondsMethodInfo
instance (signature ~ (m Double), MonadIO m) => O.MethodInfo DateTimeGetSecondsMethodInfo DateTime signature where
overloadedMethod = dateTimeGetSeconds
#endif
foreign import ccall "g_date_time_get_timezone" g_date_time_get_timezone ::
Ptr DateTime ->
IO (Ptr GLib.TimeZone.TimeZone)
dateTimeGetTimezone ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m GLib.TimeZone.TimeZone
dateTimeGetTimezone :: DateTime -> m TimeZone
dateTimeGetTimezone datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr TimeZone
result <- Ptr DateTime -> IO (Ptr TimeZone)
g_date_time_get_timezone Ptr DateTime
datetime'
Text -> Ptr TimeZone -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "dateTimeGetTimezone" Ptr TimeZone
result
TimeZone
result' <- ((ManagedPtr TimeZone -> TimeZone) -> Ptr TimeZone -> IO TimeZone
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr TimeZone -> TimeZone
GLib.TimeZone.TimeZone) Ptr TimeZone
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
TimeZone -> IO TimeZone
forall (m :: * -> *) a. Monad m => a -> m a
return TimeZone
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeGetTimezoneMethodInfo
instance (signature ~ (m GLib.TimeZone.TimeZone), MonadIO m) => O.MethodInfo DateTimeGetTimezoneMethodInfo DateTime signature where
overloadedMethod = dateTimeGetTimezone
#endif
foreign import ccall "g_date_time_get_timezone_abbreviation" g_date_time_get_timezone_abbreviation ::
Ptr DateTime ->
IO CString
dateTimeGetTimezoneAbbreviation ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m T.Text
dateTimeGetTimezoneAbbreviation :: DateTime -> m Text
dateTimeGetTimezoneAbbreviation datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
CString
result <- Ptr DateTime -> IO CString
g_date_time_get_timezone_abbreviation Ptr DateTime
datetime'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "dateTimeGetTimezoneAbbreviation" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeGetTimezoneAbbreviationMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo DateTimeGetTimezoneAbbreviationMethodInfo DateTime signature where
overloadedMethod = dateTimeGetTimezoneAbbreviation
#endif
foreign import ccall "g_date_time_get_utc_offset" g_date_time_get_utc_offset ::
Ptr DateTime ->
IO Int64
dateTimeGetUtcOffset ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int64
dateTimeGetUtcOffset :: DateTime -> m Int64
dateTimeGetUtcOffset datetime :: DateTime
datetime = IO Int64 -> m Int64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int64 -> m Int64) -> IO Int64 -> m Int64
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int64
result <- Ptr DateTime -> IO Int64
g_date_time_get_utc_offset Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int64 -> IO Int64
forall (m :: * -> *) a. Monad m => a -> m a
return Int64
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetUtcOffsetMethodInfo
instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo DateTimeGetUtcOffsetMethodInfo DateTime signature where
overloadedMethod = dateTimeGetUtcOffset
#endif
foreign import ccall "g_date_time_get_week_numbering_year" g_date_time_get_week_numbering_year ::
Ptr DateTime ->
IO Int32
dateTimeGetWeekNumberingYear ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetWeekNumberingYear :: DateTime -> m Int32
dateTimeGetWeekNumberingYear datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_week_numbering_year Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetWeekNumberingYearMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetWeekNumberingYearMethodInfo DateTime signature where
overloadedMethod = dateTimeGetWeekNumberingYear
#endif
foreign import ccall "g_date_time_get_week_of_year" g_date_time_get_week_of_year ::
Ptr DateTime ->
IO Int32
dateTimeGetWeekOfYear ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetWeekOfYear :: DateTime -> m Int32
dateTimeGetWeekOfYear datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_week_of_year Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetWeekOfYearMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetWeekOfYearMethodInfo DateTime signature where
overloadedMethod = dateTimeGetWeekOfYear
#endif
foreign import ccall "g_date_time_get_year" g_date_time_get_year ::
Ptr DateTime ->
IO Int32
dateTimeGetYear ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetYear :: DateTime -> m Int32
dateTimeGetYear datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int32
result <- Ptr DateTime -> IO Int32
g_date_time_get_year Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetYearMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetYearMethodInfo DateTime signature where
overloadedMethod = dateTimeGetYear
#endif
foreign import ccall "g_date_time_get_ymd" g_date_time_get_ymd ::
Ptr DateTime ->
Ptr Int32 ->
Ptr Int32 ->
Ptr Int32 ->
IO ()
dateTimeGetYmd ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m ((Int32, Int32, Int32))
dateTimeGetYmd :: DateTime -> m (Int32, Int32, Int32)
dateTimeGetYmd datetime :: DateTime
datetime = IO (Int32, Int32, Int32) -> m (Int32, Int32, Int32)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Int32, Int32, Int32) -> m (Int32, Int32, Int32))
-> IO (Int32, Int32, Int32) -> m (Int32, Int32, Int32)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr Int32
year <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
Ptr Int32
month <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
Ptr Int32
day <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
Ptr DateTime -> Ptr Int32 -> Ptr Int32 -> Ptr Int32 -> IO ()
g_date_time_get_ymd Ptr DateTime
datetime' Ptr Int32
year Ptr Int32
month Ptr Int32
day
Int32
year' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
year
Int32
month' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
month
Int32
day' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
day
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
year
Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
month
Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
day
(Int32, Int32, Int32) -> IO (Int32, Int32, Int32)
forall (m :: * -> *) a. Monad m => a -> m a
return (Int32
year', Int32
month', Int32
day')
#if defined(ENABLE_OVERLOADING)
data DateTimeGetYmdMethodInfo
instance (signature ~ (m ((Int32, Int32, Int32))), MonadIO m) => O.MethodInfo DateTimeGetYmdMethodInfo DateTime signature where
overloadedMethod = dateTimeGetYmd
#endif
foreign import ccall "g_date_time_is_daylight_savings" g_date_time_is_daylight_savings ::
Ptr DateTime ->
IO CInt
dateTimeIsDaylightSavings ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Bool
dateTimeIsDaylightSavings :: DateTime -> m Bool
dateTimeIsDaylightSavings datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
CInt
result <- Ptr DateTime -> IO CInt
g_date_time_is_daylight_savings Ptr DateTime
datetime'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeIsDaylightSavingsMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeIsDaylightSavingsMethodInfo DateTime signature where
overloadedMethod = dateTimeIsDaylightSavings
#endif
foreign import ccall "g_date_time_ref" g_date_time_ref ::
Ptr DateTime ->
IO (Ptr DateTime)
dateTimeRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m DateTime
dateTimeRef :: DateTime -> m DateTime
dateTimeRef datetime :: DateTime
datetime = IO DateTime -> m DateTime
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DateTime -> m DateTime) -> IO DateTime -> m DateTime
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> IO (Ptr DateTime)
g_date_time_ref Ptr DateTime
datetime'
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "dateTimeRef" Ptr DateTime
result
DateTime
result' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeRefMethodInfo
instance (signature ~ (m DateTime), MonadIO m) => O.MethodInfo DateTimeRefMethodInfo DateTime signature where
overloadedMethod = dateTimeRef
#endif
foreign import ccall "g_date_time_to_local" g_date_time_to_local ::
Ptr DateTime ->
IO (Ptr DateTime)
dateTimeToLocal ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m (Maybe DateTime)
dateTimeToLocal :: DateTime -> m (Maybe DateTime)
dateTimeToLocal datetime :: DateTime
datetime = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> IO (Ptr DateTime)
g_date_time_to_local Ptr DateTime
datetime'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeToLocalMethodInfo
instance (signature ~ (m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeToLocalMethodInfo DateTime signature where
overloadedMethod = dateTimeToLocal
#endif
foreign import ccall "g_date_time_to_timeval" g_date_time_to_timeval ::
Ptr DateTime ->
Ptr GLib.TimeVal.TimeVal ->
IO CInt
{-# DEPRECATED dateTimeToTimeval ["(Since version 2.62)","t'GI.GLib.Structs.TimeVal.TimeVal' is not year-2038-safe. Use"," 'GI.GLib.Structs.DateTime.dateTimeToUnix' instead."] #-}
dateTimeToTimeval ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> GLib.TimeVal.TimeVal
-> m Bool
dateTimeToTimeval :: DateTime -> TimeVal -> m Bool
dateTimeToTimeval datetime :: DateTime
datetime tv :: TimeVal
tv = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr TimeVal
tv' <- TimeVal -> IO (Ptr TimeVal)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeVal
tv
CInt
result <- Ptr DateTime -> Ptr TimeVal -> IO CInt
g_date_time_to_timeval Ptr DateTime
datetime' Ptr TimeVal
tv'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
TimeVal -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeVal
tv
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeToTimevalMethodInfo
instance (signature ~ (GLib.TimeVal.TimeVal -> m Bool), MonadIO m) => O.MethodInfo DateTimeToTimevalMethodInfo DateTime signature where
overloadedMethod = dateTimeToTimeval
#endif
foreign import ccall "g_date_time_to_timezone" g_date_time_to_timezone ::
Ptr DateTime ->
Ptr GLib.TimeZone.TimeZone ->
IO (Ptr DateTime)
dateTimeToTimezone ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> GLib.TimeZone.TimeZone
-> m (Maybe DateTime)
dateTimeToTimezone :: DateTime -> TimeZone -> m (Maybe DateTime)
dateTimeToTimezone datetime :: DateTime
datetime tz :: TimeZone
tz = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr TimeZone
tz' <- TimeZone -> IO (Ptr TimeZone)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TimeZone
tz
Ptr DateTime
result <- Ptr DateTime -> Ptr TimeZone -> IO (Ptr DateTime)
g_date_time_to_timezone Ptr DateTime
datetime' Ptr TimeZone
tz'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
TimeZone -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TimeZone
tz
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeToTimezoneMethodInfo
instance (signature ~ (GLib.TimeZone.TimeZone -> m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeToTimezoneMethodInfo DateTime signature where
overloadedMethod = dateTimeToTimezone
#endif
foreign import ccall "g_date_time_to_unix" g_date_time_to_unix ::
Ptr DateTime ->
IO Int64
dateTimeToUnix ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int64
dateTimeToUnix :: DateTime -> m Int64
dateTimeToUnix datetime :: DateTime
datetime = IO Int64 -> m Int64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int64 -> m Int64) -> IO Int64 -> m Int64
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Int64
result <- Ptr DateTime -> IO Int64
g_date_time_to_unix Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int64 -> IO Int64
forall (m :: * -> *) a. Monad m => a -> m a
return Int64
result
#if defined(ENABLE_OVERLOADING)
data DateTimeToUnixMethodInfo
instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo DateTimeToUnixMethodInfo DateTime signature where
overloadedMethod = dateTimeToUnix
#endif
foreign import ccall "g_date_time_to_utc" g_date_time_to_utc ::
Ptr DateTime ->
IO (Ptr DateTime)
dateTimeToUtc ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m (Maybe DateTime)
dateTimeToUtc :: DateTime -> m (Maybe DateTime)
dateTimeToUtc datetime :: DateTime
datetime = IO (Maybe DateTime) -> m (Maybe DateTime)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DateTime) -> m (Maybe DateTime))
-> IO (Maybe DateTime) -> m (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ do
Ptr DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime
result <- Ptr DateTime -> IO (Ptr DateTime)
g_date_time_to_utc Ptr DateTime
datetime'
Maybe DateTime
maybeResult <- Ptr DateTime
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DateTime
result ((Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime))
-> (Ptr DateTime -> IO DateTime) -> IO (Maybe DateTime)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr DateTime
result' -> do
DateTime
result'' <- ((ManagedPtr DateTime -> DateTime) -> Ptr DateTime -> IO DateTime
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr DateTime -> DateTime
DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeToUtcMethodInfo
instance (signature ~ (m (Maybe DateTime)), MonadIO m) => O.MethodInfo DateTimeToUtcMethodInfo DateTime signature where
overloadedMethod = dateTimeToUtc
#endif
foreign import ccall "g_date_time_unref" g_date_time_unref ::
Ptr DateTime ->
IO ()
dateTimeUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m ()
dateTimeUnref :: DateTime -> m ()
dateTimeUnref datetime :: DateTime
datetime = 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 DateTime
datetime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
datetime
Ptr DateTime -> IO ()
g_date_time_unref Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data DateTimeUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DateTimeUnrefMethodInfo DateTime signature where
overloadedMethod = dateTimeUnref
#endif
foreign import ccall "g_date_time_compare" g_date_time_compare ::
Ptr () ->
Ptr () ->
IO Int32
dateTimeCompare ::
(B.CallStack.HasCallStack, MonadIO m) =>
Ptr ()
-> Ptr ()
-> m Int32
dateTimeCompare :: Ptr () -> Ptr () -> m Int32
dateTimeCompare dt1 :: Ptr ()
dt1 dt2 :: Ptr ()
dt2 = 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
Int32
result <- Ptr () -> Ptr () -> IO Int32
g_date_time_compare Ptr ()
dt1 Ptr ()
dt2
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_equal" g_date_time_equal ::
Ptr () ->
Ptr () ->
IO CInt
dateTimeEqual ::
(B.CallStack.HasCallStack, MonadIO m) =>
Ptr ()
-> Ptr ()
-> m Bool
dateTimeEqual :: Ptr () -> Ptr () -> m Bool
dateTimeEqual dt1 :: Ptr ()
dt1 dt2 :: Ptr ()
dt2 = 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
CInt
result <- Ptr () -> Ptr () -> IO CInt
g_date_time_equal Ptr ()
dt1 Ptr ()
dt2
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_date_time_hash" g_date_time_hash ::
Ptr () ->
IO Word32
dateTimeHash ::
(B.CallStack.HasCallStack, MonadIO m) =>
Ptr ()
-> m Word32
dateTimeHash :: Ptr () -> m Word32
dateTimeHash datetime :: Ptr ()
datetime = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Word32
result <- Ptr () -> IO Word32
g_date_time_hash Ptr ()
datetime
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveDateTimeMethod (t :: Symbol) (o :: *) :: * where
ResolveDateTimeMethod "add" o = DateTimeAddMethodInfo
ResolveDateTimeMethod "addDays" o = DateTimeAddDaysMethodInfo
ResolveDateTimeMethod "addFull" o = DateTimeAddFullMethodInfo
ResolveDateTimeMethod "addHours" o = DateTimeAddHoursMethodInfo
ResolveDateTimeMethod "addMinutes" o = DateTimeAddMinutesMethodInfo
ResolveDateTimeMethod "addMonths" o = DateTimeAddMonthsMethodInfo
ResolveDateTimeMethod "addSeconds" o = DateTimeAddSecondsMethodInfo
ResolveDateTimeMethod "addWeeks" o = DateTimeAddWeeksMethodInfo
ResolveDateTimeMethod "addYears" o = DateTimeAddYearsMethodInfo
ResolveDateTimeMethod "difference" o = DateTimeDifferenceMethodInfo
ResolveDateTimeMethod "format" o = DateTimeFormatMethodInfo
ResolveDateTimeMethod "formatIso8601" o = DateTimeFormatIso8601MethodInfo
ResolveDateTimeMethod "isDaylightSavings" o = DateTimeIsDaylightSavingsMethodInfo
ResolveDateTimeMethod "ref" o = DateTimeRefMethodInfo
ResolveDateTimeMethod "toLocal" o = DateTimeToLocalMethodInfo
ResolveDateTimeMethod "toTimeval" o = DateTimeToTimevalMethodInfo
ResolveDateTimeMethod "toTimezone" o = DateTimeToTimezoneMethodInfo
ResolveDateTimeMethod "toUnix" o = DateTimeToUnixMethodInfo
ResolveDateTimeMethod "toUtc" o = DateTimeToUtcMethodInfo
ResolveDateTimeMethod "unref" o = DateTimeUnrefMethodInfo
ResolveDateTimeMethod "getDayOfMonth" o = DateTimeGetDayOfMonthMethodInfo
ResolveDateTimeMethod "getDayOfWeek" o = DateTimeGetDayOfWeekMethodInfo
ResolveDateTimeMethod "getDayOfYear" o = DateTimeGetDayOfYearMethodInfo
ResolveDateTimeMethod "getHour" o = DateTimeGetHourMethodInfo
ResolveDateTimeMethod "getMicrosecond" o = DateTimeGetMicrosecondMethodInfo
ResolveDateTimeMethod "getMinute" o = DateTimeGetMinuteMethodInfo
ResolveDateTimeMethod "getMonth" o = DateTimeGetMonthMethodInfo
ResolveDateTimeMethod "getSecond" o = DateTimeGetSecondMethodInfo
ResolveDateTimeMethod "getSeconds" o = DateTimeGetSecondsMethodInfo
ResolveDateTimeMethod "getTimezone" o = DateTimeGetTimezoneMethodInfo
ResolveDateTimeMethod "getTimezoneAbbreviation" o = DateTimeGetTimezoneAbbreviationMethodInfo
ResolveDateTimeMethod "getUtcOffset" o = DateTimeGetUtcOffsetMethodInfo
ResolveDateTimeMethod "getWeekNumberingYear" o = DateTimeGetWeekNumberingYearMethodInfo
ResolveDateTimeMethod "getWeekOfYear" o = DateTimeGetWeekOfYearMethodInfo
ResolveDateTimeMethod "getYear" o = DateTimeGetYearMethodInfo
ResolveDateTimeMethod "getYmd" o = DateTimeGetYmdMethodInfo
ResolveDateTimeMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDateTimeMethod t DateTime, O.MethodInfo info DateTime p) => OL.IsLabel t (DateTime -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif