module GI.Soup.Structs.ClientContext
(
ClientContext(..) ,
noClientContext ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ClientContextGetAddressMethodInfo ,
#endif
clientContextGetAddress ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ClientContextGetAuthDomainMethodInfo ,
#endif
clientContextGetAuthDomain ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ClientContextGetAuthUserMethodInfo ,
#endif
clientContextGetAuthUser ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ClientContextGetGsocketMethodInfo ,
#endif
clientContextGetGsocket ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ClientContextGetHostMethodInfo ,
#endif
clientContextGetHost ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ClientContextGetLocalAddressMethodInfo ,
#endif
clientContextGetLocalAddress ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ClientContextGetRemoteAddressMethodInfo ,
#endif
clientContextGetRemoteAddress ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ClientContextGetSocketMethodInfo ,
#endif
clientContextGetSocket ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
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.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 qualified GI.Soup.Objects.Address as Soup.Address
import qualified GI.Soup.Objects.AuthDomain as Soup.AuthDomain
import 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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ClientContextStealConnectionMethodInfo
instance (signature ~ (m Gio.IOStream.IOStream), MonadIO m) => O.MethodInfo ClientContextStealConnectionMethodInfo ClientContext signature where
overloadedMethod _ = clientContextStealConnection
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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) => O.IsLabelProxy t (ClientContext -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveClientContextMethod t ClientContext, O.MethodInfo info ClientContext p) => O.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
#endif