module GI.Soup.Objects.Requester
(
Requester(..) ,
IsRequester ,
toRequester ,
noRequester ,
requesterNew ,
RequesterRequestMethodInfo ,
requesterRequest ,
RequesterRequestUriMethodInfo ,
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.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.GObject.Objects.Object as GObject.Object
import qualified GI.Soup.Interfaces.SessionFeature as Soup.SessionFeature
import qualified GI.Soup.Objects.Request as Soup.Request
import 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 => IsRequester o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError Requester a) =>
IsRequester a
#endif
instance IsRequester Requester
instance GObject.Object.IsObject Requester
instance Soup.SessionFeature.IsSessionFeature Requester
toRequester :: IsRequester o => o -> IO Requester
toRequester = unsafeCastTo Requester
noRequester :: Maybe Requester
noRequester = Nothing
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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveRequesterMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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) => O.IsLabelProxy t (Requester -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveRequesterMethod t Requester, O.MethodInfo info Requester p) => O.IsLabel t (Requester -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
instance O.HasAttributeList Requester
type instance O.AttributeList Requester = RequesterAttributeList
type RequesterAttributeList = ('[ ] :: [(Symbol, *)])
type instance O.SignalList Requester = RequesterSignalList
type RequesterSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
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'
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'
)
data RequesterRequestMethodInfo
instance (signature ~ (T.Text -> m Soup.Request.Request), MonadIO m, IsRequester a) => O.MethodInfo RequesterRequestMethodInfo a signature where
overloadedMethod _ = requesterRequest
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 ()
)
data RequesterRequestUriMethodInfo
instance (signature ~ (Soup.URI.URI -> m Soup.Request.Request), MonadIO m, IsRequester a) => O.MethodInfo RequesterRequestUriMethodInfo a signature where
overloadedMethod _ = requesterRequestUri