gi-soup-0.2.52.12: GI/Soup/Structs/XMLRPCParams.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
Opaque structure containing XML-RPC methodCall parameter values.
Can be parsed using soup_xmlrpc_params_parse() and freed with
soup_xmlrpc_params_free().
-}
module GI.Soup.Structs.XMLRPCParams
(
-- * Exported types
XMLRPCParams(..) ,
noXMLRPCParams ,
-- * Methods
-- ** xMLRPCParamsFree
xMLRPCParamsFree ,
-- ** xMLRPCParamsParse
xMLRPCParamsParse ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Soup.Types
import GI.Soup.Callbacks
newtype XMLRPCParams = XMLRPCParams (ForeignPtr XMLRPCParams)
noXMLRPCParams :: Maybe XMLRPCParams
noXMLRPCParams = Nothing
-- method XMLRPCParams::free
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_xmlrpc_params_free" soup_xmlrpc_params_free ::
Ptr XMLRPCParams -> -- _obj : TInterface "Soup" "XMLRPCParams"
IO ()
xMLRPCParamsFree ::
(MonadIO m) =>
XMLRPCParams -> -- _obj
m ()
xMLRPCParamsFree _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
soup_xmlrpc_params_free _obj'
touchManagedPtr _obj
return ()
-- method XMLRPCParams::parse
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "XMLRPCParams", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TVariant
-- throws : True
-- Skip return : False
foreign import ccall "soup_xmlrpc_params_parse" soup_xmlrpc_params_parse ::
Ptr XMLRPCParams -> -- _obj : TInterface "Soup" "XMLRPCParams"
CString -> -- signature : TBasicType TUTF8
Ptr (Ptr GError) -> -- error
IO (Ptr GVariant)
xMLRPCParamsParse ::
(MonadIO m) =>
XMLRPCParams -> -- _obj
Maybe (T.Text) -> -- signature
m GVariant
xMLRPCParamsParse _obj signature = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
maybeSignature <- case signature of
Nothing -> return nullPtr
Just jSignature -> do
jSignature' <- textToCString jSignature
return jSignature'
onException (do
result <- propagateGError $ soup_xmlrpc_params_parse _obj' maybeSignature
checkUnexpectedReturnNULL "soup_xmlrpc_params_parse" result
result' <- wrapGVariantPtr result
touchManagedPtr _obj
freeMem maybeSignature
return result'
) (do
freeMem maybeSignature
)