{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKitWebProcessExtension.Objects.WebProcessExtension
(
WebProcessExtension(..) ,
IsWebProcessExtension ,
toWebProcessExtension ,
#if defined(ENABLE_OVERLOADING)
ResolveWebProcessExtensionMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
WebProcessExtensionGetPageMethodInfo ,
#endif
webProcessExtensionGetPage ,
#if defined(ENABLE_OVERLOADING)
WebProcessExtensionSendMessageToContextMethodInfo,
#endif
webProcessExtensionSendMessageToContext ,
#if defined(ENABLE_OVERLOADING)
WebProcessExtensionSendMessageToContextFinishMethodInfo,
#endif
webProcessExtensionSendMessageToContextFinish,
WebProcessExtensionPageCreatedCallback ,
#if defined(ENABLE_OVERLOADING)
WebProcessExtensionPageCreatedSignalInfo,
#endif
afterWebProcessExtensionPageCreated ,
onWebProcessExtensionPageCreated ,
WebProcessExtensionUserMessageReceivedCallback,
#if defined(ENABLE_OVERLOADING)
WebProcessExtensionUserMessageReceivedSignalInfo,
#endif
afterWebProcessExtensionUserMessageReceived,
onWebProcessExtensionUserMessageReceived,
) 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.GHashTable as B.GHT
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.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import {-# SOURCE #-} qualified GI.WebKitWebProcessExtension.Objects.UserMessage as WebKitWebProcessExtension.UserMessage
import {-# SOURCE #-} qualified GI.WebKitWebProcessExtension.Objects.WebPage as WebKitWebProcessExtension.WebPage
newtype WebProcessExtension = WebProcessExtension (SP.ManagedPtr WebProcessExtension)
deriving (WebProcessExtension -> WebProcessExtension -> Bool
(WebProcessExtension -> WebProcessExtension -> Bool)
-> (WebProcessExtension -> WebProcessExtension -> Bool)
-> Eq WebProcessExtension
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WebProcessExtension -> WebProcessExtension -> Bool
== :: WebProcessExtension -> WebProcessExtension -> Bool
$c/= :: WebProcessExtension -> WebProcessExtension -> Bool
/= :: WebProcessExtension -> WebProcessExtension -> Bool
Eq)
instance SP.ManagedPtrNewtype WebProcessExtension where
toManagedPtr :: WebProcessExtension -> ManagedPtr WebProcessExtension
toManagedPtr (WebProcessExtension ManagedPtr WebProcessExtension
p) = ManagedPtr WebProcessExtension
p
foreign import ccall "webkit_web_process_extension_get_type"
c_webkit_web_process_extension_get_type :: IO B.Types.GType
instance B.Types.TypedObject WebProcessExtension where
glibType :: IO GType
glibType = IO GType
c_webkit_web_process_extension_get_type
instance B.Types.GObject WebProcessExtension
class (SP.GObject o, O.IsDescendantOf WebProcessExtension o) => IsWebProcessExtension o
instance (SP.GObject o, O.IsDescendantOf WebProcessExtension o) => IsWebProcessExtension o
instance O.HasParentTypes WebProcessExtension
type instance O.ParentTypes WebProcessExtension = '[GObject.Object.Object]
toWebProcessExtension :: (MIO.MonadIO m, IsWebProcessExtension o) => o -> m WebProcessExtension
toWebProcessExtension :: forall (m :: * -> *) o.
(MonadIO m, IsWebProcessExtension o) =>
o -> m WebProcessExtension
toWebProcessExtension = IO WebProcessExtension -> m WebProcessExtension
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO WebProcessExtension -> m WebProcessExtension)
-> (o -> IO WebProcessExtension) -> o -> m WebProcessExtension
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr WebProcessExtension -> WebProcessExtension)
-> o -> IO WebProcessExtension
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr WebProcessExtension -> WebProcessExtension
WebProcessExtension
instance B.GValue.IsGValue (Maybe WebProcessExtension) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_web_process_extension_get_type
gvalueSet_ :: Ptr GValue -> Maybe WebProcessExtension -> IO ()
gvalueSet_ Ptr GValue
gv Maybe WebProcessExtension
P.Nothing = Ptr GValue -> Ptr WebProcessExtension -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr WebProcessExtension
forall a. Ptr a
FP.nullPtr :: FP.Ptr WebProcessExtension)
gvalueSet_ Ptr GValue
gv (P.Just WebProcessExtension
obj) = WebProcessExtension -> (Ptr WebProcessExtension -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr WebProcessExtension
obj (Ptr GValue -> Ptr WebProcessExtension -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe WebProcessExtension)
gvalueGet_ Ptr GValue
gv = do
Ptr WebProcessExtension
ptr <- Ptr GValue -> IO (Ptr WebProcessExtension)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr WebProcessExtension)
if Ptr WebProcessExtension
ptr Ptr WebProcessExtension -> Ptr WebProcessExtension -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr WebProcessExtension
forall a. Ptr a
FP.nullPtr
then WebProcessExtension -> Maybe WebProcessExtension
forall a. a -> Maybe a
P.Just (WebProcessExtension -> Maybe WebProcessExtension)
-> IO WebProcessExtension -> IO (Maybe WebProcessExtension)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr WebProcessExtension -> WebProcessExtension)
-> Ptr WebProcessExtension -> IO WebProcessExtension
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr WebProcessExtension -> WebProcessExtension
WebProcessExtension Ptr WebProcessExtension
ptr
else Maybe WebProcessExtension -> IO (Maybe WebProcessExtension)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe WebProcessExtension
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveWebProcessExtensionMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveWebProcessExtensionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveWebProcessExtensionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveWebProcessExtensionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveWebProcessExtensionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveWebProcessExtensionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveWebProcessExtensionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveWebProcessExtensionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveWebProcessExtensionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveWebProcessExtensionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveWebProcessExtensionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveWebProcessExtensionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveWebProcessExtensionMethod "sendMessageToContext" o = WebProcessExtensionSendMessageToContextMethodInfo
ResolveWebProcessExtensionMethod "sendMessageToContextFinish" o = WebProcessExtensionSendMessageToContextFinishMethodInfo
ResolveWebProcessExtensionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveWebProcessExtensionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveWebProcessExtensionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveWebProcessExtensionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveWebProcessExtensionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveWebProcessExtensionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveWebProcessExtensionMethod "getPage" o = WebProcessExtensionGetPageMethodInfo
ResolveWebProcessExtensionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveWebProcessExtensionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveWebProcessExtensionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveWebProcessExtensionMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveWebProcessExtensionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveWebProcessExtensionMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveWebProcessExtensionMethod t WebProcessExtension, O.OverloadedMethod info WebProcessExtension p) => OL.IsLabel t (WebProcessExtension -> 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 ~ ResolveWebProcessExtensionMethod t WebProcessExtension, O.OverloadedMethod info WebProcessExtension p, R.HasField t WebProcessExtension p) => R.HasField t WebProcessExtension p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveWebProcessExtensionMethod t WebProcessExtension, O.OverloadedMethodInfo info WebProcessExtension) => OL.IsLabel t (O.MethodProxy info WebProcessExtension) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type WebProcessExtensionPageCreatedCallback =
WebKitWebProcessExtension.WebPage.WebPage
-> IO ()
type C_WebProcessExtensionPageCreatedCallback =
Ptr WebProcessExtension ->
Ptr WebKitWebProcessExtension.WebPage.WebPage ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_WebProcessExtensionPageCreatedCallback :: C_WebProcessExtensionPageCreatedCallback -> IO (FunPtr C_WebProcessExtensionPageCreatedCallback)
wrap_WebProcessExtensionPageCreatedCallback ::
GObject a => (a -> WebProcessExtensionPageCreatedCallback) ->
C_WebProcessExtensionPageCreatedCallback
wrap_WebProcessExtensionPageCreatedCallback :: forall a.
GObject a =>
(a -> WebProcessExtensionPageCreatedCallback)
-> C_WebProcessExtensionPageCreatedCallback
wrap_WebProcessExtensionPageCreatedCallback a -> WebProcessExtensionPageCreatedCallback
gi'cb Ptr WebProcessExtension
gi'selfPtr Ptr WebPage
webPage Ptr ()
_ = do
WebPage
webPage' <- ((ManagedPtr WebPage -> WebPage) -> Ptr WebPage -> IO WebPage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr WebPage -> WebPage
WebKitWebProcessExtension.WebPage.WebPage) Ptr WebPage
webPage
Ptr WebProcessExtension -> (WebProcessExtension -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr WebProcessExtension
gi'selfPtr ((WebProcessExtension -> IO ()) -> IO ())
-> (WebProcessExtension -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \WebProcessExtension
gi'self -> a -> WebProcessExtensionPageCreatedCallback
gi'cb (WebProcessExtension -> a
forall a b. Coercible a b => a -> b
Coerce.coerce WebProcessExtension
gi'self) WebPage
webPage'
onWebProcessExtensionPageCreated :: (IsWebProcessExtension a, MonadIO m) => a -> ((?self :: a) => WebProcessExtensionPageCreatedCallback) -> m SignalHandlerId
onWebProcessExtensionPageCreated :: forall a (m :: * -> *).
(IsWebProcessExtension a, MonadIO m) =>
a
-> ((?self::a) => WebProcessExtensionPageCreatedCallback)
-> m SignalHandlerId
onWebProcessExtensionPageCreated a
obj (?self::a) => WebProcessExtensionPageCreatedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> WebProcessExtensionPageCreatedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => WebProcessExtensionPageCreatedCallback
WebProcessExtensionPageCreatedCallback
cb
let wrapped' :: C_WebProcessExtensionPageCreatedCallback
wrapped' = (a -> WebProcessExtensionPageCreatedCallback)
-> C_WebProcessExtensionPageCreatedCallback
forall a.
GObject a =>
(a -> WebProcessExtensionPageCreatedCallback)
-> C_WebProcessExtensionPageCreatedCallback
wrap_WebProcessExtensionPageCreatedCallback a -> WebProcessExtensionPageCreatedCallback
wrapped
FunPtr C_WebProcessExtensionPageCreatedCallback
wrapped'' <- C_WebProcessExtensionPageCreatedCallback
-> IO (FunPtr C_WebProcessExtensionPageCreatedCallback)
mk_WebProcessExtensionPageCreatedCallback C_WebProcessExtensionPageCreatedCallback
wrapped'
a
-> Text
-> FunPtr C_WebProcessExtensionPageCreatedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"page-created" FunPtr C_WebProcessExtensionPageCreatedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterWebProcessExtensionPageCreated :: (IsWebProcessExtension a, MonadIO m) => a -> ((?self :: a) => WebProcessExtensionPageCreatedCallback) -> m SignalHandlerId
afterWebProcessExtensionPageCreated :: forall a (m :: * -> *).
(IsWebProcessExtension a, MonadIO m) =>
a
-> ((?self::a) => WebProcessExtensionPageCreatedCallback)
-> m SignalHandlerId
afterWebProcessExtensionPageCreated a
obj (?self::a) => WebProcessExtensionPageCreatedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> WebProcessExtensionPageCreatedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => WebProcessExtensionPageCreatedCallback
WebProcessExtensionPageCreatedCallback
cb
let wrapped' :: C_WebProcessExtensionPageCreatedCallback
wrapped' = (a -> WebProcessExtensionPageCreatedCallback)
-> C_WebProcessExtensionPageCreatedCallback
forall a.
GObject a =>
(a -> WebProcessExtensionPageCreatedCallback)
-> C_WebProcessExtensionPageCreatedCallback
wrap_WebProcessExtensionPageCreatedCallback a -> WebProcessExtensionPageCreatedCallback
wrapped
FunPtr C_WebProcessExtensionPageCreatedCallback
wrapped'' <- C_WebProcessExtensionPageCreatedCallback
-> IO (FunPtr C_WebProcessExtensionPageCreatedCallback)
mk_WebProcessExtensionPageCreatedCallback C_WebProcessExtensionPageCreatedCallback
wrapped'
a
-> Text
-> FunPtr C_WebProcessExtensionPageCreatedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"page-created" FunPtr C_WebProcessExtensionPageCreatedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data WebProcessExtensionPageCreatedSignalInfo
instance SignalInfo WebProcessExtensionPageCreatedSignalInfo where
type HaskellCallbackType WebProcessExtensionPageCreatedSignalInfo = WebProcessExtensionPageCreatedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_WebProcessExtensionPageCreatedCallback cb
cb'' <- mk_WebProcessExtensionPageCreatedCallback cb'
connectSignalFunPtr obj "page-created" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKitWebProcessExtension.Objects.WebProcessExtension::page-created"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkitwebprocessextension-6.0.2/docs/GI-WebKitWebProcessExtension-Objects-WebProcessExtension.html#g:signal:pageCreated"})
#endif
type WebProcessExtensionUserMessageReceivedCallback =
WebKitWebProcessExtension.UserMessage.UserMessage
-> IO ()
type C_WebProcessExtensionUserMessageReceivedCallback =
Ptr WebProcessExtension ->
Ptr WebKitWebProcessExtension.UserMessage.UserMessage ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_WebProcessExtensionUserMessageReceivedCallback :: C_WebProcessExtensionUserMessageReceivedCallback -> IO (FunPtr C_WebProcessExtensionUserMessageReceivedCallback)
wrap_WebProcessExtensionUserMessageReceivedCallback ::
GObject a => (a -> WebProcessExtensionUserMessageReceivedCallback) ->
C_WebProcessExtensionUserMessageReceivedCallback
wrap_WebProcessExtensionUserMessageReceivedCallback :: forall a.
GObject a =>
(a -> WebProcessExtensionUserMessageReceivedCallback)
-> C_WebProcessExtensionUserMessageReceivedCallback
wrap_WebProcessExtensionUserMessageReceivedCallback a -> WebProcessExtensionUserMessageReceivedCallback
gi'cb Ptr WebProcessExtension
gi'selfPtr Ptr UserMessage
message Ptr ()
_ = do
UserMessage
message' <- ((ManagedPtr UserMessage -> UserMessage)
-> Ptr UserMessage -> IO UserMessage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr UserMessage -> UserMessage
WebKitWebProcessExtension.UserMessage.UserMessage) Ptr UserMessage
message
Ptr WebProcessExtension -> (WebProcessExtension -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr WebProcessExtension
gi'selfPtr ((WebProcessExtension -> IO ()) -> IO ())
-> (WebProcessExtension -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \WebProcessExtension
gi'self -> a -> WebProcessExtensionUserMessageReceivedCallback
gi'cb (WebProcessExtension -> a
forall a b. Coercible a b => a -> b
Coerce.coerce WebProcessExtension
gi'self) UserMessage
message'
onWebProcessExtensionUserMessageReceived :: (IsWebProcessExtension a, MonadIO m) => a -> ((?self :: a) => WebProcessExtensionUserMessageReceivedCallback) -> m SignalHandlerId
onWebProcessExtensionUserMessageReceived :: forall a (m :: * -> *).
(IsWebProcessExtension a, MonadIO m) =>
a
-> ((?self::a) => WebProcessExtensionUserMessageReceivedCallback)
-> m SignalHandlerId
onWebProcessExtensionUserMessageReceived a
obj (?self::a) => WebProcessExtensionUserMessageReceivedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> WebProcessExtensionUserMessageReceivedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => WebProcessExtensionUserMessageReceivedCallback
WebProcessExtensionUserMessageReceivedCallback
cb
let wrapped' :: C_WebProcessExtensionUserMessageReceivedCallback
wrapped' = (a -> WebProcessExtensionUserMessageReceivedCallback)
-> C_WebProcessExtensionUserMessageReceivedCallback
forall a.
GObject a =>
(a -> WebProcessExtensionUserMessageReceivedCallback)
-> C_WebProcessExtensionUserMessageReceivedCallback
wrap_WebProcessExtensionUserMessageReceivedCallback a -> WebProcessExtensionUserMessageReceivedCallback
wrapped
FunPtr C_WebProcessExtensionUserMessageReceivedCallback
wrapped'' <- C_WebProcessExtensionUserMessageReceivedCallback
-> IO (FunPtr C_WebProcessExtensionUserMessageReceivedCallback)
mk_WebProcessExtensionUserMessageReceivedCallback C_WebProcessExtensionUserMessageReceivedCallback
wrapped'
a
-> Text
-> FunPtr C_WebProcessExtensionUserMessageReceivedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"user-message-received" FunPtr C_WebProcessExtensionUserMessageReceivedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterWebProcessExtensionUserMessageReceived :: (IsWebProcessExtension a, MonadIO m) => a -> ((?self :: a) => WebProcessExtensionUserMessageReceivedCallback) -> m SignalHandlerId
afterWebProcessExtensionUserMessageReceived :: forall a (m :: * -> *).
(IsWebProcessExtension a, MonadIO m) =>
a
-> ((?self::a) => WebProcessExtensionUserMessageReceivedCallback)
-> m SignalHandlerId
afterWebProcessExtensionUserMessageReceived a
obj (?self::a) => WebProcessExtensionUserMessageReceivedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> WebProcessExtensionUserMessageReceivedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => WebProcessExtensionUserMessageReceivedCallback
WebProcessExtensionUserMessageReceivedCallback
cb
let wrapped' :: C_WebProcessExtensionUserMessageReceivedCallback
wrapped' = (a -> WebProcessExtensionUserMessageReceivedCallback)
-> C_WebProcessExtensionUserMessageReceivedCallback
forall a.
GObject a =>
(a -> WebProcessExtensionUserMessageReceivedCallback)
-> C_WebProcessExtensionUserMessageReceivedCallback
wrap_WebProcessExtensionUserMessageReceivedCallback a -> WebProcessExtensionUserMessageReceivedCallback
wrapped
FunPtr C_WebProcessExtensionUserMessageReceivedCallback
wrapped'' <- C_WebProcessExtensionUserMessageReceivedCallback
-> IO (FunPtr C_WebProcessExtensionUserMessageReceivedCallback)
mk_WebProcessExtensionUserMessageReceivedCallback C_WebProcessExtensionUserMessageReceivedCallback
wrapped'
a
-> Text
-> FunPtr C_WebProcessExtensionUserMessageReceivedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"user-message-received" FunPtr C_WebProcessExtensionUserMessageReceivedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data WebProcessExtensionUserMessageReceivedSignalInfo
instance SignalInfo WebProcessExtensionUserMessageReceivedSignalInfo where
type HaskellCallbackType WebProcessExtensionUserMessageReceivedSignalInfo = WebProcessExtensionUserMessageReceivedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_WebProcessExtensionUserMessageReceivedCallback cb
cb'' <- mk_WebProcessExtensionUserMessageReceivedCallback cb'
connectSignalFunPtr obj "user-message-received" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKitWebProcessExtension.Objects.WebProcessExtension::user-message-received"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkitwebprocessextension-6.0.2/docs/GI-WebKitWebProcessExtension-Objects-WebProcessExtension.html#g:signal:userMessageReceived"})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList WebProcessExtension
type instance O.AttributeList WebProcessExtension = WebProcessExtensionAttributeList
type WebProcessExtensionAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList WebProcessExtension = WebProcessExtensionSignalList
type WebProcessExtensionSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("pageCreated", WebProcessExtensionPageCreatedSignalInfo), '("userMessageReceived", WebProcessExtensionUserMessageReceivedSignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "webkit_web_process_extension_get_page" webkit_web_process_extension_get_page ::
Ptr WebProcessExtension ->
Word64 ->
IO (Ptr WebKitWebProcessExtension.WebPage.WebPage)
webProcessExtensionGetPage ::
(B.CallStack.HasCallStack, MonadIO m, IsWebProcessExtension a) =>
a
-> Word64
-> m WebKitWebProcessExtension.WebPage.WebPage
webProcessExtensionGetPage :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsWebProcessExtension a) =>
a -> Word64 -> m WebPage
webProcessExtensionGetPage a
extension Word64
pageId = IO WebPage -> m WebPage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO WebPage -> m WebPage) -> IO WebPage -> m WebPage
forall a b. (a -> b) -> a -> b
$ do
Ptr WebProcessExtension
extension' <- a -> IO (Ptr WebProcessExtension)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
extension
Ptr WebPage
result <- Ptr WebProcessExtension -> Word64 -> IO (Ptr WebPage)
webkit_web_process_extension_get_page Ptr WebProcessExtension
extension' Word64
pageId
Text -> Ptr WebPage -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"webProcessExtensionGetPage" Ptr WebPage
result
WebPage
result' <- ((ManagedPtr WebPage -> WebPage) -> Ptr WebPage -> IO WebPage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr WebPage -> WebPage
WebKitWebProcessExtension.WebPage.WebPage) Ptr WebPage
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
extension
WebPage -> IO WebPage
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return WebPage
result'
#if defined(ENABLE_OVERLOADING)
data WebProcessExtensionGetPageMethodInfo
instance (signature ~ (Word64 -> m WebKitWebProcessExtension.WebPage.WebPage), MonadIO m, IsWebProcessExtension a) => O.OverloadedMethod WebProcessExtensionGetPageMethodInfo a signature where
overloadedMethod = webProcessExtensionGetPage
instance O.OverloadedMethodInfo WebProcessExtensionGetPageMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKitWebProcessExtension.Objects.WebProcessExtension.webProcessExtensionGetPage",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkitwebprocessextension-6.0.2/docs/GI-WebKitWebProcessExtension-Objects-WebProcessExtension.html#v:webProcessExtensionGetPage"
})
#endif
foreign import ccall "webkit_web_process_extension_send_message_to_context" webkit_web_process_extension_send_message_to_context ::
Ptr WebProcessExtension ->
Ptr WebKitWebProcessExtension.UserMessage.UserMessage ->
Ptr Gio.Cancellable.Cancellable ->
FunPtr Gio.Callbacks.C_AsyncReadyCallback ->
Ptr () ->
IO ()
webProcessExtensionSendMessageToContext ::
(B.CallStack.HasCallStack, MonadIO m, IsWebProcessExtension a, WebKitWebProcessExtension.UserMessage.IsUserMessage b, Gio.Cancellable.IsCancellable c) =>
a
-> b
-> Maybe (c)
-> Maybe (Gio.Callbacks.AsyncReadyCallback)
-> m ()
webProcessExtensionSendMessageToContext :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsWebProcessExtension a, IsUserMessage b,
IsCancellable c) =>
a -> b -> Maybe c -> Maybe AsyncReadyCallback -> m ()
webProcessExtensionSendMessageToContext a
extension b
message Maybe c
cancellable Maybe AsyncReadyCallback
callback = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr WebProcessExtension
extension' <- a -> IO (Ptr WebProcessExtension)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
extension
Ptr UserMessage
message' <- b -> IO (Ptr UserMessage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
message
Ptr Cancellable
maybeCancellable <- case Maybe c
cancellable of
Maybe c
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
nullPtr
Just c
jCancellable -> do
Ptr Cancellable
jCancellable' <- c -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
jCancellable
Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
jCancellable'
FunPtr C_AsyncReadyCallback
maybeCallback <- case Maybe AsyncReadyCallback
callback of
Maybe AsyncReadyCallback
Nothing -> FunPtr C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Ptr Any -> FunPtr C_AsyncReadyCallback
forall a b. Ptr a -> FunPtr b
castPtrToFunPtr Ptr Any
forall a. Ptr a
nullPtr)
Just AsyncReadyCallback
jCallback -> do
Ptr (FunPtr C_AsyncReadyCallback)
ptrcallback <- IO (Ptr (FunPtr C_AsyncReadyCallback))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
FunPtr C_AsyncReadyCallback
jCallback' <- C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
Gio.Callbacks.mk_AsyncReadyCallback (Maybe (Ptr (FunPtr C_AsyncReadyCallback))
-> AsyncReadyCallback -> C_AsyncReadyCallback
Gio.Callbacks.wrap_AsyncReadyCallback (Ptr (FunPtr C_AsyncReadyCallback)
-> Maybe (Ptr (FunPtr C_AsyncReadyCallback))
forall a. a -> Maybe a
Just Ptr (FunPtr C_AsyncReadyCallback)
ptrcallback) AsyncReadyCallback
jCallback)
Ptr (FunPtr C_AsyncReadyCallback)
-> FunPtr C_AsyncReadyCallback -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke Ptr (FunPtr C_AsyncReadyCallback)
ptrcallback FunPtr C_AsyncReadyCallback
jCallback'
FunPtr C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_AsyncReadyCallback
jCallback'
let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
Ptr WebProcessExtension
-> Ptr UserMessage
-> Ptr Cancellable
-> FunPtr C_AsyncReadyCallback
-> Ptr ()
-> IO ()
webkit_web_process_extension_send_message_to_context Ptr WebProcessExtension
extension' Ptr UserMessage
message' Ptr Cancellable
maybeCancellable FunPtr C_AsyncReadyCallback
maybeCallback Ptr ()
forall a. Ptr a
userData
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
extension
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
message
Maybe c -> (c -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
cancellable c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data WebProcessExtensionSendMessageToContextMethodInfo
instance (signature ~ (b -> Maybe (c) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsWebProcessExtension a, WebKitWebProcessExtension.UserMessage.IsUserMessage b, Gio.Cancellable.IsCancellable c) => O.OverloadedMethod WebProcessExtensionSendMessageToContextMethodInfo a signature where
overloadedMethod = webProcessExtensionSendMessageToContext
instance O.OverloadedMethodInfo WebProcessExtensionSendMessageToContextMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKitWebProcessExtension.Objects.WebProcessExtension.webProcessExtensionSendMessageToContext",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkitwebprocessextension-6.0.2/docs/GI-WebKitWebProcessExtension-Objects-WebProcessExtension.html#v:webProcessExtensionSendMessageToContext"
})
#endif
foreign import ccall "webkit_web_process_extension_send_message_to_context_finish" webkit_web_process_extension_send_message_to_context_finish ::
Ptr WebProcessExtension ->
Ptr Gio.AsyncResult.AsyncResult ->
Ptr (Ptr GError) ->
IO (Ptr WebKitWebProcessExtension.UserMessage.UserMessage)
webProcessExtensionSendMessageToContextFinish ::
(B.CallStack.HasCallStack, MonadIO m, IsWebProcessExtension a, Gio.AsyncResult.IsAsyncResult b) =>
a
-> b
-> m WebKitWebProcessExtension.UserMessage.UserMessage
webProcessExtensionSendMessageToContextFinish :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsWebProcessExtension a,
IsAsyncResult b) =>
a -> b -> m UserMessage
webProcessExtensionSendMessageToContextFinish a
extension b
result_ = IO UserMessage -> m UserMessage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO UserMessage -> m UserMessage)
-> IO UserMessage -> m UserMessage
forall a b. (a -> b) -> a -> b
$ do
Ptr WebProcessExtension
extension' <- a -> IO (Ptr WebProcessExtension)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
extension
Ptr AsyncResult
result_' <- b -> IO (Ptr AsyncResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
result_
IO UserMessage -> IO () -> IO UserMessage
forall a b. IO a -> IO b -> IO a
onException (do
Ptr UserMessage
result <- (Ptr (Ptr GError) -> IO (Ptr UserMessage)) -> IO (Ptr UserMessage)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr UserMessage))
-> IO (Ptr UserMessage))
-> (Ptr (Ptr GError) -> IO (Ptr UserMessage))
-> IO (Ptr UserMessage)
forall a b. (a -> b) -> a -> b
$ Ptr WebProcessExtension
-> Ptr AsyncResult -> Ptr (Ptr GError) -> IO (Ptr UserMessage)
webkit_web_process_extension_send_message_to_context_finish Ptr WebProcessExtension
extension' Ptr AsyncResult
result_'
Text -> Ptr UserMessage -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"webProcessExtensionSendMessageToContextFinish" Ptr UserMessage
result
UserMessage
result' <- ((ManagedPtr UserMessage -> UserMessage)
-> Ptr UserMessage -> IO UserMessage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr UserMessage -> UserMessage
WebKitWebProcessExtension.UserMessage.UserMessage) Ptr UserMessage
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
extension
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
result_
UserMessage -> IO UserMessage
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return UserMessage
result'
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data WebProcessExtensionSendMessageToContextFinishMethodInfo
instance (signature ~ (b -> m WebKitWebProcessExtension.UserMessage.UserMessage), MonadIO m, IsWebProcessExtension a, Gio.AsyncResult.IsAsyncResult b) => O.OverloadedMethod WebProcessExtensionSendMessageToContextFinishMethodInfo a signature where
overloadedMethod = webProcessExtensionSendMessageToContextFinish
instance O.OverloadedMethodInfo WebProcessExtensionSendMessageToContextFinishMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKitWebProcessExtension.Objects.WebProcessExtension.webProcessExtensionSendMessageToContextFinish",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkitwebprocessextension-6.0.2/docs/GI-WebKitWebProcessExtension-Objects-WebProcessExtension.html#v:webProcessExtensionSendMessageToContextFinish"
})
#endif