{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Structs.DateTime
(
DateTime(..) ,
#if defined(ENABLE_OVERLOADING)
ResolveDateTimeMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
DateTimeGetDayMethodInfo ,
#endif
dateTimeGetDay ,
#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)
DateTimeGetTimeZoneOffsetMethodInfo ,
#endif
dateTimeGetTimeZoneOffset ,
#if defined(ENABLE_OVERLOADING)
DateTimeGetYearMethodInfo ,
#endif
dateTimeGetYear ,
#if defined(ENABLE_OVERLOADING)
DateTimeHasDayMethodInfo ,
#endif
dateTimeHasDay ,
#if defined(ENABLE_OVERLOADING)
DateTimeHasMonthMethodInfo ,
#endif
dateTimeHasMonth ,
#if defined(ENABLE_OVERLOADING)
DateTimeHasSecondMethodInfo ,
#endif
dateTimeHasSecond ,
#if defined(ENABLE_OVERLOADING)
DateTimeHasTimeMethodInfo ,
#endif
dateTimeHasTime ,
#if defined(ENABLE_OVERLOADING)
DateTimeHasYearMethodInfo ,
#endif
dateTimeHasYear ,
dateTimeNew ,
dateTimeNewFromGDateTime ,
dateTimeNewFromIso8601String ,
dateTimeNewFromUnixEpochLocalTime ,
dateTimeNewFromUnixEpochLocalTimeUsecs ,
dateTimeNewFromUnixEpochUtc ,
dateTimeNewFromUnixEpochUtcUsecs ,
dateTimeNewLocalTime ,
dateTimeNewNowLocalTime ,
dateTimeNewNowUtc ,
dateTimeNewY ,
dateTimeNewYm ,
dateTimeNewYmd ,
#if defined(ENABLE_OVERLOADING)
DateTimeRefMethodInfo ,
#endif
dateTimeRef ,
#if defined(ENABLE_OVERLOADING)
DateTimeToGDateTimeMethodInfo ,
#endif
dateTimeToGDateTime ,
#if defined(ENABLE_OVERLOADING)
DateTimeToIso8601StringMethodInfo ,
#endif
dateTimeToIso8601String ,
#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.GHashTable as B.GHT
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.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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 qualified GHC.Records as R
import qualified GI.GLib.Structs.DateTime as GLib.DateTime
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
$c== :: DateTime -> DateTime -> Bool
== :: DateTime -> DateTime -> Bool
$c/= :: DateTime -> DateTime -> Bool
/= :: DateTime -> DateTime -> Bool
Eq)
instance SP.ManagedPtrNewtype DateTime where
toManagedPtr :: DateTime -> ManagedPtr DateTime
toManagedPtr (DateTime ManagedPtr DateTime
p) = ManagedPtr DateTime
p
foreign import ccall "gst_date_time_get_type" c_gst_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_gst_date_time_get_type
instance B.Types.GBoxed DateTime
instance B.GValue.IsGValue (Maybe DateTime) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_date_time_get_type
gvalueSet_ :: Ptr GValue -> Maybe DateTime -> IO ()
gvalueSet_ Ptr GValue
gv Maybe DateTime
P.Nothing = Ptr GValue -> Ptr DateTime -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr DateTime
forall a. Ptr a
FP.nullPtr :: FP.Ptr DateTime)
gvalueSet_ Ptr GValue
gv (P.Just DateTime
obj) = DateTime -> (Ptr DateTime -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DateTime
obj (Ptr GValue -> Ptr DateTime -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe DateTime)
gvalueGet_ Ptr GValue
gv = do
Ptr DateTime
ptr <- Ptr GValue -> IO (Ptr DateTime)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr DateTime)
if Ptr DateTime
ptr Ptr DateTime -> Ptr DateTime -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr DateTime
forall a. Ptr a
FP.nullPtr
then DateTime -> Maybe DateTime
forall a. a -> Maybe a
P.Just (DateTime -> Maybe DateTime) -> IO DateTime -> IO (Maybe DateTime)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (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
else Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DateTime
type instance O.AttributeList DateTime = DateTimeAttributeList
type DateTimeAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gst_date_time_new" gst_date_time_new ::
CFloat ->
Int32 ->
Int32 ->
Int32 ->
Int32 ->
Int32 ->
CDouble ->
IO (Ptr DateTime)
dateTimeNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Float
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m (Maybe DateTime)
dateTimeNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Float
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m (Maybe DateTime)
dateTimeNew Float
tzoffset Int32
year Int32
month Int32
day Int32
hour Int32
minute Double
seconds = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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 tzoffset' :: CFloat
tzoffset' = Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
tzoffset
let seconds' :: CDouble
seconds' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
seconds
Ptr DateTime
result <- CFloat
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> CDouble
-> IO (Ptr DateTime)
gst_date_time_new CFloat
tzoffset' 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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_from_g_date_time" gst_date_time_new_from_g_date_time ::
Ptr GLib.DateTime.DateTime ->
IO (Ptr DateTime)
dateTimeNewFromGDateTime ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (GLib.DateTime.DateTime)
-> m (Maybe DateTime)
dateTimeNewFromGDateTime :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe DateTime -> m (Maybe DateTime)
dateTimeNewFromGDateTime Maybe DateTime
dt = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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
maybeDt <- case Maybe DateTime
dt of
Maybe DateTime
Nothing -> Ptr DateTime -> IO (Ptr DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr DateTime
forall a. Ptr a
nullPtr
Just DateTime
jDt -> do
Ptr DateTime
jDt' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed DateTime
jDt
Ptr DateTime -> IO (Ptr DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr DateTime
jDt'
Ptr DateTime
result <- Ptr DateTime -> IO (Ptr DateTime)
gst_date_time_new_from_g_date_time Ptr DateTime
maybeDt
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> (DateTime -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe DateTime
dt DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_from_iso8601_string" gst_date_time_new_from_iso8601_string ::
CString ->
IO (Ptr DateTime)
dateTimeNewFromIso8601String ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe DateTime)
dateTimeNewFromIso8601String :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> m (Maybe DateTime)
dateTimeNewFromIso8601String Text
string = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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
string' <- Text -> IO CString
textToCString Text
string
Ptr DateTime
result <- CString -> IO (Ptr DateTime)
gst_date_time_new_from_iso8601_string CString
string'
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
string'
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_from_unix_epoch_local_time" gst_date_time_new_from_unix_epoch_local_time ::
Int64 ->
IO (Ptr DateTime)
dateTimeNewFromUnixEpochLocalTime ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int64
-> m (Maybe DateTime)
dateTimeNewFromUnixEpochLocalTime :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int64 -> m (Maybe DateTime)
dateTimeNewFromUnixEpochLocalTime Int64
secs = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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)
gst_date_time_new_from_unix_epoch_local_time Int64
secs
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_from_unix_epoch_local_time_usecs" gst_date_time_new_from_unix_epoch_local_time_usecs ::
Int64 ->
IO (Ptr DateTime)
dateTimeNewFromUnixEpochLocalTimeUsecs ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int64
-> m (Maybe DateTime)
dateTimeNewFromUnixEpochLocalTimeUsecs :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int64 -> m (Maybe DateTime)
dateTimeNewFromUnixEpochLocalTimeUsecs Int64
usecs = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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)
gst_date_time_new_from_unix_epoch_local_time_usecs Int64
usecs
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_from_unix_epoch_utc" gst_date_time_new_from_unix_epoch_utc ::
Int64 ->
IO (Ptr DateTime)
dateTimeNewFromUnixEpochUtc ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int64
-> m (Maybe DateTime)
dateTimeNewFromUnixEpochUtc :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int64 -> m (Maybe DateTime)
dateTimeNewFromUnixEpochUtc Int64
secs = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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)
gst_date_time_new_from_unix_epoch_utc Int64
secs
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_from_unix_epoch_utc_usecs" gst_date_time_new_from_unix_epoch_utc_usecs ::
Int64 ->
IO (Ptr DateTime)
dateTimeNewFromUnixEpochUtcUsecs ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int64
-> m (Maybe DateTime)
dateTimeNewFromUnixEpochUtcUsecs :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int64 -> m (Maybe DateTime)
dateTimeNewFromUnixEpochUtcUsecs Int64
usecs = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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)
gst_date_time_new_from_unix_epoch_utc_usecs Int64
usecs
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_local_time" gst_date_time_new_local_time ::
Int32 ->
Int32 ->
Int32 ->
Int32 ->
Int32 ->
CDouble ->
IO (Ptr DateTime)
dateTimeNewLocalTime ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m (Maybe DateTime)
dateTimeNewLocalTime :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32
-> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m (Maybe DateTime)
dateTimeNewLocalTime Int32
year Int32
month Int32
day Int32
hour Int32
minute Double
seconds = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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)
gst_date_time_new_local_time 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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_now_local_time" gst_date_time_new_now_local_time ::
IO (Ptr DateTime)
dateTimeNewNowLocalTime ::
(B.CallStack.HasCallStack, MonadIO m) =>
m (Maybe DateTime)
dateTimeNewNowLocalTime :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m (Maybe DateTime)
dateTimeNewNowLocalTime = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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)
gst_date_time_new_now_local_time
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_now_utc" gst_date_time_new_now_utc ::
IO (Ptr DateTime)
dateTimeNewNowUtc ::
(B.CallStack.HasCallStack, MonadIO m) =>
m (Maybe DateTime)
dateTimeNewNowUtc :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m (Maybe DateTime)
dateTimeNewNowUtc = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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)
gst_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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_y" gst_date_time_new_y ::
Int32 ->
IO (Ptr DateTime)
dateTimeNewY ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> m (Maybe DateTime)
dateTimeNewY :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> m (Maybe DateTime)
dateTimeNewY Int32
year = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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 <- Int32 -> IO (Ptr DateTime)
gst_date_time_new_y Int32
year
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_ym" gst_date_time_new_ym ::
Int32 ->
Int32 ->
IO (Ptr DateTime)
dateTimeNewYm ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Int32
-> m (Maybe DateTime)
dateTimeNewYm :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> Int32 -> m (Maybe DateTime)
dateTimeNewYm Int32
year Int32
month = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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 <- Int32 -> Int32 -> IO (Ptr DateTime)
gst_date_time_new_ym Int32
year Int32
month
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_new_ymd" gst_date_time_new_ymd ::
Int32 ->
Int32 ->
Int32 ->
IO (Ptr DateTime)
dateTimeNewYmd ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Int32
-> Int32
-> m (Maybe DateTime)
dateTimeNewYmd :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> Int32 -> Int32 -> m (Maybe DateTime)
dateTimeNewYmd Int32
year Int32
month Int32
day = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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 <- Int32 -> Int32 -> Int32 -> IO (Ptr DateTime)
gst_date_time_new_ymd Int32
year Int32
month Int32
day
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
$ \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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
Maybe DateTime -> IO (Maybe DateTime)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_date_time_get_day" gst_date_time_get_day ::
Ptr DateTime ->
IO Int32
dateTimeGetDay ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetDay :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Int32
dateTimeGetDay DateTime
datetime = IO Int32 -> m Int32
forall a. IO a -> m a
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
gst_date_time_get_day Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetDayMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.OverloadedMethod DateTimeGetDayMethodInfo DateTime signature where
overloadedMethod = dateTimeGetDay
instance O.OverloadedMethodInfo DateTimeGetDayMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeGetDay",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeGetDay"
})
#endif
foreign import ccall "gst_date_time_get_hour" gst_date_time_get_hour ::
Ptr DateTime ->
IO Int32
dateTimeGetHour ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetHour :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Int32
dateTimeGetHour DateTime
datetime = IO Int32 -> m Int32
forall a. IO a -> m a
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
gst_date_time_get_hour Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetHourMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.OverloadedMethod DateTimeGetHourMethodInfo DateTime signature where
overloadedMethod = dateTimeGetHour
instance O.OverloadedMethodInfo DateTimeGetHourMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeGetHour",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeGetHour"
})
#endif
foreign import ccall "gst_date_time_get_microsecond" gst_date_time_get_microsecond ::
Ptr DateTime ->
IO Int32
dateTimeGetMicrosecond ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetMicrosecond :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Int32
dateTimeGetMicrosecond DateTime
datetime = IO Int32 -> m Int32
forall a. IO a -> m a
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
gst_date_time_get_microsecond Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetMicrosecondMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.OverloadedMethod DateTimeGetMicrosecondMethodInfo DateTime signature where
overloadedMethod = dateTimeGetMicrosecond
instance O.OverloadedMethodInfo DateTimeGetMicrosecondMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeGetMicrosecond",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeGetMicrosecond"
})
#endif
foreign import ccall "gst_date_time_get_minute" gst_date_time_get_minute ::
Ptr DateTime ->
IO Int32
dateTimeGetMinute ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetMinute :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Int32
dateTimeGetMinute DateTime
datetime = IO Int32 -> m Int32
forall a. IO a -> m a
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
gst_date_time_get_minute Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetMinuteMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.OverloadedMethod DateTimeGetMinuteMethodInfo DateTime signature where
overloadedMethod = dateTimeGetMinute
instance O.OverloadedMethodInfo DateTimeGetMinuteMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeGetMinute",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeGetMinute"
})
#endif
foreign import ccall "gst_date_time_get_month" gst_date_time_get_month ::
Ptr DateTime ->
IO Int32
dateTimeGetMonth ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetMonth :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Int32
dateTimeGetMonth DateTime
datetime = IO Int32 -> m Int32
forall a. IO a -> m a
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
gst_date_time_get_month Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetMonthMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.OverloadedMethod DateTimeGetMonthMethodInfo DateTime signature where
overloadedMethod = dateTimeGetMonth
instance O.OverloadedMethodInfo DateTimeGetMonthMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeGetMonth",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeGetMonth"
})
#endif
foreign import ccall "gst_date_time_get_second" gst_date_time_get_second ::
Ptr DateTime ->
IO Int32
dateTimeGetSecond ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetSecond :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Int32
dateTimeGetSecond DateTime
datetime = IO Int32 -> m Int32
forall a. IO a -> m a
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
gst_date_time_get_second Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetSecondMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.OverloadedMethod DateTimeGetSecondMethodInfo DateTime signature where
overloadedMethod = dateTimeGetSecond
instance O.OverloadedMethodInfo DateTimeGetSecondMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeGetSecond",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeGetSecond"
})
#endif
foreign import ccall "gst_date_time_get_time_zone_offset" gst_date_time_get_time_zone_offset ::
Ptr DateTime ->
IO CFloat
dateTimeGetTimeZoneOffset ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Float
dateTimeGetTimeZoneOffset :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Float
dateTimeGetTimeZoneOffset DateTime
datetime = IO Float -> m Float
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Float -> m Float) -> IO Float -> m Float
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
CFloat
result <- Ptr DateTime -> IO CFloat
gst_date_time_get_time_zone_offset Ptr DateTime
datetime'
let result' :: Float
result' = CFloat -> Float
forall a b. (Real a, Fractional b) => a -> b
realToFrac CFloat
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Float -> IO Float
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Float
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeGetTimeZoneOffsetMethodInfo
instance (signature ~ (m Float), MonadIO m) => O.OverloadedMethod DateTimeGetTimeZoneOffsetMethodInfo DateTime signature where
overloadedMethod = dateTimeGetTimeZoneOffset
instance O.OverloadedMethodInfo DateTimeGetTimeZoneOffsetMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeGetTimeZoneOffset",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeGetTimeZoneOffset"
})
#endif
foreign import ccall "gst_date_time_get_year" gst_date_time_get_year ::
Ptr DateTime ->
IO Int32
dateTimeGetYear ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetYear :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Int32
dateTimeGetYear DateTime
datetime = IO Int32 -> m Int32
forall a. IO a -> m a
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
gst_date_time_get_year Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data DateTimeGetYearMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.OverloadedMethod DateTimeGetYearMethodInfo DateTime signature where
overloadedMethod = dateTimeGetYear
instance O.OverloadedMethodInfo DateTimeGetYearMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeGetYear",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeGetYear"
})
#endif
foreign import ccall "gst_date_time_has_day" gst_date_time_has_day ::
Ptr DateTime ->
IO CInt
dateTimeHasDay ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Bool
dateTimeHasDay :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Bool
dateTimeHasDay DateTime
datetime = IO Bool -> m Bool
forall a. IO a -> m a
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
gst_date_time_has_day Ptr DateTime
datetime'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasDayMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.OverloadedMethod DateTimeHasDayMethodInfo DateTime signature where
overloadedMethod = dateTimeHasDay
instance O.OverloadedMethodInfo DateTimeHasDayMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeHasDay",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeHasDay"
})
#endif
foreign import ccall "gst_date_time_has_month" gst_date_time_has_month ::
Ptr DateTime ->
IO CInt
dateTimeHasMonth ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Bool
dateTimeHasMonth :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Bool
dateTimeHasMonth DateTime
datetime = IO Bool -> m Bool
forall a. IO a -> m a
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
gst_date_time_has_month Ptr DateTime
datetime'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasMonthMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.OverloadedMethod DateTimeHasMonthMethodInfo DateTime signature where
overloadedMethod = dateTimeHasMonth
instance O.OverloadedMethodInfo DateTimeHasMonthMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeHasMonth",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeHasMonth"
})
#endif
foreign import ccall "gst_date_time_has_second" gst_date_time_has_second ::
Ptr DateTime ->
IO CInt
dateTimeHasSecond ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Bool
dateTimeHasSecond :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Bool
dateTimeHasSecond DateTime
datetime = IO Bool -> m Bool
forall a. IO a -> m a
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
gst_date_time_has_second Ptr DateTime
datetime'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasSecondMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.OverloadedMethod DateTimeHasSecondMethodInfo DateTime signature where
overloadedMethod = dateTimeHasSecond
instance O.OverloadedMethodInfo DateTimeHasSecondMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeHasSecond",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeHasSecond"
})
#endif
foreign import ccall "gst_date_time_has_time" gst_date_time_has_time ::
Ptr DateTime ->
IO CInt
dateTimeHasTime ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Bool
dateTimeHasTime :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Bool
dateTimeHasTime DateTime
datetime = IO Bool -> m Bool
forall a. IO a -> m a
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
gst_date_time_has_time Ptr DateTime
datetime'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasTimeMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.OverloadedMethod DateTimeHasTimeMethodInfo DateTime signature where
overloadedMethod = dateTimeHasTime
instance O.OverloadedMethodInfo DateTimeHasTimeMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeHasTime",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeHasTime"
})
#endif
foreign import ccall "gst_date_time_has_year" gst_date_time_has_year ::
Ptr DateTime ->
IO CInt
dateTimeHasYear ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Bool
dateTimeHasYear :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m Bool
dateTimeHasYear DateTime
datetime = IO Bool -> m Bool
forall a. IO a -> m a
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
gst_date_time_has_year Ptr DateTime
datetime'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasYearMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.OverloadedMethod DateTimeHasYearMethodInfo DateTime signature where
overloadedMethod = dateTimeHasYear
instance O.OverloadedMethodInfo DateTimeHasYearMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeHasYear",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeHasYear"
})
#endif
foreign import ccall "gst_date_time_ref" gst_date_time_ref ::
Ptr DateTime ->
IO (Ptr DateTime)
dateTimeRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m DateTime
dateTimeRef :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m DateTime
dateTimeRef DateTime
datetime = IO DateTime -> m DateTime
forall a. IO a -> m a
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)
gst_date_time_ref Ptr DateTime
datetime'
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeRefMethodInfo
instance (signature ~ (m DateTime), MonadIO m) => O.OverloadedMethod DateTimeRefMethodInfo DateTime signature where
overloadedMethod = dateTimeRef
instance O.OverloadedMethodInfo DateTimeRefMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeRef",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeRef"
})
#endif
foreign import ccall "gst_date_time_to_g_date_time" gst_date_time_to_g_date_time ::
Ptr DateTime ->
IO (Ptr GLib.DateTime.DateTime)
dateTimeToGDateTime ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m (Maybe GLib.DateTime.DateTime)
dateTimeToGDateTime :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m (Maybe DateTime)
dateTimeToGDateTime DateTime
datetime = IO (Maybe DateTime) -> m (Maybe DateTime)
forall a. IO a -> m a
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)
gst_date_time_to_g_date_time 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
$ \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
GLib.DateTime.DateTime) Ptr DateTime
result'
DateTime -> IO DateTime
forall a. a -> IO a
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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeToGDateTimeMethodInfo
instance (signature ~ (m (Maybe GLib.DateTime.DateTime)), MonadIO m) => O.OverloadedMethod DateTimeToGDateTimeMethodInfo DateTime signature where
overloadedMethod = dateTimeToGDateTime
instance O.OverloadedMethodInfo DateTimeToGDateTimeMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeToGDateTime",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeToGDateTime"
})
#endif
foreign import ccall "gst_date_time_to_iso8601_string" gst_date_time_to_iso8601_string ::
Ptr DateTime ->
IO CString
dateTimeToIso8601String ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m (Maybe T.Text)
dateTimeToIso8601String :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
DateTime -> m (Maybe Text)
dateTimeToIso8601String DateTime
datetime = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
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
gst_date_time_to_iso8601_string 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
$ \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 a. a -> IO a
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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data DateTimeToIso8601StringMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.OverloadedMethod DateTimeToIso8601StringMethodInfo DateTime signature where
overloadedMethod = dateTimeToIso8601String
instance O.OverloadedMethodInfo DateTimeToIso8601StringMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeToIso8601String",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeToIso8601String"
})
#endif
foreign import ccall "gst_date_time_unref" gst_date_time_unref ::
Ptr DateTime ->
IO ()
dateTimeUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m ()
dateTimeUnref :: forall (m :: * -> *). (HasCallStack, MonadIO m) => DateTime -> m ()
dateTimeUnref DateTime
datetime = IO () -> m ()
forall a. IO a -> m a
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, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed DateTime
datetime
Ptr DateTime -> IO ()
gst_date_time_unref Ptr DateTime
datetime'
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
datetime
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data DateTimeUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod DateTimeUnrefMethodInfo DateTime signature where
overloadedMethod = dateTimeUnref
instance O.OverloadedMethodInfo DateTimeUnrefMethodInfo DateTime where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.DateTime.dateTimeUnref",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Structs-DateTime.html#v:dateTimeUnref"
})
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveDateTimeMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveDateTimeMethod "hasDay" o = DateTimeHasDayMethodInfo
ResolveDateTimeMethod "hasMonth" o = DateTimeHasMonthMethodInfo
ResolveDateTimeMethod "hasSecond" o = DateTimeHasSecondMethodInfo
ResolveDateTimeMethod "hasTime" o = DateTimeHasTimeMethodInfo
ResolveDateTimeMethod "hasYear" o = DateTimeHasYearMethodInfo
ResolveDateTimeMethod "ref" o = DateTimeRefMethodInfo
ResolveDateTimeMethod "toGDateTime" o = DateTimeToGDateTimeMethodInfo
ResolveDateTimeMethod "toIso8601String" o = DateTimeToIso8601StringMethodInfo
ResolveDateTimeMethod "unref" o = DateTimeUnrefMethodInfo
ResolveDateTimeMethod "getDay" o = DateTimeGetDayMethodInfo
ResolveDateTimeMethod "getHour" o = DateTimeGetHourMethodInfo
ResolveDateTimeMethod "getMicrosecond" o = DateTimeGetMicrosecondMethodInfo
ResolveDateTimeMethod "getMinute" o = DateTimeGetMinuteMethodInfo
ResolveDateTimeMethod "getMonth" o = DateTimeGetMonthMethodInfo
ResolveDateTimeMethod "getSecond" o = DateTimeGetSecondMethodInfo
ResolveDateTimeMethod "getTimeZoneOffset" o = DateTimeGetTimeZoneOffsetMethodInfo
ResolveDateTimeMethod "getYear" o = DateTimeGetYearMethodInfo
ResolveDateTimeMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDateTimeMethod t DateTime, O.OverloadedMethod 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
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveDateTimeMethod t DateTime, O.OverloadedMethod info DateTime p, R.HasField t DateTime p) => R.HasField t DateTime p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveDateTimeMethod t DateTime, O.OverloadedMethodInfo info DateTime) => OL.IsLabel t (O.MethodProxy info DateTime) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif