{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.Credentials
(
Credentials(..) ,
IsCredentials ,
toCredentials ,
noCredentials ,
#if defined(ENABLE_OVERLOADING)
ResolveCredentialsMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
CredentialsGetUnixPidMethodInfo ,
#endif
credentialsGetUnixPid ,
#if defined(ENABLE_OVERLOADING)
CredentialsGetUnixUserMethodInfo ,
#endif
credentialsGetUnixUser ,
#if defined(ENABLE_OVERLOADING)
CredentialsIsSameUserMethodInfo ,
#endif
credentialsIsSameUser ,
credentialsNew ,
#if defined(ENABLE_OVERLOADING)
CredentialsSetNativeMethodInfo ,
#endif
credentialsSetNative ,
#if defined(ENABLE_OVERLOADING)
CredentialsSetUnixUserMethodInfo ,
#endif
credentialsSetUnixUser ,
#if defined(ENABLE_OVERLOADING)
CredentialsToStringMethodInfo ,
#endif
credentialsToString ,
) 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.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 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.Gio.Enums as Gio.Enums
newtype Credentials = Credentials (ManagedPtr Credentials)
deriving (Credentials -> Credentials -> Bool
(Credentials -> Credentials -> Bool)
-> (Credentials -> Credentials -> Bool) -> Eq Credentials
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Credentials -> Credentials -> Bool
$c/= :: Credentials -> Credentials -> Bool
== :: Credentials -> Credentials -> Bool
$c== :: Credentials -> Credentials -> Bool
Eq)
foreign import ccall "g_credentials_get_type"
c_g_credentials_get_type :: IO GType
instance GObject Credentials where
gobjectType :: IO GType
gobjectType = IO GType
c_g_credentials_get_type
instance B.GValue.IsGValue Credentials where
toGValue :: Credentials -> IO GValue
toGValue o :: Credentials
o = do
GType
gtype <- IO GType
c_g_credentials_get_type
Credentials -> (Ptr Credentials -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Credentials
o (GType
-> (GValue -> Ptr Credentials -> IO ())
-> Ptr Credentials
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Credentials -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO Credentials
fromGValue gv :: GValue
gv = do
Ptr Credentials
ptr <- GValue -> IO (Ptr Credentials)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Credentials)
(ManagedPtr Credentials -> Credentials)
-> Ptr Credentials -> IO Credentials
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Credentials -> Credentials
Credentials Ptr Credentials
ptr
class (GObject o, O.IsDescendantOf Credentials o) => IsCredentials o
instance (GObject o, O.IsDescendantOf Credentials o) => IsCredentials o
instance O.HasParentTypes Credentials
type instance O.ParentTypes Credentials = '[GObject.Object.Object]
toCredentials :: (MonadIO m, IsCredentials o) => o -> m Credentials
toCredentials :: o -> m Credentials
toCredentials = IO Credentials -> m Credentials
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Credentials -> m Credentials)
-> (o -> IO Credentials) -> o -> m Credentials
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Credentials -> Credentials) -> o -> IO Credentials
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Credentials -> Credentials
Credentials
noCredentials :: Maybe Credentials
noCredentials :: Maybe Credentials
noCredentials = Maybe Credentials
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveCredentialsMethod (t :: Symbol) (o :: *) :: * where
ResolveCredentialsMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveCredentialsMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveCredentialsMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveCredentialsMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveCredentialsMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveCredentialsMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveCredentialsMethod "isSameUser" o = CredentialsIsSameUserMethodInfo
ResolveCredentialsMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveCredentialsMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveCredentialsMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveCredentialsMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveCredentialsMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveCredentialsMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveCredentialsMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveCredentialsMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveCredentialsMethod "toString" o = CredentialsToStringMethodInfo
ResolveCredentialsMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveCredentialsMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveCredentialsMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveCredentialsMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveCredentialsMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveCredentialsMethod "getUnixPid" o = CredentialsGetUnixPidMethodInfo
ResolveCredentialsMethod "getUnixUser" o = CredentialsGetUnixUserMethodInfo
ResolveCredentialsMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveCredentialsMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveCredentialsMethod "setNative" o = CredentialsSetNativeMethodInfo
ResolveCredentialsMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveCredentialsMethod "setUnixUser" o = CredentialsSetUnixUserMethodInfo
ResolveCredentialsMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveCredentialsMethod t Credentials, O.MethodInfo info Credentials p) => OL.IsLabel t (Credentials -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Credentials
type instance O.AttributeList Credentials = CredentialsAttributeList
type CredentialsAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Credentials = CredentialsSignalList
type CredentialsSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_credentials_new" g_credentials_new ::
IO (Ptr Credentials)
credentialsNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Credentials
credentialsNew :: m Credentials
credentialsNew = IO Credentials -> m Credentials
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Credentials -> m Credentials)
-> IO Credentials -> m Credentials
forall a b. (a -> b) -> a -> b
$ do
Ptr Credentials
result <- IO (Ptr Credentials)
g_credentials_new
Text -> Ptr Credentials -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "credentialsNew" Ptr Credentials
result
Credentials
result' <- ((ManagedPtr Credentials -> Credentials)
-> Ptr Credentials -> IO Credentials
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Credentials -> Credentials
Credentials) Ptr Credentials
result
Credentials -> IO Credentials
forall (m :: * -> *) a. Monad m => a -> m a
return Credentials
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_credentials_get_unix_pid" g_credentials_get_unix_pid ::
Ptr Credentials ->
Ptr (Ptr GError) ->
IO Int32
credentialsGetUnixPid ::
(B.CallStack.HasCallStack, MonadIO m, IsCredentials a) =>
a
-> m Int32
credentialsGetUnixPid :: a -> m Int32
credentialsGetUnixPid credentials :: a
credentials = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr Credentials
credentials' <- a -> IO (Ptr Credentials)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
credentials
IO Int32 -> IO () -> IO Int32
forall a b. IO a -> IO b -> IO a
onException (do
Int32
result <- (Ptr (Ptr GError) -> IO Int32) -> IO Int32
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO Int32) -> IO Int32)
-> (Ptr (Ptr GError) -> IO Int32) -> IO Int32
forall a b. (a -> b) -> a -> b
$ Ptr Credentials -> Ptr (Ptr GError) -> IO Int32
g_credentials_get_unix_pid Ptr Credentials
credentials'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
credentials
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data CredentialsGetUnixPidMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsCredentials a) => O.MethodInfo CredentialsGetUnixPidMethodInfo a signature where
overloadedMethod = credentialsGetUnixPid
#endif
foreign import ccall "g_credentials_get_unix_user" g_credentials_get_unix_user ::
Ptr Credentials ->
Ptr (Ptr GError) ->
IO Word32
credentialsGetUnixUser ::
(B.CallStack.HasCallStack, MonadIO m, IsCredentials a) =>
a
-> m Word32
credentialsGetUnixUser :: a -> m Word32
credentialsGetUnixUser credentials :: a
credentials = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr Credentials
credentials' <- a -> IO (Ptr Credentials)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
credentials
IO Word32 -> IO () -> IO Word32
forall a b. IO a -> IO b -> IO a
onException (do
Word32
result <- (Ptr (Ptr GError) -> IO Word32) -> IO Word32
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO Word32) -> IO Word32)
-> (Ptr (Ptr GError) -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ Ptr Credentials -> Ptr (Ptr GError) -> IO Word32
g_credentials_get_unix_user Ptr Credentials
credentials'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
credentials
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data CredentialsGetUnixUserMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsCredentials a) => O.MethodInfo CredentialsGetUnixUserMethodInfo a signature where
overloadedMethod = credentialsGetUnixUser
#endif
foreign import ccall "g_credentials_is_same_user" g_credentials_is_same_user ::
Ptr Credentials ->
Ptr Credentials ->
Ptr (Ptr GError) ->
IO CInt
credentialsIsSameUser ::
(B.CallStack.HasCallStack, MonadIO m, IsCredentials a, IsCredentials b) =>
a
-> b
-> m ()
credentialsIsSameUser :: a -> b -> m ()
credentialsIsSameUser credentials :: a
credentials otherCredentials :: b
otherCredentials = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Credentials
credentials' <- a -> IO (Ptr Credentials)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
credentials
Ptr Credentials
otherCredentials' <- b -> IO (Ptr Credentials)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
otherCredentials
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Credentials -> Ptr Credentials -> Ptr (Ptr GError) -> IO CInt
g_credentials_is_same_user Ptr Credentials
credentials' Ptr Credentials
otherCredentials'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
credentials
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
otherCredentials
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data CredentialsIsSameUserMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsCredentials a, IsCredentials b) => O.MethodInfo CredentialsIsSameUserMethodInfo a signature where
overloadedMethod = credentialsIsSameUser
#endif
foreign import ccall "g_credentials_set_native" g_credentials_set_native ::
Ptr Credentials ->
CUInt ->
Ptr () ->
IO ()
credentialsSetNative ::
(B.CallStack.HasCallStack, MonadIO m, IsCredentials a) =>
a
-> Gio.Enums.CredentialsType
-> Ptr ()
-> m ()
credentialsSetNative :: a -> CredentialsType -> Ptr () -> m ()
credentialsSetNative credentials :: a
credentials nativeType :: CredentialsType
nativeType native :: Ptr ()
native = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Credentials
credentials' <- a -> IO (Ptr Credentials)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
credentials
let nativeType' :: CUInt
nativeType' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (CredentialsType -> Int) -> CredentialsType -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CredentialsType -> Int
forall a. Enum a => a -> Int
fromEnum) CredentialsType
nativeType
Ptr Credentials -> CUInt -> Ptr () -> IO ()
g_credentials_set_native Ptr Credentials
credentials' CUInt
nativeType' Ptr ()
native
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
credentials
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CredentialsSetNativeMethodInfo
instance (signature ~ (Gio.Enums.CredentialsType -> Ptr () -> m ()), MonadIO m, IsCredentials a) => O.MethodInfo CredentialsSetNativeMethodInfo a signature where
overloadedMethod = credentialsSetNative
#endif
foreign import ccall "g_credentials_set_unix_user" g_credentials_set_unix_user ::
Ptr Credentials ->
Word32 ->
Ptr (Ptr GError) ->
IO CInt
credentialsSetUnixUser ::
(B.CallStack.HasCallStack, MonadIO m, IsCredentials a) =>
a
-> Word32
-> m ()
credentialsSetUnixUser :: a -> Word32 -> m ()
credentialsSetUnixUser credentials :: a
credentials uid :: Word32
uid = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Credentials
credentials' <- a -> IO (Ptr Credentials)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
credentials
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Credentials -> Word32 -> Ptr (Ptr GError) -> IO CInt
g_credentials_set_unix_user Ptr Credentials
credentials' Word32
uid
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
credentials
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data CredentialsSetUnixUserMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsCredentials a) => O.MethodInfo CredentialsSetUnixUserMethodInfo a signature where
overloadedMethod = credentialsSetUnixUser
#endif
foreign import ccall "g_credentials_to_string" g_credentials_to_string ::
Ptr Credentials ->
IO CString
credentialsToString ::
(B.CallStack.HasCallStack, MonadIO m, IsCredentials a) =>
a
-> m T.Text
credentialsToString :: a -> m Text
credentialsToString credentials :: a
credentials = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr Credentials
credentials' <- a -> IO (Ptr Credentials)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
credentials
CString
result <- Ptr Credentials -> IO CString
g_credentials_to_string Ptr Credentials
credentials'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "credentialsToString" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
credentials
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data CredentialsToStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsCredentials a) => O.MethodInfo CredentialsToStringMethodInfo a signature where
overloadedMethod = credentialsToString
#endif