{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Secret.Objects.Prompt
(
Prompt(..) ,
IsPrompt ,
toPrompt ,
#if defined(ENABLE_OVERLOADING)
ResolvePromptMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
PromptPerformMethodInfo ,
#endif
promptPerform ,
#if defined(ENABLE_OVERLOADING)
PromptPerformFinishMethodInfo ,
#endif
promptPerformFinish ,
#if defined(ENABLE_OVERLOADING)
PromptPerformSyncMethodInfo ,
#endif
promptPerformSync ,
#if defined(ENABLE_OVERLOADING)
PromptRunMethodInfo ,
#endif
promptRun ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Structs.VariantType as GLib.VariantType
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncInitable as Gio.AsyncInitable
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Interfaces.DBusInterface as Gio.DBusInterface
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gio.Objects.DBusProxy as Gio.DBusProxy
#else
import qualified GI.GLib.Structs.VariantType as GLib.VariantType
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncInitable as Gio.AsyncInitable
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Interfaces.DBusInterface as Gio.DBusInterface
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gio.Objects.DBusProxy as Gio.DBusProxy
#endif
newtype Prompt = Prompt (SP.ManagedPtr Prompt)
deriving (Prompt -> Prompt -> Bool
(Prompt -> Prompt -> Bool)
-> (Prompt -> Prompt -> Bool) -> Eq Prompt
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Prompt -> Prompt -> Bool
== :: Prompt -> Prompt -> Bool
$c/= :: Prompt -> Prompt -> Bool
/= :: Prompt -> Prompt -> Bool
Eq)
instance SP.ManagedPtrNewtype Prompt where
toManagedPtr :: Prompt -> ManagedPtr Prompt
toManagedPtr (Prompt ManagedPtr Prompt
p) = ManagedPtr Prompt
p
foreign import ccall "secret_prompt_get_type"
c_secret_prompt_get_type :: IO B.Types.GType
instance B.Types.TypedObject Prompt where
glibType :: IO GType
glibType = IO GType
c_secret_prompt_get_type
instance B.Types.GObject Prompt
class (SP.GObject o, O.IsDescendantOf Prompt o) => IsPrompt o
instance (SP.GObject o, O.IsDescendantOf Prompt o) => IsPrompt o
instance O.HasParentTypes Prompt
type instance O.ParentTypes Prompt = '[Gio.DBusProxy.DBusProxy, GObject.Object.Object, Gio.AsyncInitable.AsyncInitable, Gio.DBusInterface.DBusInterface, Gio.Initable.Initable]
toPrompt :: (MIO.MonadIO m, IsPrompt o) => o -> m Prompt
toPrompt :: forall (m :: * -> *) o. (MonadIO m, IsPrompt o) => o -> m Prompt
toPrompt = IO Prompt -> m Prompt
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Prompt -> m Prompt) -> (o -> IO Prompt) -> o -> m Prompt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Prompt -> Prompt) -> o -> IO Prompt
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Prompt -> Prompt
Prompt
instance B.GValue.IsGValue (Maybe Prompt) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_secret_prompt_get_type
gvalueSet_ :: Ptr GValue -> Maybe Prompt -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Prompt
P.Nothing = Ptr GValue -> Ptr Prompt -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Prompt
forall a. Ptr a
FP.nullPtr :: FP.Ptr Prompt)
gvalueSet_ Ptr GValue
gv (P.Just Prompt
obj) = Prompt -> (Ptr Prompt -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Prompt
obj (Ptr GValue -> Ptr Prompt -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Prompt)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr Prompt)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Prompt)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject Prompt ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolvePromptMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolvePromptMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolvePromptMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolvePromptMethod "call" o = Gio.DBusProxy.DBusProxyCallMethodInfo
ResolvePromptMethod "callFinish" o = Gio.DBusProxy.DBusProxyCallFinishMethodInfo
ResolvePromptMethod "callSync" o = Gio.DBusProxy.DBusProxyCallSyncMethodInfo
ResolvePromptMethod "callWithUnixFdList" o = Gio.DBusProxy.DBusProxyCallWithUnixFdListMethodInfo
ResolvePromptMethod "callWithUnixFdListFinish" o = Gio.DBusProxy.DBusProxyCallWithUnixFdListFinishMethodInfo
ResolvePromptMethod "callWithUnixFdListSync" o = Gio.DBusProxy.DBusProxyCallWithUnixFdListSyncMethodInfo
ResolvePromptMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolvePromptMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolvePromptMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolvePromptMethod "init" o = Gio.Initable.InitableInitMethodInfo
ResolvePromptMethod "initAsync" o = Gio.AsyncInitable.AsyncInitableInitAsyncMethodInfo
ResolvePromptMethod "initFinish" o = Gio.AsyncInitable.AsyncInitableInitFinishMethodInfo
ResolvePromptMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolvePromptMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolvePromptMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolvePromptMethod "perform" o = PromptPerformMethodInfo
ResolvePromptMethod "performFinish" o = PromptPerformFinishMethodInfo
ResolvePromptMethod "performSync" o = PromptPerformSyncMethodInfo
ResolvePromptMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolvePromptMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolvePromptMethod "run" o = PromptRunMethodInfo
ResolvePromptMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolvePromptMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolvePromptMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolvePromptMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolvePromptMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolvePromptMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolvePromptMethod "getCachedProperty" o = Gio.DBusProxy.DBusProxyGetCachedPropertyMethodInfo
ResolvePromptMethod "getCachedPropertyNames" o = Gio.DBusProxy.DBusProxyGetCachedPropertyNamesMethodInfo
ResolvePromptMethod "getConnection" o = Gio.DBusProxy.DBusProxyGetConnectionMethodInfo
ResolvePromptMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolvePromptMethod "getDefaultTimeout" o = Gio.DBusProxy.DBusProxyGetDefaultTimeoutMethodInfo
ResolvePromptMethod "getFlags" o = Gio.DBusProxy.DBusProxyGetFlagsMethodInfo
ResolvePromptMethod "getInfo" o = Gio.DBusInterface.DBusInterfaceGetInfoMethodInfo
ResolvePromptMethod "getInterfaceInfo" o = Gio.DBusProxy.DBusProxyGetInterfaceInfoMethodInfo
ResolvePromptMethod "getInterfaceName" o = Gio.DBusProxy.DBusProxyGetInterfaceNameMethodInfo
ResolvePromptMethod "getName" o = Gio.DBusProxy.DBusProxyGetNameMethodInfo
ResolvePromptMethod "getNameOwner" o = Gio.DBusProxy.DBusProxyGetNameOwnerMethodInfo
ResolvePromptMethod "getObject" o = Gio.DBusInterface.DBusInterfaceGetObjectMethodInfo
ResolvePromptMethod "getObjectPath" o = Gio.DBusProxy.DBusProxyGetObjectPathMethodInfo
ResolvePromptMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolvePromptMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolvePromptMethod "setCachedProperty" o = Gio.DBusProxy.DBusProxySetCachedPropertyMethodInfo
ResolvePromptMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolvePromptMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolvePromptMethod "setDefaultTimeout" o = Gio.DBusProxy.DBusProxySetDefaultTimeoutMethodInfo
ResolvePromptMethod "setInterfaceInfo" o = Gio.DBusProxy.DBusProxySetInterfaceInfoMethodInfo
ResolvePromptMethod "setObject" o = Gio.DBusInterface.DBusInterfaceSetObjectMethodInfo
ResolvePromptMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolvePromptMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePromptMethod t Prompt, O.OverloadedMethod info Prompt p) => OL.IsLabel t (Prompt -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel :: Prompt -> p
fromLabel = forall {k} (i :: k) o s. OverloadedMethod i o s => o -> s
forall i o s. OverloadedMethod i o s => o -> s
O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolvePromptMethod t Prompt, O.OverloadedMethod info Prompt p, R.HasField t Prompt p) => R.HasField t Prompt p where
getField :: Prompt -> p
getField = forall {k} (i :: k) o s. OverloadedMethod i o s => o -> s
forall i o s. OverloadedMethod i o s => o -> s
O.overloadedMethod @info
#endif
instance (info ~ ResolvePromptMethod t Prompt, O.OverloadedMethodInfo info Prompt) => OL.IsLabel t (O.MethodProxy info Prompt) where
#if MIN_VERSION_base(4,10,0)
fromLabel :: MethodProxy info Prompt
fromLabel = MethodProxy info Prompt
forall info obj. MethodProxy info obj
O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Prompt
type instance O.AttributeList Prompt = PromptAttributeList
type PromptAttributeList = ('[ '("gBusType", Gio.DBusProxy.DBusProxyGBusTypePropertyInfo), '("gConnection", Gio.DBusProxy.DBusProxyGConnectionPropertyInfo), '("gDefaultTimeout", Gio.DBusProxy.DBusProxyGDefaultTimeoutPropertyInfo), '("gFlags", Gio.DBusProxy.DBusProxyGFlagsPropertyInfo), '("gInterfaceInfo", Gio.DBusProxy.DBusProxyGInterfaceInfoPropertyInfo), '("gInterfaceName", Gio.DBusProxy.DBusProxyGInterfaceNamePropertyInfo), '("gName", Gio.DBusProxy.DBusProxyGNamePropertyInfo), '("gNameOwner", Gio.DBusProxy.DBusProxyGNameOwnerPropertyInfo), '("gObjectPath", Gio.DBusProxy.DBusProxyGObjectPathPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Prompt = PromptSignalList
type PromptSignalList = ('[ '("gPropertiesChanged", Gio.DBusProxy.DBusProxyGPropertiesChangedSignalInfo), '("gSignal", Gio.DBusProxy.DBusProxyGSignalSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "secret_prompt_perform" secret_prompt_perform ::
Ptr Prompt ->
CString ->
Ptr GLib.VariantType.VariantType ->
Ptr Gio.Cancellable.Cancellable ->
FunPtr Gio.Callbacks.C_AsyncReadyCallback ->
Ptr () ->
IO ()
promptPerform ::
(B.CallStack.HasCallStack, MonadIO m, IsPrompt a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (T.Text)
-> GLib.VariantType.VariantType
-> Maybe (b)
-> Maybe (Gio.Callbacks.AsyncReadyCallback)
-> m ()
promptPerform :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPrompt a, IsCancellable b) =>
a
-> Maybe Text
-> VariantType
-> Maybe b
-> Maybe AsyncReadyCallback
-> m ()
promptPerform a
self Maybe Text
windowId VariantType
returnType Maybe b
cancellable Maybe AsyncReadyCallback
callback = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
self' <- a -> IO (Ptr Prompt)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
maybeWindowId <- case windowId of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jWindowId -> do
jWindowId' <- Text -> IO (Ptr CChar)
textToCString Text
jWindowId
return jWindowId'
returnType' <- unsafeManagedPtrGetPtr returnType
maybeCancellable <- case cancellable of
Maybe b
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
FP.nullPtr
Just b
jCancellable -> do
jCancellable' <- b -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jCancellable
return jCancellable'
maybeCallback <- case callback of
Maybe AsyncReadyCallback
Nothing -> FunPtr C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_AsyncReadyCallback
forall a. FunPtr a
FP.nullFunPtr
Just AsyncReadyCallback
jCallback -> do
ptrcallback <- IO (Ptr (FunPtr C_AsyncReadyCallback))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))
poke ptrcallback jCallback'
return jCallback'
let userData = Ptr a
forall a. Ptr a
nullPtr
secret_prompt_perform self' maybeWindowId returnType' maybeCancellable maybeCallback userData
touchManagedPtr self
touchManagedPtr returnType
whenJust cancellable touchManagedPtr
freeMem maybeWindowId
return ()
#if defined(ENABLE_OVERLOADING)
data PromptPerformMethodInfo
instance (signature ~ (Maybe (T.Text) -> GLib.VariantType.VariantType -> Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsPrompt a, Gio.Cancellable.IsCancellable b) => O.OverloadedMethod PromptPerformMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a
-> Maybe Text
-> VariantType
-> Maybe b
-> Maybe AsyncReadyCallback
-> m ()
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPrompt a, IsCancellable b) =>
a
-> Maybe Text
-> VariantType
-> Maybe b
-> Maybe AsyncReadyCallback
-> m ()
promptPerform
instance O.OverloadedMethodInfo PromptPerformMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Secret.Objects.Prompt.promptPerform",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-secret-0.0.20/docs/GI-Secret-Objects-Prompt.html#v:promptPerform"
})
#endif
foreign import ccall "secret_prompt_perform_finish" secret_prompt_perform_finish ::
Ptr Prompt ->
Ptr Gio.AsyncResult.AsyncResult ->
Ptr (Ptr GError) ->
IO (Ptr GVariant)
promptPerformFinish ::
(B.CallStack.HasCallStack, MonadIO m, IsPrompt a, Gio.AsyncResult.IsAsyncResult b) =>
a
-> b
-> m GVariant
promptPerformFinish :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPrompt a, IsAsyncResult b) =>
a -> b -> m GVariant
promptPerformFinish a
self b
result_ = IO GVariant -> m GVariant
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GVariant -> m GVariant) -> IO GVariant -> m GVariant
forall a b. (a -> b) -> a -> b
$ do
self' <- a -> IO (Ptr Prompt)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
result_' <- unsafeManagedPtrCastPtr result_
onException (do
result <- propagateGError $ secret_prompt_perform_finish self' result_'
checkUnexpectedReturnNULL "promptPerformFinish" result
result' <- B.GVariant.wrapGVariantPtr result
touchManagedPtr self
touchManagedPtr result_
return result'
) (do
return ()
)
#if defined(ENABLE_OVERLOADING)
data PromptPerformFinishMethodInfo
instance (signature ~ (b -> m GVariant), MonadIO m, IsPrompt a, Gio.AsyncResult.IsAsyncResult b) => O.OverloadedMethod PromptPerformFinishMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> b -> m GVariant
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPrompt a, IsAsyncResult b) =>
a -> b -> m GVariant
promptPerformFinish
instance O.OverloadedMethodInfo PromptPerformFinishMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Secret.Objects.Prompt.promptPerformFinish",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-secret-0.0.20/docs/GI-Secret-Objects-Prompt.html#v:promptPerformFinish"
})
#endif
foreign import ccall "secret_prompt_perform_sync" secret_prompt_perform_sync ::
Ptr Prompt ->
CString ->
Ptr Gio.Cancellable.Cancellable ->
Ptr GLib.VariantType.VariantType ->
Ptr (Ptr GError) ->
IO (Ptr GVariant)
promptPerformSync ::
(B.CallStack.HasCallStack, MonadIO m, IsPrompt a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (T.Text)
-> Maybe (b)
-> GLib.VariantType.VariantType
-> m GVariant
promptPerformSync :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPrompt a, IsCancellable b) =>
a -> Maybe Text -> Maybe b -> VariantType -> m GVariant
promptPerformSync a
self Maybe Text
windowId Maybe b
cancellable VariantType
returnType = IO GVariant -> m GVariant
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GVariant -> m GVariant) -> IO GVariant -> m GVariant
forall a b. (a -> b) -> a -> b
$ do
self' <- a -> IO (Ptr Prompt)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
maybeWindowId <- case windowId of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jWindowId -> do
jWindowId' <- Text -> IO (Ptr CChar)
textToCString Text
jWindowId
return jWindowId'
maybeCancellable <- case cancellable of
Maybe b
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
FP.nullPtr
Just b
jCancellable -> do
jCancellable' <- b -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jCancellable
return jCancellable'
returnType' <- unsafeManagedPtrGetPtr returnType
onException (do
result <- propagateGError $ secret_prompt_perform_sync self' maybeWindowId maybeCancellable returnType'
checkUnexpectedReturnNULL "promptPerformSync" result
result' <- B.GVariant.wrapGVariantPtr result
touchManagedPtr self
whenJust cancellable touchManagedPtr
touchManagedPtr returnType
freeMem maybeWindowId
return result'
) (do
freeMem maybeWindowId
)
#if defined(ENABLE_OVERLOADING)
data PromptPerformSyncMethodInfo
instance (signature ~ (Maybe (T.Text) -> Maybe (b) -> GLib.VariantType.VariantType -> m GVariant), MonadIO m, IsPrompt a, Gio.Cancellable.IsCancellable b) => O.OverloadedMethod PromptPerformSyncMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Maybe Text -> Maybe b -> VariantType -> m GVariant
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPrompt a, IsCancellable b) =>
a -> Maybe Text -> Maybe b -> VariantType -> m GVariant
promptPerformSync
instance O.OverloadedMethodInfo PromptPerformSyncMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Secret.Objects.Prompt.promptPerformSync",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-secret-0.0.20/docs/GI-Secret-Objects-Prompt.html#v:promptPerformSync"
})
#endif
foreign import ccall "secret_prompt_run" secret_prompt_run ::
Ptr Prompt ->
CString ->
Ptr Gio.Cancellable.Cancellable ->
Ptr GLib.VariantType.VariantType ->
Ptr (Ptr GError) ->
IO (Ptr GVariant)
promptRun ::
(B.CallStack.HasCallStack, MonadIO m, IsPrompt a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (T.Text)
-> Maybe (b)
-> GLib.VariantType.VariantType
-> m GVariant
promptRun :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPrompt a, IsCancellable b) =>
a -> Maybe Text -> Maybe b -> VariantType -> m GVariant
promptRun a
self Maybe Text
windowId Maybe b
cancellable VariantType
returnType = IO GVariant -> m GVariant
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GVariant -> m GVariant) -> IO GVariant -> m GVariant
forall a b. (a -> b) -> a -> b
$ do
self' <- a -> IO (Ptr Prompt)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
maybeWindowId <- case windowId of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
FP.nullPtr
Just Text
jWindowId -> do
jWindowId' <- Text -> IO (Ptr CChar)
textToCString Text
jWindowId
return jWindowId'
maybeCancellable <- case cancellable of
Maybe b
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
FP.nullPtr
Just b
jCancellable -> do
jCancellable' <- b -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jCancellable
return jCancellable'
returnType' <- unsafeManagedPtrGetPtr returnType
onException (do
result <- propagateGError $ secret_prompt_run self' maybeWindowId maybeCancellable returnType'
checkUnexpectedReturnNULL "promptRun" result
result' <- B.GVariant.wrapGVariantPtr result
touchManagedPtr self
whenJust cancellable touchManagedPtr
touchManagedPtr returnType
freeMem maybeWindowId
return result'
) (do
freeMem maybeWindowId
)
#if defined(ENABLE_OVERLOADING)
data PromptRunMethodInfo
instance (signature ~ (Maybe (T.Text) -> Maybe (b) -> GLib.VariantType.VariantType -> m GVariant), MonadIO m, IsPrompt a, Gio.Cancellable.IsCancellable b) => O.OverloadedMethod PromptRunMethodInfo a signature where
overloadedMethod :: a -> signature
overloadedMethod = a -> signature
a -> Maybe Text -> Maybe b -> VariantType -> m GVariant
forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPrompt a, IsCancellable b) =>
a -> Maybe Text -> Maybe b -> VariantType -> m GVariant
promptRun
instance O.OverloadedMethodInfo PromptRunMethodInfo a where
overloadedMethodInfo :: Maybe ResolvedSymbolInfo
overloadedMethodInfo = ResolvedSymbolInfo -> Maybe ResolvedSymbolInfo
forall a. a -> Maybe a
P.Just (O.ResolvedSymbolInfo {
resolvedSymbolName :: Text
O.resolvedSymbolName = Text
"GI.Secret.Objects.Prompt.promptRun",
resolvedSymbolURL :: Text
O.resolvedSymbolURL = Text
"https://hackage.haskell.org/package/gi-secret-0.0.20/docs/GI-Secret-Objects-Prompt.html#v:promptRun"
})
#endif