#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Soup.Structs.ClientContext
(
ClientContext(..) ,
noClientContext ,
#if ENABLE_OVERLOADING
ClientContextGetAddressMethodInfo ,
#endif
clientContextGetAddress ,
#if ENABLE_OVERLOADING
ClientContextGetAuthDomainMethodInfo ,
#endif
clientContextGetAuthDomain ,
#if ENABLE_OVERLOADING
ClientContextGetAuthUserMethodInfo ,
#endif
clientContextGetAuthUser ,
#if ENABLE_OVERLOADING
ClientContextGetGsocketMethodInfo ,
#endif
clientContextGetGsocket ,
#if ENABLE_OVERLOADING
ClientContextGetHostMethodInfo ,
#endif
clientContextGetHost ,
#if ENABLE_OVERLOADING
ClientContextGetLocalAddressMethodInfo ,
#endif
clientContextGetLocalAddress ,
#if ENABLE_OVERLOADING
ClientContextGetRemoteAddressMethodInfo ,
#endif
clientContextGetRemoteAddress ,
#if ENABLE_OVERLOADING
ClientContextGetSocketMethodInfo ,
#endif
clientContextGetSocket ,
#if ENABLE_OVERLOADING
ClientContextStealConnectionMethodInfo ,
#endif
clientContextStealConnection ,
) 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.Gio.Objects.IOStream as Gio.IOStream
import qualified GI.Gio.Objects.Socket as Gio.Socket
import qualified GI.Gio.Objects.SocketAddress as Gio.SocketAddress
import {-# SOURCE #-} qualified GI.Soup.Objects.Address as Soup.Address
import {-# SOURCE #-} qualified GI.Soup.Objects.AuthDomain as Soup.AuthDomain
import {-# SOURCE #-} qualified GI.Soup.Objects.Socket as Soup.Socket
newtype ClientContext = ClientContext (ManagedPtr ClientContext)
foreign import ccall "soup_client_context_get_type" c_soup_client_context_get_type ::
IO GType
instance BoxedObject ClientContext where
boxedType _ = c_soup_client_context_get_type
noClientContext :: Maybe ClientContext
noClientContext = Nothing
#if ENABLE_OVERLOADING
instance O.HasAttributeList ClientContext
type instance O.AttributeList ClientContext = ClientContextAttributeList
type ClientContextAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "soup_client_context_get_address" soup_client_context_get_address ::
Ptr ClientContext ->
IO (Ptr Soup.Address.Address)
{-# DEPRECATED clientContextGetAddress ["Use 'GI.Soup.Structs.ClientContext.clientContextGetRemoteAddress', which returns","a 'GI.Gio.Objects.SocketAddress.SocketAddress'."] #-}
clientContextGetAddress ::
(B.CallStack.HasCallStack, MonadIO m) =>
ClientContext
-> m (Maybe Soup.Address.Address)
clientContextGetAddress client = liftIO $ do
client' <- unsafeManagedPtrGetPtr client
result <- soup_client_context_get_address client'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newObject Soup.Address.Address) result'
return result''
touchManagedPtr client
return maybeResult
#if ENABLE_OVERLOADING
data ClientContextGetAddressMethodInfo
instance (signature ~ (m (Maybe Soup.Address.Address)), MonadIO m) => O.MethodInfo ClientContextGetAddressMethodInfo ClientContext signature where
overloadedMethod _ = clientContextGetAddress
#endif
foreign import ccall "soup_client_context_get_auth_domain" soup_client_context_get_auth_domain ::
Ptr ClientContext ->
IO (Ptr Soup.AuthDomain.AuthDomain)
clientContextGetAuthDomain ::
(B.CallStack.HasCallStack, MonadIO m) =>
ClientContext
-> m (Maybe Soup.AuthDomain.AuthDomain)
clientContextGetAuthDomain client = liftIO $ do
client' <- unsafeManagedPtrGetPtr client
result <- soup_client_context_get_auth_domain client'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newObject Soup.AuthDomain.AuthDomain) result'
return result''
touchManagedPtr client
return maybeResult
#if ENABLE_OVERLOADING
data ClientContextGetAuthDomainMethodInfo
instance (signature ~ (m (Maybe Soup.AuthDomain.AuthDomain)), MonadIO m) => O.MethodInfo ClientContextGetAuthDomainMethodInfo ClientContext signature where
overloadedMethod _ = clientContextGetAuthDomain
#endif
foreign import ccall "soup_client_context_get_auth_user" soup_client_context_get_auth_user ::
Ptr ClientContext ->
IO CString
clientContextGetAuthUser ::
(B.CallStack.HasCallStack, MonadIO m) =>
ClientContext
-> m (Maybe T.Text)
clientContextGetAuthUser client = liftIO $ do
client' <- unsafeManagedPtrGetPtr client
result <- soup_client_context_get_auth_user client'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr client
return maybeResult
#if ENABLE_OVERLOADING
data ClientContextGetAuthUserMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo ClientContextGetAuthUserMethodInfo ClientContext signature where
overloadedMethod _ = clientContextGetAuthUser
#endif
foreign import ccall "soup_client_context_get_gsocket" soup_client_context_get_gsocket ::
Ptr ClientContext ->
IO (Ptr Gio.Socket.Socket)
clientContextGetGsocket ::
(B.CallStack.HasCallStack, MonadIO m) =>
ClientContext
-> m (Maybe Gio.Socket.Socket)
clientContextGetGsocket client = liftIO $ do
client' <- unsafeManagedPtrGetPtr client
result <- soup_client_context_get_gsocket client'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newObject Gio.Socket.Socket) result'
return result''
touchManagedPtr client
return maybeResult
#if ENABLE_OVERLOADING
data ClientContextGetGsocketMethodInfo
instance (signature ~ (m (Maybe Gio.Socket.Socket)), MonadIO m) => O.MethodInfo ClientContextGetGsocketMethodInfo ClientContext signature where
overloadedMethod _ = clientContextGetGsocket
#endif
foreign import ccall "soup_client_context_get_host" soup_client_context_get_host ::
Ptr ClientContext ->
IO CString
clientContextGetHost ::
(B.CallStack.HasCallStack, MonadIO m) =>
ClientContext
-> m (Maybe T.Text)
clientContextGetHost client = liftIO $ do
client' <- unsafeManagedPtrGetPtr client
result <- soup_client_context_get_host client'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr client
return maybeResult
#if ENABLE_OVERLOADING
data ClientContextGetHostMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo ClientContextGetHostMethodInfo ClientContext signature where
overloadedMethod _ = clientContextGetHost
#endif
foreign import ccall "soup_client_context_get_local_address" soup_client_context_get_local_address ::
Ptr ClientContext ->
IO (Ptr Gio.SocketAddress.SocketAddress)
clientContextGetLocalAddress ::
(B.CallStack.HasCallStack, MonadIO m) =>
ClientContext
-> m (Maybe Gio.SocketAddress.SocketAddress)
clientContextGetLocalAddress client = liftIO $ do
client' <- unsafeManagedPtrGetPtr client
result <- soup_client_context_get_local_address client'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newObject Gio.SocketAddress.SocketAddress) result'
return result''
touchManagedPtr client
return maybeResult
#if ENABLE_OVERLOADING
data ClientContextGetLocalAddressMethodInfo
instance (signature ~ (m (Maybe Gio.SocketAddress.SocketAddress)), MonadIO m) => O.MethodInfo ClientContextGetLocalAddressMethodInfo ClientContext signature where
overloadedMethod _ = clientContextGetLocalAddress
#endif
foreign import ccall "soup_client_context_get_remote_address" soup_client_context_get_remote_address ::
Ptr ClientContext ->
IO (Ptr Gio.SocketAddress.SocketAddress)
clientContextGetRemoteAddress ::
(B.CallStack.HasCallStack, MonadIO m) =>
ClientContext
-> m (Maybe Gio.SocketAddress.SocketAddress)
clientContextGetRemoteAddress client = liftIO $ do
client' <- unsafeManagedPtrGetPtr client
result <- soup_client_context_get_remote_address client'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newObject Gio.SocketAddress.SocketAddress) result'
return result''
touchManagedPtr client
return maybeResult
#if ENABLE_OVERLOADING
data ClientContextGetRemoteAddressMethodInfo
instance (signature ~ (m (Maybe Gio.SocketAddress.SocketAddress)), MonadIO m) => O.MethodInfo ClientContextGetRemoteAddressMethodInfo ClientContext signature where
overloadedMethod _ = clientContextGetRemoteAddress
#endif
foreign import ccall "soup_client_context_get_socket" soup_client_context_get_socket ::
Ptr ClientContext ->
IO (Ptr Soup.Socket.Socket)
{-# DEPRECATED clientContextGetSocket ["use 'GI.Soup.Structs.ClientContext.clientContextGetGsocket', which returns","a 'GI.Gio.Objects.Socket.Socket'."] #-}
clientContextGetSocket ::
(B.CallStack.HasCallStack, MonadIO m) =>
ClientContext
-> m Soup.Socket.Socket
clientContextGetSocket client = liftIO $ do
client' <- unsafeManagedPtrGetPtr client
result <- soup_client_context_get_socket client'
checkUnexpectedReturnNULL "clientContextGetSocket" result
result' <- (newObject Soup.Socket.Socket) result
touchManagedPtr client
return result'
#if ENABLE_OVERLOADING
data ClientContextGetSocketMethodInfo
instance (signature ~ (m Soup.Socket.Socket), MonadIO m) => O.MethodInfo ClientContextGetSocketMethodInfo ClientContext signature where
overloadedMethod _ = clientContextGetSocket
#endif
foreign import ccall "soup_client_context_steal_connection" soup_client_context_steal_connection ::
Ptr ClientContext ->
IO (Ptr Gio.IOStream.IOStream)
clientContextStealConnection ::
(B.CallStack.HasCallStack, MonadIO m) =>
ClientContext
-> m Gio.IOStream.IOStream
clientContextStealConnection client = liftIO $ do
client' <- unsafeManagedPtrGetPtr client
result <- soup_client_context_steal_connection client'
checkUnexpectedReturnNULL "clientContextStealConnection" result
result' <- (wrapObject Gio.IOStream.IOStream) result
touchManagedPtr client
return result'
#if ENABLE_OVERLOADING
data ClientContextStealConnectionMethodInfo
instance (signature ~ (m Gio.IOStream.IOStream), MonadIO m) => O.MethodInfo ClientContextStealConnectionMethodInfo ClientContext signature where
overloadedMethod _ = clientContextStealConnection
#endif
#if ENABLE_OVERLOADING
type family ResolveClientContextMethod (t :: Symbol) (o :: *) :: * where
ResolveClientContextMethod "stealConnection" o = ClientContextStealConnectionMethodInfo
ResolveClientContextMethod "getAddress" o = ClientContextGetAddressMethodInfo
ResolveClientContextMethod "getAuthDomain" o = ClientContextGetAuthDomainMethodInfo
ResolveClientContextMethod "getAuthUser" o = ClientContextGetAuthUserMethodInfo
ResolveClientContextMethod "getGsocket" o = ClientContextGetGsocketMethodInfo
ResolveClientContextMethod "getHost" o = ClientContextGetHostMethodInfo
ResolveClientContextMethod "getLocalAddress" o = ClientContextGetLocalAddressMethodInfo
ResolveClientContextMethod "getRemoteAddress" o = ClientContextGetRemoteAddressMethodInfo
ResolveClientContextMethod "getSocket" o = ClientContextGetSocketMethodInfo
ResolveClientContextMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveClientContextMethod t ClientContext, O.MethodInfo info ClientContext p) => OL.IsLabel t (ClientContext -> 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