{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) -} module GI.Soup.Objects.Requester ( -- * Exported types Requester(..) , RequesterK , toRequester , noRequester , -- * Methods -- ** requesterNew requesterNew , -- ** requesterRequest requesterRequest , -- ** requesterRequestUri requesterRequestUri , ) 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 import qualified GI.GObject as GObject newtype Requester = Requester (ForeignPtr Requester) foreign import ccall "soup_requester_get_type" c_soup_requester_get_type :: IO GType type instance ParentTypes Requester = RequesterParentTypes type RequesterParentTypes = '[GObject.Object, SessionFeature] instance GObject Requester where gobjectIsInitiallyUnowned _ = False gobjectType _ = c_soup_requester_get_type class GObject o => RequesterK o instance (GObject o, IsDescendantOf Requester o) => RequesterK o toRequester :: RequesterK o => o -> IO Requester toRequester = unsafeCastTo Requester noRequester :: Maybe Requester noRequester = Nothing type instance AttributeList Requester = RequesterAttributeList type RequesterAttributeList = ('[ ] :: [(Symbol, *)]) type instance SignalList Requester = RequesterSignalList type RequesterSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)]) -- method Requester::new -- method type : Constructor -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TInterface "Soup" "Requester" -- throws : False -- Skip return : False foreign import ccall "soup_requester_new" soup_requester_new :: IO (Ptr Requester) requesterNew :: (MonadIO m) => m Requester requesterNew = liftIO $ do result <- soup_requester_new checkUnexpectedReturnNULL "soup_requester_new" result result' <- (wrapObject Requester) result return result' -- method Requester::request -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Soup" "Request" -- throws : True -- Skip return : False foreign import ccall "soup_requester_request" soup_requester_request :: Ptr Requester -> -- _obj : TInterface "Soup" "Requester" CString -> -- uri_string : TBasicType TUTF8 Ptr (Ptr GError) -> -- error IO (Ptr Request) requesterRequest :: (MonadIO m, RequesterK a) => a -> -- _obj T.Text -> -- uri_string m Request requesterRequest _obj uri_string = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj uri_string' <- textToCString uri_string onException (do result <- propagateGError $ soup_requester_request _obj' uri_string' checkUnexpectedReturnNULL "soup_requester_request" result result' <- (wrapObject Request) result touchManagedPtr _obj freeMem uri_string' return result' ) (do freeMem uri_string' ) -- method Requester::request_uri -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Soup" "Request" -- throws : True -- Skip return : False foreign import ccall "soup_requester_request_uri" soup_requester_request_uri :: Ptr Requester -> -- _obj : TInterface "Soup" "Requester" Ptr URI -> -- uri : TInterface "Soup" "URI" Ptr (Ptr GError) -> -- error IO (Ptr Request) requesterRequestUri :: (MonadIO m, RequesterK a) => a -> -- _obj URI -> -- uri m Request requesterRequestUri _obj uri = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj let uri' = unsafeManagedPtrGetPtr uri onException (do result <- propagateGError $ soup_requester_request_uri _obj' uri' checkUnexpectedReturnNULL "soup_requester_request_uri" result result' <- (wrapObject Request) result touchManagedPtr _obj touchManagedPtr uri return result' ) (do return () )