{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) /No description available in the introspection data./ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.WebKit2.Objects.URIRequest ( -- * Exported types URIRequest(..) , IsURIRequest , toURIRequest , noURIRequest , -- * Methods -- ** getHttpHeaders #method:getHttpHeaders# #if ENABLE_OVERLOADING URIRequestGetHttpHeadersMethodInfo , #endif uRIRequestGetHttpHeaders , -- ** getHttpMethod #method:getHttpMethod# #if ENABLE_OVERLOADING URIRequestGetHttpMethodMethodInfo , #endif uRIRequestGetHttpMethod , -- ** getUri #method:getUri# #if ENABLE_OVERLOADING URIRequestGetUriMethodInfo , #endif uRIRequestGetUri , -- ** new #method:new# uRIRequestNew , -- ** setUri #method:setUri# #if ENABLE_OVERLOADING URIRequestSetUriMethodInfo , #endif uRIRequestSetUri , -- * Properties -- ** uri #attr:uri# {- | The URI to which the request will be made. -} #if ENABLE_OVERLOADING URIRequestUriPropertyInfo , #endif constructURIRequestUri , getURIRequestUri , setURIRequestUri , #if ENABLE_OVERLOADING uRIRequestUri , #endif ) 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 qualified GI.Soup.Structs.MessageHeaders as Soup.MessageHeaders -- | Memory-managed wrapper type. newtype URIRequest = URIRequest (ManagedPtr URIRequest) foreign import ccall "webkit_uri_request_get_type" c_webkit_uri_request_get_type :: IO GType instance GObject URIRequest where gobjectType = c_webkit_uri_request_get_type -- | Type class for types which can be safely cast to `URIRequest`, for instance with `toURIRequest`. class (GObject o, O.IsDescendantOf URIRequest o) => IsURIRequest o instance (GObject o, O.IsDescendantOf URIRequest o) => IsURIRequest o instance O.HasParentTypes URIRequest type instance O.ParentTypes URIRequest = '[GObject.Object.Object] -- | Cast to `URIRequest`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toURIRequest :: (MonadIO m, IsURIRequest o) => o -> m URIRequest toURIRequest = liftIO . unsafeCastTo URIRequest -- | A convenience alias for `Nothing` :: `Maybe` `URIRequest`. noURIRequest :: Maybe URIRequest noURIRequest = Nothing #if ENABLE_OVERLOADING type family ResolveURIRequestMethod (t :: Symbol) (o :: *) :: * where ResolveURIRequestMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveURIRequestMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveURIRequestMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveURIRequestMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveURIRequestMethod "getv" o = GObject.Object.ObjectGetvMethodInfo ResolveURIRequestMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveURIRequestMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveURIRequestMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveURIRequestMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveURIRequestMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveURIRequestMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveURIRequestMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveURIRequestMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveURIRequestMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveURIRequestMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveURIRequestMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveURIRequestMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveURIRequestMethod "getHttpHeaders" o = URIRequestGetHttpHeadersMethodInfo ResolveURIRequestMethod "getHttpMethod" o = URIRequestGetHttpMethodMethodInfo ResolveURIRequestMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveURIRequestMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveURIRequestMethod "getUri" o = URIRequestGetUriMethodInfo ResolveURIRequestMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveURIRequestMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveURIRequestMethod "setUri" o = URIRequestSetUriMethodInfo ResolveURIRequestMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveURIRequestMethod t URIRequest, O.MethodInfo info URIRequest p) => OL.IsLabel t (URIRequest -> 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 -- VVV Prop "uri" -- Type: TBasicType TUTF8 -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct] -- Nullable: (Just False,Just False) {- | Get the value of the “@uri@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' uRIRequest #uri @ -} getURIRequestUri :: (MonadIO m, IsURIRequest o) => o -> m T.Text getURIRequestUri obj = liftIO $ checkUnexpectedNothing "getURIRequestUri" $ B.Properties.getObjectPropertyString obj "uri" {- | Set the value of the “@uri@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' uRIRequest [ #uri 'Data.GI.Base.Attributes.:=' value ] @ -} setURIRequestUri :: (MonadIO m, IsURIRequest o) => o -> T.Text -> m () setURIRequestUri obj val = liftIO $ B.Properties.setObjectPropertyString obj "uri" (Just val) {- | Construct a `GValueConstruct` with valid value for the “@uri@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructURIRequestUri :: (IsURIRequest o) => T.Text -> IO (GValueConstruct o) constructURIRequestUri val = B.Properties.constructObjectPropertyString "uri" (Just val) #if ENABLE_OVERLOADING data URIRequestUriPropertyInfo instance AttrInfo URIRequestUriPropertyInfo where type AttrAllowedOps URIRequestUriPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint URIRequestUriPropertyInfo = (~) T.Text type AttrBaseTypeConstraint URIRequestUriPropertyInfo = IsURIRequest type AttrGetType URIRequestUriPropertyInfo = T.Text type AttrLabel URIRequestUriPropertyInfo = "uri" type AttrOrigin URIRequestUriPropertyInfo = URIRequest attrGet _ = getURIRequestUri attrSet _ = setURIRequestUri attrConstruct _ = constructURIRequestUri attrClear _ = undefined #endif #if ENABLE_OVERLOADING instance O.HasAttributeList URIRequest type instance O.AttributeList URIRequest = URIRequestAttributeList type URIRequestAttributeList = ('[ '("uri", URIRequestUriPropertyInfo)] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING uRIRequestUri :: AttrLabelProxy "uri" uRIRequestUri = AttrLabelProxy #endif #if ENABLE_OVERLOADING type instance O.SignalList URIRequest = URIRequestSignalList type URIRequestSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) #endif -- method URIRequest::new -- method type : Constructor -- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "URIRequest"})) -- throws : False -- Skip return : False foreign import ccall "webkit_uri_request_new" webkit_uri_request_new :: CString -> -- uri : TBasicType TUTF8 IO (Ptr URIRequest) {- | Creates a new 'GI.WebKit2.Objects.URIRequest.URIRequest' for the given URI. -} uRIRequestNew :: (B.CallStack.HasCallStack, MonadIO m) => T.Text {- ^ /@uri@/: an URI -} -> m URIRequest {- ^ __Returns:__ a new 'GI.WebKit2.Objects.URIRequest.URIRequest' -} uRIRequestNew uri = liftIO $ do uri' <- textToCString uri result <- webkit_uri_request_new uri' checkUnexpectedReturnNULL "uRIRequestNew" result result' <- (wrapObject URIRequest) result freeMem uri' return result' #if ENABLE_OVERLOADING #endif -- method URIRequest::get_http_headers -- method type : OrdinaryMethod -- Args : [Arg {argCName = "request", argType = TInterface (Name {namespace = "WebKit2", name = "URIRequest"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitURIRequest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Soup", name = "MessageHeaders"})) -- throws : False -- Skip return : False foreign import ccall "webkit_uri_request_get_http_headers" webkit_uri_request_get_http_headers :: Ptr URIRequest -> -- request : TInterface (Name {namespace = "WebKit2", name = "URIRequest"}) IO (Ptr Soup.MessageHeaders.MessageHeaders) {- | Get the HTTP headers of a 'GI.WebKit2.Objects.URIRequest.URIRequest' as a 'GI.Soup.Structs.MessageHeaders.MessageHeaders'. -} uRIRequestGetHttpHeaders :: (B.CallStack.HasCallStack, MonadIO m, IsURIRequest a) => a {- ^ /@request@/: a 'GI.WebKit2.Objects.URIRequest.URIRequest' -} -> m (Maybe Soup.MessageHeaders.MessageHeaders) {- ^ __Returns:__ a 'GI.Soup.Structs.MessageHeaders.MessageHeaders' with the HTTP headers of /@request@/ or 'Nothing' if /@request@/ is not an HTTP request. -} uRIRequestGetHttpHeaders request = liftIO $ do request' <- unsafeManagedPtrCastPtr request result <- webkit_uri_request_get_http_headers request' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newBoxed Soup.MessageHeaders.MessageHeaders) result' return result'' touchManagedPtr request return maybeResult #if ENABLE_OVERLOADING data URIRequestGetHttpHeadersMethodInfo instance (signature ~ (m (Maybe Soup.MessageHeaders.MessageHeaders)), MonadIO m, IsURIRequest a) => O.MethodInfo URIRequestGetHttpHeadersMethodInfo a signature where overloadedMethod _ = uRIRequestGetHttpHeaders #endif -- method URIRequest::get_http_method -- method type : OrdinaryMethod -- Args : [Arg {argCName = "request", argType = TInterface (Name {namespace = "WebKit2", name = "URIRequest"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitURIRequest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "webkit_uri_request_get_http_method" webkit_uri_request_get_http_method :: Ptr URIRequest -> -- request : TInterface (Name {namespace = "WebKit2", name = "URIRequest"}) IO CString {- | Get the HTTP method of the 'GI.WebKit2.Objects.URIRequest.URIRequest'. /Since: 2.12/ -} uRIRequestGetHttpMethod :: (B.CallStack.HasCallStack, MonadIO m, IsURIRequest a) => a {- ^ /@request@/: a 'GI.WebKit2.Objects.URIRequest.URIRequest' -} -> m T.Text {- ^ __Returns:__ the HTTP method of the 'GI.WebKit2.Objects.URIRequest.URIRequest' or 'Nothing' if /@request@/ is not an HTTP request. -} uRIRequestGetHttpMethod request = liftIO $ do request' <- unsafeManagedPtrCastPtr request result <- webkit_uri_request_get_http_method request' checkUnexpectedReturnNULL "uRIRequestGetHttpMethod" result result' <- cstringToText result touchManagedPtr request return result' #if ENABLE_OVERLOADING data URIRequestGetHttpMethodMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsURIRequest a) => O.MethodInfo URIRequestGetHttpMethodMethodInfo a signature where overloadedMethod _ = uRIRequestGetHttpMethod #endif -- method URIRequest::get_uri -- method type : OrdinaryMethod -- Args : [Arg {argCName = "request", argType = TInterface (Name {namespace = "WebKit2", name = "URIRequest"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitURIRequest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "webkit_uri_request_get_uri" webkit_uri_request_get_uri :: Ptr URIRequest -> -- request : TInterface (Name {namespace = "WebKit2", name = "URIRequest"}) IO CString {- | /No description available in the introspection data./ -} uRIRequestGetUri :: (B.CallStack.HasCallStack, MonadIO m, IsURIRequest a) => a {- ^ /@request@/: a 'GI.WebKit2.Objects.URIRequest.URIRequest' -} -> m T.Text {- ^ __Returns:__ the uri of the 'GI.WebKit2.Objects.URIRequest.URIRequest' -} uRIRequestGetUri request = liftIO $ do request' <- unsafeManagedPtrCastPtr request result <- webkit_uri_request_get_uri request' checkUnexpectedReturnNULL "uRIRequestGetUri" result result' <- cstringToText result touchManagedPtr request return result' #if ENABLE_OVERLOADING data URIRequestGetUriMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsURIRequest a) => O.MethodInfo URIRequestGetUriMethodInfo a signature where overloadedMethod _ = uRIRequestGetUri #endif -- method URIRequest::set_uri -- method type : OrdinaryMethod -- Args : [Arg {argCName = "request", argType = TInterface (Name {namespace = "WebKit2", name = "URIRequest"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitURIRequest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "webkit_uri_request_set_uri" webkit_uri_request_set_uri :: Ptr URIRequest -> -- request : TInterface (Name {namespace = "WebKit2", name = "URIRequest"}) CString -> -- uri : TBasicType TUTF8 IO () {- | Set the URI of /@request@/ -} uRIRequestSetUri :: (B.CallStack.HasCallStack, MonadIO m, IsURIRequest a) => a {- ^ /@request@/: a 'GI.WebKit2.Objects.URIRequest.URIRequest' -} -> T.Text {- ^ /@uri@/: an URI -} -> m () uRIRequestSetUri request uri = liftIO $ do request' <- unsafeManagedPtrCastPtr request uri' <- textToCString uri webkit_uri_request_set_uri request' uri' touchManagedPtr request freeMem uri' return () #if ENABLE_OVERLOADING data URIRequestSetUriMethodInfo instance (signature ~ (T.Text -> m ()), MonadIO m, IsURIRequest a) => O.MethodInfo URIRequestSetUriMethodInfo a signature where overloadedMethod _ = uRIRequestSetUri #endif