{-# 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 ,
dateTimeNewFromUnixEpochUtc ,
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.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 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
/= :: 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 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 DateTime where
toGValue :: DateTime -> IO GValue
toGValue DateTime
o = do
GType
gtype <- IO GType
c_gst_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 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 "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 DateTime
dateTimeNew :: Float
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Double
-> m DateTime
dateTimeNew Float
tzoffset Int32
year Int32
month Int32
day Int32
hour Int32
minute Double
seconds = 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
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'
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dateTimeNew" 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 DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#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) =>
GLib.DateTime.DateTime
-> m (Maybe DateTime)
dateTimeNewFromGDateTime :: DateTime -> m (Maybe DateTime)
dateTimeNewFromGDateTime DateTime
dt = 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
dt' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed DateTime
dt
Ptr DateTime
result <- Ptr DateTime -> IO (Ptr DateTime)
gst_date_time_new_from_g_date_time Ptr DateTime
dt'
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 (m :: * -> *) a. Monad m => a -> m a
return DateTime
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
dt
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 "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 :: Text -> m (Maybe DateTime)
dateTimeNewFromIso8601String Text
string = 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
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 (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 (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 DateTime
dateTimeNewFromUnixEpochLocalTime :: Int64 -> m DateTime
dateTimeNewFromUnixEpochLocalTime Int64
secs = 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
result <- Int64 -> IO (Ptr DateTime)
gst_date_time_new_from_unix_epoch_local_time Int64
secs
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dateTimeNewFromUnixEpochLocalTime" 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 DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#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 DateTime
dateTimeNewFromUnixEpochUtc :: Int64 -> m DateTime
dateTimeNewFromUnixEpochUtc Int64
secs = 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
result <- Int64 -> IO (Ptr DateTime)
gst_date_time_new_from_unix_epoch_utc Int64
secs
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dateTimeNewFromUnixEpochUtc" 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 DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#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 DateTime
dateTimeNewLocalTime :: Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m DateTime
dateTimeNewLocalTime Int32
year Int32
month Int32
day Int32
hour Int32
minute Double
seconds = 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
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'
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dateTimeNewLocalTime" 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 DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#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 DateTime
dateTimeNewNowLocalTime :: m DateTime
dateTimeNewNowLocalTime = 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
result <- IO (Ptr DateTime)
gst_date_time_new_now_local_time
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dateTimeNewNowLocalTime" 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 DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#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 DateTime
dateTimeNewNowUtc :: m DateTime
dateTimeNewNowUtc = 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
result <- IO (Ptr DateTime)
gst_date_time_new_now_utc
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dateTimeNewNowUtc" 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 DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#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 DateTime
dateTimeNewY :: Int32 -> m DateTime
dateTimeNewY Int32
year = 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
result <- Int32 -> IO (Ptr DateTime)
gst_date_time_new_y Int32
year
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dateTimeNewY" 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 DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#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 DateTime
dateTimeNewYm :: Int32 -> Int32 -> m DateTime
dateTimeNewYm Int32
year Int32
month = 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
result <- Int32 -> Int32 -> IO (Ptr DateTime)
gst_date_time_new_ym Int32
year Int32
month
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dateTimeNewYm" 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 DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#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 DateTime
dateTimeNewYmd :: Int32 -> Int32 -> Int32 -> m DateTime
dateTimeNewYmd Int32
year Int32
month Int32
day = 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
result <- Int32 -> Int32 -> Int32 -> IO (Ptr DateTime)
gst_date_time_new_ymd Int32
year Int32
month Int32
day
Text -> Ptr DateTime -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dateTimeNewYmd" 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 DateTime
forall (m :: * -> *) a. Monad m => a -> m a
return DateTime
result'
#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 :: DateTime -> m Int32
dateTimeGetDay 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
gst_date_time_get_day 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 DateTimeGetDayMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetDayMethodInfo DateTime signature where
overloadedMethod = 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 :: DateTime -> m Int32
dateTimeGetHour 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
gst_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 "gst_date_time_get_microsecond" gst_date_time_get_microsecond ::
Ptr DateTime ->
IO Int32
dateTimeGetMicrosecond ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetMicrosecond :: DateTime -> m Int32
dateTimeGetMicrosecond 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
gst_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 "gst_date_time_get_minute" gst_date_time_get_minute ::
Ptr DateTime ->
IO Int32
dateTimeGetMinute ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetMinute :: DateTime -> m Int32
dateTimeGetMinute 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
gst_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 "gst_date_time_get_month" gst_date_time_get_month ::
Ptr DateTime ->
IO Int32
dateTimeGetMonth ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetMonth :: DateTime -> m Int32
dateTimeGetMonth 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
gst_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 "gst_date_time_get_second" gst_date_time_get_second ::
Ptr DateTime ->
IO Int32
dateTimeGetSecond ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Int32
dateTimeGetSecond :: DateTime -> m Int32
dateTimeGetSecond 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
gst_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 "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 :: DateTime -> m Float
dateTimeGetTimeZoneOffset DateTime
datetime = IO Float -> m Float
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 (m :: * -> *) a. Monad m => a -> m a
return Float
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeGetTimeZoneOffsetMethodInfo
instance (signature ~ (m Float), MonadIO m) => O.MethodInfo DateTimeGetTimeZoneOffsetMethodInfo DateTime signature where
overloadedMethod = 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 :: DateTime -> m Int32
dateTimeGetYear 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
gst_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 "gst_date_time_has_day" gst_date_time_has_day ::
Ptr DateTime ->
IO CInt
dateTimeHasDay ::
(B.CallStack.HasCallStack, MonadIO m) =>
DateTime
-> m Bool
dateTimeHasDay :: DateTime -> m Bool
dateTimeHasDay 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
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 (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasDayMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasDayMethodInfo DateTime signature where
overloadedMethod = 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 :: DateTime -> m Bool
dateTimeHasMonth 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
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 (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasMonthMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasMonthMethodInfo DateTime signature where
overloadedMethod = 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 :: DateTime -> m Bool
dateTimeHasSecond 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
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 (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasSecondMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasSecondMethodInfo DateTime signature where
overloadedMethod = 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 :: DateTime -> m Bool
dateTimeHasTime 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
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 (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasTimeMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasTimeMethodInfo DateTime signature where
overloadedMethod = 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 :: DateTime -> m Bool
dateTimeHasYear 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
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 (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DateTimeHasYearMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasYearMethodInfo DateTime signature where
overloadedMethod = 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 :: DateTime -> m DateTime
dateTimeRef 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)
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 (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 "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 :: DateTime -> m (Maybe DateTime)
dateTimeToGDateTime 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)
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 (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 DateTimeToGDateTimeMethodInfo
instance (signature ~ (m (Maybe GLib.DateTime.DateTime)), MonadIO m) => O.MethodInfo DateTimeToGDateTimeMethodInfo DateTime signature where
overloadedMethod = 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 :: DateTime -> m (Maybe Text)
dateTimeToIso8601String 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
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 (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 DateTimeToIso8601StringMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo DateTimeToIso8601StringMethodInfo DateTime signature where
overloadedMethod = 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 :: DateTime -> m ()
dateTimeUnref 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, 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 (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
#if defined(ENABLE_OVERLOADING)
type family ResolveDateTimeMethod (t :: Symbol) (o :: *) :: * 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.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