#define ENABLE_OVERLOADING \
(!defined(__HADDOCK_VERSION__))
module GI.Gio.Objects.InetSocketAddress
(
InetSocketAddress(..) ,
IsInetSocketAddress ,
toInetSocketAddress ,
noInetSocketAddress ,
#if ENABLE_OVERLOADING
InetSocketAddressGetAddressMethodInfo ,
#endif
inetSocketAddressGetAddress ,
#if ENABLE_OVERLOADING
InetSocketAddressGetFlowinfoMethodInfo ,
#endif
inetSocketAddressGetFlowinfo ,
#if ENABLE_OVERLOADING
InetSocketAddressGetPortMethodInfo ,
#endif
inetSocketAddressGetPort ,
#if ENABLE_OVERLOADING
InetSocketAddressGetScopeIdMethodInfo ,
#endif
inetSocketAddressGetScopeId ,
inetSocketAddressNew ,
inetSocketAddressNewFromString ,
#if ENABLE_OVERLOADING
InetSocketAddressAddressPropertyInfo ,
#endif
constructInetSocketAddressAddress ,
getInetSocketAddressAddress ,
#if ENABLE_OVERLOADING
inetSocketAddressAddress ,
#endif
#if ENABLE_OVERLOADING
InetSocketAddressFlowinfoPropertyInfo ,
#endif
constructInetSocketAddressFlowinfo ,
getInetSocketAddressFlowinfo ,
#if ENABLE_OVERLOADING
inetSocketAddressFlowinfo ,
#endif
#if ENABLE_OVERLOADING
InetSocketAddressPortPropertyInfo ,
#endif
constructInetSocketAddressPort ,
getInetSocketAddressPort ,
#if ENABLE_OVERLOADING
inetSocketAddressPort ,
#endif
#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.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.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
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
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 :: InetSocketAddress -> IO GType
gobjectType _ = IO GType
c_g_inet_socket_address_get_type
class GObject o => IsInetSocketAddress o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError InetSocketAddress a) =>
IsInetSocketAddress a
#endif
instance IsInetSocketAddress InetSocketAddress
instance Gio.SocketAddress.IsSocketAddress InetSocketAddress
instance GObject.Object.IsObject InetSocketAddress
instance Gio.SocketConnectable.IsSocketConnectable InetSocketAddress
toInetSocketAddress :: (MonadIO m, IsInetSocketAddress o) => o -> m InetSocketAddress
toInetSocketAddress :: o -> m InetSocketAddress
toInetSocketAddress = IO InetSocketAddress -> m InetSocketAddress
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO InetSocketAddress -> m InetSocketAddress)
-> (o -> IO InetSocketAddress) -> o -> m InetSocketAddress
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr InetSocketAddress -> InetSocketAddress)
-> o -> IO InetSocketAddress
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr InetSocketAddress -> InetSocketAddress
InetSocketAddress
noInetSocketAddress :: Maybe InetSocketAddress
noInetSocketAddress :: Maybe InetSocketAddress
noInetSocketAddress = Maybe InetSocketAddress
forall a. Maybe a
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) => O.IsLabelProxy t (InetSocketAddress -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveInetSocketAddressMethod t InetSocketAddress, O.MethodInfo info InetSocketAddress p) => O.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
#endif
getInetSocketAddressAddress :: (MonadIO m, IsInetSocketAddress o) => o -> m Gio.InetAddress.InetAddress
getInetSocketAddressAddress :: o -> m InetAddress
getInetSocketAddressAddress obj :: o
obj = IO InetAddress -> m InetAddress
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO InetAddress -> m InetAddress)
-> IO InetAddress -> m InetAddress
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe InetAddress) -> IO InetAddress
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing "getInetSocketAddressAddress" (IO (Maybe InetAddress) -> IO InetAddress)
-> IO (Maybe InetAddress) -> IO InetAddress
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr InetAddress -> InetAddress)
-> IO (Maybe InetAddress)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
getObjectPropertyObject o
obj "address" ManagedPtr InetAddress -> InetAddress
Gio.InetAddress.InetAddress
constructInetSocketAddressAddress :: (IsInetSocketAddress o, Gio.InetAddress.IsInetAddress a) => a -> IO (GValueConstruct o)
constructInetSocketAddressAddress :: a -> IO (GValueConstruct o)
constructInetSocketAddressAddress val :: a
val = String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
constructObjectPropertyObject "address" (a -> Maybe a
forall a. a -> Maybe a
Just a
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
getInetSocketAddressFlowinfo :: (MonadIO m, IsInetSocketAddress o) => o -> m Word32
getInetSocketAddressFlowinfo :: o -> m Word32
getInetSocketAddressFlowinfo obj :: o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
getObjectPropertyUInt32 o
obj "flowinfo"
constructInetSocketAddressFlowinfo :: (IsInetSocketAddress o) => Word32 -> IO (GValueConstruct o)
constructInetSocketAddressFlowinfo :: Word32 -> IO (GValueConstruct o)
constructInetSocketAddressFlowinfo val :: Word32
val = String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
constructObjectPropertyUInt32 "flowinfo" Word32
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
getInetSocketAddressPort :: (MonadIO m, IsInetSocketAddress o) => o -> m Word32
getInetSocketAddressPort :: o -> m Word32
getInetSocketAddressPort obj :: o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
getObjectPropertyUInt32 o
obj "port"
constructInetSocketAddressPort :: (IsInetSocketAddress o) => Word32 -> IO (GValueConstruct o)
constructInetSocketAddressPort :: Word32 -> IO (GValueConstruct o)
constructInetSocketAddressPort val :: Word32
val = String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
constructObjectPropertyUInt32 "port" Word32
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
getInetSocketAddressScopeId :: (MonadIO m, IsInetSocketAddress o) => o -> m Word32
getInetSocketAddressScopeId :: o -> m Word32
getInetSocketAddressScopeId obj :: o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
getObjectPropertyUInt32 o
obj "scope-id"
constructInetSocketAddressScopeId :: (IsInetSocketAddress o) => Word32 -> IO (GValueConstruct o)
constructInetSocketAddressScopeId :: Word32 -> IO (GValueConstruct o)
constructInetSocketAddressScopeId val :: Word32
val = String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
constructObjectPropertyUInt32 "scope-id" Word32
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
foreign import ccall "g_inet_socket_address_new" g_inet_socket_address_new ::
Ptr Gio.InetAddress.InetAddress ->
Word16 ->
IO (Ptr InetSocketAddress)
inetSocketAddressNew ::
(B.CallStack.HasCallStack, MonadIO m, Gio.InetAddress.IsInetAddress a) =>
a
-> Word16
-> m InetSocketAddress
inetSocketAddressNew :: a -> Word16 -> m InetSocketAddress
inetSocketAddressNew address :: a
address port :: Word16
port = IO InetSocketAddress -> m InetSocketAddress
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO InetSocketAddress -> m InetSocketAddress)
-> IO InetSocketAddress -> m InetSocketAddress
forall a b. (a -> b) -> a -> b
$ do
Ptr InetAddress
address' <- a -> IO (Ptr InetAddress)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
address
Ptr InetSocketAddress
result <- Ptr InetAddress -> Word16 -> IO (Ptr InetSocketAddress)
g_inet_socket_address_new Ptr InetAddress
address' Word16
port
Text -> Ptr InetSocketAddress -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "inetSocketAddressNew" Ptr InetSocketAddress
result
InetSocketAddress
result' <- ((ManagedPtr InetSocketAddress -> InetSocketAddress)
-> Ptr InetSocketAddress -> IO InetSocketAddress
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr InetSocketAddress -> InetSocketAddress
InetSocketAddress) Ptr InetSocketAddress
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
address
InetSocketAddress -> IO InetSocketAddress
forall (m :: * -> *) a. Monad m => a -> m a
return InetSocketAddress
result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "g_inet_socket_address_new_from_string" g_inet_socket_address_new_from_string ::
CString ->
Word32 ->
IO (Ptr InetSocketAddress)
inetSocketAddressNewFromString ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Word32
-> m InetSocketAddress
inetSocketAddressNewFromString :: Text -> Word32 -> m InetSocketAddress
inetSocketAddressNewFromString address :: Text
address port :: Word32
port = IO InetSocketAddress -> m InetSocketAddress
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO InetSocketAddress -> m InetSocketAddress)
-> IO InetSocketAddress -> m InetSocketAddress
forall a b. (a -> b) -> a -> b
$ do
CString
address' <- Text -> IO CString
textToCString Text
address
Ptr InetSocketAddress
result <- CString -> Word32 -> IO (Ptr InetSocketAddress)
g_inet_socket_address_new_from_string CString
address' Word32
port
Text -> Ptr InetSocketAddress -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "inetSocketAddressNewFromString" Ptr InetSocketAddress
result
InetSocketAddress
result' <- ((ManagedPtr InetSocketAddress -> InetSocketAddress)
-> Ptr InetSocketAddress -> IO InetSocketAddress
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr InetSocketAddress -> InetSocketAddress
InetSocketAddress) Ptr InetSocketAddress
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
address'
InetSocketAddress -> IO InetSocketAddress
forall (m :: * -> *) a. Monad m => a -> m a
return InetSocketAddress
result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "g_inet_socket_address_get_address" g_inet_socket_address_get_address ::
Ptr InetSocketAddress ->
IO (Ptr Gio.InetAddress.InetAddress)
inetSocketAddressGetAddress ::
(B.CallStack.HasCallStack, MonadIO m, IsInetSocketAddress a) =>
a
-> m Gio.InetAddress.InetAddress
inetSocketAddressGetAddress :: a -> m InetAddress
inetSocketAddressGetAddress address :: a
address = IO InetAddress -> m InetAddress
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO InetAddress -> m InetAddress)
-> IO InetAddress -> m InetAddress
forall a b. (a -> b) -> a -> b
$ do
Ptr InetSocketAddress
address' <- a -> IO (Ptr InetSocketAddress)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
address
Ptr InetAddress
result <- Ptr InetSocketAddress -> IO (Ptr InetAddress)
g_inet_socket_address_get_address Ptr InetSocketAddress
address'
Text -> Ptr InetAddress -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "inetSocketAddressGetAddress" Ptr InetAddress
result
InetAddress
result' <- ((ManagedPtr InetAddress -> InetAddress)
-> Ptr InetAddress -> IO InetAddress
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr InetAddress -> InetAddress
Gio.InetAddress.InetAddress) Ptr InetAddress
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
address
InetAddress -> IO InetAddress
forall (m :: * -> *) a. Monad m => a -> m a
return InetAddress
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
foreign import ccall "g_inet_socket_address_get_flowinfo" g_inet_socket_address_get_flowinfo ::
Ptr InetSocketAddress ->
IO Word32
inetSocketAddressGetFlowinfo ::
(B.CallStack.HasCallStack, MonadIO m, IsInetSocketAddress a) =>
a
-> m Word32
inetSocketAddressGetFlowinfo :: a -> m Word32
inetSocketAddressGetFlowinfo address :: a
address = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr InetSocketAddress
address' <- a -> IO (Ptr InetSocketAddress)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
address
Word32
result <- Ptr InetSocketAddress -> IO Word32
g_inet_socket_address_get_flowinfo Ptr InetSocketAddress
address'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
address
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if ENABLE_OVERLOADING
data InetSocketAddressGetFlowinfoMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsInetSocketAddress a) => O.MethodInfo InetSocketAddressGetFlowinfoMethodInfo a signature where
overloadedMethod _ = inetSocketAddressGetFlowinfo
#endif
foreign import ccall "g_inet_socket_address_get_port" g_inet_socket_address_get_port ::
Ptr InetSocketAddress ->
IO Word16
inetSocketAddressGetPort ::
(B.CallStack.HasCallStack, MonadIO m, IsInetSocketAddress a) =>
a
-> m Word16
inetSocketAddressGetPort :: a -> m Word16
inetSocketAddressGetPort address :: a
address = IO Word16 -> m Word16
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word16 -> m Word16) -> IO Word16 -> m Word16
forall a b. (a -> b) -> a -> b
$ do
Ptr InetSocketAddress
address' <- a -> IO (Ptr InetSocketAddress)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
address
Word16
result <- Ptr InetSocketAddress -> IO Word16
g_inet_socket_address_get_port Ptr InetSocketAddress
address'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
address
Word16 -> IO Word16
forall (m :: * -> *) a. Monad m => a -> m a
return Word16
result
#if ENABLE_OVERLOADING
data InetSocketAddressGetPortMethodInfo
instance (signature ~ (m Word16), MonadIO m, IsInetSocketAddress a) => O.MethodInfo InetSocketAddressGetPortMethodInfo a signature where
overloadedMethod _ = inetSocketAddressGetPort
#endif
foreign import ccall "g_inet_socket_address_get_scope_id" g_inet_socket_address_get_scope_id ::
Ptr InetSocketAddress ->
IO Word32
inetSocketAddressGetScopeId ::
(B.CallStack.HasCallStack, MonadIO m, IsInetSocketAddress a) =>
a
-> m Word32
inetSocketAddressGetScopeId :: a -> m Word32
inetSocketAddressGetScopeId address :: a
address = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr InetSocketAddress
address' <- a -> IO (Ptr InetSocketAddress)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
address
Word32
result <- Ptr InetSocketAddress -> IO Word32
g_inet_socket_address_get_scope_id Ptr InetSocketAddress
address'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
address
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if ENABLE_OVERLOADING
data InetSocketAddressGetScopeIdMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsInetSocketAddress a) => O.MethodInfo InetSocketAddressGetScopeIdMethodInfo a signature where
overloadedMethod _ = inetSocketAddressGetScopeId
#endif