{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Ggit.Objects.CredSshKeyFromAgent
(
CredSshKeyFromAgent(..) ,
IsCredSshKeyFromAgent ,
toCredSshKeyFromAgent ,
#if defined(ENABLE_OVERLOADING)
ResolveCredSshKeyFromAgentMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
CredSshKeyFromAgentGetUsernameMethodInfo,
#endif
credSshKeyFromAgentGetUsername ,
credSshKeyFromAgentNew ,
#if defined(ENABLE_OVERLOADING)
CredSshKeyFromAgentUsernamePropertyInfo ,
#endif
constructCredSshKeyFromAgentUsername ,
#if defined(ENABLE_OVERLOADING)
credSshKeyFromAgentUsername ,
#endif
getCredSshKeyFromAgentUsername ,
) 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.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Ggit.Objects.Cred as Ggit.Cred
import {-# SOURCE #-} qualified GI.Ggit.Objects.Native as Ggit.Native
import {-# SOURCE #-} qualified GI.Ggit.Objects.ObjectFactoryBase as Ggit.ObjectFactoryBase
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
newtype CredSshKeyFromAgent = CredSshKeyFromAgent (SP.ManagedPtr CredSshKeyFromAgent)
deriving (CredSshKeyFromAgent -> CredSshKeyFromAgent -> Bool
(CredSshKeyFromAgent -> CredSshKeyFromAgent -> Bool)
-> (CredSshKeyFromAgent -> CredSshKeyFromAgent -> Bool)
-> Eq CredSshKeyFromAgent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CredSshKeyFromAgent -> CredSshKeyFromAgent -> Bool
$c/= :: CredSshKeyFromAgent -> CredSshKeyFromAgent -> Bool
== :: CredSshKeyFromAgent -> CredSshKeyFromAgent -> Bool
$c== :: CredSshKeyFromAgent -> CredSshKeyFromAgent -> Bool
Eq)
instance SP.ManagedPtrNewtype CredSshKeyFromAgent where
toManagedPtr :: CredSshKeyFromAgent -> ManagedPtr CredSshKeyFromAgent
toManagedPtr (CredSshKeyFromAgent ManagedPtr CredSshKeyFromAgent
p) = ManagedPtr CredSshKeyFromAgent
p
foreign import ccall "ggit_cred_ssh_key_from_agent_get_type"
c_ggit_cred_ssh_key_from_agent_get_type :: IO B.Types.GType
instance B.Types.TypedObject CredSshKeyFromAgent where
glibType :: IO GType
glibType = IO GType
c_ggit_cred_ssh_key_from_agent_get_type
instance B.Types.GObject CredSshKeyFromAgent
instance B.GValue.IsGValue CredSshKeyFromAgent where
toGValue :: CredSshKeyFromAgent -> IO GValue
toGValue CredSshKeyFromAgent
o = do
GType
gtype <- IO GType
c_ggit_cred_ssh_key_from_agent_get_type
CredSshKeyFromAgent
-> (Ptr CredSshKeyFromAgent -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr CredSshKeyFromAgent
o (GType
-> (GValue -> Ptr CredSshKeyFromAgent -> IO ())
-> Ptr CredSshKeyFromAgent
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr CredSshKeyFromAgent -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO CredSshKeyFromAgent
fromGValue GValue
gv = do
Ptr CredSshKeyFromAgent
ptr <- GValue -> IO (Ptr CredSshKeyFromAgent)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr CredSshKeyFromAgent)
(ManagedPtr CredSshKeyFromAgent -> CredSshKeyFromAgent)
-> Ptr CredSshKeyFromAgent -> IO CredSshKeyFromAgent
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr CredSshKeyFromAgent -> CredSshKeyFromAgent
CredSshKeyFromAgent Ptr CredSshKeyFromAgent
ptr
class (SP.GObject o, O.IsDescendantOf CredSshKeyFromAgent o) => IsCredSshKeyFromAgent o
instance (SP.GObject o, O.IsDescendantOf CredSshKeyFromAgent o) => IsCredSshKeyFromAgent o
instance O.HasParentTypes CredSshKeyFromAgent
type instance O.ParentTypes CredSshKeyFromAgent = '[Ggit.Cred.Cred, Ggit.Native.Native, Ggit.ObjectFactoryBase.ObjectFactoryBase, GObject.Object.Object, Gio.Initable.Initable]
toCredSshKeyFromAgent :: (MonadIO m, IsCredSshKeyFromAgent o) => o -> m CredSshKeyFromAgent
toCredSshKeyFromAgent :: o -> m CredSshKeyFromAgent
toCredSshKeyFromAgent = IO CredSshKeyFromAgent -> m CredSshKeyFromAgent
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CredSshKeyFromAgent -> m CredSshKeyFromAgent)
-> (o -> IO CredSshKeyFromAgent) -> o -> m CredSshKeyFromAgent
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr CredSshKeyFromAgent -> CredSshKeyFromAgent)
-> o -> IO CredSshKeyFromAgent
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr CredSshKeyFromAgent -> CredSshKeyFromAgent
CredSshKeyFromAgent
#if defined(ENABLE_OVERLOADING)
type family ResolveCredSshKeyFromAgentMethod (t :: Symbol) (o :: *) :: * where
ResolveCredSshKeyFromAgentMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveCredSshKeyFromAgentMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveCredSshKeyFromAgentMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveCredSshKeyFromAgentMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveCredSshKeyFromAgentMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveCredSshKeyFromAgentMethod "init" o = Gio.Initable.InitableInitMethodInfo
ResolveCredSshKeyFromAgentMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveCredSshKeyFromAgentMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveCredSshKeyFromAgentMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveCredSshKeyFromAgentMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveCredSshKeyFromAgentMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveCredSshKeyFromAgentMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveCredSshKeyFromAgentMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveCredSshKeyFromAgentMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveCredSshKeyFromAgentMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveCredSshKeyFromAgentMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveCredSshKeyFromAgentMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveCredSshKeyFromAgentMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveCredSshKeyFromAgentMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveCredSshKeyFromAgentMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveCredSshKeyFromAgentMethod "getUsername" o = CredSshKeyFromAgentGetUsernameMethodInfo
ResolveCredSshKeyFromAgentMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveCredSshKeyFromAgentMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveCredSshKeyFromAgentMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveCredSshKeyFromAgentMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveCredSshKeyFromAgentMethod t CredSshKeyFromAgent, O.MethodInfo info CredSshKeyFromAgent p) => OL.IsLabel t (CredSshKeyFromAgent -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getCredSshKeyFromAgentUsername :: (MonadIO m, IsCredSshKeyFromAgent o) => o -> m (Maybe T.Text)
getCredSshKeyFromAgentUsername :: o -> m (Maybe Text)
getCredSshKeyFromAgentUsername 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
"username"
constructCredSshKeyFromAgentUsername :: (IsCredSshKeyFromAgent o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructCredSshKeyFromAgentUsername :: Text -> m (GValueConstruct o)
constructCredSshKeyFromAgentUsername 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
"username" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data CredSshKeyFromAgentUsernamePropertyInfo
instance AttrInfo CredSshKeyFromAgentUsernamePropertyInfo where
type AttrAllowedOps CredSshKeyFromAgentUsernamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint CredSshKeyFromAgentUsernamePropertyInfo = IsCredSshKeyFromAgent
type AttrSetTypeConstraint CredSshKeyFromAgentUsernamePropertyInfo = (~) T.Text
type AttrTransferTypeConstraint CredSshKeyFromAgentUsernamePropertyInfo = (~) T.Text
type AttrTransferType CredSshKeyFromAgentUsernamePropertyInfo = T.Text
type AttrGetType CredSshKeyFromAgentUsernamePropertyInfo = (Maybe T.Text)
type AttrLabel CredSshKeyFromAgentUsernamePropertyInfo = "username"
type AttrOrigin CredSshKeyFromAgentUsernamePropertyInfo = CredSshKeyFromAgent
attrGet = getCredSshKeyFromAgentUsername
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructCredSshKeyFromAgentUsername
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList CredSshKeyFromAgent
type instance O.AttributeList CredSshKeyFromAgent = CredSshKeyFromAgentAttributeList
type CredSshKeyFromAgentAttributeList = ('[ '("native", Ggit.Native.NativeNativePropertyInfo), '("username", CredSshKeyFromAgentUsernamePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
credSshKeyFromAgentUsername :: AttrLabelProxy "username"
credSshKeyFromAgentUsername = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList CredSshKeyFromAgent = CredSshKeyFromAgentSignalList
type CredSshKeyFromAgentSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "ggit_cred_ssh_key_from_agent_new" ggit_cred_ssh_key_from_agent_new ::
CString ->
Ptr (Ptr GError) ->
IO (Ptr CredSshKeyFromAgent)
credSshKeyFromAgentNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe CredSshKeyFromAgent)
credSshKeyFromAgentNew :: Text -> m (Maybe CredSshKeyFromAgent)
credSshKeyFromAgentNew Text
username = IO (Maybe CredSshKeyFromAgent) -> m (Maybe CredSshKeyFromAgent)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe CredSshKeyFromAgent) -> m (Maybe CredSshKeyFromAgent))
-> IO (Maybe CredSshKeyFromAgent) -> m (Maybe CredSshKeyFromAgent)
forall a b. (a -> b) -> a -> b
$ do
CString
username' <- Text -> IO CString
textToCString Text
username
IO (Maybe CredSshKeyFromAgent)
-> IO () -> IO (Maybe CredSshKeyFromAgent)
forall a b. IO a -> IO b -> IO a
onException (do
Ptr CredSshKeyFromAgent
result <- (Ptr (Ptr GError) -> IO (Ptr CredSshKeyFromAgent))
-> IO (Ptr CredSshKeyFromAgent)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr CredSshKeyFromAgent))
-> IO (Ptr CredSshKeyFromAgent))
-> (Ptr (Ptr GError) -> IO (Ptr CredSshKeyFromAgent))
-> IO (Ptr CredSshKeyFromAgent)
forall a b. (a -> b) -> a -> b
$ CString -> Ptr (Ptr GError) -> IO (Ptr CredSshKeyFromAgent)
ggit_cred_ssh_key_from_agent_new CString
username'
Maybe CredSshKeyFromAgent
maybeResult <- Ptr CredSshKeyFromAgent
-> (Ptr CredSshKeyFromAgent -> IO CredSshKeyFromAgent)
-> IO (Maybe CredSshKeyFromAgent)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr CredSshKeyFromAgent
result ((Ptr CredSshKeyFromAgent -> IO CredSshKeyFromAgent)
-> IO (Maybe CredSshKeyFromAgent))
-> (Ptr CredSshKeyFromAgent -> IO CredSshKeyFromAgent)
-> IO (Maybe CredSshKeyFromAgent)
forall a b. (a -> b) -> a -> b
$ \Ptr CredSshKeyFromAgent
result' -> do
CredSshKeyFromAgent
result'' <- ((ManagedPtr CredSshKeyFromAgent -> CredSshKeyFromAgent)
-> Ptr CredSshKeyFromAgent -> IO CredSshKeyFromAgent
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr CredSshKeyFromAgent -> CredSshKeyFromAgent
CredSshKeyFromAgent) Ptr CredSshKeyFromAgent
result'
CredSshKeyFromAgent -> IO CredSshKeyFromAgent
forall (m :: * -> *) a. Monad m => a -> m a
return CredSshKeyFromAgent
result''
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
username'
Maybe CredSshKeyFromAgent -> IO (Maybe CredSshKeyFromAgent)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe CredSshKeyFromAgent
maybeResult
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
username'
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ggit_cred_ssh_key_from_agent_get_username" ggit_cred_ssh_key_from_agent_get_username ::
Ptr CredSshKeyFromAgent ->
IO CString
credSshKeyFromAgentGetUsername ::
(B.CallStack.HasCallStack, MonadIO m, IsCredSshKeyFromAgent a) =>
a
-> m (Maybe T.Text)
credSshKeyFromAgentGetUsername :: a -> m (Maybe Text)
credSshKeyFromAgentGetUsername a
cred = 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 CredSshKeyFromAgent
cred' <- a -> IO (Ptr CredSshKeyFromAgent)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
cred
CString
result <- Ptr CredSshKeyFromAgent -> IO CString
ggit_cred_ssh_key_from_agent_get_username Ptr CredSshKeyFromAgent
cred'
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
cred
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data CredSshKeyFromAgentGetUsernameMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsCredSshKeyFromAgent a) => O.MethodInfo CredSshKeyFromAgentGetUsernameMethodInfo a signature where
overloadedMethod = credSshKeyFromAgentGetUsername
#endif