#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Soup.Objects.Requester
(
Requester(..) ,
IsRequester ,
toRequester ,
noRequester ,
requesterNew ,
#if ENABLE_OVERLOADING
RequesterRequestMethodInfo ,
#endif
requesterRequest ,
#if ENABLE_OVERLOADING
RequesterRequestUriMethodInfo ,
#endif
requesterRequestUri ,
) 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.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Soup.Interfaces.SessionFeature as Soup.SessionFeature
import {-# SOURCE #-} qualified GI.Soup.Objects.Request as Soup.Request
import {-# SOURCE #-} qualified GI.Soup.Structs.URI as Soup.URI
newtype Requester = Requester (ManagedPtr Requester)
foreign import ccall "soup_requester_get_type"
c_soup_requester_get_type :: IO GType
instance GObject Requester where
gobjectType = c_soup_requester_get_type
class (GObject o, O.IsDescendantOf Requester o) => IsRequester o
instance (GObject o, O.IsDescendantOf Requester o) => IsRequester o
instance O.HasParentTypes Requester
type instance O.ParentTypes Requester = '[GObject.Object.Object, Soup.SessionFeature.SessionFeature]
toRequester :: (MonadIO m, IsRequester o) => o -> m Requester
toRequester = liftIO . unsafeCastTo Requester
noRequester :: Maybe Requester
noRequester = Nothing
#if ENABLE_OVERLOADING
type family ResolveRequesterMethod (t :: Symbol) (o :: *) :: * where
ResolveRequesterMethod "addFeature" o = Soup.SessionFeature.SessionFeatureAddFeatureMethodInfo
ResolveRequesterMethod "attach" o = Soup.SessionFeature.SessionFeatureAttachMethodInfo
ResolveRequesterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveRequesterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveRequesterMethod "detach" o = Soup.SessionFeature.SessionFeatureDetachMethodInfo
ResolveRequesterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveRequesterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveRequesterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveRequesterMethod "hasFeature" o = Soup.SessionFeature.SessionFeatureHasFeatureMethodInfo
ResolveRequesterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveRequesterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveRequesterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveRequesterMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveRequesterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveRequesterMethod "removeFeature" o = Soup.SessionFeature.SessionFeatureRemoveFeatureMethodInfo
ResolveRequesterMethod "request" o = RequesterRequestMethodInfo
ResolveRequesterMethod "requestUri" o = RequesterRequestUriMethodInfo
ResolveRequesterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveRequesterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveRequesterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveRequesterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveRequesterMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveRequesterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveRequesterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveRequesterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveRequesterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveRequesterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveRequesterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveRequesterMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRequesterMethod t Requester, O.MethodInfo info Requester p) => OL.IsLabel t (Requester -> 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
#if ENABLE_OVERLOADING
instance O.HasAttributeList Requester
type instance O.AttributeList Requester = RequesterAttributeList
type RequesterAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList Requester = RequesterSignalList
type RequesterSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "soup_requester_new" soup_requester_new ::
IO (Ptr Requester)
requesterNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Requester
requesterNew = liftIO $ do
result <- soup_requester_new
checkUnexpectedReturnNULL "requesterNew" result
result' <- (wrapObject Requester) result
return result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "soup_requester_request" soup_requester_request ::
Ptr Requester ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr Soup.Request.Request)
requesterRequest ::
(B.CallStack.HasCallStack, MonadIO m, IsRequester a) =>
a
-> T.Text
-> m Soup.Request.Request
requesterRequest requester uriString = liftIO $ do
requester' <- unsafeManagedPtrCastPtr requester
uriString' <- textToCString uriString
onException (do
result <- propagateGError $ soup_requester_request requester' uriString'
checkUnexpectedReturnNULL "requesterRequest" result
result' <- (wrapObject Soup.Request.Request) result
touchManagedPtr requester
freeMem uriString'
return result'
) (do
freeMem uriString'
)
#if ENABLE_OVERLOADING
data RequesterRequestMethodInfo
instance (signature ~ (T.Text -> m Soup.Request.Request), MonadIO m, IsRequester a) => O.MethodInfo RequesterRequestMethodInfo a signature where
overloadedMethod _ = requesterRequest
#endif
foreign import ccall "soup_requester_request_uri" soup_requester_request_uri ::
Ptr Requester ->
Ptr Soup.URI.URI ->
Ptr (Ptr GError) ->
IO (Ptr Soup.Request.Request)
requesterRequestUri ::
(B.CallStack.HasCallStack, MonadIO m, IsRequester a) =>
a
-> Soup.URI.URI
-> m Soup.Request.Request
requesterRequestUri requester uri = liftIO $ do
requester' <- unsafeManagedPtrCastPtr requester
uri' <- unsafeManagedPtrGetPtr uri
onException (do
result <- propagateGError $ soup_requester_request_uri requester' uri'
checkUnexpectedReturnNULL "requesterRequestUri" result
result' <- (wrapObject Soup.Request.Request) result
touchManagedPtr requester
touchManagedPtr uri
return result'
) (do
return ()
)
#if ENABLE_OVERLOADING
data RequesterRequestUriMethodInfo
instance (signature ~ (Soup.URI.URI -> m Soup.Request.Request), MonadIO m, IsRequester a) => O.MethodInfo RequesterRequestUriMethodInfo a signature where
overloadedMethod _ = requesterRequestUri
#endif