gi-gio-0.2.46.12: GI/Gio/Objects/UnixSocketAddress.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gio.Objects.UnixSocketAddress
(
-- * Exported types
UnixSocketAddress(..) ,
UnixSocketAddressK ,
toUnixSocketAddress ,
noUnixSocketAddress ,
-- * Methods
-- ** unixSocketAddressAbstractNamesSupported
unixSocketAddressAbstractNamesSupported ,
-- ** unixSocketAddressGetAddressType
unixSocketAddressGetAddressType ,
-- ** unixSocketAddressGetIsAbstract
unixSocketAddressGetIsAbstract ,
-- ** unixSocketAddressGetPath
unixSocketAddressGetPath ,
-- ** unixSocketAddressGetPathLen
unixSocketAddressGetPathLen ,
-- ** unixSocketAddressNew
unixSocketAddressNew ,
-- ** unixSocketAddressNewAbstract
unixSocketAddressNewAbstract ,
-- ** unixSocketAddressNewWithType
unixSocketAddressNewWithType ,
-- * Properties
-- ** Abstract
UnixSocketAddressAbstractPropertyInfo ,
constructUnixSocketAddressAbstract ,
getUnixSocketAddressAbstract ,
-- ** AddressType
UnixSocketAddressAddressTypePropertyInfo,
constructUnixSocketAddressAddressType ,
getUnixSocketAddressAddressType ,
-- ** Path
UnixSocketAddressPathPropertyInfo ,
constructUnixSocketAddressPath ,
getUnixSocketAddressPath ,
-- ** PathAsArray
UnixSocketAddressPathAsArrayPropertyInfo,
constructUnixSocketAddressPathAsArray ,
getUnixSocketAddressPathAsArray ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gio.Types
import GI.Gio.Callbacks
import qualified GI.GObject as GObject
newtype UnixSocketAddress = UnixSocketAddress (ForeignPtr UnixSocketAddress)
foreign import ccall "g_unix_socket_address_get_type"
c_g_unix_socket_address_get_type :: IO GType
type instance ParentTypes UnixSocketAddress = UnixSocketAddressParentTypes
type UnixSocketAddressParentTypes = '[SocketAddress, GObject.Object, SocketConnectable]
instance GObject UnixSocketAddress where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_unix_socket_address_get_type
class GObject o => UnixSocketAddressK o
instance (GObject o, IsDescendantOf UnixSocketAddress o) => UnixSocketAddressK o
toUnixSocketAddress :: UnixSocketAddressK o => o -> IO UnixSocketAddress
toUnixSocketAddress = unsafeCastTo UnixSocketAddress
noUnixSocketAddress :: Maybe UnixSocketAddress
noUnixSocketAddress = Nothing
-- VVV Prop "abstract"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getUnixSocketAddressAbstract :: (MonadIO m, UnixSocketAddressK o) => o -> m Bool
getUnixSocketAddressAbstract obj = liftIO $ getObjectPropertyBool obj "abstract"
constructUnixSocketAddressAbstract :: Bool -> IO ([Char], GValue)
constructUnixSocketAddressAbstract val = constructObjectPropertyBool "abstract" val
data UnixSocketAddressAbstractPropertyInfo
instance AttrInfo UnixSocketAddressAbstractPropertyInfo where
type AttrAllowedOps UnixSocketAddressAbstractPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint UnixSocketAddressAbstractPropertyInfo = (~) Bool
type AttrBaseTypeConstraint UnixSocketAddressAbstractPropertyInfo = UnixSocketAddressK
type AttrGetType UnixSocketAddressAbstractPropertyInfo = Bool
type AttrLabel UnixSocketAddressAbstractPropertyInfo = "UnixSocketAddress::abstract"
attrGet _ = getUnixSocketAddressAbstract
attrSet _ = undefined
attrConstruct _ = constructUnixSocketAddressAbstract
-- VVV Prop "address-type"
-- Type: TInterface "Gio" "UnixSocketAddressType"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getUnixSocketAddressAddressType :: (MonadIO m, UnixSocketAddressK o) => o -> m UnixSocketAddressType
getUnixSocketAddressAddressType obj = liftIO $ getObjectPropertyEnum obj "address-type"
constructUnixSocketAddressAddressType :: UnixSocketAddressType -> IO ([Char], GValue)
constructUnixSocketAddressAddressType val = constructObjectPropertyEnum "address-type" val
data UnixSocketAddressAddressTypePropertyInfo
instance AttrInfo UnixSocketAddressAddressTypePropertyInfo where
type AttrAllowedOps UnixSocketAddressAddressTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint UnixSocketAddressAddressTypePropertyInfo = (~) UnixSocketAddressType
type AttrBaseTypeConstraint UnixSocketAddressAddressTypePropertyInfo = UnixSocketAddressK
type AttrGetType UnixSocketAddressAddressTypePropertyInfo = UnixSocketAddressType
type AttrLabel UnixSocketAddressAddressTypePropertyInfo = "UnixSocketAddress::address-type"
attrGet _ = getUnixSocketAddressAddressType
attrSet _ = undefined
attrConstruct _ = constructUnixSocketAddressAddressType
-- VVV Prop "path"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getUnixSocketAddressPath :: (MonadIO m, UnixSocketAddressK o) => o -> m T.Text
getUnixSocketAddressPath obj = liftIO $ getObjectPropertyString obj "path"
constructUnixSocketAddressPath :: T.Text -> IO ([Char], GValue)
constructUnixSocketAddressPath val = constructObjectPropertyString "path" val
data UnixSocketAddressPathPropertyInfo
instance AttrInfo UnixSocketAddressPathPropertyInfo where
type AttrAllowedOps UnixSocketAddressPathPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint UnixSocketAddressPathPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint UnixSocketAddressPathPropertyInfo = UnixSocketAddressK
type AttrGetType UnixSocketAddressPathPropertyInfo = T.Text
type AttrLabel UnixSocketAddressPathPropertyInfo = "UnixSocketAddress::path"
attrGet _ = getUnixSocketAddressPath
attrSet _ = undefined
attrConstruct _ = constructUnixSocketAddressPath
-- VVV Prop "path-as-array"
-- Type: TByteArray
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getUnixSocketAddressPathAsArray :: (MonadIO m, UnixSocketAddressK o) => o -> m ByteString
getUnixSocketAddressPathAsArray obj = liftIO $ getObjectPropertyByteArray obj "path-as-array"
constructUnixSocketAddressPathAsArray :: ByteString -> IO ([Char], GValue)
constructUnixSocketAddressPathAsArray val = constructObjectPropertyByteArray "path-as-array" val
data UnixSocketAddressPathAsArrayPropertyInfo
instance AttrInfo UnixSocketAddressPathAsArrayPropertyInfo where
type AttrAllowedOps UnixSocketAddressPathAsArrayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint UnixSocketAddressPathAsArrayPropertyInfo = (~) ByteString
type AttrBaseTypeConstraint UnixSocketAddressPathAsArrayPropertyInfo = UnixSocketAddressK
type AttrGetType UnixSocketAddressPathAsArrayPropertyInfo = ByteString
type AttrLabel UnixSocketAddressPathAsArrayPropertyInfo = "UnixSocketAddress::path-as-array"
attrGet _ = getUnixSocketAddressPathAsArray
attrSet _ = undefined
attrConstruct _ = constructUnixSocketAddressPathAsArray
type instance AttributeList UnixSocketAddress = UnixSocketAddressAttributeList
type UnixSocketAddressAttributeList = ('[ '("abstract", UnixSocketAddressAbstractPropertyInfo), '("address-type", UnixSocketAddressAddressTypePropertyInfo), '("family", SocketAddressFamilyPropertyInfo), '("path", UnixSocketAddressPathPropertyInfo), '("path-as-array", UnixSocketAddressPathAsArrayPropertyInfo)] :: [(Symbol, *)])
type instance SignalList UnixSocketAddress = UnixSocketAddressSignalList
type UnixSocketAddressSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method UnixSocketAddress::new
-- method type : Constructor
-- Args : [Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "UnixSocketAddress"
-- throws : False
-- Skip return : False
foreign import ccall "g_unix_socket_address_new" g_unix_socket_address_new ::
CString -> -- path : TBasicType TUTF8
IO (Ptr UnixSocketAddress)
unixSocketAddressNew ::
(MonadIO m) =>
T.Text -> -- path
m UnixSocketAddress
unixSocketAddressNew path = liftIO $ do
path' <- textToCString path
result <- g_unix_socket_address_new path'
checkUnexpectedReturnNULL "g_unix_socket_address_new" result
result' <- (wrapObject UnixSocketAddress) result
freeMem path'
return result'
-- method UnixSocketAddress::new_abstract
-- method type : Constructor
-- Args : [Arg {argName = "path", argType = TCArray False (-1) 1 (TBasicType TInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "path_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "path", argType = TCArray False (-1) 1 (TBasicType TInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "UnixSocketAddress"
-- throws : False
-- Skip return : False
foreign import ccall "g_unix_socket_address_new_abstract" g_unix_socket_address_new_abstract ::
Ptr Int8 -> -- path : TCArray False (-1) 1 (TBasicType TInt8)
Int32 -> -- path_len : TBasicType TInt32
IO (Ptr UnixSocketAddress)
{-# DEPRECATED unixSocketAddressNewAbstract ["Use g_unix_socket_address_new_with_type()."]#-}
unixSocketAddressNewAbstract ::
(MonadIO m) =>
[Int8] -> -- path
m UnixSocketAddress
unixSocketAddressNewAbstract path = liftIO $ do
let path_len = fromIntegral $ length path
path' <- packStorableArray path
result <- g_unix_socket_address_new_abstract path' path_len
checkUnexpectedReturnNULL "g_unix_socket_address_new_abstract" result
result' <- (wrapObject UnixSocketAddress) result
freeMem path'
return result'
-- method UnixSocketAddress::new_with_type
-- method type : Constructor
-- Args : [Arg {argName = "path", argType = TCArray False (-1) 1 (TBasicType TInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gio" "UnixSocketAddressType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "path_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "path", argType = TCArray False (-1) 1 (TBasicType TInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gio" "UnixSocketAddressType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "UnixSocketAddress"
-- throws : False
-- Skip return : False
foreign import ccall "g_unix_socket_address_new_with_type" g_unix_socket_address_new_with_type ::
Ptr Int8 -> -- path : TCArray False (-1) 1 (TBasicType TInt8)
Int32 -> -- path_len : TBasicType TInt32
CUInt -> -- type : TInterface "Gio" "UnixSocketAddressType"
IO (Ptr UnixSocketAddress)
unixSocketAddressNewWithType ::
(MonadIO m) =>
[Int8] -> -- path
UnixSocketAddressType -> -- type
m UnixSocketAddress
unixSocketAddressNewWithType path type_ = liftIO $ do
let path_len = fromIntegral $ length path
path' <- packStorableArray path
let type_' = (fromIntegral . fromEnum) type_
result <- g_unix_socket_address_new_with_type path' path_len type_'
checkUnexpectedReturnNULL "g_unix_socket_address_new_with_type" result
result' <- (wrapObject UnixSocketAddress) result
freeMem path'
return result'
-- method UnixSocketAddress::get_address_type
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "UnixSocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "UnixSocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "UnixSocketAddressType"
-- throws : False
-- Skip return : False
foreign import ccall "g_unix_socket_address_get_address_type" g_unix_socket_address_get_address_type ::
Ptr UnixSocketAddress -> -- _obj : TInterface "Gio" "UnixSocketAddress"
IO CUInt
unixSocketAddressGetAddressType ::
(MonadIO m, UnixSocketAddressK a) =>
a -> -- _obj
m UnixSocketAddressType
unixSocketAddressGetAddressType _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_unix_socket_address_get_address_type _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
-- method UnixSocketAddress::get_is_abstract
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "UnixSocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "UnixSocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_unix_socket_address_get_is_abstract" g_unix_socket_address_get_is_abstract ::
Ptr UnixSocketAddress -> -- _obj : TInterface "Gio" "UnixSocketAddress"
IO CInt
{-# DEPRECATED unixSocketAddressGetIsAbstract ["Use g_unix_socket_address_get_address_type()"]#-}
unixSocketAddressGetIsAbstract ::
(MonadIO m, UnixSocketAddressK a) =>
a -> -- _obj
m Bool
unixSocketAddressGetIsAbstract _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_unix_socket_address_get_is_abstract _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method UnixSocketAddress::get_path
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "UnixSocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "UnixSocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_unix_socket_address_get_path" g_unix_socket_address_get_path ::
Ptr UnixSocketAddress -> -- _obj : TInterface "Gio" "UnixSocketAddress"
IO CString
unixSocketAddressGetPath ::
(MonadIO m, UnixSocketAddressK a) =>
a -> -- _obj
m T.Text
unixSocketAddressGetPath _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_unix_socket_address_get_path _obj'
checkUnexpectedReturnNULL "g_unix_socket_address_get_path" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method UnixSocketAddress::get_path_len
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "UnixSocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "UnixSocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False
foreign import ccall "g_unix_socket_address_get_path_len" g_unix_socket_address_get_path_len ::
Ptr UnixSocketAddress -> -- _obj : TInterface "Gio" "UnixSocketAddress"
IO Word64
unixSocketAddressGetPathLen ::
(MonadIO m, UnixSocketAddressK a) =>
a -> -- _obj
m Word64
unixSocketAddressGetPathLen _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_unix_socket_address_get_path_len _obj'
touchManagedPtr _obj
return result
-- method UnixSocketAddress::abstract_names_supported
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_unix_socket_address_abstract_names_supported" g_unix_socket_address_abstract_names_supported ::
IO CInt
unixSocketAddressAbstractNamesSupported ::
(MonadIO m) =>
m Bool
unixSocketAddressAbstractNamesSupported = liftIO $ do
result <- g_unix_socket_address_abstract_names_supported
let result' = (/= 0) result
return result'