gi-soup-0.2.52.13: GI/Soup/Structs/Date.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
A date and time. The date is assumed to be in the (proleptic)
Gregorian calendar. The time is in UTC if @utc is %TRUE. Otherwise,
the time is a local time, and @offset gives the offset from UTC in
minutes (such that adding @offset to the time would give the
correct UTC time). If @utc is %FALSE and @offset is 0, then the
%SoupDate represents a "floating" time with no associated timezone
information.
-}
module GI.Soup.Structs.Date
(
-- * Exported types
Date(..) ,
newZeroDate ,
noDate ,
-- * Methods
-- ** dateCopy
DateCopyMethodInfo ,
dateCopy ,
-- ** dateFree
DateFreeMethodInfo ,
dateFree ,
-- ** dateGetDay
DateGetDayMethodInfo ,
dateGetDay ,
-- ** dateGetHour
DateGetHourMethodInfo ,
dateGetHour ,
-- ** dateGetMinute
DateGetMinuteMethodInfo ,
dateGetMinute ,
-- ** dateGetMonth
DateGetMonthMethodInfo ,
dateGetMonth ,
-- ** dateGetOffset
DateGetOffsetMethodInfo ,
dateGetOffset ,
-- ** dateGetSecond
DateGetSecondMethodInfo ,
dateGetSecond ,
-- ** dateGetUtc
DateGetUtcMethodInfo ,
dateGetUtc ,
-- ** dateGetYear
DateGetYearMethodInfo ,
dateGetYear ,
-- ** dateIsPast
DateIsPastMethodInfo ,
dateIsPast ,
-- ** dateNew
dateNew ,
-- ** dateNewFromNow
dateNewFromNow ,
-- ** dateNewFromString
dateNewFromString ,
-- ** dateNewFromTimeT
dateNewFromTimeT ,
-- ** dateToString
DateToStringMethodInfo ,
dateToString ,
-- ** dateToTimeT
DateToTimeTMethodInfo ,
dateToTimeT ,
-- ** dateToTimeval
DateToTimevalMethodInfo ,
dateToTimeval ,
-- * Properties
-- ** Day
dateReadDay ,
-- ** Hour
dateReadHour ,
-- ** Minute
dateReadMinute ,
-- ** Month
dateReadMonth ,
-- ** Offset
dateReadOffset ,
-- ** Second
dateReadSecond ,
-- ** Utc
dateReadUtc ,
-- ** Year
dateReadYear ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Soup.Types
import GI.Soup.Callbacks
import qualified GI.GLib as GLib
newtype Date = Date (ForeignPtr Date)
foreign import ccall "soup_date_get_type" c_soup_date_get_type ::
IO GType
instance BoxedObject Date where
boxedType _ = c_soup_date_get_type
-- | Construct a `Date` struct initialized to zero.
newZeroDate :: MonadIO m => m Date
newZeroDate = liftIO $ callocBoxedBytes 32 >>= wrapBoxed Date
noDate :: Maybe Date
noDate = Nothing
dateReadYear :: Date -> IO Int32
dateReadYear s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO Int32
return val
dateReadMonth :: Date -> IO Int32
dateReadMonth s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 4) :: IO Int32
return val
dateReadDay :: Date -> IO Int32
dateReadDay s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO Int32
return val
dateReadHour :: Date -> IO Int32
dateReadHour s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 12) :: IO Int32
return val
dateReadMinute :: Date -> IO Int32
dateReadMinute s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO Int32
return val
dateReadSecond :: Date -> IO Int32
dateReadSecond s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 20) :: IO Int32
return val
dateReadUtc :: Date -> IO Bool
dateReadUtc s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO CInt
let val' = (/= 0) val
return val'
dateReadOffset :: Date -> IO Int32
dateReadOffset s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 28) :: IO Int32
return val
-- method Date::new
-- method type : Constructor
-- Args : [Arg {argCName = "year", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hour", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minute", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "second", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Soup" "Date"
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_new" soup_date_new ::
Int32 -> -- year : TBasicType TInt32
Int32 -> -- month : TBasicType TInt32
Int32 -> -- day : TBasicType TInt32
Int32 -> -- hour : TBasicType TInt32
Int32 -> -- minute : TBasicType TInt32
Int32 -> -- second : TBasicType TInt32
IO (Ptr Date)
dateNew ::
(MonadIO m) =>
Int32 -- year
-> Int32 -- month
-> Int32 -- day
-> Int32 -- hour
-> Int32 -- minute
-> Int32 -- second
-> m Date -- result
dateNew year month day hour minute second = liftIO $ do
result <- soup_date_new year month day hour minute second
checkUnexpectedReturnNULL "soup_date_new" result
result' <- (wrapBoxed Date) result
return result'
-- method Date::new_from_now
-- method type : Constructor
-- Args : [Arg {argCName = "offset_seconds", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Soup" "Date"
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_new_from_now" soup_date_new_from_now ::
Int32 -> -- offset_seconds : TBasicType TInt32
IO (Ptr Date)
dateNewFromNow ::
(MonadIO m) =>
Int32 -- offsetSeconds
-> m Date -- result
dateNewFromNow offsetSeconds = liftIO $ do
result <- soup_date_new_from_now offsetSeconds
checkUnexpectedReturnNULL "soup_date_new_from_now" result
result' <- (wrapBoxed Date) result
return result'
-- method Date::new_from_string
-- method type : Constructor
-- Args : [Arg {argCName = "date_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Soup" "Date"
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_new_from_string" soup_date_new_from_string ::
CString -> -- date_string : TBasicType TUTF8
IO (Ptr Date)
dateNewFromString ::
(MonadIO m) =>
T.Text -- dateString
-> m Date -- result
dateNewFromString dateString = liftIO $ do
dateString' <- textToCString dateString
result <- soup_date_new_from_string dateString'
checkUnexpectedReturnNULL "soup_date_new_from_string" result
result' <- (wrapBoxed Date) result
freeMem dateString'
return result'
-- method Date::new_from_time_t
-- method type : Constructor
-- Args : [Arg {argCName = "when", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Soup" "Date"
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_new_from_time_t" soup_date_new_from_time_t ::
Int64 -> -- when : TBasicType TInt64
IO (Ptr Date)
dateNewFromTimeT ::
(MonadIO m) =>
Int64 -- when_
-> m Date -- result
dateNewFromTimeT when_ = liftIO $ do
result <- soup_date_new_from_time_t when_
checkUnexpectedReturnNULL "soup_date_new_from_time_t" result
result' <- (wrapBoxed Date) result
return result'
-- method Date::copy
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Soup" "Date"
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_copy" soup_date_copy ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO (Ptr Date)
dateCopy ::
(MonadIO m) =>
Date -- _obj
-> m Date -- result
dateCopy _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_copy _obj'
checkUnexpectedReturnNULL "soup_date_copy" result
result' <- (wrapBoxed Date) result
touchManagedPtr _obj
return result'
data DateCopyMethodInfo
instance (signature ~ (m Date), MonadIO m) => MethodInfo DateCopyMethodInfo Date signature where
overloadedMethod _ = dateCopy
-- method Date::free
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_free" soup_date_free ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO ()
dateFree ::
(MonadIO m) =>
Date -- _obj
-> m () -- result
dateFree _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
soup_date_free _obj'
touchManagedPtr _obj
return ()
data DateFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => MethodInfo DateFreeMethodInfo Date signature where
overloadedMethod _ = dateFree
-- method Date::get_day
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_get_day" soup_date_get_day ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO Int32
dateGetDay ::
(MonadIO m) =>
Date -- _obj
-> m Int32 -- result
dateGetDay _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_get_day _obj'
touchManagedPtr _obj
return result
data DateGetDayMethodInfo
instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetDayMethodInfo Date signature where
overloadedMethod _ = dateGetDay
-- method Date::get_hour
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_get_hour" soup_date_get_hour ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO Int32
dateGetHour ::
(MonadIO m) =>
Date -- _obj
-> m Int32 -- result
dateGetHour _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_get_hour _obj'
touchManagedPtr _obj
return result
data DateGetHourMethodInfo
instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetHourMethodInfo Date signature where
overloadedMethod _ = dateGetHour
-- method Date::get_minute
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_get_minute" soup_date_get_minute ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO Int32
dateGetMinute ::
(MonadIO m) =>
Date -- _obj
-> m Int32 -- result
dateGetMinute _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_get_minute _obj'
touchManagedPtr _obj
return result
data DateGetMinuteMethodInfo
instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetMinuteMethodInfo Date signature where
overloadedMethod _ = dateGetMinute
-- method Date::get_month
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_get_month" soup_date_get_month ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO Int32
dateGetMonth ::
(MonadIO m) =>
Date -- _obj
-> m Int32 -- result
dateGetMonth _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_get_month _obj'
touchManagedPtr _obj
return result
data DateGetMonthMethodInfo
instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetMonthMethodInfo Date signature where
overloadedMethod _ = dateGetMonth
-- method Date::get_offset
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_get_offset" soup_date_get_offset ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO Int32
dateGetOffset ::
(MonadIO m) =>
Date -- _obj
-> m Int32 -- result
dateGetOffset _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_get_offset _obj'
touchManagedPtr _obj
return result
data DateGetOffsetMethodInfo
instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetOffsetMethodInfo Date signature where
overloadedMethod _ = dateGetOffset
-- method Date::get_second
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_get_second" soup_date_get_second ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO Int32
dateGetSecond ::
(MonadIO m) =>
Date -- _obj
-> m Int32 -- result
dateGetSecond _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_get_second _obj'
touchManagedPtr _obj
return result
data DateGetSecondMethodInfo
instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetSecondMethodInfo Date signature where
overloadedMethod _ = dateGetSecond
-- method Date::get_utc
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_get_utc" soup_date_get_utc ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO Int32
dateGetUtc ::
(MonadIO m) =>
Date -- _obj
-> m Int32 -- result
dateGetUtc _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_get_utc _obj'
touchManagedPtr _obj
return result
data DateGetUtcMethodInfo
instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetUtcMethodInfo Date signature where
overloadedMethod _ = dateGetUtc
-- method Date::get_year
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_get_year" soup_date_get_year ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO Int32
dateGetYear ::
(MonadIO m) =>
Date -- _obj
-> m Int32 -- result
dateGetYear _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_get_year _obj'
touchManagedPtr _obj
return result
data DateGetYearMethodInfo
instance (signature ~ (m Int32), MonadIO m) => MethodInfo DateGetYearMethodInfo Date signature where
overloadedMethod _ = dateGetYear
-- method Date::is_past
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_is_past" soup_date_is_past ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO CInt
dateIsPast ::
(MonadIO m) =>
Date -- _obj
-> m Bool -- result
dateIsPast _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_is_past _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data DateIsPastMethodInfo
instance (signature ~ (m Bool), MonadIO m) => MethodInfo DateIsPastMethodInfo Date signature where
overloadedMethod _ = dateIsPast
-- method Date::to_string
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Soup" "DateFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_to_string" soup_date_to_string ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
CUInt -> -- format : TInterface "Soup" "DateFormat"
IO CString
dateToString ::
(MonadIO m) =>
Date -- _obj
-> DateFormat -- format
-> m T.Text -- result
dateToString _obj format = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let format' = (fromIntegral . fromEnum) format
result <- soup_date_to_string _obj' format'
checkUnexpectedReturnNULL "soup_date_to_string" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
return result'
data DateToStringMethodInfo
instance (signature ~ (DateFormat -> m T.Text), MonadIO m) => MethodInfo DateToStringMethodInfo Date signature where
overloadedMethod _ = dateToString
-- method Date::to_time_t
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_to_time_t" soup_date_to_time_t ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
IO Int64
dateToTimeT ::
(MonadIO m) =>
Date -- _obj
-> m Int64 -- result
dateToTimeT _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_date_to_time_t _obj'
touchManagedPtr _obj
return result
data DateToTimeTMethodInfo
instance (signature ~ (m Int64), MonadIO m) => MethodInfo DateToTimeTMethodInfo Date signature where
overloadedMethod _ = dateToTimeT
-- method Date::to_timeval
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TInterface "GLib" "TimeVal", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_date_to_timeval" soup_date_to_timeval ::
Ptr Date -> -- _obj : TInterface "Soup" "Date"
Ptr GLib.TimeVal -> -- time : TInterface "GLib" "TimeVal"
IO ()
dateToTimeval ::
(MonadIO m) =>
Date -- _obj
-> m (GLib.TimeVal) -- result
dateToTimeval _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
time <- callocBytes 16 :: IO (Ptr GLib.TimeVal)
soup_date_to_timeval _obj' time
time' <- (wrapPtr GLib.TimeVal) time
touchManagedPtr _obj
return time'
data DateToTimevalMethodInfo
instance (signature ~ (m (GLib.TimeVal)), MonadIO m) => MethodInfo DateToTimevalMethodInfo Date signature where
overloadedMethod _ = dateToTimeval
type family ResolveDateMethod (t :: Symbol) (o :: *) :: * where
ResolveDateMethod "copy" o = DateCopyMethodInfo
ResolveDateMethod "free" o = DateFreeMethodInfo
ResolveDateMethod "isPast" o = DateIsPastMethodInfo
ResolveDateMethod "toString" o = DateToStringMethodInfo
ResolveDateMethod "toTimeT" o = DateToTimeTMethodInfo
ResolveDateMethod "toTimeval" o = DateToTimevalMethodInfo
ResolveDateMethod "getDay" o = DateGetDayMethodInfo
ResolveDateMethod "getHour" o = DateGetHourMethodInfo
ResolveDateMethod "getMinute" o = DateGetMinuteMethodInfo
ResolveDateMethod "getMonth" o = DateGetMonthMethodInfo
ResolveDateMethod "getOffset" o = DateGetOffsetMethodInfo
ResolveDateMethod "getSecond" o = DateGetSecondMethodInfo
ResolveDateMethod "getUtc" o = DateGetUtcMethodInfo
ResolveDateMethod "getYear" o = DateGetYearMethodInfo
ResolveDateMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveDateMethod t Date, MethodInfo info Date p) => IsLabelProxy t (Date -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDateMethod t Date, MethodInfo info Date p) => IsLabel t (Date -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif