gi-gio-0.2.46.13: GI/Gio/Objects/InetAddressMask.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.InetAddressMask
(
-- * Exported types
InetAddressMask(..) ,
InetAddressMaskK ,
toInetAddressMask ,
noInetAddressMask ,
-- * Methods
-- ** inetAddressMaskEqual
InetAddressMaskEqualMethodInfo ,
inetAddressMaskEqual ,
-- ** inetAddressMaskGetAddress
InetAddressMaskGetAddressMethodInfo ,
inetAddressMaskGetAddress ,
-- ** inetAddressMaskGetFamily
InetAddressMaskGetFamilyMethodInfo ,
inetAddressMaskGetFamily ,
-- ** inetAddressMaskGetLength
InetAddressMaskGetLengthMethodInfo ,
inetAddressMaskGetLength ,
-- ** inetAddressMaskMatches
InetAddressMaskMatchesMethodInfo ,
inetAddressMaskMatches ,
-- ** inetAddressMaskNew
inetAddressMaskNew ,
-- ** inetAddressMaskNewFromString
inetAddressMaskNewFromString ,
-- ** inetAddressMaskToString
InetAddressMaskToStringMethodInfo ,
inetAddressMaskToString ,
-- * Properties
-- ** Address
InetAddressMaskAddressPropertyInfo ,
constructInetAddressMaskAddress ,
getInetAddressMaskAddress ,
setInetAddressMaskAddress ,
-- ** Family
InetAddressMaskFamilyPropertyInfo ,
getInetAddressMaskFamily ,
-- ** Length
InetAddressMaskLengthPropertyInfo ,
constructInetAddressMaskLength ,
getInetAddressMaskLength ,
setInetAddressMaskLength ,
) 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 InetAddressMask = InetAddressMask (ForeignPtr InetAddressMask)
foreign import ccall "g_inet_address_mask_get_type"
c_g_inet_address_mask_get_type :: IO GType
type instance ParentTypes InetAddressMask = InetAddressMaskParentTypes
type InetAddressMaskParentTypes = '[GObject.Object, Initable]
instance GObject InetAddressMask where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_inet_address_mask_get_type
class GObject o => InetAddressMaskK o
instance (GObject o, IsDescendantOf InetAddressMask o) => InetAddressMaskK o
toInetAddressMask :: InetAddressMaskK o => o -> IO InetAddressMask
toInetAddressMask = unsafeCastTo InetAddressMask
noInetAddressMask :: Maybe InetAddressMask
noInetAddressMask = Nothing
type family ResolveInetAddressMaskMethod (t :: Symbol) (o :: *) :: * where
ResolveInetAddressMaskMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveInetAddressMaskMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveInetAddressMaskMethod "equal" o = InetAddressMaskEqualMethodInfo
ResolveInetAddressMaskMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveInetAddressMaskMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveInetAddressMaskMethod "init" o = InitableInitMethodInfo
ResolveInetAddressMaskMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveInetAddressMaskMethod "matches" o = InetAddressMaskMatchesMethodInfo
ResolveInetAddressMaskMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveInetAddressMaskMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveInetAddressMaskMethod "ref" o = GObject.ObjectRefMethodInfo
ResolveInetAddressMaskMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveInetAddressMaskMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveInetAddressMaskMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveInetAddressMaskMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveInetAddressMaskMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveInetAddressMaskMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveInetAddressMaskMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveInetAddressMaskMethod "toString" o = InetAddressMaskToStringMethodInfo
ResolveInetAddressMaskMethod "unref" o = GObject.ObjectUnrefMethodInfo
ResolveInetAddressMaskMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveInetAddressMaskMethod "getAddress" o = InetAddressMaskGetAddressMethodInfo
ResolveInetAddressMaskMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveInetAddressMaskMethod "getFamily" o = InetAddressMaskGetFamilyMethodInfo
ResolveInetAddressMaskMethod "getLength" o = InetAddressMaskGetLengthMethodInfo
ResolveInetAddressMaskMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveInetAddressMaskMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveInetAddressMaskMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveInetAddressMaskMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveInetAddressMaskMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveInetAddressMaskMethod t InetAddressMask, MethodInfo info InetAddressMask p) => IsLabelProxy t (InetAddressMask -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveInetAddressMaskMethod t InetAddressMask, MethodInfo info InetAddressMask p) => IsLabel t (InetAddressMask -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
-- VVV Prop "address"
-- Type: TInterface "Gio" "InetAddress"
-- Flags: [PropertyReadable,PropertyWritable]
getInetAddressMaskAddress :: (MonadIO m, InetAddressMaskK o) => o -> m InetAddress
getInetAddressMaskAddress obj = liftIO $ getObjectPropertyObject obj "address" InetAddress
setInetAddressMaskAddress :: (MonadIO m, InetAddressMaskK o, InetAddressK a) => o -> a -> m ()
setInetAddressMaskAddress obj val = liftIO $ setObjectPropertyObject obj "address" val
constructInetAddressMaskAddress :: (InetAddressK a) => a -> IO ([Char], GValue)
constructInetAddressMaskAddress val = constructObjectPropertyObject "address" val
data InetAddressMaskAddressPropertyInfo
instance AttrInfo InetAddressMaskAddressPropertyInfo where
type AttrAllowedOps InetAddressMaskAddressPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint InetAddressMaskAddressPropertyInfo = InetAddressK
type AttrBaseTypeConstraint InetAddressMaskAddressPropertyInfo = InetAddressMaskK
type AttrGetType InetAddressMaskAddressPropertyInfo = InetAddress
type AttrLabel InetAddressMaskAddressPropertyInfo = "address"
attrGet _ = getInetAddressMaskAddress
attrSet _ = setInetAddressMaskAddress
attrConstruct _ = constructInetAddressMaskAddress
-- VVV Prop "family"
-- Type: TInterface "Gio" "SocketFamily"
-- Flags: [PropertyReadable]
getInetAddressMaskFamily :: (MonadIO m, InetAddressMaskK o) => o -> m SocketFamily
getInetAddressMaskFamily obj = liftIO $ getObjectPropertyEnum obj "family"
data InetAddressMaskFamilyPropertyInfo
instance AttrInfo InetAddressMaskFamilyPropertyInfo where
type AttrAllowedOps InetAddressMaskFamilyPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint InetAddressMaskFamilyPropertyInfo = (~) ()
type AttrBaseTypeConstraint InetAddressMaskFamilyPropertyInfo = InetAddressMaskK
type AttrGetType InetAddressMaskFamilyPropertyInfo = SocketFamily
type AttrLabel InetAddressMaskFamilyPropertyInfo = "family"
attrGet _ = getInetAddressMaskFamily
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "length"
-- Type: TBasicType TUInt32
-- Flags: [PropertyReadable,PropertyWritable]
getInetAddressMaskLength :: (MonadIO m, InetAddressMaskK o) => o -> m Word32
getInetAddressMaskLength obj = liftIO $ getObjectPropertyCUInt obj "length"
setInetAddressMaskLength :: (MonadIO m, InetAddressMaskK o) => o -> Word32 -> m ()
setInetAddressMaskLength obj val = liftIO $ setObjectPropertyCUInt obj "length" val
constructInetAddressMaskLength :: Word32 -> IO ([Char], GValue)
constructInetAddressMaskLength val = constructObjectPropertyCUInt "length" val
data InetAddressMaskLengthPropertyInfo
instance AttrInfo InetAddressMaskLengthPropertyInfo where
type AttrAllowedOps InetAddressMaskLengthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint InetAddressMaskLengthPropertyInfo = (~) Word32
type AttrBaseTypeConstraint InetAddressMaskLengthPropertyInfo = InetAddressMaskK
type AttrGetType InetAddressMaskLengthPropertyInfo = Word32
type AttrLabel InetAddressMaskLengthPropertyInfo = "length"
attrGet _ = getInetAddressMaskLength
attrSet _ = setInetAddressMaskLength
attrConstruct _ = constructInetAddressMaskLength
type instance AttributeList InetAddressMask = InetAddressMaskAttributeList
type InetAddressMaskAttributeList = ('[ '("address", InetAddressMaskAddressPropertyInfo), '("family", InetAddressMaskFamilyPropertyInfo), '("length", InetAddressMaskLengthPropertyInfo)] :: [(Symbol, *)])
type instance SignalList InetAddressMask = InetAddressMaskSignalList
type InetAddressMaskSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method InetAddressMask::new
-- method type : Constructor
-- Args : [Arg {argCName = "addr", argType = TInterface "Gio" "InetAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gio" "InetAddressMask"
-- throws : True
-- Skip return : False
foreign import ccall "g_inet_address_mask_new" g_inet_address_mask_new ::
Ptr InetAddress -> -- addr : TInterface "Gio" "InetAddress"
Word32 -> -- length : TBasicType TUInt32
Ptr (Ptr GError) -> -- error
IO (Ptr InetAddressMask)
inetAddressMaskNew ::
(MonadIO m, InetAddressK a) =>
a -- addr
-> Word32 -- length_
-> m InetAddressMask -- result
inetAddressMaskNew addr length_ = liftIO $ do
let addr' = unsafeManagedPtrCastPtr addr
onException (do
result <- propagateGError $ g_inet_address_mask_new addr' length_
checkUnexpectedReturnNULL "g_inet_address_mask_new" result
result' <- (wrapObject InetAddressMask) result
touchManagedPtr addr
return result'
) (do
return ()
)
-- method InetAddressMask::new_from_string
-- method type : Constructor
-- Args : [Arg {argCName = "mask_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gio" "InetAddressMask"
-- throws : True
-- Skip return : False
foreign import ccall "g_inet_address_mask_new_from_string" g_inet_address_mask_new_from_string ::
CString -> -- mask_string : TBasicType TUTF8
Ptr (Ptr GError) -> -- error
IO (Ptr InetAddressMask)
inetAddressMaskNewFromString ::
(MonadIO m) =>
T.Text -- maskString
-> m InetAddressMask -- result
inetAddressMaskNewFromString maskString = liftIO $ do
maskString' <- textToCString maskString
onException (do
result <- propagateGError $ g_inet_address_mask_new_from_string maskString'
checkUnexpectedReturnNULL "g_inet_address_mask_new_from_string" result
result' <- (wrapObject InetAddressMask) result
freeMem maskString'
return result'
) (do
freeMem maskString'
)
-- method InetAddressMask::equal
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "InetAddressMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask2", argType = TInterface "Gio" "InetAddressMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_inet_address_mask_equal" g_inet_address_mask_equal ::
Ptr InetAddressMask -> -- _obj : TInterface "Gio" "InetAddressMask"
Ptr InetAddressMask -> -- mask2 : TInterface "Gio" "InetAddressMask"
IO CInt
inetAddressMaskEqual ::
(MonadIO m, InetAddressMaskK a, InetAddressMaskK b) =>
a -- _obj
-> b -- mask2
-> m Bool -- result
inetAddressMaskEqual _obj mask2 = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let mask2' = unsafeManagedPtrCastPtr mask2
result <- g_inet_address_mask_equal _obj' mask2'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr mask2
return result'
data InetAddressMaskEqualMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, InetAddressMaskK a, InetAddressMaskK b) => MethodInfo InetAddressMaskEqualMethodInfo a signature where
overloadedMethod _ = inetAddressMaskEqual
-- method InetAddressMask::get_address
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "InetAddressMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gio" "InetAddress"
-- throws : False
-- Skip return : False
foreign import ccall "g_inet_address_mask_get_address" g_inet_address_mask_get_address ::
Ptr InetAddressMask -> -- _obj : TInterface "Gio" "InetAddressMask"
IO (Ptr InetAddress)
inetAddressMaskGetAddress ::
(MonadIO m, InetAddressMaskK a) =>
a -- _obj
-> m InetAddress -- result
inetAddressMaskGetAddress _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_inet_address_mask_get_address _obj'
checkUnexpectedReturnNULL "g_inet_address_mask_get_address" result
result' <- (newObject InetAddress) result
touchManagedPtr _obj
return result'
data InetAddressMaskGetAddressMethodInfo
instance (signature ~ (m InetAddress), MonadIO m, InetAddressMaskK a) => MethodInfo InetAddressMaskGetAddressMethodInfo a signature where
overloadedMethod _ = inetAddressMaskGetAddress
-- method InetAddressMask::get_family
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "InetAddressMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gio" "SocketFamily"
-- throws : False
-- Skip return : False
foreign import ccall "g_inet_address_mask_get_family" g_inet_address_mask_get_family ::
Ptr InetAddressMask -> -- _obj : TInterface "Gio" "InetAddressMask"
IO CUInt
inetAddressMaskGetFamily ::
(MonadIO m, InetAddressMaskK a) =>
a -- _obj
-> m SocketFamily -- result
inetAddressMaskGetFamily _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_inet_address_mask_get_family _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data InetAddressMaskGetFamilyMethodInfo
instance (signature ~ (m SocketFamily), MonadIO m, InetAddressMaskK a) => MethodInfo InetAddressMaskGetFamilyMethodInfo a signature where
overloadedMethod _ = inetAddressMaskGetFamily
-- method InetAddressMask::get_length
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "InetAddressMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_inet_address_mask_get_length" g_inet_address_mask_get_length ::
Ptr InetAddressMask -> -- _obj : TInterface "Gio" "InetAddressMask"
IO Word32
inetAddressMaskGetLength ::
(MonadIO m, InetAddressMaskK a) =>
a -- _obj
-> m Word32 -- result
inetAddressMaskGetLength _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_inet_address_mask_get_length _obj'
touchManagedPtr _obj
return result
data InetAddressMaskGetLengthMethodInfo
instance (signature ~ (m Word32), MonadIO m, InetAddressMaskK a) => MethodInfo InetAddressMaskGetLengthMethodInfo a signature where
overloadedMethod _ = inetAddressMaskGetLength
-- method InetAddressMask::matches
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "InetAddressMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "address", argType = TInterface "Gio" "InetAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_inet_address_mask_matches" g_inet_address_mask_matches ::
Ptr InetAddressMask -> -- _obj : TInterface "Gio" "InetAddressMask"
Ptr InetAddress -> -- address : TInterface "Gio" "InetAddress"
IO CInt
inetAddressMaskMatches ::
(MonadIO m, InetAddressMaskK a, InetAddressK b) =>
a -- _obj
-> b -- address
-> m Bool -- result
inetAddressMaskMatches _obj address = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let address' = unsafeManagedPtrCastPtr address
result <- g_inet_address_mask_matches _obj' address'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr address
return result'
data InetAddressMaskMatchesMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, InetAddressMaskK a, InetAddressK b) => MethodInfo InetAddressMaskMatchesMethodInfo a signature where
overloadedMethod _ = inetAddressMaskMatches
-- method InetAddressMask::to_string
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "InetAddressMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_inet_address_mask_to_string" g_inet_address_mask_to_string ::
Ptr InetAddressMask -> -- _obj : TInterface "Gio" "InetAddressMask"
IO CString
inetAddressMaskToString ::
(MonadIO m, InetAddressMaskK a) =>
a -- _obj
-> m T.Text -- result
inetAddressMaskToString _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_inet_address_mask_to_string _obj'
checkUnexpectedReturnNULL "g_inet_address_mask_to_string" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
return result'
data InetAddressMaskToStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m, InetAddressMaskK a) => MethodInfo InetAddressMaskToStringMethodInfo a signature where
overloadedMethod _ = inetAddressMaskToString