{-# 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 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.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Enums as Gio.Enums
import {-# SOURCE #-} qualified GI.Gio.Objects.Credentials as Gio.Credentials
import {-# SOURCE #-} qualified GI.Gio.Objects.SocketControlMessage as Gio.SocketControlMessage
#else
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
#endif
newtype UnixCredentialsMessage = UnixCredentialsMessage (SP.ManagedPtr UnixCredentialsMessage)
deriving (UnixCredentialsMessage -> UnixCredentialsMessage -> Bool
(UnixCredentialsMessage -> UnixCredentialsMessage -> Bool)
-> (UnixCredentialsMessage -> UnixCredentialsMessage -> Bool)
-> Eq UnixCredentialsMessage
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: UnixCredentialsMessage -> UnixCredentialsMessage -> Bool
== :: UnixCredentialsMessage -> UnixCredentialsMessage -> Bool
$c/= :: UnixCredentialsMessage -> UnixCredentialsMessage -> Bool
/= :: 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 = IO UnixCredentialsMessage -> m UnixCredentialsMessage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO UnixCredentialsMessage -> m UnixCredentialsMessage)
-> (o -> IO UnixCredentialsMessage)
-> o
-> m UnixCredentialsMessage
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr UnixCredentialsMessage -> UnixCredentialsMessage)
-> o -> IO UnixCredentialsMessage
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 = Ptr GValue -> Ptr UnixCredentialsMessage -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr UnixCredentialsMessage
forall a. Ptr a
FP.nullPtr :: FP.Ptr UnixCredentialsMessage)
gvalueSet_ Ptr GValue
gv (P.Just UnixCredentialsMessage
obj) = UnixCredentialsMessage
-> (Ptr UnixCredentialsMessage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr UnixCredentialsMessage
obj (Ptr GValue -> Ptr UnixCredentialsMessage -> IO ()
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 <- Ptr GValue -> IO (Ptr UnixCredentialsMessage)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr UnixCredentialsMessage)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject UnixCredentialsMessage ptr
else return 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 = IO Credentials -> m Credentials
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Credentials -> m Credentials)
-> IO Credentials -> m Credentials
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Credentials) -> IO Credentials
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getUnixCredentialsMessageCredentials" (IO (Maybe Credentials) -> IO Credentials)
-> IO (Maybe Credentials) -> IO Credentials
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr Credentials -> Credentials)
-> IO (Maybe Credentials)
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 = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
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
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"credentials" (a -> Maybe a
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.35/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 = IO UnixCredentialsMessage -> m UnixCredentialsMessage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO UnixCredentialsMessage -> m UnixCredentialsMessage)
-> IO UnixCredentialsMessage -> m UnixCredentialsMessage
forall a b. (a -> b) -> a -> b
$ do
result <- IO (Ptr UnixCredentialsMessage)
g_unix_credentials_message_new
checkUnexpectedReturnNULL "unixCredentialsMessageNew" result
result' <- (wrapObject UnixCredentialsMessage) result
return 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 = IO UnixCredentialsMessage -> m UnixCredentialsMessage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO UnixCredentialsMessage -> m UnixCredentialsMessage)
-> IO UnixCredentialsMessage -> m UnixCredentialsMessage
forall a b. (a -> b) -> a -> b
$ do
credentials' <- a -> IO (Ptr Credentials)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
credentials
result <- g_unix_credentials_message_new_with_credentials credentials'
checkUnexpectedReturnNULL "unixCredentialsMessageNewWithCredentials" result
result' <- (wrapObject UnixCredentialsMessage) result
touchManagedPtr credentials
return 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 = IO Credentials -> m Credentials
forall a. IO a -> m a
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
message' <- a -> IO (Ptr UnixCredentialsMessage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
message
result <- g_unix_credentials_message_get_credentials message'
checkUnexpectedReturnNULL "unixCredentialsMessageGetCredentials" result
result' <- (newObject Gio.Credentials.Credentials) result
touchManagedPtr message
return 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.35/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 = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
result <- IO CInt
g_unix_credentials_message_is_supported
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
return result'
#if defined(ENABLE_OVERLOADING)
#endif