module GI.Soup.Structs.URI
(
URI(..) ,
newZeroURI ,
noURI ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URICopyMethodInfo ,
#endif
uRICopy ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URICopyHostMethodInfo ,
#endif
uRICopyHost ,
uRIDecode ,
uRIEncode ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIEqualMethodInfo ,
#endif
uRIEqual ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIFreeMethodInfo ,
#endif
uRIFree ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIGetFragmentMethodInfo ,
#endif
uRIGetFragment ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIGetHostMethodInfo ,
#endif
uRIGetHost ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIGetPasswordMethodInfo ,
#endif
uRIGetPassword ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIGetPathMethodInfo ,
#endif
uRIGetPath ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIGetPortMethodInfo ,
#endif
uRIGetPort ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIGetQueryMethodInfo ,
#endif
uRIGetQuery ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIGetSchemeMethodInfo ,
#endif
uRIGetScheme ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIGetUserMethodInfo ,
#endif
uRIGetUser ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIHostEqualMethodInfo ,
#endif
uRIHostEqual ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIHostHashMethodInfo ,
#endif
uRIHostHash ,
uRINew ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URINewWithBaseMethodInfo ,
#endif
uRINewWithBase ,
uRINormalize ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URISetFragmentMethodInfo ,
#endif
uRISetFragment ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URISetHostMethodInfo ,
#endif
uRISetHost ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URISetPasswordMethodInfo ,
#endif
uRISetPassword ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URISetPathMethodInfo ,
#endif
uRISetPath ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URISetPortMethodInfo ,
#endif
uRISetPort ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URISetQueryMethodInfo ,
#endif
uRISetQuery ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URISetQueryFromFormMethodInfo ,
#endif
uRISetQueryFromForm ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URISetSchemeMethodInfo ,
#endif
uRISetScheme ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URISetUserMethodInfo ,
#endif
uRISetUser ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIToStringMethodInfo ,
#endif
uRIToString ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
URIUsesDefaultPortMethodInfo ,
#endif
uRIUsesDefaultPort ,
clearURIFragment ,
getURIFragment ,
setURIFragment ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
uRI_fragment ,
#endif
clearURIHost ,
getURIHost ,
setURIHost ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
uRI_host ,
#endif
clearURIPassword ,
getURIPassword ,
setURIPassword ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
uRI_password ,
#endif
clearURIPath ,
getURIPath ,
setURIPath ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
uRI_path ,
#endif
getURIPort ,
setURIPort ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
uRI_port ,
#endif
clearURIQuery ,
getURIQuery ,
setURIQuery ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
uRI_query ,
#endif
clearURIScheme ,
getURIScheme ,
setURIScheme ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
uRI_scheme ,
#endif
clearURIUser ,
getURIUser ,
setURIUser ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
uRI_user ,
#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.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
newtype URI = URI (ManagedPtr URI)
foreign import ccall "soup_uri_get_type" c_soup_uri_get_type ::
IO GType
instance BoxedObject URI where
boxedType _ = c_soup_uri_get_type
newZeroURI :: MonadIO m => m URI
newZeroURI = liftIO $ callocBoxedBytes 64 >>= wrapBoxed URI
instance tag ~ 'AttrSet => Constructible URI tag where
new _ attrs = do
o <- newZeroURI
GI.Attributes.set o attrs
return o
noURI :: Maybe URI
noURI = Nothing
getURIScheme :: MonadIO m => URI -> m (Maybe T.Text)
getURIScheme s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setURIScheme :: MonadIO m => URI -> CString -> m ()
setURIScheme s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: CString)
clearURIScheme :: MonadIO m => URI -> m ()
clearURIScheme s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISchemeFieldInfo
instance AttrInfo URISchemeFieldInfo where
type AttrAllowedOps URISchemeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint URISchemeFieldInfo = (~) CString
type AttrBaseTypeConstraint URISchemeFieldInfo = (~) URI
type AttrGetType URISchemeFieldInfo = Maybe T.Text
type AttrLabel URISchemeFieldInfo = "scheme"
type AttrOrigin URISchemeFieldInfo = URI
attrGet _ = getURIScheme
attrSet _ = setURIScheme
attrConstruct = undefined
attrClear _ = clearURIScheme
uRI_scheme :: AttrLabelProxy "scheme"
uRI_scheme = AttrLabelProxy
#endif
getURIUser :: MonadIO m => URI -> m (Maybe T.Text)
getURIUser s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setURIUser :: MonadIO m => URI -> CString -> m ()
setURIUser s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: CString)
clearURIUser :: MonadIO m => URI -> m ()
clearURIUser s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIUserFieldInfo
instance AttrInfo URIUserFieldInfo where
type AttrAllowedOps URIUserFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint URIUserFieldInfo = (~) CString
type AttrBaseTypeConstraint URIUserFieldInfo = (~) URI
type AttrGetType URIUserFieldInfo = Maybe T.Text
type AttrLabel URIUserFieldInfo = "user"
type AttrOrigin URIUserFieldInfo = URI
attrGet _ = getURIUser
attrSet _ = setURIUser
attrConstruct = undefined
attrClear _ = clearURIUser
uRI_user :: AttrLabelProxy "user"
uRI_user = AttrLabelProxy
#endif
getURIPassword :: MonadIO m => URI -> m (Maybe T.Text)
getURIPassword s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setURIPassword :: MonadIO m => URI -> CString -> m ()
setURIPassword s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (val :: CString)
clearURIPassword :: MonadIO m => URI -> m ()
clearURIPassword s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIPasswordFieldInfo
instance AttrInfo URIPasswordFieldInfo where
type AttrAllowedOps URIPasswordFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint URIPasswordFieldInfo = (~) CString
type AttrBaseTypeConstraint URIPasswordFieldInfo = (~) URI
type AttrGetType URIPasswordFieldInfo = Maybe T.Text
type AttrLabel URIPasswordFieldInfo = "password"
type AttrOrigin URIPasswordFieldInfo = URI
attrGet _ = getURIPassword
attrSet _ = setURIPassword
attrConstruct = undefined
attrClear _ = clearURIPassword
uRI_password :: AttrLabelProxy "password"
uRI_password = AttrLabelProxy
#endif
getURIHost :: MonadIO m => URI -> m (Maybe T.Text)
getURIHost s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setURIHost :: MonadIO m => URI -> CString -> m ()
setURIHost s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (val :: CString)
clearURIHost :: MonadIO m => URI -> m ()
clearURIHost s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIHostFieldInfo
instance AttrInfo URIHostFieldInfo where
type AttrAllowedOps URIHostFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint URIHostFieldInfo = (~) CString
type AttrBaseTypeConstraint URIHostFieldInfo = (~) URI
type AttrGetType URIHostFieldInfo = Maybe T.Text
type AttrLabel URIHostFieldInfo = "host"
type AttrOrigin URIHostFieldInfo = URI
attrGet _ = getURIHost
attrSet _ = setURIHost
attrConstruct = undefined
attrClear _ = clearURIHost
uRI_host :: AttrLabelProxy "host"
uRI_host = AttrLabelProxy
#endif
getURIPort :: MonadIO m => URI -> m Word32
getURIPort s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 32) :: IO Word32
return val
setURIPort :: MonadIO m => URI -> Word32 -> m ()
setURIPort s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 32) (val :: Word32)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIPortFieldInfo
instance AttrInfo URIPortFieldInfo where
type AttrAllowedOps URIPortFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint URIPortFieldInfo = (~) Word32
type AttrBaseTypeConstraint URIPortFieldInfo = (~) URI
type AttrGetType URIPortFieldInfo = Word32
type AttrLabel URIPortFieldInfo = "port"
type AttrOrigin URIPortFieldInfo = URI
attrGet _ = getURIPort
attrSet _ = setURIPort
attrConstruct = undefined
attrClear _ = undefined
uRI_port :: AttrLabelProxy "port"
uRI_port = AttrLabelProxy
#endif
getURIPath :: MonadIO m => URI -> m (Maybe T.Text)
getURIPath s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 40) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setURIPath :: MonadIO m => URI -> CString -> m ()
setURIPath s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 40) (val :: CString)
clearURIPath :: MonadIO m => URI -> m ()
clearURIPath s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 40) (FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIPathFieldInfo
instance AttrInfo URIPathFieldInfo where
type AttrAllowedOps URIPathFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint URIPathFieldInfo = (~) CString
type AttrBaseTypeConstraint URIPathFieldInfo = (~) URI
type AttrGetType URIPathFieldInfo = Maybe T.Text
type AttrLabel URIPathFieldInfo = "path"
type AttrOrigin URIPathFieldInfo = URI
attrGet _ = getURIPath
attrSet _ = setURIPath
attrConstruct = undefined
attrClear _ = clearURIPath
uRI_path :: AttrLabelProxy "path"
uRI_path = AttrLabelProxy
#endif
getURIQuery :: MonadIO m => URI -> m (Maybe T.Text)
getURIQuery s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 48) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setURIQuery :: MonadIO m => URI -> CString -> m ()
setURIQuery s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 48) (val :: CString)
clearURIQuery :: MonadIO m => URI -> m ()
clearURIQuery s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 48) (FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIQueryFieldInfo
instance AttrInfo URIQueryFieldInfo where
type AttrAllowedOps URIQueryFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint URIQueryFieldInfo = (~) CString
type AttrBaseTypeConstraint URIQueryFieldInfo = (~) URI
type AttrGetType URIQueryFieldInfo = Maybe T.Text
type AttrLabel URIQueryFieldInfo = "query"
type AttrOrigin URIQueryFieldInfo = URI
attrGet _ = getURIQuery
attrSet _ = setURIQuery
attrConstruct = undefined
attrClear _ = clearURIQuery
uRI_query :: AttrLabelProxy "query"
uRI_query = AttrLabelProxy
#endif
getURIFragment :: MonadIO m => URI -> m (Maybe T.Text)
getURIFragment s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 56) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
setURIFragment :: MonadIO m => URI -> CString -> m ()
setURIFragment s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 56) (val :: CString)
clearURIFragment :: MonadIO m => URI -> m ()
clearURIFragment s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 56) (FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIFragmentFieldInfo
instance AttrInfo URIFragmentFieldInfo where
type AttrAllowedOps URIFragmentFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint URIFragmentFieldInfo = (~) CString
type AttrBaseTypeConstraint URIFragmentFieldInfo = (~) URI
type AttrGetType URIFragmentFieldInfo = Maybe T.Text
type AttrLabel URIFragmentFieldInfo = "fragment"
type AttrOrigin URIFragmentFieldInfo = URI
attrGet _ = getURIFragment
attrSet _ = setURIFragment
attrConstruct = undefined
attrClear _ = clearURIFragment
uRI_fragment :: AttrLabelProxy "fragment"
uRI_fragment = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList URI
type instance O.AttributeList URI = URIAttributeList
type URIAttributeList = ('[ '("scheme", URISchemeFieldInfo), '("user", URIUserFieldInfo), '("password", URIPasswordFieldInfo), '("host", URIHostFieldInfo), '("port", URIPortFieldInfo), '("path", URIPathFieldInfo), '("query", URIQueryFieldInfo), '("fragment", URIFragmentFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "soup_uri_new" soup_uri_new ::
CString ->
IO (Ptr URI)
uRINew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (T.Text)
-> m (Maybe URI)
uRINew uriString = liftIO $ do
maybeUriString <- case uriString of
Nothing -> return nullPtr
Just jUriString -> do
jUriString' <- textToCString jUriString
return jUriString'
result <- soup_uri_new maybeUriString
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapBoxed URI) result'
return result''
freeMem maybeUriString
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "soup_uri_copy" soup_uri_copy ::
Ptr URI ->
IO (Ptr URI)
uRICopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m URI
uRICopy uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_copy uri'
checkUnexpectedReturnNULL "uRICopy" result
result' <- (wrapBoxed URI) result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URICopyMethodInfo
instance (signature ~ (m URI), MonadIO m) => O.MethodInfo URICopyMethodInfo URI signature where
overloadedMethod _ = uRICopy
#endif
foreign import ccall "soup_uri_copy_host" soup_uri_copy_host ::
Ptr URI ->
IO (Ptr URI)
uRICopyHost ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m URI
uRICopyHost uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_copy_host uri'
checkUnexpectedReturnNULL "uRICopyHost" result
result' <- (wrapBoxed URI) result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URICopyHostMethodInfo
instance (signature ~ (m URI), MonadIO m) => O.MethodInfo URICopyHostMethodInfo URI signature where
overloadedMethod _ = uRICopyHost
#endif
foreign import ccall "soup_uri_equal" soup_uri_equal ::
Ptr URI ->
Ptr URI ->
IO CInt
uRIEqual ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> URI
-> m Bool
uRIEqual uri1 uri2 = liftIO $ do
uri1' <- unsafeManagedPtrGetPtr uri1
uri2' <- unsafeManagedPtrGetPtr uri2
result <- soup_uri_equal uri1' uri2'
let result' = (/= 0) result
touchManagedPtr uri1
touchManagedPtr uri2
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIEqualMethodInfo
instance (signature ~ (URI -> m Bool), MonadIO m) => O.MethodInfo URIEqualMethodInfo URI signature where
overloadedMethod _ = uRIEqual
#endif
foreign import ccall "soup_uri_free" soup_uri_free ::
Ptr URI ->
IO ()
uRIFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m ()
uRIFree uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
soup_uri_free uri'
touchManagedPtr uri
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo URIFreeMethodInfo URI signature where
overloadedMethod _ = uRIFree
#endif
foreign import ccall "soup_uri_get_fragment" soup_uri_get_fragment ::
Ptr URI ->
IO CString
uRIGetFragment ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m T.Text
uRIGetFragment uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_get_fragment uri'
checkUnexpectedReturnNULL "uRIGetFragment" result
result' <- cstringToText result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIGetFragmentMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo URIGetFragmentMethodInfo URI signature where
overloadedMethod _ = uRIGetFragment
#endif
foreign import ccall "soup_uri_get_host" soup_uri_get_host ::
Ptr URI ->
IO CString
uRIGetHost ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m T.Text
uRIGetHost uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_get_host uri'
checkUnexpectedReturnNULL "uRIGetHost" result
result' <- cstringToText result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIGetHostMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo URIGetHostMethodInfo URI signature where
overloadedMethod _ = uRIGetHost
#endif
foreign import ccall "soup_uri_get_password" soup_uri_get_password ::
Ptr URI ->
IO CString
uRIGetPassword ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m T.Text
uRIGetPassword uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_get_password uri'
checkUnexpectedReturnNULL "uRIGetPassword" result
result' <- cstringToText result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIGetPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo URIGetPasswordMethodInfo URI signature where
overloadedMethod _ = uRIGetPassword
#endif
foreign import ccall "soup_uri_get_path" soup_uri_get_path ::
Ptr URI ->
IO CString
uRIGetPath ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m T.Text
uRIGetPath uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_get_path uri'
checkUnexpectedReturnNULL "uRIGetPath" result
result' <- cstringToText result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIGetPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo URIGetPathMethodInfo URI signature where
overloadedMethod _ = uRIGetPath
#endif
foreign import ccall "soup_uri_get_port" soup_uri_get_port ::
Ptr URI ->
IO Word32
uRIGetPort ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m Word32
uRIGetPort uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_get_port uri'
touchManagedPtr uri
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIGetPortMethodInfo
instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo URIGetPortMethodInfo URI signature where
overloadedMethod _ = uRIGetPort
#endif
foreign import ccall "soup_uri_get_query" soup_uri_get_query ::
Ptr URI ->
IO CString
uRIGetQuery ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m T.Text
uRIGetQuery uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_get_query uri'
checkUnexpectedReturnNULL "uRIGetQuery" result
result' <- cstringToText result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIGetQueryMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo URIGetQueryMethodInfo URI signature where
overloadedMethod _ = uRIGetQuery
#endif
foreign import ccall "soup_uri_get_scheme" soup_uri_get_scheme ::
Ptr URI ->
IO CString
uRIGetScheme ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m T.Text
uRIGetScheme uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_get_scheme uri'
checkUnexpectedReturnNULL "uRIGetScheme" result
result' <- cstringToText result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIGetSchemeMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo URIGetSchemeMethodInfo URI signature where
overloadedMethod _ = uRIGetScheme
#endif
foreign import ccall "soup_uri_get_user" soup_uri_get_user ::
Ptr URI ->
IO CString
uRIGetUser ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m T.Text
uRIGetUser uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_get_user uri'
checkUnexpectedReturnNULL "uRIGetUser" result
result' <- cstringToText result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIGetUserMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo URIGetUserMethodInfo URI signature where
overloadedMethod _ = uRIGetUser
#endif
foreign import ccall "soup_uri_host_equal" soup_uri_host_equal ::
Ptr URI ->
Ptr URI ->
IO CInt
uRIHostEqual ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> URI
-> m Bool
uRIHostEqual v1 v2 = liftIO $ do
v1' <- unsafeManagedPtrGetPtr v1
v2' <- unsafeManagedPtrGetPtr v2
result <- soup_uri_host_equal v1' v2'
let result' = (/= 0) result
touchManagedPtr v1
touchManagedPtr v2
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIHostEqualMethodInfo
instance (signature ~ (URI -> m Bool), MonadIO m) => O.MethodInfo URIHostEqualMethodInfo URI signature where
overloadedMethod _ = uRIHostEqual
#endif
foreign import ccall "soup_uri_host_hash" soup_uri_host_hash ::
Ptr URI ->
IO Word32
uRIHostHash ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m Word32
uRIHostHash key = liftIO $ do
key' <- unsafeManagedPtrGetPtr key
result <- soup_uri_host_hash key'
touchManagedPtr key
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIHostHashMethodInfo
instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo URIHostHashMethodInfo URI signature where
overloadedMethod _ = uRIHostHash
#endif
foreign import ccall "soup_uri_new_with_base" soup_uri_new_with_base ::
Ptr URI ->
CString ->
IO (Ptr URI)
uRINewWithBase ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> T.Text
-> m URI
uRINewWithBase base uriString = liftIO $ do
base' <- unsafeManagedPtrGetPtr base
uriString' <- textToCString uriString
result <- soup_uri_new_with_base base' uriString'
checkUnexpectedReturnNULL "uRINewWithBase" result
result' <- (wrapBoxed URI) result
touchManagedPtr base
freeMem uriString'
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URINewWithBaseMethodInfo
instance (signature ~ (T.Text -> m URI), MonadIO m) => O.MethodInfo URINewWithBaseMethodInfo URI signature where
overloadedMethod _ = uRINewWithBase
#endif
foreign import ccall "soup_uri_set_fragment" soup_uri_set_fragment ::
Ptr URI ->
CString ->
IO ()
uRISetFragment ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> Maybe (T.Text)
-> m ()
uRISetFragment uri fragment = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
maybeFragment <- case fragment of
Nothing -> return nullPtr
Just jFragment -> do
jFragment' <- textToCString jFragment
return jFragment'
soup_uri_set_fragment uri' maybeFragment
touchManagedPtr uri
freeMem maybeFragment
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISetFragmentMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo URISetFragmentMethodInfo URI signature where
overloadedMethod _ = uRISetFragment
#endif
foreign import ccall "soup_uri_set_host" soup_uri_set_host ::
Ptr URI ->
CString ->
IO ()
uRISetHost ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> Maybe (T.Text)
-> m ()
uRISetHost uri host = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
maybeHost <- case host of
Nothing -> return nullPtr
Just jHost -> do
jHost' <- textToCString jHost
return jHost'
soup_uri_set_host uri' maybeHost
touchManagedPtr uri
freeMem maybeHost
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISetHostMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo URISetHostMethodInfo URI signature where
overloadedMethod _ = uRISetHost
#endif
foreign import ccall "soup_uri_set_password" soup_uri_set_password ::
Ptr URI ->
CString ->
IO ()
uRISetPassword ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> Maybe (T.Text)
-> m ()
uRISetPassword uri password = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
maybePassword <- case password of
Nothing -> return nullPtr
Just jPassword -> do
jPassword' <- textToCString jPassword
return jPassword'
soup_uri_set_password uri' maybePassword
touchManagedPtr uri
freeMem maybePassword
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISetPasswordMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo URISetPasswordMethodInfo URI signature where
overloadedMethod _ = uRISetPassword
#endif
foreign import ccall "soup_uri_set_path" soup_uri_set_path ::
Ptr URI ->
CString ->
IO ()
uRISetPath ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> T.Text
-> m ()
uRISetPath uri path = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
path' <- textToCString path
soup_uri_set_path uri' path'
touchManagedPtr uri
freeMem path'
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISetPathMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo URISetPathMethodInfo URI signature where
overloadedMethod _ = uRISetPath
#endif
foreign import ccall "soup_uri_set_port" soup_uri_set_port ::
Ptr URI ->
Word32 ->
IO ()
uRISetPort ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> Word32
-> m ()
uRISetPort uri port = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
soup_uri_set_port uri' port
touchManagedPtr uri
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISetPortMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo URISetPortMethodInfo URI signature where
overloadedMethod _ = uRISetPort
#endif
foreign import ccall "soup_uri_set_query" soup_uri_set_query ::
Ptr URI ->
CString ->
IO ()
uRISetQuery ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> Maybe (T.Text)
-> m ()
uRISetQuery uri query = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
maybeQuery <- case query of
Nothing -> return nullPtr
Just jQuery -> do
jQuery' <- textToCString jQuery
return jQuery'
soup_uri_set_query uri' maybeQuery
touchManagedPtr uri
freeMem maybeQuery
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISetQueryMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo URISetQueryMethodInfo URI signature where
overloadedMethod _ = uRISetQuery
#endif
foreign import ccall "soup_uri_set_query_from_form" soup_uri_set_query_from_form ::
Ptr URI ->
Ptr (GHashTable CString CString) ->
IO ()
uRISetQueryFromForm ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> Map.Map T.Text T.Text
-> m ()
uRISetQueryFromForm uri form = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
let form' = Map.toList form
form'' <- mapFirstA textToCString form'
form''' <- mapSecondA textToCString form''
let form'''' = mapFirst cstringPackPtr form'''
let form''''' = mapSecond cstringPackPtr form''''
form'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) form'''''
soup_uri_set_query_from_form uri' form''''''
touchManagedPtr uri
unrefGHashTable form''''''
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISetQueryFromFormMethodInfo
instance (signature ~ (Map.Map T.Text T.Text -> m ()), MonadIO m) => O.MethodInfo URISetQueryFromFormMethodInfo URI signature where
overloadedMethod _ = uRISetQueryFromForm
#endif
foreign import ccall "soup_uri_set_scheme" soup_uri_set_scheme ::
Ptr URI ->
CString ->
IO ()
uRISetScheme ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> T.Text
-> m ()
uRISetScheme uri scheme = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
scheme' <- textToCString scheme
soup_uri_set_scheme uri' scheme'
touchManagedPtr uri
freeMem scheme'
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISetSchemeMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo URISetSchemeMethodInfo URI signature where
overloadedMethod _ = uRISetScheme
#endif
foreign import ccall "soup_uri_set_user" soup_uri_set_user ::
Ptr URI ->
CString ->
IO ()
uRISetUser ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> Maybe (T.Text)
-> m ()
uRISetUser uri user = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
maybeUser <- case user of
Nothing -> return nullPtr
Just jUser -> do
jUser' <- textToCString jUser
return jUser'
soup_uri_set_user uri' maybeUser
touchManagedPtr uri
freeMem maybeUser
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URISetUserMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo URISetUserMethodInfo URI signature where
overloadedMethod _ = uRISetUser
#endif
foreign import ccall "soup_uri_to_string" soup_uri_to_string ::
Ptr URI ->
CInt ->
IO CString
uRIToString ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> Bool
-> m T.Text
uRIToString uri justPathAndQuery = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
let justPathAndQuery' = (fromIntegral . fromEnum) justPathAndQuery
result <- soup_uri_to_string uri' justPathAndQuery'
checkUnexpectedReturnNULL "uRIToString" result
result' <- cstringToText result
freeMem result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIToStringMethodInfo
instance (signature ~ (Bool -> m T.Text), MonadIO m) => O.MethodInfo URIToStringMethodInfo URI signature where
overloadedMethod _ = uRIToString
#endif
foreign import ccall "soup_uri_uses_default_port" soup_uri_uses_default_port ::
Ptr URI ->
IO CInt
uRIUsesDefaultPort ::
(B.CallStack.HasCallStack, MonadIO m) =>
URI
-> m Bool
uRIUsesDefaultPort uri = liftIO $ do
uri' <- unsafeManagedPtrGetPtr uri
result <- soup_uri_uses_default_port uri'
let result' = (/= 0) result
touchManagedPtr uri
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data URIUsesDefaultPortMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo URIUsesDefaultPortMethodInfo URI signature where
overloadedMethod _ = uRIUsesDefaultPort
#endif
foreign import ccall "soup_uri_decode" soup_uri_decode ::
CString ->
IO CString
uRIDecode ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m T.Text
uRIDecode part = liftIO $ do
part' <- textToCString part
result <- soup_uri_decode part'
checkUnexpectedReturnNULL "uRIDecode" result
result' <- cstringToText result
freeMem result
freeMem part'
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "soup_uri_encode" soup_uri_encode ::
CString ->
CString ->
IO CString
uRIEncode ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Maybe (T.Text)
-> m T.Text
uRIEncode part escapeExtra = liftIO $ do
part' <- textToCString part
maybeEscapeExtra <- case escapeExtra of
Nothing -> return nullPtr
Just jEscapeExtra -> do
jEscapeExtra' <- textToCString jEscapeExtra
return jEscapeExtra'
result <- soup_uri_encode part' maybeEscapeExtra
checkUnexpectedReturnNULL "uRIEncode" result
result' <- cstringToText result
freeMem result
freeMem part'
freeMem maybeEscapeExtra
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "soup_uri_normalize" soup_uri_normalize ::
CString ->
CString ->
IO CString
uRINormalize ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Maybe (T.Text)
-> m T.Text
uRINormalize part unescapeExtra = liftIO $ do
part' <- textToCString part
maybeUnescapeExtra <- case unescapeExtra of
Nothing -> return nullPtr
Just jUnescapeExtra -> do
jUnescapeExtra' <- textToCString jUnescapeExtra
return jUnescapeExtra'
result <- soup_uri_normalize part' maybeUnescapeExtra
checkUnexpectedReturnNULL "uRINormalize" result
result' <- cstringToText result
freeMem result
freeMem part'
freeMem maybeUnescapeExtra
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveURIMethod (t :: Symbol) (o :: *) :: * where
ResolveURIMethod "copy" o = URICopyMethodInfo
ResolveURIMethod "copyHost" o = URICopyHostMethodInfo
ResolveURIMethod "equal" o = URIEqualMethodInfo
ResolveURIMethod "free" o = URIFreeMethodInfo
ResolveURIMethod "hostEqual" o = URIHostEqualMethodInfo
ResolveURIMethod "hostHash" o = URIHostHashMethodInfo
ResolveURIMethod "newWithBase" o = URINewWithBaseMethodInfo
ResolveURIMethod "toString" o = URIToStringMethodInfo
ResolveURIMethod "usesDefaultPort" o = URIUsesDefaultPortMethodInfo
ResolveURIMethod "getFragment" o = URIGetFragmentMethodInfo
ResolveURIMethod "getHost" o = URIGetHostMethodInfo
ResolveURIMethod "getPassword" o = URIGetPasswordMethodInfo
ResolveURIMethod "getPath" o = URIGetPathMethodInfo
ResolveURIMethod "getPort" o = URIGetPortMethodInfo
ResolveURIMethod "getQuery" o = URIGetQueryMethodInfo
ResolveURIMethod "getScheme" o = URIGetSchemeMethodInfo
ResolveURIMethod "getUser" o = URIGetUserMethodInfo
ResolveURIMethod "setFragment" o = URISetFragmentMethodInfo
ResolveURIMethod "setHost" o = URISetHostMethodInfo
ResolveURIMethod "setPassword" o = URISetPasswordMethodInfo
ResolveURIMethod "setPath" o = URISetPathMethodInfo
ResolveURIMethod "setPort" o = URISetPortMethodInfo
ResolveURIMethod "setQuery" o = URISetQueryMethodInfo
ResolveURIMethod "setQueryFromForm" o = URISetQueryFromFormMethodInfo
ResolveURIMethod "setScheme" o = URISetSchemeMethodInfo
ResolveURIMethod "setUser" o = URISetUserMethodInfo
ResolveURIMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveURIMethod t URI, O.MethodInfo info URI p) => O.IsLabelProxy t (URI -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveURIMethod t URI, O.MethodInfo info URI p) => O.IsLabel t (URI -> 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