{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.UnixCredentialsMessage
(
UnixCredentialsMessage(..) ,
IsUnixCredentialsMessage ,
toUnixCredentialsMessage ,
#if defined(ENABLE_OVERLOADING)
ResolveUnixCredentialsMessageMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
UnixCredentialsMessageGetCredentialsMethodInfo,
#endif
unixCredentialsMessageGetCredentials ,
unixCredentialsMessageIsSupported ,
unixCredentialsMessageNew ,
unixCredentialsMessageNewWithCredentials,
#if defined(ENABLE_OVERLOADING)
UnixCredentialsMessageCredentialsPropertyInfo,
#endif
constructUnixCredentialsMessageCredentials,
getUnixCredentialsMessageCredentials ,
#if defined(ENABLE_OVERLOADING)
unixCredentialsMessageCredentials ,
#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.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.SocketControlMessage as Gio.SocketControlMessage
newtype UnixCredentialsMessage = UnixCredentialsMessage (SP.ManagedPtr UnixCredentialsMessage)
deriving (UnixCredentialsMessage -> UnixCredentialsMessage -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UnixCredentialsMessage -> UnixCredentialsMessage -> Bool
$c/= :: UnixCredentialsMessage -> UnixCredentialsMessage -> Bool
== :: UnixCredentialsMessage -> UnixCredentialsMessage -> Bool
$c== :: UnixCredentialsMessage -> UnixCredentialsMessage -> Bool
Eq)
instance SP.ManagedPtrNewtype UnixCredentialsMessage where
toManagedPtr :: UnixCredentialsMessage -> ManagedPtr UnixCredentialsMessage
toManagedPtr (UnixCredentialsMessage ManagedPtr UnixCredentialsMessage
p) = ManagedPtr UnixCredentialsMessage
p
foreign import ccall "g_unix_credentials_message_get_type"
c_g_unix_credentials_message_get_type :: IO B.Types.GType
instance B.Types.TypedObject UnixCredentialsMessage where
glibType :: IO GType
glibType = IO GType
c_g_unix_credentials_message_get_type
instance B.Types.GObject UnixCredentialsMessage
class (SP.GObject o, O.IsDescendantOf UnixCredentialsMessage o) => IsUnixCredentialsMessage o
instance (SP.GObject o, O.IsDescendantOf UnixCredentialsMessage o) => IsUnixCredentialsMessage o
instance O.HasParentTypes UnixCredentialsMessage
type instance O.ParentTypes UnixCredentialsMessage = '[Gio.SocketControlMessage.SocketControlMessage, GObject.Object.Object]
toUnixCredentialsMessage :: (MIO.MonadIO m, IsUnixCredentialsMessage o) => o -> m UnixCredentialsMessage
toUnixCredentialsMessage :: forall (m :: * -> *) o.
(MonadIO m, IsUnixCredentialsMessage o) =>
o -> m UnixCredentialsMessage
toUnixCredentialsMessage = 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 UnixCredentialsMessage -> UnixCredentialsMessage
UnixCredentialsMessage
instance B.GValue.IsGValue (Maybe UnixCredentialsMessage) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_g_unix_credentials_message_get_type
gvalueSet_ :: Ptr GValue -> Maybe UnixCredentialsMessage -> IO ()
gvalueSet_ Ptr GValue
gv Maybe UnixCredentialsMessage
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 UnixCredentialsMessage)
gvalueSet_ Ptr GValue
gv (P.Just UnixCredentialsMessage
obj) = forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr UnixCredentialsMessage
obj (forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe UnixCredentialsMessage)
gvalueGet_ Ptr GValue
gv = do
Ptr UnixCredentialsMessage
ptr <- forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr UnixCredentialsMessage)
if Ptr UnixCredentialsMessage
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 UnixCredentialsMessage -> UnixCredentialsMessage
UnixCredentialsMessage Ptr UnixCredentialsMessage
ptr
else forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveUnixCredentialsMessageMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveUnixCredentialsMessageMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveUnixCredentialsMessageMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveUnixCredentialsMessageMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveUnixCredentialsMessageMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveUnixCredentialsMessageMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveUnixCredentialsMessageMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveUnixCredentialsMessageMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveUnixCredentialsMessageMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveUnixCredentialsMessageMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveUnixCredentialsMessageMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveUnixCredentialsMessageMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveUnixCredentialsMessageMethod "serialize" o = Gio.SocketControlMessage.SocketControlMessageSerializeMethodInfo
ResolveUnixCredentialsMessageMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveUnixCredentialsMessageMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveUnixCredentialsMessageMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveUnixCredentialsMessageMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveUnixCredentialsMessageMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveUnixCredentialsMessageMethod "getCredentials" o = UnixCredentialsMessageGetCredentialsMethodInfo
ResolveUnixCredentialsMessageMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveUnixCredentialsMessageMethod "getLevel" o = Gio.SocketControlMessage.SocketControlMessageGetLevelMethodInfo
ResolveUnixCredentialsMessageMethod "getMsgType" o = Gio.SocketControlMessage.SocketControlMessageGetMsgTypeMethodInfo
ResolveUnixCredentialsMessageMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveUnixCredentialsMessageMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveUnixCredentialsMessageMethod "getSize" o = Gio.SocketControlMessage.SocketControlMessageGetSizeMethodInfo
ResolveUnixCredentialsMessageMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveUnixCredentialsMessageMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveUnixCredentialsMessageMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveUnixCredentialsMessageMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveUnixCredentialsMessageMethod t UnixCredentialsMessage, O.OverloadedMethod info UnixCredentialsMessage p) => OL.IsLabel t (UnixCredentialsMessage -> 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 ~ ResolveUnixCredentialsMessageMethod t UnixCredentialsMessage, O.OverloadedMethod info UnixCredentialsMessage p, R.HasField t UnixCredentialsMessage p) => R.HasField t UnixCredentialsMessage p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveUnixCredentialsMessageMethod t UnixCredentialsMessage, O.OverloadedMethodInfo info UnixCredentialsMessage) => OL.IsLabel t (O.MethodProxy info UnixCredentialsMessage) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getUnixCredentialsMessageCredentials :: (MonadIO m, IsUnixCredentialsMessage o) => o -> m Gio.Credentials.Credentials
getUnixCredentialsMessageCredentials :: forall (m :: * -> *) o.
(MonadIO m, IsUnixCredentialsMessage o) =>
o -> m Credentials
getUnixCredentialsMessageCredentials o
obj = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall a b. (a -> b) -> a -> b
$ forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getUnixCredentialsMessageCredentials" forall a b. (a -> b) -> a -> b
$ forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"credentials" ManagedPtr Credentials -> Credentials
Gio.Credentials.Credentials
constructUnixCredentialsMessageCredentials :: (IsUnixCredentialsMessage o, MIO.MonadIO m, Gio.Credentials.IsCredentials a) => a -> m (GValueConstruct o)
constructUnixCredentialsMessageCredentials :: forall o (m :: * -> *) a.
(IsUnixCredentialsMessage o, MonadIO m, IsCredentials a) =>
a -> m (GValueConstruct o)
constructUnixCredentialsMessageCredentials a
val = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall a b. (a -> b) -> a -> b
$ do
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall a b. (a -> b) -> a -> b
$ forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"credentials" (forall a. a -> Maybe a
P.Just a
val)
#if defined(ENABLE_OVERLOADING)
data UnixCredentialsMessageCredentialsPropertyInfo
instance AttrInfo UnixCredentialsMessageCredentialsPropertyInfo where
type AttrAllowedOps UnixCredentialsMessageCredentialsPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint UnixCredentialsMessageCredentialsPropertyInfo = IsUnixCredentialsMessage
type AttrSetTypeConstraint UnixCredentialsMessageCredentialsPropertyInfo = Gio.Credentials.IsCredentials
type AttrTransferTypeConstraint UnixCredentialsMessageCredentialsPropertyInfo = Gio.Credentials.IsCredentials
type AttrTransferType UnixCredentialsMessageCredentialsPropertyInfo = Gio.Credentials.Credentials
type AttrGetType UnixCredentialsMessageCredentialsPropertyInfo = Gio.Credentials.Credentials
type AttrLabel UnixCredentialsMessageCredentialsPropertyInfo = "credentials"
type AttrOrigin UnixCredentialsMessageCredentialsPropertyInfo = UnixCredentialsMessage
attrGet = getUnixCredentialsMessageCredentials
attrSet = undefined
attrTransfer _ v = do
unsafeCastTo Gio.Credentials.Credentials v
attrConstruct = constructUnixCredentialsMessageCredentials
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.UnixCredentialsMessage.credentials"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-UnixCredentialsMessage.html#g:attr:credentials"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList UnixCredentialsMessage
type instance O.AttributeList UnixCredentialsMessage = UnixCredentialsMessageAttributeList
type UnixCredentialsMessageAttributeList = ('[ '("credentials", UnixCredentialsMessageCredentialsPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
unixCredentialsMessageCredentials :: AttrLabelProxy "credentials"
unixCredentialsMessageCredentials = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList UnixCredentialsMessage = UnixCredentialsMessageSignalList
type UnixCredentialsMessageSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "g_unix_credentials_message_new" g_unix_credentials_message_new ::
IO (Ptr UnixCredentialsMessage)
unixCredentialsMessageNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m UnixCredentialsMessage
unixCredentialsMessageNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m UnixCredentialsMessage
unixCredentialsMessageNew = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr UnixCredentialsMessage
result <- IO (Ptr UnixCredentialsMessage)
g_unix_credentials_message_new
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"unixCredentialsMessageNew" Ptr UnixCredentialsMessage
result
UnixCredentialsMessage
result' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr UnixCredentialsMessage -> UnixCredentialsMessage
UnixCredentialsMessage) Ptr UnixCredentialsMessage
result
forall (m :: * -> *) a. Monad m => a -> m a
return UnixCredentialsMessage
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_unix_credentials_message_new_with_credentials" g_unix_credentials_message_new_with_credentials ::
Ptr Gio.Credentials.Credentials ->
IO (Ptr UnixCredentialsMessage)
unixCredentialsMessageNewWithCredentials ::
(B.CallStack.HasCallStack, MonadIO m, Gio.Credentials.IsCredentials a) =>
a
-> m UnixCredentialsMessage
unixCredentialsMessageNewWithCredentials :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCredentials a) =>
a -> m UnixCredentialsMessage
unixCredentialsMessageNewWithCredentials a
credentials = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Credentials
credentials' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
credentials
Ptr UnixCredentialsMessage
result <- Ptr Credentials -> IO (Ptr UnixCredentialsMessage)
g_unix_credentials_message_new_with_credentials Ptr Credentials
credentials'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"unixCredentialsMessageNewWithCredentials" Ptr UnixCredentialsMessage
result
UnixCredentialsMessage
result' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr UnixCredentialsMessage -> UnixCredentialsMessage
UnixCredentialsMessage) Ptr UnixCredentialsMessage
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
credentials
forall (m :: * -> *) a. Monad m => a -> m a
return UnixCredentialsMessage
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_unix_credentials_message_get_credentials" g_unix_credentials_message_get_credentials ::
Ptr UnixCredentialsMessage ->
IO (Ptr Gio.Credentials.Credentials)
unixCredentialsMessageGetCredentials ::
(B.CallStack.HasCallStack, MonadIO m, IsUnixCredentialsMessage a) =>
a
-> m Gio.Credentials.Credentials
unixCredentialsMessageGetCredentials :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsUnixCredentialsMessage a) =>
a -> m Credentials
unixCredentialsMessageGetCredentials a
message = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr UnixCredentialsMessage
message' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
message
Ptr Credentials
result <- Ptr UnixCredentialsMessage -> IO (Ptr Credentials)
g_unix_credentials_message_get_credentials Ptr UnixCredentialsMessage
message'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"unixCredentialsMessageGetCredentials" Ptr Credentials
result
Credentials
result' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Credentials -> Credentials
Gio.Credentials.Credentials) Ptr Credentials
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
message
forall (m :: * -> *) a. Monad m => a -> m a
return Credentials
result'
#if defined(ENABLE_OVERLOADING)
data UnixCredentialsMessageGetCredentialsMethodInfo
instance (signature ~ (m Gio.Credentials.Credentials), MonadIO m, IsUnixCredentialsMessage a) => O.OverloadedMethod UnixCredentialsMessageGetCredentialsMethodInfo a signature where
overloadedMethod = unixCredentialsMessageGetCredentials
instance O.OverloadedMethodInfo UnixCredentialsMessageGetCredentialsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.UnixCredentialsMessage.unixCredentialsMessageGetCredentials",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-UnixCredentialsMessage.html#v:unixCredentialsMessageGetCredentials"
})
#endif
foreign import ccall "g_unix_credentials_message_is_supported" g_unix_credentials_message_is_supported ::
IO CInt
unixCredentialsMessageIsSupported ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Bool
unixCredentialsMessageIsSupported :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Bool
unixCredentialsMessageIsSupported = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
CInt
result <- IO CInt
g_unix_credentials_message_is_supported
let result' :: Bool
result' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
#endif