{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Ggit.Objects.Signature
(
Signature(..) ,
IsSignature ,
toSignature ,
#if defined(ENABLE_OVERLOADING)
ResolveSignatureMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
SignatureCopyMethodInfo ,
#endif
signatureCopy ,
#if defined(ENABLE_OVERLOADING)
SignatureGetEmailMethodInfo ,
#endif
signatureGetEmail ,
#if defined(ENABLE_OVERLOADING)
SignatureGetNameMethodInfo ,
#endif
signatureGetName ,
#if defined(ENABLE_OVERLOADING)
SignatureGetTimeMethodInfo ,
#endif
signatureGetTime ,
#if defined(ENABLE_OVERLOADING)
SignatureGetTimeZoneMethodInfo ,
#endif
signatureGetTimeZone ,
signatureNew ,
signatureNewNow ,
#if defined(ENABLE_OVERLOADING)
SignatureEncodingPropertyInfo ,
#endif
constructSignatureEncoding ,
getSignatureEncoding ,
#if defined(ENABLE_OVERLOADING)
signatureEncoding ,
#endif
) 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
import qualified GI.GLib.Structs.TimeZone as GLib.TimeZone
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Ggit.Objects.Native as Ggit.Native
import {-# SOURCE #-} qualified GI.Ggit.Objects.ObjectFactoryBase as Ggit.ObjectFactoryBase
newtype Signature = Signature (SP.ManagedPtr Signature)
deriving (Signature -> Signature -> Bool
(Signature -> Signature -> Bool)
-> (Signature -> Signature -> Bool) -> Eq Signature
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Signature -> Signature -> Bool
$c/= :: Signature -> Signature -> Bool
== :: Signature -> Signature -> Bool
$c== :: Signature -> Signature -> Bool
Eq)
instance SP.ManagedPtrNewtype Signature where
toManagedPtr :: Signature -> ManagedPtr Signature
toManagedPtr (Signature ManagedPtr Signature
p) = ManagedPtr Signature
p
foreign import ccall "ggit_signature_get_type"
c_ggit_signature_get_type :: IO B.Types.GType
instance B.Types.TypedObject Signature where
glibType :: IO GType
glibType = IO GType
c_ggit_signature_get_type
instance B.Types.GObject Signature
instance B.GValue.IsGValue Signature where
toGValue :: Signature -> IO GValue
toGValue Signature
o = do
GType
gtype <- IO GType
c_ggit_signature_get_type
Signature -> (Ptr Signature -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Signature
o (GType
-> (GValue -> Ptr Signature -> IO ()) -> Ptr Signature -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Signature -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO Signature
fromGValue GValue
gv = do
Ptr Signature
ptr <- GValue -> IO (Ptr Signature)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Signature)
(ManagedPtr Signature -> Signature)
-> Ptr Signature -> IO Signature
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Signature -> Signature
Signature Ptr Signature
ptr
class (SP.GObject o, O.IsDescendantOf Signature o) => IsSignature o
instance (SP.GObject o, O.IsDescendantOf Signature o) => IsSignature o
instance O.HasParentTypes Signature
type instance O.ParentTypes Signature = '[Ggit.Native.Native, Ggit.ObjectFactoryBase.ObjectFactoryBase, GObject.Object.Object]
toSignature :: (MonadIO m, IsSignature o) => o -> m Signature
toSignature :: o -> m Signature
toSignature = IO Signature -> m Signature
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Signature -> m Signature)
-> (o -> IO Signature) -> o -> m Signature
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Signature -> Signature) -> o -> IO Signature
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Signature -> Signature
Signature
#if defined(ENABLE_OVERLOADING)
type family ResolveSignatureMethod (t :: Symbol) (o :: *) :: * where
ResolveSignatureMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveSignatureMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveSignatureMethod "copy" o = SignatureCopyMethodInfo
ResolveSignatureMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveSignatureMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveSignatureMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveSignatureMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveSignatureMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveSignatureMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveSignatureMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveSignatureMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveSignatureMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveSignatureMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveSignatureMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveSignatureMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveSignatureMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveSignatureMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveSignatureMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveSignatureMethod "getEmail" o = SignatureGetEmailMethodInfo
ResolveSignatureMethod "getName" o = SignatureGetNameMethodInfo
ResolveSignatureMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveSignatureMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveSignatureMethod "getTime" o = SignatureGetTimeMethodInfo
ResolveSignatureMethod "getTimeZone" o = SignatureGetTimeZoneMethodInfo
ResolveSignatureMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveSignatureMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveSignatureMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveSignatureMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSignatureMethod t Signature, O.MethodInfo info Signature p) => OL.IsLabel t (Signature -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getSignatureEncoding :: (MonadIO m, IsSignature o) => o -> m (Maybe T.Text)
getSignatureEncoding :: o -> m (Maybe Text)
getSignatureEncoding o
obj = 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
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"encoding"
constructSignatureEncoding :: (IsSignature o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSignatureEncoding :: Text -> m (GValueConstruct o)
constructSignatureEncoding Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"encoding" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data SignatureEncodingPropertyInfo
instance AttrInfo SignatureEncodingPropertyInfo where
type AttrAllowedOps SignatureEncodingPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint SignatureEncodingPropertyInfo = IsSignature
type AttrSetTypeConstraint SignatureEncodingPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint SignatureEncodingPropertyInfo = (~) T.Text
type AttrTransferType SignatureEncodingPropertyInfo = T.Text
type AttrGetType SignatureEncodingPropertyInfo = (Maybe T.Text)
type AttrLabel SignatureEncodingPropertyInfo = "encoding"
type AttrOrigin SignatureEncodingPropertyInfo = Signature
attrGet = getSignatureEncoding
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructSignatureEncoding
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Signature
type instance O.AttributeList Signature = SignatureAttributeList
type SignatureAttributeList = ('[ '("encoding", SignatureEncodingPropertyInfo), '("native", Ggit.Native.NativeNativePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
signatureEncoding :: AttrLabelProxy "encoding"
signatureEncoding = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Signature = SignatureSignalList
type SignatureSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "ggit_signature_new" ggit_signature_new ::
CString ->
CString ->
Ptr GLib.DateTime.DateTime ->
Ptr (Ptr GError) ->
IO (Ptr Signature)
signatureNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> T.Text
-> GLib.DateTime.DateTime
-> m (Maybe Signature)
signatureNew :: Text -> Text -> DateTime -> m (Maybe Signature)
signatureNew Text
name Text
email DateTime
signatureTime = IO (Maybe Signature) -> m (Maybe Signature)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Signature) -> m (Maybe Signature))
-> IO (Maybe Signature) -> m (Maybe Signature)
forall a b. (a -> b) -> a -> b
$ do
CString
name' <- Text -> IO CString
textToCString Text
name
CString
email' <- Text -> IO CString
textToCString Text
email
Ptr DateTime
signatureTime' <- DateTime -> IO (Ptr DateTime)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr DateTime
signatureTime
IO (Maybe Signature) -> IO () -> IO (Maybe Signature)
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Signature
result <- (Ptr (Ptr GError) -> IO (Ptr Signature)) -> IO (Ptr Signature)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Signature)) -> IO (Ptr Signature))
-> (Ptr (Ptr GError) -> IO (Ptr Signature)) -> IO (Ptr Signature)
forall a b. (a -> b) -> a -> b
$ CString
-> CString
-> Ptr DateTime
-> Ptr (Ptr GError)
-> IO (Ptr Signature)
ggit_signature_new CString
name' CString
email' Ptr DateTime
signatureTime'
Maybe Signature
maybeResult <- Ptr Signature
-> (Ptr Signature -> IO Signature) -> IO (Maybe Signature)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Signature
result ((Ptr Signature -> IO Signature) -> IO (Maybe Signature))
-> (Ptr Signature -> IO Signature) -> IO (Maybe Signature)
forall a b. (a -> b) -> a -> b
$ \Ptr Signature
result' -> do
Signature
result'' <- ((ManagedPtr Signature -> Signature)
-> Ptr Signature -> IO Signature
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Signature -> Signature
Signature) Ptr Signature
result'
Signature -> IO Signature
forall (m :: * -> *) a. Monad m => a -> m a
return Signature
result''
DateTime -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr DateTime
signatureTime
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
email'
Maybe Signature -> IO (Maybe Signature)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Signature
maybeResult
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
email'
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ggit_signature_new_now" ggit_signature_new_now ::
CString ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr Signature)
signatureNewNow ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> T.Text
-> m (Maybe Signature)
signatureNewNow :: Text -> Text -> m (Maybe Signature)
signatureNewNow Text
name Text
email = IO (Maybe Signature) -> m (Maybe Signature)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Signature) -> m (Maybe Signature))
-> IO (Maybe Signature) -> m (Maybe Signature)
forall a b. (a -> b) -> a -> b
$ do
CString
name' <- Text -> IO CString
textToCString Text
name
CString
email' <- Text -> IO CString
textToCString Text
email
IO (Maybe Signature) -> IO () -> IO (Maybe Signature)
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Signature
result <- (Ptr (Ptr GError) -> IO (Ptr Signature)) -> IO (Ptr Signature)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Signature)) -> IO (Ptr Signature))
-> (Ptr (Ptr GError) -> IO (Ptr Signature)) -> IO (Ptr Signature)
forall a b. (a -> b) -> a -> b
$ CString -> CString -> Ptr (Ptr GError) -> IO (Ptr Signature)
ggit_signature_new_now CString
name' CString
email'
Maybe Signature
maybeResult <- Ptr Signature
-> (Ptr Signature -> IO Signature) -> IO (Maybe Signature)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Signature
result ((Ptr Signature -> IO Signature) -> IO (Maybe Signature))
-> (Ptr Signature -> IO Signature) -> IO (Maybe Signature)
forall a b. (a -> b) -> a -> b
$ \Ptr Signature
result' -> do
Signature
result'' <- ((ManagedPtr Signature -> Signature)
-> Ptr Signature -> IO Signature
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Signature -> Signature
Signature) Ptr Signature
result'
Signature -> IO Signature
forall (m :: * -> *) a. Monad m => a -> m a
return Signature
result''
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
email'
Maybe Signature -> IO (Maybe Signature)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Signature
maybeResult
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
email'
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ggit_signature_copy" ggit_signature_copy ::
Ptr Signature ->
IO (Ptr Signature)
signatureCopy ::
(B.CallStack.HasCallStack, MonadIO m, IsSignature a) =>
a
-> m (Maybe Signature)
signatureCopy :: a -> m (Maybe Signature)
signatureCopy a
signature = IO (Maybe Signature) -> m (Maybe Signature)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Signature) -> m (Maybe Signature))
-> IO (Maybe Signature) -> m (Maybe Signature)
forall a b. (a -> b) -> a -> b
$ do
Ptr Signature
signature' <- a -> IO (Ptr Signature)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
signature
Ptr Signature
result <- Ptr Signature -> IO (Ptr Signature)
ggit_signature_copy Ptr Signature
signature'
Maybe Signature
maybeResult <- Ptr Signature
-> (Ptr Signature -> IO Signature) -> IO (Maybe Signature)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Signature
result ((Ptr Signature -> IO Signature) -> IO (Maybe Signature))
-> (Ptr Signature -> IO Signature) -> IO (Maybe Signature)
forall a b. (a -> b) -> a -> b
$ \Ptr Signature
result' -> do
Signature
result'' <- ((ManagedPtr Signature -> Signature)
-> Ptr Signature -> IO Signature
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Signature -> Signature
Signature) Ptr Signature
result'
Signature -> IO Signature
forall (m :: * -> *) a. Monad m => a -> m a
return Signature
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
signature
Maybe Signature -> IO (Maybe Signature)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Signature
maybeResult
#if defined(ENABLE_OVERLOADING)
data SignatureCopyMethodInfo
instance (signature ~ (m (Maybe Signature)), MonadIO m, IsSignature a) => O.MethodInfo SignatureCopyMethodInfo a signature where
overloadedMethod = signatureCopy
#endif
foreign import ccall "ggit_signature_get_email" ggit_signature_get_email ::
Ptr Signature ->
IO CString
signatureGetEmail ::
(B.CallStack.HasCallStack, MonadIO m, IsSignature a) =>
a
-> m (Maybe T.Text)
signatureGetEmail :: a -> m (Maybe Text)
signatureGetEmail a
signature = 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 Signature
signature' <- a -> IO (Ptr Signature)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
signature
CString
result <- Ptr Signature -> IO CString
ggit_signature_get_email Ptr Signature
signature'
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'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
signature
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data SignatureGetEmailMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsSignature a) => O.MethodInfo SignatureGetEmailMethodInfo a signature where
overloadedMethod = signatureGetEmail
#endif
foreign import ccall "ggit_signature_get_name" ggit_signature_get_name ::
Ptr Signature ->
IO CString
signatureGetName ::
(B.CallStack.HasCallStack, MonadIO m, IsSignature a) =>
a
-> m (Maybe T.Text)
signatureGetName :: a -> m (Maybe Text)
signatureGetName a
signature = 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 Signature
signature' <- a -> IO (Ptr Signature)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
signature
CString
result <- Ptr Signature -> IO CString
ggit_signature_get_name Ptr Signature
signature'
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'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
signature
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data SignatureGetNameMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsSignature a) => O.MethodInfo SignatureGetNameMethodInfo a signature where
overloadedMethod = signatureGetName
#endif
foreign import ccall "ggit_signature_get_time" ggit_signature_get_time ::
Ptr Signature ->
IO (Ptr GLib.DateTime.DateTime)
signatureGetTime ::
(B.CallStack.HasCallStack, MonadIO m, IsSignature a) =>
a
-> m (Maybe GLib.DateTime.DateTime)
signatureGetTime :: a -> m (Maybe DateTime)
signatureGetTime a
signature = 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 Signature
signature' <- a -> IO (Ptr Signature)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
signature
Ptr DateTime
result <- Ptr Signature -> IO (Ptr DateTime)
ggit_signature_get_time Ptr Signature
signature'
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''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
signature
Maybe DateTime -> IO (Maybe DateTime)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DateTime
maybeResult
#if defined(ENABLE_OVERLOADING)
data SignatureGetTimeMethodInfo
instance (signature ~ (m (Maybe GLib.DateTime.DateTime)), MonadIO m, IsSignature a) => O.MethodInfo SignatureGetTimeMethodInfo a signature where
overloadedMethod = signatureGetTime
#endif
foreign import ccall "ggit_signature_get_time_zone" ggit_signature_get_time_zone ::
Ptr Signature ->
IO (Ptr GLib.TimeZone.TimeZone)
signatureGetTimeZone ::
(B.CallStack.HasCallStack, MonadIO m, IsSignature a) =>
a
-> m (Maybe GLib.TimeZone.TimeZone)
signatureGetTimeZone :: a -> m (Maybe TimeZone)
signatureGetTimeZone a
signature = IO (Maybe TimeZone) -> m (Maybe TimeZone)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe TimeZone) -> m (Maybe TimeZone))
-> IO (Maybe TimeZone) -> m (Maybe TimeZone)
forall a b. (a -> b) -> a -> b
$ do
Ptr Signature
signature' <- a -> IO (Ptr Signature)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
signature
Ptr TimeZone
result <- Ptr Signature -> IO (Ptr TimeZone)
ggit_signature_get_time_zone Ptr Signature
signature'
Maybe TimeZone
maybeResult <- Ptr TimeZone
-> (Ptr TimeZone -> IO TimeZone) -> IO (Maybe TimeZone)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr TimeZone
result ((Ptr TimeZone -> IO TimeZone) -> IO (Maybe TimeZone))
-> (Ptr TimeZone -> IO TimeZone) -> IO (Maybe TimeZone)
forall a b. (a -> b) -> a -> b
$ \Ptr TimeZone
result' -> do
TimeZone
result'' <- ((ManagedPtr TimeZone -> TimeZone) -> Ptr TimeZone -> IO TimeZone
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TimeZone -> TimeZone
GLib.TimeZone.TimeZone) Ptr TimeZone
result'
TimeZone -> IO TimeZone
forall (m :: * -> *) a. Monad m => a -> m a
return TimeZone
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
signature
Maybe TimeZone -> IO (Maybe TimeZone)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe TimeZone
maybeResult
#if defined(ENABLE_OVERLOADING)
data SignatureGetTimeZoneMethodInfo
instance (signature ~ (m (Maybe GLib.TimeZone.TimeZone)), MonadIO m, IsSignature a) => O.MethodInfo SignatureGetTimeZoneMethodInfo a signature where
overloadedMethod = signatureGetTimeZone
#endif