{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) An IPv4 or IPv6 socket address; that is, the combination of a 'GI.Gio.Objects.InetAddress.InetAddress' and a port number. -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.Gio.Objects.InetSocketAddress ( -- * Exported types InetSocketAddress(..) , IsInetSocketAddress , toInetSocketAddress , noInetSocketAddress , -- * Methods -- ** getAddress #method:getAddress# #if ENABLE_OVERLOADING InetSocketAddressGetAddressMethodInfo , #endif inetSocketAddressGetAddress , -- ** getFlowinfo #method:getFlowinfo# #if ENABLE_OVERLOADING InetSocketAddressGetFlowinfoMethodInfo , #endif inetSocketAddressGetFlowinfo , -- ** getPort #method:getPort# #if ENABLE_OVERLOADING InetSocketAddressGetPortMethodInfo , #endif inetSocketAddressGetPort , -- ** getScopeId #method:getScopeId# #if ENABLE_OVERLOADING InetSocketAddressGetScopeIdMethodInfo , #endif inetSocketAddressGetScopeId , -- ** new #method:new# inetSocketAddressNew , -- ** newFromString #method:newFromString# inetSocketAddressNewFromString , -- * Properties -- ** address #attr:address# {- | /No description available in the introspection data./ -} #if ENABLE_OVERLOADING InetSocketAddressAddressPropertyInfo , #endif constructInetSocketAddressAddress , getInetSocketAddressAddress , #if ENABLE_OVERLOADING inetSocketAddressAddress , #endif -- ** flowinfo #attr:flowinfo# {- | The @sin6_flowinfo@ field, for IPv6 addresses. /Since: 2.32/ -} #if ENABLE_OVERLOADING InetSocketAddressFlowinfoPropertyInfo , #endif constructInetSocketAddressFlowinfo , getInetSocketAddressFlowinfo , #if ENABLE_OVERLOADING inetSocketAddressFlowinfo , #endif -- ** port #attr:port# {- | /No description available in the introspection data./ -} #if ENABLE_OVERLOADING InetSocketAddressPortPropertyInfo , #endif constructInetSocketAddressPort , getInetSocketAddressPort , #if ENABLE_OVERLOADING inetSocketAddressPort , #endif -- ** scopeId #attr:scopeId# {- | /No description available in the introspection data./ -} #if ENABLE_OVERLOADING InetSocketAddressScopeIdPropertyInfo , #endif constructInetSocketAddressScopeId , getInetSocketAddressScopeId , #if ENABLE_OVERLOADING inetSocketAddressScopeId , #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.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.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.Interfaces.SocketConnectable as Gio.SocketConnectable import {-# SOURCE #-} qualified GI.Gio.Objects.InetAddress as Gio.InetAddress import {-# SOURCE #-} qualified GI.Gio.Objects.SocketAddress as Gio.SocketAddress -- | Memory-managed wrapper type. newtype InetSocketAddress = InetSocketAddress (ManagedPtr InetSocketAddress) foreign import ccall "g_inet_socket_address_get_type" c_g_inet_socket_address_get_type :: IO GType instance GObject InetSocketAddress where gobjectType = c_g_inet_socket_address_get_type -- | Type class for types which can be safely cast to `InetSocketAddress`, for instance with `toInetSocketAddress`. class (GObject o, O.IsDescendantOf InetSocketAddress o) => IsInetSocketAddress o instance (GObject o, O.IsDescendantOf InetSocketAddress o) => IsInetSocketAddress o instance O.HasParentTypes InetSocketAddress type instance O.ParentTypes InetSocketAddress = '[Gio.SocketAddress.SocketAddress, GObject.Object.Object, Gio.SocketConnectable.SocketConnectable] -- | Cast to `InetSocketAddress`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toInetSocketAddress :: (MonadIO m, IsInetSocketAddress o) => o -> m InetSocketAddress toInetSocketAddress = liftIO . unsafeCastTo InetSocketAddress -- | A convenience alias for `Nothing` :: `Maybe` `InetSocketAddress`. noInetSocketAddress :: Maybe InetSocketAddress noInetSocketAddress = Nothing #if ENABLE_OVERLOADING type family ResolveInetSocketAddressMethod (t :: Symbol) (o :: *) :: * where ResolveInetSocketAddressMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveInetSocketAddressMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveInetSocketAddressMethod "enumerate" o = Gio.SocketConnectable.SocketConnectableEnumerateMethodInfo ResolveInetSocketAddressMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveInetSocketAddressMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveInetSocketAddressMethod "getv" o = GObject.Object.ObjectGetvMethodInfo ResolveInetSocketAddressMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveInetSocketAddressMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveInetSocketAddressMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveInetSocketAddressMethod "proxyEnumerate" o = Gio.SocketConnectable.SocketConnectableProxyEnumerateMethodInfo ResolveInetSocketAddressMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveInetSocketAddressMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveInetSocketAddressMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveInetSocketAddressMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveInetSocketAddressMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveInetSocketAddressMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveInetSocketAddressMethod "toNative" o = Gio.SocketAddress.SocketAddressToNativeMethodInfo ResolveInetSocketAddressMethod "toString" o = Gio.SocketConnectable.SocketConnectableToStringMethodInfo ResolveInetSocketAddressMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveInetSocketAddressMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveInetSocketAddressMethod "getAddress" o = InetSocketAddressGetAddressMethodInfo ResolveInetSocketAddressMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveInetSocketAddressMethod "getFamily" o = Gio.SocketAddress.SocketAddressGetFamilyMethodInfo ResolveInetSocketAddressMethod "getFlowinfo" o = InetSocketAddressGetFlowinfoMethodInfo ResolveInetSocketAddressMethod "getNativeSize" o = Gio.SocketAddress.SocketAddressGetNativeSizeMethodInfo ResolveInetSocketAddressMethod "getPort" o = InetSocketAddressGetPortMethodInfo ResolveInetSocketAddressMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveInetSocketAddressMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveInetSocketAddressMethod "getScopeId" o = InetSocketAddressGetScopeIdMethodInfo ResolveInetSocketAddressMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveInetSocketAddressMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveInetSocketAddressMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveInetSocketAddressMethod t InetSocketAddress, O.MethodInfo info InetSocketAddress p) => OL.IsLabel t (InetSocketAddress -> p) where #if MIN_VERSION_base(4,10,0) fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #else fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif #endif -- VVV Prop "address" -- Type: TInterface (Name {namespace = "Gio", name = "InetAddress"}) -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] -- Nullable: (Just False,Nothing) {- | Get the value of the “@address@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' inetSocketAddress #address @ -} getInetSocketAddressAddress :: (MonadIO m, IsInetSocketAddress o) => o -> m Gio.InetAddress.InetAddress getInetSocketAddressAddress obj = liftIO $ checkUnexpectedNothing "getInetSocketAddressAddress" $ B.Properties.getObjectPropertyObject obj "address" Gio.InetAddress.InetAddress {- | Construct a `GValueConstruct` with valid value for the “@address@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructInetSocketAddressAddress :: (IsInetSocketAddress o, Gio.InetAddress.IsInetAddress a) => a -> IO (GValueConstruct o) constructInetSocketAddressAddress val = B.Properties.constructObjectPropertyObject "address" (Just val) #if ENABLE_OVERLOADING data InetSocketAddressAddressPropertyInfo instance AttrInfo InetSocketAddressAddressPropertyInfo where type AttrAllowedOps InetSocketAddressAddressPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear] type AttrSetTypeConstraint InetSocketAddressAddressPropertyInfo = Gio.InetAddress.IsInetAddress type AttrBaseTypeConstraint InetSocketAddressAddressPropertyInfo = IsInetSocketAddress type AttrGetType InetSocketAddressAddressPropertyInfo = Gio.InetAddress.InetAddress type AttrLabel InetSocketAddressAddressPropertyInfo = "address" type AttrOrigin InetSocketAddressAddressPropertyInfo = InetSocketAddress attrGet _ = getInetSocketAddressAddress attrSet _ = undefined attrConstruct _ = constructInetSocketAddressAddress attrClear _ = undefined #endif -- VVV Prop "flowinfo" -- Type: TBasicType TUInt -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] -- Nullable: (Nothing,Nothing) {- | Get the value of the “@flowinfo@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' inetSocketAddress #flowinfo @ -} getInetSocketAddressFlowinfo :: (MonadIO m, IsInetSocketAddress o) => o -> m Word32 getInetSocketAddressFlowinfo obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "flowinfo" {- | Construct a `GValueConstruct` with valid value for the “@flowinfo@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructInetSocketAddressFlowinfo :: (IsInetSocketAddress o) => Word32 -> IO (GValueConstruct o) constructInetSocketAddressFlowinfo val = B.Properties.constructObjectPropertyUInt32 "flowinfo" val #if ENABLE_OVERLOADING data InetSocketAddressFlowinfoPropertyInfo instance AttrInfo InetSocketAddressFlowinfoPropertyInfo where type AttrAllowedOps InetSocketAddressFlowinfoPropertyInfo = '[ 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint InetSocketAddressFlowinfoPropertyInfo = (~) Word32 type AttrBaseTypeConstraint InetSocketAddressFlowinfoPropertyInfo = IsInetSocketAddress type AttrGetType InetSocketAddressFlowinfoPropertyInfo = Word32 type AttrLabel InetSocketAddressFlowinfoPropertyInfo = "flowinfo" type AttrOrigin InetSocketAddressFlowinfoPropertyInfo = InetSocketAddress attrGet _ = getInetSocketAddressFlowinfo attrSet _ = undefined attrConstruct _ = constructInetSocketAddressFlowinfo attrClear _ = undefined #endif -- VVV Prop "port" -- Type: TBasicType TUInt -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] -- Nullable: (Nothing,Nothing) {- | Get the value of the “@port@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' inetSocketAddress #port @ -} getInetSocketAddressPort :: (MonadIO m, IsInetSocketAddress o) => o -> m Word32 getInetSocketAddressPort obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "port" {- | Construct a `GValueConstruct` with valid value for the “@port@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructInetSocketAddressPort :: (IsInetSocketAddress o) => Word32 -> IO (GValueConstruct o) constructInetSocketAddressPort val = B.Properties.constructObjectPropertyUInt32 "port" val #if ENABLE_OVERLOADING data InetSocketAddressPortPropertyInfo instance AttrInfo InetSocketAddressPortPropertyInfo where type AttrAllowedOps InetSocketAddressPortPropertyInfo = '[ 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint InetSocketAddressPortPropertyInfo = (~) Word32 type AttrBaseTypeConstraint InetSocketAddressPortPropertyInfo = IsInetSocketAddress type AttrGetType InetSocketAddressPortPropertyInfo = Word32 type AttrLabel InetSocketAddressPortPropertyInfo = "port" type AttrOrigin InetSocketAddressPortPropertyInfo = InetSocketAddress attrGet _ = getInetSocketAddressPort attrSet _ = undefined attrConstruct _ = constructInetSocketAddressPort attrClear _ = undefined #endif -- VVV Prop "scope-id" -- Type: TBasicType TUInt -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] -- Nullable: (Nothing,Nothing) {- | Get the value of the “@scope-id@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' inetSocketAddress #scopeId @ -} getInetSocketAddressScopeId :: (MonadIO m, IsInetSocketAddress o) => o -> m Word32 getInetSocketAddressScopeId obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "scope-id" {- | Construct a `GValueConstruct` with valid value for the “@scope-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructInetSocketAddressScopeId :: (IsInetSocketAddress o) => Word32 -> IO (GValueConstruct o) constructInetSocketAddressScopeId val = B.Properties.constructObjectPropertyUInt32 "scope-id" val #if ENABLE_OVERLOADING data InetSocketAddressScopeIdPropertyInfo instance AttrInfo InetSocketAddressScopeIdPropertyInfo where type AttrAllowedOps InetSocketAddressScopeIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint InetSocketAddressScopeIdPropertyInfo = (~) Word32 type AttrBaseTypeConstraint InetSocketAddressScopeIdPropertyInfo = IsInetSocketAddress type AttrGetType InetSocketAddressScopeIdPropertyInfo = Word32 type AttrLabel InetSocketAddressScopeIdPropertyInfo = "scope-id" type AttrOrigin InetSocketAddressScopeIdPropertyInfo = InetSocketAddress attrGet _ = getInetSocketAddressScopeId attrSet _ = undefined attrConstruct _ = constructInetSocketAddressScopeId attrClear _ = undefined #endif #if ENABLE_OVERLOADING instance O.HasAttributeList InetSocketAddress type instance O.AttributeList InetSocketAddress = InetSocketAddressAttributeList type InetSocketAddressAttributeList = ('[ '("address", InetSocketAddressAddressPropertyInfo), '("family", Gio.SocketAddress.SocketAddressFamilyPropertyInfo), '("flowinfo", InetSocketAddressFlowinfoPropertyInfo), '("port", InetSocketAddressPortPropertyInfo), '("scopeId", InetSocketAddressScopeIdPropertyInfo)] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING inetSocketAddressAddress :: AttrLabelProxy "address" inetSocketAddressAddress = AttrLabelProxy inetSocketAddressFlowinfo :: AttrLabelProxy "flowinfo" inetSocketAddressFlowinfo = AttrLabelProxy inetSocketAddressPort :: AttrLabelProxy "port" inetSocketAddressPort = AttrLabelProxy inetSocketAddressScopeId :: AttrLabelProxy "scopeId" inetSocketAddressScopeId = AttrLabelProxy #endif #if ENABLE_OVERLOADING type instance O.SignalList InetSocketAddress = InetSocketAddressSignalList type InetSocketAddressSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) #endif -- method InetSocketAddress::new -- method type : Constructor -- Args : [Arg {argCName = "address", argType = TInterface (Name {namespace = "Gio", name = "InetAddress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GInetAddress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a port number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gio", name = "InetSocketAddress"})) -- throws : False -- Skip return : False foreign import ccall "g_inet_socket_address_new" g_inet_socket_address_new :: Ptr Gio.InetAddress.InetAddress -> -- address : TInterface (Name {namespace = "Gio", name = "InetAddress"}) Word16 -> -- port : TBasicType TUInt16 IO (Ptr InetSocketAddress) {- | Creates a new 'GI.Gio.Objects.InetSocketAddress.InetSocketAddress' for /@address@/ and /@port@/. /Since: 2.22/ -} inetSocketAddressNew :: (B.CallStack.HasCallStack, MonadIO m, Gio.InetAddress.IsInetAddress a) => a {- ^ /@address@/: a 'GI.Gio.Objects.InetAddress.InetAddress' -} -> Word16 {- ^ /@port@/: a port number -} -> m InetSocketAddress {- ^ __Returns:__ a new 'GI.Gio.Objects.InetSocketAddress.InetSocketAddress' -} inetSocketAddressNew address port = liftIO $ do address' <- unsafeManagedPtrCastPtr address result <- g_inet_socket_address_new address' port checkUnexpectedReturnNULL "inetSocketAddressNew" result result' <- (wrapObject InetSocketAddress) result touchManagedPtr address return result' #if ENABLE_OVERLOADING #endif -- method InetSocketAddress::new_from_string -- method type : Constructor -- Args : [Arg {argCName = "address", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string form of an IP address", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a port number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gio", name = "InetSocketAddress"})) -- throws : False -- Skip return : False foreign import ccall "g_inet_socket_address_new_from_string" g_inet_socket_address_new_from_string :: CString -> -- address : TBasicType TUTF8 Word32 -> -- port : TBasicType TUInt IO (Ptr InetSocketAddress) {- | Creates a new 'GI.Gio.Objects.InetSocketAddress.InetSocketAddress' for /@address@/ and /@port@/. If /@address@/ is an IPv6 address, it can also contain a scope ID (separated from the address by a @%@). /Since: 2.40/ -} inetSocketAddressNewFromString :: (B.CallStack.HasCallStack, MonadIO m) => T.Text {- ^ /@address@/: the string form of an IP address -} -> Word32 {- ^ /@port@/: a port number -} -> m InetSocketAddress {- ^ __Returns:__ a new 'GI.Gio.Objects.InetSocketAddress.InetSocketAddress', or 'Nothing' if /@address@/ cannot be parsed. -} inetSocketAddressNewFromString address port = liftIO $ do address' <- textToCString address result <- g_inet_socket_address_new_from_string address' port checkUnexpectedReturnNULL "inetSocketAddressNewFromString" result result' <- (wrapObject InetSocketAddress) result freeMem address' return result' #if ENABLE_OVERLOADING #endif -- method InetSocketAddress::get_address -- method type : OrdinaryMethod -- Args : [Arg {argCName = "address", argType = TInterface (Name {namespace = "Gio", name = "InetSocketAddress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GInetSocketAddress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gio", name = "InetAddress"})) -- throws : False -- Skip return : False foreign import ccall "g_inet_socket_address_get_address" g_inet_socket_address_get_address :: Ptr InetSocketAddress -> -- address : TInterface (Name {namespace = "Gio", name = "InetSocketAddress"}) IO (Ptr Gio.InetAddress.InetAddress) {- | Gets /@address@/\'s 'GI.Gio.Objects.InetAddress.InetAddress'. /Since: 2.22/ -} inetSocketAddressGetAddress :: (B.CallStack.HasCallStack, MonadIO m, IsInetSocketAddress a) => a {- ^ /@address@/: a 'GI.Gio.Objects.InetSocketAddress.InetSocketAddress' -} -> m Gio.InetAddress.InetAddress {- ^ __Returns:__ the 'GI.Gio.Objects.InetAddress.InetAddress' for /@address@/, which must be 'GI.GObject.Objects.Object.objectRef'\'d if it will be stored -} inetSocketAddressGetAddress address = liftIO $ do address' <- unsafeManagedPtrCastPtr address result <- g_inet_socket_address_get_address address' checkUnexpectedReturnNULL "inetSocketAddressGetAddress" result result' <- (newObject Gio.InetAddress.InetAddress) result touchManagedPtr address return result' #if ENABLE_OVERLOADING data InetSocketAddressGetAddressMethodInfo instance (signature ~ (m Gio.InetAddress.InetAddress), MonadIO m, IsInetSocketAddress a) => O.MethodInfo InetSocketAddressGetAddressMethodInfo a signature where overloadedMethod _ = inetSocketAddressGetAddress #endif -- method InetSocketAddress::get_flowinfo -- method type : OrdinaryMethod -- Args : [Arg {argCName = "address", argType = TInterface (Name {namespace = "Gio", name = "InetSocketAddress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %G_SOCKET_FAMILY_IPV6 #GInetSocketAddress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt32) -- throws : False -- Skip return : False foreign import ccall "g_inet_socket_address_get_flowinfo" g_inet_socket_address_get_flowinfo :: Ptr InetSocketAddress -> -- address : TInterface (Name {namespace = "Gio", name = "InetSocketAddress"}) IO Word32 {- | Gets the @sin6_flowinfo@ field from /@address@/, which must be an IPv6 address. /Since: 2.32/ -} inetSocketAddressGetFlowinfo :: (B.CallStack.HasCallStack, MonadIO m, IsInetSocketAddress a) => a {- ^ /@address@/: a 'GI.Gio.Enums.SocketFamilyIpv6' 'GI.Gio.Objects.InetSocketAddress.InetSocketAddress' -} -> m Word32 {- ^ __Returns:__ the flowinfo field -} inetSocketAddressGetFlowinfo address = liftIO $ do address' <- unsafeManagedPtrCastPtr address result <- g_inet_socket_address_get_flowinfo address' touchManagedPtr address return result #if ENABLE_OVERLOADING data InetSocketAddressGetFlowinfoMethodInfo instance (signature ~ (m Word32), MonadIO m, IsInetSocketAddress a) => O.MethodInfo InetSocketAddressGetFlowinfoMethodInfo a signature where overloadedMethod _ = inetSocketAddressGetFlowinfo #endif -- method InetSocketAddress::get_port -- method type : OrdinaryMethod -- Args : [Arg {argCName = "address", argType = TInterface (Name {namespace = "Gio", name = "InetSocketAddress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GInetSocketAddress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt16) -- throws : False -- Skip return : False foreign import ccall "g_inet_socket_address_get_port" g_inet_socket_address_get_port :: Ptr InetSocketAddress -> -- address : TInterface (Name {namespace = "Gio", name = "InetSocketAddress"}) IO Word16 {- | Gets /@address@/\'s port. /Since: 2.22/ -} inetSocketAddressGetPort :: (B.CallStack.HasCallStack, MonadIO m, IsInetSocketAddress a) => a {- ^ /@address@/: a 'GI.Gio.Objects.InetSocketAddress.InetSocketAddress' -} -> m Word16 {- ^ __Returns:__ the port for /@address@/ -} inetSocketAddressGetPort address = liftIO $ do address' <- unsafeManagedPtrCastPtr address result <- g_inet_socket_address_get_port address' touchManagedPtr address return result #if ENABLE_OVERLOADING data InetSocketAddressGetPortMethodInfo instance (signature ~ (m Word16), MonadIO m, IsInetSocketAddress a) => O.MethodInfo InetSocketAddressGetPortMethodInfo a signature where overloadedMethod _ = inetSocketAddressGetPort #endif -- method InetSocketAddress::get_scope_id -- method type : OrdinaryMethod -- Args : [Arg {argCName = "address", argType = TInterface (Name {namespace = "Gio", name = "InetSocketAddress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %G_SOCKET_FAMILY_IPV6 #GInetAddress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt32) -- throws : False -- Skip return : False foreign import ccall "g_inet_socket_address_get_scope_id" g_inet_socket_address_get_scope_id :: Ptr InetSocketAddress -> -- address : TInterface (Name {namespace = "Gio", name = "InetSocketAddress"}) IO Word32 {- | Gets the @sin6_scope_id@ field from /@address@/, which must be an IPv6 address. /Since: 2.32/ -} inetSocketAddressGetScopeId :: (B.CallStack.HasCallStack, MonadIO m, IsInetSocketAddress a) => a {- ^ /@address@/: a 'GI.Gio.Enums.SocketFamilyIpv6' 'GI.Gio.Objects.InetAddress.InetAddress' -} -> m Word32 {- ^ __Returns:__ the scope id field -} inetSocketAddressGetScopeId address = liftIO $ do address' <- unsafeManagedPtrCastPtr address result <- g_inet_socket_address_get_scope_id address' touchManagedPtr address return result #if ENABLE_OVERLOADING data InetSocketAddressGetScopeIdMethodInfo instance (signature ~ (m Word32), MonadIO m, IsInetSocketAddress a) => O.MethodInfo InetSocketAddressGetScopeIdMethodInfo a signature where overloadedMethod _ = inetSocketAddressGetScopeId #endif