{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Soup.Objects.RequestHTTP
(
RequestHTTP(..) ,
IsRequestHTTP ,
toRequestHTTP ,
#if defined(ENABLE_OVERLOADING)
ResolveRequestHTTPMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
RequestHTTPGetMessageMethodInfo ,
#endif
requestHTTPGetMessage ,
) 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.BasicTypes as B.Types
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
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 qualified GI.Gio.Interfaces.Initable as Gio.Initable
import {-# SOURCE #-} qualified GI.Soup.Objects.Message as Soup.Message
import {-# SOURCE #-} qualified GI.Soup.Objects.Request as Soup.Request
newtype RequestHTTP = RequestHTTP (SP.ManagedPtr RequestHTTP)
deriving (RequestHTTP -> RequestHTTP -> Bool
(RequestHTTP -> RequestHTTP -> Bool)
-> (RequestHTTP -> RequestHTTP -> Bool) -> Eq RequestHTTP
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RequestHTTP -> RequestHTTP -> Bool
$c/= :: RequestHTTP -> RequestHTTP -> Bool
== :: RequestHTTP -> RequestHTTP -> Bool
$c== :: RequestHTTP -> RequestHTTP -> Bool
Eq)
instance SP.ManagedPtrNewtype RequestHTTP where
toManagedPtr :: RequestHTTP -> ManagedPtr RequestHTTP
toManagedPtr (RequestHTTP ManagedPtr RequestHTTP
p) = ManagedPtr RequestHTTP
p
foreign import ccall "soup_request_http_get_type"
c_soup_request_http_get_type :: IO B.Types.GType
instance B.Types.TypedObject RequestHTTP where
glibType :: IO GType
glibType = IO GType
c_soup_request_http_get_type
instance B.Types.GObject RequestHTTP
instance B.GValue.IsGValue RequestHTTP where
toGValue :: RequestHTTP -> IO GValue
toGValue RequestHTTP
o = do
GType
gtype <- IO GType
c_soup_request_http_get_type
RequestHTTP -> (Ptr RequestHTTP -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr RequestHTTP
o (GType
-> (GValue -> Ptr RequestHTTP -> IO ())
-> Ptr RequestHTTP
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr RequestHTTP -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO RequestHTTP
fromGValue GValue
gv = do
Ptr RequestHTTP
ptr <- GValue -> IO (Ptr RequestHTTP)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr RequestHTTP)
(ManagedPtr RequestHTTP -> RequestHTTP)
-> Ptr RequestHTTP -> IO RequestHTTP
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr RequestHTTP -> RequestHTTP
RequestHTTP Ptr RequestHTTP
ptr
class (SP.GObject o, O.IsDescendantOf RequestHTTP o) => IsRequestHTTP o
instance (SP.GObject o, O.IsDescendantOf RequestHTTP o) => IsRequestHTTP o
instance O.HasParentTypes RequestHTTP
type instance O.ParentTypes RequestHTTP = '[Soup.Request.Request, GObject.Object.Object, Gio.Initable.Initable]
toRequestHTTP :: (MonadIO m, IsRequestHTTP o) => o -> m RequestHTTP
toRequestHTTP :: o -> m RequestHTTP
toRequestHTTP = IO RequestHTTP -> m RequestHTTP
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO RequestHTTP -> m RequestHTTP)
-> (o -> IO RequestHTTP) -> o -> m RequestHTTP
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr RequestHTTP -> RequestHTTP) -> o -> IO RequestHTTP
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr RequestHTTP -> RequestHTTP
RequestHTTP
#if defined(ENABLE_OVERLOADING)
type family ResolveRequestHTTPMethod (t :: Symbol) (o :: *) :: * where
ResolveRequestHTTPMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveRequestHTTPMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveRequestHTTPMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveRequestHTTPMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveRequestHTTPMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveRequestHTTPMethod "init" o = Gio.Initable.InitableInitMethodInfo
ResolveRequestHTTPMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveRequestHTTPMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveRequestHTTPMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveRequestHTTPMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveRequestHTTPMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveRequestHTTPMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveRequestHTTPMethod "send" o = Soup.Request.RequestSendMethodInfo
ResolveRequestHTTPMethod "sendAsync" o = Soup.Request.RequestSendAsyncMethodInfo
ResolveRequestHTTPMethod "sendFinish" o = Soup.Request.RequestSendFinishMethodInfo
ResolveRequestHTTPMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveRequestHTTPMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveRequestHTTPMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveRequestHTTPMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveRequestHTTPMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveRequestHTTPMethod "getContentLength" o = Soup.Request.RequestGetContentLengthMethodInfo
ResolveRequestHTTPMethod "getContentType" o = Soup.Request.RequestGetContentTypeMethodInfo
ResolveRequestHTTPMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveRequestHTTPMethod "getMessage" o = RequestHTTPGetMessageMethodInfo
ResolveRequestHTTPMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveRequestHTTPMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveRequestHTTPMethod "getSession" o = Soup.Request.RequestGetSessionMethodInfo
ResolveRequestHTTPMethod "getUri" o = Soup.Request.RequestGetUriMethodInfo
ResolveRequestHTTPMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveRequestHTTPMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveRequestHTTPMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveRequestHTTPMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRequestHTTPMethod t RequestHTTP, O.MethodInfo info RequestHTTP p) => OL.IsLabel t (RequestHTTP -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList RequestHTTP
type instance O.AttributeList RequestHTTP = RequestHTTPAttributeList
type RequestHTTPAttributeList = ('[ '("session", Soup.Request.RequestSessionPropertyInfo), '("uri", Soup.Request.RequestUriPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList RequestHTTP = RequestHTTPSignalList
type RequestHTTPSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "soup_request_http_get_message" soup_request_http_get_message ::
Ptr RequestHTTP ->
IO (Ptr Soup.Message.Message)
requestHTTPGetMessage ::
(B.CallStack.HasCallStack, MonadIO m, IsRequestHTTP a) =>
a
-> m Soup.Message.Message
requestHTTPGetMessage :: a -> m Message
requestHTTPGetMessage a
http = IO Message -> m Message
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Message -> m Message) -> IO Message -> m Message
forall a b. (a -> b) -> a -> b
$ do
Ptr RequestHTTP
http' <- a -> IO (Ptr RequestHTTP)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
http
Ptr Message
result <- Ptr RequestHTTP -> IO (Ptr Message)
soup_request_http_get_message Ptr RequestHTTP
http'
Text -> Ptr Message -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"requestHTTPGetMessage" Ptr Message
result
Message
result' <- ((ManagedPtr Message -> Message) -> Ptr Message -> IO Message
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Message -> Message
Soup.Message.Message) Ptr Message
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
http
Message -> IO Message
forall (m :: * -> *) a. Monad m => a -> m a
return Message
result'
#if defined(ENABLE_OVERLOADING)
data RequestHTTPGetMessageMethodInfo
instance (signature ~ (m Soup.Message.Message), MonadIO m, IsRequestHTTP a) => O.MethodInfo RequestHTTPGetMessageMethodInfo a signature where
overloadedMethod = requestHTTPGetMessage
#endif