{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2.Objects.URISchemeRequest
(
URISchemeRequest(..) ,
IsURISchemeRequest ,
toURISchemeRequest ,
#if defined(ENABLE_OVERLOADING)
ResolveURISchemeRequestMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
URISchemeRequestFinishMethodInfo ,
#endif
uRISchemeRequestFinish ,
#if defined(ENABLE_OVERLOADING)
URISchemeRequestFinishErrorMethodInfo ,
#endif
uRISchemeRequestFinishError ,
#if defined(ENABLE_OVERLOADING)
URISchemeRequestGetPathMethodInfo ,
#endif
uRISchemeRequestGetPath ,
#if defined(ENABLE_OVERLOADING)
URISchemeRequestGetSchemeMethodInfo ,
#endif
uRISchemeRequestGetScheme ,
#if defined(ENABLE_OVERLOADING)
URISchemeRequestGetUriMethodInfo ,
#endif
uRISchemeRequestGetUri ,
#if defined(ENABLE_OVERLOADING)
URISchemeRequestGetWebViewMethodInfo ,
#endif
uRISchemeRequestGetWebView ,
) 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.GArray as B.GArray
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 GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Objects.InputStream as Gio.InputStream
import {-# SOURCE #-} qualified GI.WebKit2.Objects.WebView as WebKit2.WebView
newtype URISchemeRequest = URISchemeRequest (SP.ManagedPtr URISchemeRequest)
deriving (URISchemeRequest -> URISchemeRequest -> Bool
(URISchemeRequest -> URISchemeRequest -> Bool)
-> (URISchemeRequest -> URISchemeRequest -> Bool)
-> Eq URISchemeRequest
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: URISchemeRequest -> URISchemeRequest -> Bool
$c/= :: URISchemeRequest -> URISchemeRequest -> Bool
== :: URISchemeRequest -> URISchemeRequest -> Bool
$c== :: URISchemeRequest -> URISchemeRequest -> Bool
Eq)
instance SP.ManagedPtrNewtype URISchemeRequest where
toManagedPtr :: URISchemeRequest -> ManagedPtr URISchemeRequest
toManagedPtr (URISchemeRequest ManagedPtr URISchemeRequest
p) = ManagedPtr URISchemeRequest
p
foreign import ccall "webkit_uri_scheme_request_get_type"
c_webkit_uri_scheme_request_get_type :: IO B.Types.GType
instance B.Types.TypedObject URISchemeRequest where
glibType :: IO GType
glibType = IO GType
c_webkit_uri_scheme_request_get_type
instance B.Types.GObject URISchemeRequest
class (SP.GObject o, O.IsDescendantOf URISchemeRequest o) => IsURISchemeRequest o
instance (SP.GObject o, O.IsDescendantOf URISchemeRequest o) => IsURISchemeRequest o
instance O.HasParentTypes URISchemeRequest
type instance O.ParentTypes URISchemeRequest = '[GObject.Object.Object]
toURISchemeRequest :: (MIO.MonadIO m, IsURISchemeRequest o) => o -> m URISchemeRequest
toURISchemeRequest :: forall (m :: * -> *) o.
(MonadIO m, IsURISchemeRequest o) =>
o -> m URISchemeRequest
toURISchemeRequest = IO URISchemeRequest -> m URISchemeRequest
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO URISchemeRequest -> m URISchemeRequest)
-> (o -> IO URISchemeRequest) -> o -> m URISchemeRequest
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr URISchemeRequest -> URISchemeRequest)
-> o -> IO URISchemeRequest
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr URISchemeRequest -> URISchemeRequest
URISchemeRequest
instance B.GValue.IsGValue (Maybe URISchemeRequest) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_uri_scheme_request_get_type
gvalueSet_ :: Ptr GValue -> Maybe URISchemeRequest -> IO ()
gvalueSet_ Ptr GValue
gv Maybe URISchemeRequest
P.Nothing = Ptr GValue -> Ptr URISchemeRequest -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr URISchemeRequest
forall a. Ptr a
FP.nullPtr :: FP.Ptr URISchemeRequest)
gvalueSet_ Ptr GValue
gv (P.Just URISchemeRequest
obj) = URISchemeRequest -> (Ptr URISchemeRequest -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr URISchemeRequest
obj (Ptr GValue -> Ptr URISchemeRequest -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe URISchemeRequest)
gvalueGet_ Ptr GValue
gv = do
Ptr URISchemeRequest
ptr <- Ptr GValue -> IO (Ptr URISchemeRequest)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr URISchemeRequest)
if Ptr URISchemeRequest
ptr Ptr URISchemeRequest -> Ptr URISchemeRequest -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr URISchemeRequest
forall a. Ptr a
FP.nullPtr
then URISchemeRequest -> Maybe URISchemeRequest
forall a. a -> Maybe a
P.Just (URISchemeRequest -> Maybe URISchemeRequest)
-> IO URISchemeRequest -> IO (Maybe URISchemeRequest)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr URISchemeRequest -> URISchemeRequest)
-> Ptr URISchemeRequest -> IO URISchemeRequest
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr URISchemeRequest -> URISchemeRequest
URISchemeRequest Ptr URISchemeRequest
ptr
else Maybe URISchemeRequest -> IO (Maybe URISchemeRequest)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe URISchemeRequest
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveURISchemeRequestMethod (t :: Symbol) (o :: *) :: * where
ResolveURISchemeRequestMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveURISchemeRequestMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveURISchemeRequestMethod "finish" o = URISchemeRequestFinishMethodInfo
ResolveURISchemeRequestMethod "finishError" o = URISchemeRequestFinishErrorMethodInfo
ResolveURISchemeRequestMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveURISchemeRequestMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveURISchemeRequestMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveURISchemeRequestMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveURISchemeRequestMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveURISchemeRequestMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveURISchemeRequestMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveURISchemeRequestMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveURISchemeRequestMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveURISchemeRequestMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveURISchemeRequestMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveURISchemeRequestMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveURISchemeRequestMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveURISchemeRequestMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveURISchemeRequestMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveURISchemeRequestMethod "getPath" o = URISchemeRequestGetPathMethodInfo
ResolveURISchemeRequestMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveURISchemeRequestMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveURISchemeRequestMethod "getScheme" o = URISchemeRequestGetSchemeMethodInfo
ResolveURISchemeRequestMethod "getUri" o = URISchemeRequestGetUriMethodInfo
ResolveURISchemeRequestMethod "getWebView" o = URISchemeRequestGetWebViewMethodInfo
ResolveURISchemeRequestMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveURISchemeRequestMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveURISchemeRequestMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveURISchemeRequestMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveURISchemeRequestMethod t URISchemeRequest, O.OverloadedMethod info URISchemeRequest p) => OL.IsLabel t (URISchemeRequest -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveURISchemeRequestMethod t URISchemeRequest, O.OverloadedMethod info URISchemeRequest p, R.HasField t URISchemeRequest p) => R.HasField t URISchemeRequest p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveURISchemeRequestMethod t URISchemeRequest, O.OverloadedMethodInfo info URISchemeRequest) => OL.IsLabel t (O.MethodProxy info URISchemeRequest) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList URISchemeRequest
type instance O.AttributeList URISchemeRequest = URISchemeRequestAttributeList
type URISchemeRequestAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList URISchemeRequest = URISchemeRequestSignalList
type URISchemeRequestSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_uri_scheme_request_finish" webkit_uri_scheme_request_finish ::
Ptr URISchemeRequest ->
Ptr Gio.InputStream.InputStream ->
Int64 ->
CString ->
IO ()
uRISchemeRequestFinish ::
(B.CallStack.HasCallStack, MonadIO m, IsURISchemeRequest a, Gio.InputStream.IsInputStream b) =>
a
-> b
-> Int64
-> Maybe (T.Text)
-> m ()
uRISchemeRequestFinish :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsURISchemeRequest a, IsInputStream b) =>
a -> b -> Int64 -> Maybe Text -> m ()
uRISchemeRequestFinish a
request b
stream Int64
streamLength Maybe Text
contentType = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr URISchemeRequest
request' <- a -> IO (Ptr URISchemeRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
Ptr InputStream
stream' <- b -> IO (Ptr InputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
stream
Ptr CChar
maybeContentType <- case Maybe Text
contentType of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
nullPtr
Just Text
jContentType -> do
Ptr CChar
jContentType' <- Text -> IO (Ptr CChar)
textToCString Text
jContentType
Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
jContentType'
Ptr URISchemeRequest
-> Ptr InputStream -> Int64 -> Ptr CChar -> IO ()
webkit_uri_scheme_request_finish Ptr URISchemeRequest
request' Ptr InputStream
stream' Int64
streamLength Ptr CChar
maybeContentType
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
stream
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
maybeContentType
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data URISchemeRequestFinishMethodInfo
instance (signature ~ (b -> Int64 -> Maybe (T.Text) -> m ()), MonadIO m, IsURISchemeRequest a, Gio.InputStream.IsInputStream b) => O.OverloadedMethod URISchemeRequestFinishMethodInfo a signature where
overloadedMethod = uRISchemeRequestFinish
instance O.OverloadedMethodInfo URISchemeRequestFinishMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Objects.URISchemeRequest.uRISchemeRequestFinish",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Objects-URISchemeRequest.html#v:uRISchemeRequestFinish"
}
#endif
foreign import ccall "webkit_uri_scheme_request_finish_error" webkit_uri_scheme_request_finish_error ::
Ptr URISchemeRequest ->
Ptr GError ->
IO ()
uRISchemeRequestFinishError ::
(B.CallStack.HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a
-> GError
-> m ()
uRISchemeRequestFinishError :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a -> GError -> m ()
uRISchemeRequestFinishError a
request GError
error_ = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr URISchemeRequest
request' <- a -> IO (Ptr URISchemeRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
Ptr GError
error_' <- GError -> IO (Ptr GError)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GError
error_
Ptr URISchemeRequest -> Ptr GError -> IO ()
webkit_uri_scheme_request_finish_error Ptr URISchemeRequest
request' Ptr GError
error_'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
GError -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GError
error_
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data URISchemeRequestFinishErrorMethodInfo
instance (signature ~ (GError -> m ()), MonadIO m, IsURISchemeRequest a) => O.OverloadedMethod URISchemeRequestFinishErrorMethodInfo a signature where
overloadedMethod = uRISchemeRequestFinishError
instance O.OverloadedMethodInfo URISchemeRequestFinishErrorMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Objects.URISchemeRequest.uRISchemeRequestFinishError",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Objects-URISchemeRequest.html#v:uRISchemeRequestFinishError"
}
#endif
foreign import ccall "webkit_uri_scheme_request_get_path" webkit_uri_scheme_request_get_path ::
Ptr URISchemeRequest ->
IO CString
uRISchemeRequestGetPath ::
(B.CallStack.HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a
-> m T.Text
uRISchemeRequestGetPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a -> m Text
uRISchemeRequestGetPath a
request = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr URISchemeRequest
request' <- a -> IO (Ptr URISchemeRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
Ptr CChar
result <- Ptr URISchemeRequest -> IO (Ptr CChar)
webkit_uri_scheme_request_get_path Ptr URISchemeRequest
request'
Text -> Ptr CChar -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"uRISchemeRequestGetPath" Ptr CChar
result
Text
result' <- HasCallStack => Ptr CChar -> IO Text
Ptr CChar -> IO Text
cstringToText Ptr CChar
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data URISchemeRequestGetPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsURISchemeRequest a) => O.OverloadedMethod URISchemeRequestGetPathMethodInfo a signature where
overloadedMethod = uRISchemeRequestGetPath
instance O.OverloadedMethodInfo URISchemeRequestGetPathMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Objects.URISchemeRequest.uRISchemeRequestGetPath",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Objects-URISchemeRequest.html#v:uRISchemeRequestGetPath"
}
#endif
foreign import ccall "webkit_uri_scheme_request_get_scheme" webkit_uri_scheme_request_get_scheme ::
Ptr URISchemeRequest ->
IO CString
uRISchemeRequestGetScheme ::
(B.CallStack.HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a
-> m T.Text
uRISchemeRequestGetScheme :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a -> m Text
uRISchemeRequestGetScheme a
request = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr URISchemeRequest
request' <- a -> IO (Ptr URISchemeRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
Ptr CChar
result <- Ptr URISchemeRequest -> IO (Ptr CChar)
webkit_uri_scheme_request_get_scheme Ptr URISchemeRequest
request'
Text -> Ptr CChar -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"uRISchemeRequestGetScheme" Ptr CChar
result
Text
result' <- HasCallStack => Ptr CChar -> IO Text
Ptr CChar -> IO Text
cstringToText Ptr CChar
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data URISchemeRequestGetSchemeMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsURISchemeRequest a) => O.OverloadedMethod URISchemeRequestGetSchemeMethodInfo a signature where
overloadedMethod = uRISchemeRequestGetScheme
instance O.OverloadedMethodInfo URISchemeRequestGetSchemeMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Objects.URISchemeRequest.uRISchemeRequestGetScheme",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Objects-URISchemeRequest.html#v:uRISchemeRequestGetScheme"
}
#endif
foreign import ccall "webkit_uri_scheme_request_get_uri" webkit_uri_scheme_request_get_uri ::
Ptr URISchemeRequest ->
IO CString
uRISchemeRequestGetUri ::
(B.CallStack.HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a
-> m T.Text
uRISchemeRequestGetUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a -> m Text
uRISchemeRequestGetUri a
request = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr URISchemeRequest
request' <- a -> IO (Ptr URISchemeRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
Ptr CChar
result <- Ptr URISchemeRequest -> IO (Ptr CChar)
webkit_uri_scheme_request_get_uri Ptr URISchemeRequest
request'
Text -> Ptr CChar -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"uRISchemeRequestGetUri" Ptr CChar
result
Text
result' <- HasCallStack => Ptr CChar -> IO Text
Ptr CChar -> IO Text
cstringToText Ptr CChar
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data URISchemeRequestGetUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsURISchemeRequest a) => O.OverloadedMethod URISchemeRequestGetUriMethodInfo a signature where
overloadedMethod = uRISchemeRequestGetUri
instance O.OverloadedMethodInfo URISchemeRequestGetUriMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Objects.URISchemeRequest.uRISchemeRequestGetUri",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Objects-URISchemeRequest.html#v:uRISchemeRequestGetUri"
}
#endif
foreign import ccall "webkit_uri_scheme_request_get_web_view" webkit_uri_scheme_request_get_web_view ::
Ptr URISchemeRequest ->
IO (Ptr WebKit2.WebView.WebView)
uRISchemeRequestGetWebView ::
(B.CallStack.HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a
-> m WebKit2.WebView.WebView
uRISchemeRequestGetWebView :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsURISchemeRequest a) =>
a -> m WebView
uRISchemeRequestGetWebView a
request = IO WebView -> m WebView
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO WebView -> m WebView) -> IO WebView -> m WebView
forall a b. (a -> b) -> a -> b
$ do
Ptr URISchemeRequest
request' <- a -> IO (Ptr URISchemeRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
Ptr WebView
result <- Ptr URISchemeRequest -> IO (Ptr WebView)
webkit_uri_scheme_request_get_web_view Ptr URISchemeRequest
request'
Text -> Ptr WebView -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"uRISchemeRequestGetWebView" Ptr WebView
result
WebView
result' <- ((ManagedPtr WebView -> WebView) -> Ptr WebView -> IO WebView
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr WebView -> WebView
WebKit2.WebView.WebView) Ptr WebView
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
WebView -> IO WebView
forall (m :: * -> *) a. Monad m => a -> m a
return WebView
result'
#if defined(ENABLE_OVERLOADING)
data URISchemeRequestGetWebViewMethodInfo
instance (signature ~ (m WebKit2.WebView.WebView), MonadIO m, IsURISchemeRequest a) => O.OverloadedMethod URISchemeRequestGetWebViewMethodInfo a signature where
overloadedMethod = uRISchemeRequestGetWebView
instance O.OverloadedMethodInfo URISchemeRequestGetWebViewMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Objects.URISchemeRequest.uRISchemeRequestGetWebView",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Objects-URISchemeRequest.html#v:uRISchemeRequestGetWebView"
}
#endif