{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.DBusAuthObserver
(
DBusAuthObserver(..) ,
IsDBusAuthObserver ,
toDBusAuthObserver ,
#if defined(ENABLE_OVERLOADING)
ResolveDBusAuthObserverMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
DBusAuthObserverAllowMechanismMethodInfo,
#endif
dBusAuthObserverAllowMechanism ,
#if defined(ENABLE_OVERLOADING)
DBusAuthObserverAuthorizeAuthenticatedPeerMethodInfo,
#endif
dBusAuthObserverAuthorizeAuthenticatedPeer,
dBusAuthObserverNew ,
DBusAuthObserverAllowMechanismCallback ,
#if defined(ENABLE_OVERLOADING)
DBusAuthObserverAllowMechanismSignalInfo,
#endif
afterDBusAuthObserverAllowMechanism ,
onDBusAuthObserverAllowMechanism ,
DBusAuthObserverAuthorizeAuthenticatedPeerCallback,
#if defined(ENABLE_OVERLOADING)
DBusAuthObserverAuthorizeAuthenticatedPeerSignalInfo,
#endif
afterDBusAuthObserverAuthorizeAuthenticatedPeer,
onDBusAuthObserverAuthorizeAuthenticatedPeer,
) 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 GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Objects.Credentials as Gio.Credentials
import {-# SOURCE #-} qualified GI.Gio.Objects.IOStream as Gio.IOStream
newtype DBusAuthObserver = DBusAuthObserver (SP.ManagedPtr DBusAuthObserver)
deriving (DBusAuthObserver -> DBusAuthObserver -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DBusAuthObserver -> DBusAuthObserver -> Bool
$c/= :: DBusAuthObserver -> DBusAuthObserver -> Bool
== :: DBusAuthObserver -> DBusAuthObserver -> Bool
$c== :: DBusAuthObserver -> DBusAuthObserver -> Bool
Eq)
instance SP.ManagedPtrNewtype DBusAuthObserver where
toManagedPtr :: DBusAuthObserver -> ManagedPtr DBusAuthObserver
toManagedPtr (DBusAuthObserver ManagedPtr DBusAuthObserver
p) = ManagedPtr DBusAuthObserver
p
foreign import ccall "g_dbus_auth_observer_get_type"
c_g_dbus_auth_observer_get_type :: IO B.Types.GType
instance B.Types.TypedObject DBusAuthObserver where
glibType :: IO GType
glibType = IO GType
c_g_dbus_auth_observer_get_type
instance B.Types.GObject DBusAuthObserver
class (SP.GObject o, O.IsDescendantOf DBusAuthObserver o) => IsDBusAuthObserver o
instance (SP.GObject o, O.IsDescendantOf DBusAuthObserver o) => IsDBusAuthObserver o
instance O.HasParentTypes DBusAuthObserver
type instance O.ParentTypes DBusAuthObserver = '[GObject.Object.Object]
toDBusAuthObserver :: (MIO.MonadIO m, IsDBusAuthObserver o) => o -> m DBusAuthObserver
toDBusAuthObserver :: forall (m :: * -> *) o.
(MonadIO m, IsDBusAuthObserver o) =>
o -> m DBusAuthObserver
toDBusAuthObserver = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr DBusAuthObserver -> DBusAuthObserver
DBusAuthObserver
instance B.GValue.IsGValue (Maybe DBusAuthObserver) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_g_dbus_auth_observer_get_type
gvalueSet_ :: Ptr GValue -> Maybe DBusAuthObserver -> IO ()
gvalueSet_ Ptr GValue
gv Maybe DBusAuthObserver
P.Nothing = forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (forall a. Ptr a
FP.nullPtr :: FP.Ptr DBusAuthObserver)
gvalueSet_ Ptr GValue
gv (P.Just DBusAuthObserver
obj) = forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DBusAuthObserver
obj (forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe DBusAuthObserver)
gvalueGet_ Ptr GValue
gv = do
Ptr DBusAuthObserver
ptr <- forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr DBusAuthObserver)
if Ptr DBusAuthObserver
ptr forall a. Eq a => a -> a -> Bool
/= forall a. Ptr a
FP.nullPtr
then forall a. a -> Maybe a
P.Just forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr DBusAuthObserver -> DBusAuthObserver
DBusAuthObserver Ptr DBusAuthObserver
ptr
else forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveDBusAuthObserverMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveDBusAuthObserverMethod "allowMechanism" o = DBusAuthObserverAllowMechanismMethodInfo
ResolveDBusAuthObserverMethod "authorizeAuthenticatedPeer" o = DBusAuthObserverAuthorizeAuthenticatedPeerMethodInfo
ResolveDBusAuthObserverMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveDBusAuthObserverMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveDBusAuthObserverMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveDBusAuthObserverMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveDBusAuthObserverMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveDBusAuthObserverMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveDBusAuthObserverMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveDBusAuthObserverMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveDBusAuthObserverMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveDBusAuthObserverMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveDBusAuthObserverMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveDBusAuthObserverMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveDBusAuthObserverMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveDBusAuthObserverMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveDBusAuthObserverMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveDBusAuthObserverMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveDBusAuthObserverMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveDBusAuthObserverMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveDBusAuthObserverMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveDBusAuthObserverMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveDBusAuthObserverMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveDBusAuthObserverMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDBusAuthObserverMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDBusAuthObserverMethod t DBusAuthObserver, O.OverloadedMethod info DBusAuthObserver p) => OL.IsLabel t (DBusAuthObserver -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveDBusAuthObserverMethod t DBusAuthObserver, O.OverloadedMethod info DBusAuthObserver p, R.HasField t DBusAuthObserver p) => R.HasField t DBusAuthObserver p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveDBusAuthObserverMethod t DBusAuthObserver, O.OverloadedMethodInfo info DBusAuthObserver) => OL.IsLabel t (O.MethodProxy info DBusAuthObserver) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type DBusAuthObserverAllowMechanismCallback =
T.Text
-> IO Bool
type C_DBusAuthObserverAllowMechanismCallback =
Ptr DBusAuthObserver ->
CString ->
Ptr () ->
IO CInt
foreign import ccall "wrapper"
mk_DBusAuthObserverAllowMechanismCallback :: C_DBusAuthObserverAllowMechanismCallback -> IO (FunPtr C_DBusAuthObserverAllowMechanismCallback)
wrap_DBusAuthObserverAllowMechanismCallback ::
GObject a => (a -> DBusAuthObserverAllowMechanismCallback) ->
C_DBusAuthObserverAllowMechanismCallback
wrap_DBusAuthObserverAllowMechanismCallback :: forall a.
GObject a =>
(a -> DBusAuthObserverAllowMechanismCallback)
-> C_DBusAuthObserverAllowMechanismCallback
wrap_DBusAuthObserverAllowMechanismCallback a -> DBusAuthObserverAllowMechanismCallback
gi'cb Ptr DBusAuthObserver
gi'selfPtr CString
mechanism Ptr ()
_ = do
Text
mechanism' <- HasCallStack => CString -> IO Text
cstringToText CString
mechanism
Bool
result <- forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr DBusAuthObserver
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \DBusAuthObserver
gi'self -> a -> DBusAuthObserverAllowMechanismCallback
gi'cb (coerce :: forall a b. Coercible a b => a -> b
Coerce.coerce DBusAuthObserver
gi'self) Text
mechanism'
let result' :: CInt
result' = (forall a b. (Integral a, Num b) => a -> b
P.fromIntegral forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Enum a => a -> Int
P.fromEnum) Bool
result
forall (m :: * -> *) a. Monad m => a -> m a
return CInt
result'
onDBusAuthObserverAllowMechanism :: (IsDBusAuthObserver a, MonadIO m) => a -> ((?self :: a) => DBusAuthObserverAllowMechanismCallback) -> m SignalHandlerId
onDBusAuthObserverAllowMechanism :: forall a (m :: * -> *).
(IsDBusAuthObserver a, MonadIO m) =>
a
-> ((?self::a) => DBusAuthObserverAllowMechanismCallback)
-> m SignalHandlerId
onDBusAuthObserverAllowMechanism a
obj (?self::a) => DBusAuthObserverAllowMechanismCallback
cb = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DBusAuthObserverAllowMechanismCallback
wrapped a
self = let ?self = a
self in (?self::a) => DBusAuthObserverAllowMechanismCallback
cb
let wrapped' :: C_DBusAuthObserverAllowMechanismCallback
wrapped' = forall a.
GObject a =>
(a -> DBusAuthObserverAllowMechanismCallback)
-> C_DBusAuthObserverAllowMechanismCallback
wrap_DBusAuthObserverAllowMechanismCallback a -> DBusAuthObserverAllowMechanismCallback
wrapped
FunPtr C_DBusAuthObserverAllowMechanismCallback
wrapped'' <- C_DBusAuthObserverAllowMechanismCallback
-> IO (FunPtr C_DBusAuthObserverAllowMechanismCallback)
mk_DBusAuthObserverAllowMechanismCallback C_DBusAuthObserverAllowMechanismCallback
wrapped'
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"allow-mechanism" FunPtr C_DBusAuthObserverAllowMechanismCallback
wrapped'' SignalConnectMode
SignalConnectBefore forall a. Maybe a
Nothing
afterDBusAuthObserverAllowMechanism :: (IsDBusAuthObserver a, MonadIO m) => a -> ((?self :: a) => DBusAuthObserverAllowMechanismCallback) -> m SignalHandlerId
afterDBusAuthObserverAllowMechanism :: forall a (m :: * -> *).
(IsDBusAuthObserver a, MonadIO m) =>
a
-> ((?self::a) => DBusAuthObserverAllowMechanismCallback)
-> m SignalHandlerId
afterDBusAuthObserverAllowMechanism a
obj (?self::a) => DBusAuthObserverAllowMechanismCallback
cb = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DBusAuthObserverAllowMechanismCallback
wrapped a
self = let ?self = a
self in (?self::a) => DBusAuthObserverAllowMechanismCallback
cb
let wrapped' :: C_DBusAuthObserverAllowMechanismCallback
wrapped' = forall a.
GObject a =>
(a -> DBusAuthObserverAllowMechanismCallback)
-> C_DBusAuthObserverAllowMechanismCallback
wrap_DBusAuthObserverAllowMechanismCallback a -> DBusAuthObserverAllowMechanismCallback
wrapped
FunPtr C_DBusAuthObserverAllowMechanismCallback
wrapped'' <- C_DBusAuthObserverAllowMechanismCallback
-> IO (FunPtr C_DBusAuthObserverAllowMechanismCallback)
mk_DBusAuthObserverAllowMechanismCallback C_DBusAuthObserverAllowMechanismCallback
wrapped'
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"allow-mechanism" FunPtr C_DBusAuthObserverAllowMechanismCallback
wrapped'' SignalConnectMode
SignalConnectAfter forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data DBusAuthObserverAllowMechanismSignalInfo
instance SignalInfo DBusAuthObserverAllowMechanismSignalInfo where
type HaskellCallbackType DBusAuthObserverAllowMechanismSignalInfo = DBusAuthObserverAllowMechanismCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_DBusAuthObserverAllowMechanismCallback cb
cb'' <- mk_DBusAuthObserverAllowMechanismCallback cb'
connectSignalFunPtr obj "allow-mechanism" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DBusAuthObserver::allow-mechanism"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DBusAuthObserver.html#g:signal:allowMechanism"})
#endif
type DBusAuthObserverAuthorizeAuthenticatedPeerCallback =
Gio.IOStream.IOStream
-> Maybe Gio.Credentials.Credentials
-> IO Bool
type C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback =
Ptr DBusAuthObserver ->
Ptr Gio.IOStream.IOStream ->
Ptr Gio.Credentials.Credentials ->
Ptr () ->
IO CInt
foreign import ccall "wrapper"
mk_DBusAuthObserverAuthorizeAuthenticatedPeerCallback :: C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback -> IO (FunPtr C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback)
wrap_DBusAuthObserverAuthorizeAuthenticatedPeerCallback ::
GObject a => (a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback) ->
C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrap_DBusAuthObserverAuthorizeAuthenticatedPeerCallback :: forall a.
GObject a =>
(a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback)
-> C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrap_DBusAuthObserverAuthorizeAuthenticatedPeerCallback a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback
gi'cb Ptr DBusAuthObserver
gi'selfPtr Ptr IOStream
stream Ptr Credentials
credentials Ptr ()
_ = do
IOStream
stream' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr IOStream -> IOStream
Gio.IOStream.IOStream) Ptr IOStream
stream
Maybe Credentials
maybeCredentials <-
if Ptr Credentials
credentials forall a. Eq a => a -> a -> Bool
== forall a. Ptr a
nullPtr
then forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Maybe a
Nothing
else do
Credentials
credentials' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Credentials -> Credentials
Gio.Credentials.Credentials) Ptr Credentials
credentials
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ forall a. a -> Maybe a
Just Credentials
credentials'
Bool
result <- forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr DBusAuthObserver
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \DBusAuthObserver
gi'self -> a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback
gi'cb (coerce :: forall a b. Coercible a b => a -> b
Coerce.coerce DBusAuthObserver
gi'self) IOStream
stream' Maybe Credentials
maybeCredentials
let result' :: CInt
result' = (forall a b. (Integral a, Num b) => a -> b
P.fromIntegral forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Enum a => a -> Int
P.fromEnum) Bool
result
forall (m :: * -> *) a. Monad m => a -> m a
return CInt
result'
onDBusAuthObserverAuthorizeAuthenticatedPeer :: (IsDBusAuthObserver a, MonadIO m) => a -> ((?self :: a) => DBusAuthObserverAuthorizeAuthenticatedPeerCallback) -> m SignalHandlerId
onDBusAuthObserverAuthorizeAuthenticatedPeer :: forall a (m :: * -> *).
(IsDBusAuthObserver a, MonadIO m) =>
a
-> ((?self::a) =>
DBusAuthObserverAuthorizeAuthenticatedPeerCallback)
-> m SignalHandlerId
onDBusAuthObserverAuthorizeAuthenticatedPeer a
obj (?self::a) => DBusAuthObserverAuthorizeAuthenticatedPeerCallback
cb = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped a
self = let ?self = a
self in (?self::a) => DBusAuthObserverAuthorizeAuthenticatedPeerCallback
cb
let wrapped' :: C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped' = forall a.
GObject a =>
(a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback)
-> C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrap_DBusAuthObserverAuthorizeAuthenticatedPeerCallback a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped
FunPtr C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped'' <- C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
-> IO (FunPtr C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback)
mk_DBusAuthObserverAuthorizeAuthenticatedPeerCallback C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped'
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"authorize-authenticated-peer" FunPtr C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped'' SignalConnectMode
SignalConnectBefore forall a. Maybe a
Nothing
afterDBusAuthObserverAuthorizeAuthenticatedPeer :: (IsDBusAuthObserver a, MonadIO m) => a -> ((?self :: a) => DBusAuthObserverAuthorizeAuthenticatedPeerCallback) -> m SignalHandlerId
afterDBusAuthObserverAuthorizeAuthenticatedPeer :: forall a (m :: * -> *).
(IsDBusAuthObserver a, MonadIO m) =>
a
-> ((?self::a) =>
DBusAuthObserverAuthorizeAuthenticatedPeerCallback)
-> m SignalHandlerId
afterDBusAuthObserverAuthorizeAuthenticatedPeer a
obj (?self::a) => DBusAuthObserverAuthorizeAuthenticatedPeerCallback
cb = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped a
self = let ?self = a
self in (?self::a) => DBusAuthObserverAuthorizeAuthenticatedPeerCallback
cb
let wrapped' :: C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped' = forall a.
GObject a =>
(a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback)
-> C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrap_DBusAuthObserverAuthorizeAuthenticatedPeerCallback a -> DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped
FunPtr C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped'' <- C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
-> IO (FunPtr C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback)
mk_DBusAuthObserverAuthorizeAuthenticatedPeerCallback C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped'
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"authorize-authenticated-peer" FunPtr C_DBusAuthObserverAuthorizeAuthenticatedPeerCallback
wrapped'' SignalConnectMode
SignalConnectAfter forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data DBusAuthObserverAuthorizeAuthenticatedPeerSignalInfo
instance SignalInfo DBusAuthObserverAuthorizeAuthenticatedPeerSignalInfo where
type HaskellCallbackType DBusAuthObserverAuthorizeAuthenticatedPeerSignalInfo = DBusAuthObserverAuthorizeAuthenticatedPeerCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_DBusAuthObserverAuthorizeAuthenticatedPeerCallback cb
cb'' <- mk_DBusAuthObserverAuthorizeAuthenticatedPeerCallback cb'
connectSignalFunPtr obj "authorize-authenticated-peer" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DBusAuthObserver::authorize-authenticated-peer"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DBusAuthObserver.html#g:signal:authorizeAuthenticatedPeer"})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DBusAuthObserver
type instance O.AttributeList DBusAuthObserver = DBusAuthObserverAttributeList
type DBusAuthObserverAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList DBusAuthObserver = DBusAuthObserverSignalList
type DBusAuthObserverSignalList = ('[ '("allowMechanism", DBusAuthObserverAllowMechanismSignalInfo), '("authorizeAuthenticatedPeer", DBusAuthObserverAuthorizeAuthenticatedPeerSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "g_dbus_auth_observer_new" g_dbus_auth_observer_new ::
IO (Ptr DBusAuthObserver)
dBusAuthObserverNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m DBusAuthObserver
dBusAuthObserverNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m DBusAuthObserver
dBusAuthObserverNew = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DBusAuthObserver
result <- IO (Ptr DBusAuthObserver)
g_dbus_auth_observer_new
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dBusAuthObserverNew" Ptr DBusAuthObserver
result
DBusAuthObserver
result' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DBusAuthObserver -> DBusAuthObserver
DBusAuthObserver) Ptr DBusAuthObserver
result
forall (m :: * -> *) a. Monad m => a -> m a
return DBusAuthObserver
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_dbus_auth_observer_allow_mechanism" g_dbus_auth_observer_allow_mechanism ::
Ptr DBusAuthObserver ->
CString ->
IO CInt
dBusAuthObserverAllowMechanism ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusAuthObserver a) =>
a
-> T.Text
-> m Bool
dBusAuthObserverAllowMechanism :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDBusAuthObserver a) =>
a -> Text -> m Bool
dBusAuthObserverAllowMechanism a
observer Text
mechanism = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DBusAuthObserver
observer' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
observer
CString
mechanism' <- Text -> IO CString
textToCString Text
mechanism
CInt
result <- Ptr DBusAuthObserver -> CString -> IO CInt
g_dbus_auth_observer_allow_mechanism Ptr DBusAuthObserver
observer' CString
mechanism'
let result' :: Bool
result' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
observer
forall a. Ptr a -> IO ()
freeMem CString
mechanism'
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DBusAuthObserverAllowMechanismMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsDBusAuthObserver a) => O.OverloadedMethod DBusAuthObserverAllowMechanismMethodInfo a signature where
overloadedMethod = dBusAuthObserverAllowMechanism
instance O.OverloadedMethodInfo DBusAuthObserverAllowMechanismMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DBusAuthObserver.dBusAuthObserverAllowMechanism",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DBusAuthObserver.html#v:dBusAuthObserverAllowMechanism"
})
#endif
foreign import ccall "g_dbus_auth_observer_authorize_authenticated_peer" g_dbus_auth_observer_authorize_authenticated_peer ::
Ptr DBusAuthObserver ->
Ptr Gio.IOStream.IOStream ->
Ptr Gio.Credentials.Credentials ->
IO CInt
dBusAuthObserverAuthorizeAuthenticatedPeer ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusAuthObserver a, Gio.IOStream.IsIOStream b, Gio.Credentials.IsCredentials c) =>
a
-> b
-> Maybe (c)
-> m Bool
dBusAuthObserverAuthorizeAuthenticatedPeer :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsDBusAuthObserver a, IsIOStream b,
IsCredentials c) =>
a -> b -> Maybe c -> m Bool
dBusAuthObserverAuthorizeAuthenticatedPeer a
observer b
stream Maybe c
credentials = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DBusAuthObserver
observer' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
observer
Ptr IOStream
stream' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
stream
Ptr Credentials
maybeCredentials <- case Maybe c
credentials of
Maybe c
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Ptr a
nullPtr
Just c
jCredentials -> do
Ptr Credentials
jCredentials' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
jCredentials
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Credentials
jCredentials'
CInt
result <- Ptr DBusAuthObserver -> Ptr IOStream -> Ptr Credentials -> IO CInt
g_dbus_auth_observer_authorize_authenticated_peer Ptr DBusAuthObserver
observer' Ptr IOStream
stream' Ptr Credentials
maybeCredentials
let result' :: Bool
result' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
observer
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
stream
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
credentials forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DBusAuthObserverAuthorizeAuthenticatedPeerMethodInfo
instance (signature ~ (b -> Maybe (c) -> m Bool), MonadIO m, IsDBusAuthObserver a, Gio.IOStream.IsIOStream b, Gio.Credentials.IsCredentials c) => O.OverloadedMethod DBusAuthObserverAuthorizeAuthenticatedPeerMethodInfo a signature where
overloadedMethod = dBusAuthObserverAuthorizeAuthenticatedPeer
instance O.OverloadedMethodInfo DBusAuthObserverAuthorizeAuthenticatedPeerMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DBusAuthObserver.dBusAuthObserverAuthorizeAuthenticatedPeer",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DBusAuthObserver.html#v:dBusAuthObserverAuthorizeAuthenticatedPeer"
})
#endif