{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2.Structs.WebViewSessionState
(
WebViewSessionState(..) ,
#if defined(ENABLE_OVERLOADING)
ResolveWebViewSessionStateMethod ,
#endif
webViewSessionStateNew ,
#if defined(ENABLE_OVERLOADING)
WebViewSessionStateRefMethodInfo ,
#endif
webViewSessionStateRef ,
#if defined(ENABLE_OVERLOADING)
WebViewSessionStateSerializeMethodInfo ,
#endif
webViewSessionStateSerialize ,
#if defined(ENABLE_OVERLOADING)
WebViewSessionStateUnrefMethodInfo ,
#endif
webViewSessionStateUnref ,
) 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.GLib.Structs.Bytes as GLib.Bytes
newtype WebViewSessionState = WebViewSessionState (SP.ManagedPtr WebViewSessionState)
deriving (WebViewSessionState -> WebViewSessionState -> Bool
(WebViewSessionState -> WebViewSessionState -> Bool)
-> (WebViewSessionState -> WebViewSessionState -> Bool)
-> Eq WebViewSessionState
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WebViewSessionState -> WebViewSessionState -> Bool
$c/= :: WebViewSessionState -> WebViewSessionState -> Bool
== :: WebViewSessionState -> WebViewSessionState -> Bool
$c== :: WebViewSessionState -> WebViewSessionState -> Bool
Eq)
instance SP.ManagedPtrNewtype WebViewSessionState where
toManagedPtr :: WebViewSessionState -> ManagedPtr WebViewSessionState
toManagedPtr (WebViewSessionState ManagedPtr WebViewSessionState
p) = ManagedPtr WebViewSessionState
p
foreign import ccall "webkit_web_view_session_state_get_type" c_webkit_web_view_session_state_get_type ::
IO GType
type instance O.ParentTypes WebViewSessionState = '[]
instance O.HasParentTypes WebViewSessionState
instance B.Types.TypedObject WebViewSessionState where
glibType :: IO GType
glibType = IO GType
c_webkit_web_view_session_state_get_type
instance B.Types.GBoxed WebViewSessionState
instance B.GValue.IsGValue (Maybe WebViewSessionState) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_web_view_session_state_get_type
gvalueSet_ :: Ptr GValue -> Maybe WebViewSessionState -> IO ()
gvalueSet_ Ptr GValue
gv Maybe WebViewSessionState
P.Nothing = Ptr GValue -> Ptr WebViewSessionState -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr WebViewSessionState
forall a. Ptr a
FP.nullPtr :: FP.Ptr WebViewSessionState)
gvalueSet_ Ptr GValue
gv (P.Just WebViewSessionState
obj) = WebViewSessionState -> (Ptr WebViewSessionState -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr WebViewSessionState
obj (Ptr GValue -> Ptr WebViewSessionState -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe WebViewSessionState)
gvalueGet_ Ptr GValue
gv = do
Ptr WebViewSessionState
ptr <- Ptr GValue -> IO (Ptr WebViewSessionState)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr WebViewSessionState)
if Ptr WebViewSessionState
ptr Ptr WebViewSessionState -> Ptr WebViewSessionState -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr WebViewSessionState
forall a. Ptr a
FP.nullPtr
then WebViewSessionState -> Maybe WebViewSessionState
forall a. a -> Maybe a
P.Just (WebViewSessionState -> Maybe WebViewSessionState)
-> IO WebViewSessionState -> IO (Maybe WebViewSessionState)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr WebViewSessionState -> WebViewSessionState)
-> Ptr WebViewSessionState -> IO WebViewSessionState
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr WebViewSessionState -> WebViewSessionState
WebViewSessionState Ptr WebViewSessionState
ptr
else Maybe WebViewSessionState -> IO (Maybe WebViewSessionState)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe WebViewSessionState
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList WebViewSessionState
type instance O.AttributeList WebViewSessionState = WebViewSessionStateAttributeList
type WebViewSessionStateAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_web_view_session_state_new" webkit_web_view_session_state_new ::
Ptr GLib.Bytes.Bytes ->
IO (Ptr WebViewSessionState)
webViewSessionStateNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
GLib.Bytes.Bytes
-> m WebViewSessionState
webViewSessionStateNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Bytes -> m WebViewSessionState
webViewSessionStateNew Bytes
data_ = IO WebViewSessionState -> m WebViewSessionState
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO WebViewSessionState -> m WebViewSessionState)
-> IO WebViewSessionState -> m WebViewSessionState
forall a b. (a -> b) -> a -> b
$ do
Ptr Bytes
data_' <- Bytes -> IO (Ptr Bytes)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Bytes
data_
Ptr WebViewSessionState
result <- Ptr Bytes -> IO (Ptr WebViewSessionState)
webkit_web_view_session_state_new Ptr Bytes
data_'
Text -> Ptr WebViewSessionState -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"webViewSessionStateNew" Ptr WebViewSessionState
result
WebViewSessionState
result' <- ((ManagedPtr WebViewSessionState -> WebViewSessionState)
-> Ptr WebViewSessionState -> IO WebViewSessionState
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr WebViewSessionState -> WebViewSessionState
WebViewSessionState) Ptr WebViewSessionState
result
Bytes -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Bytes
data_
WebViewSessionState -> IO WebViewSessionState
forall (m :: * -> *) a. Monad m => a -> m a
return WebViewSessionState
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "webkit_web_view_session_state_ref" webkit_web_view_session_state_ref ::
Ptr WebViewSessionState ->
IO (Ptr WebViewSessionState)
webViewSessionStateRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
WebViewSessionState
-> m WebViewSessionState
webViewSessionStateRef :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
WebViewSessionState -> m WebViewSessionState
webViewSessionStateRef WebViewSessionState
state = IO WebViewSessionState -> m WebViewSessionState
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO WebViewSessionState -> m WebViewSessionState)
-> IO WebViewSessionState -> m WebViewSessionState
forall a b. (a -> b) -> a -> b
$ do
Ptr WebViewSessionState
state' <- WebViewSessionState -> IO (Ptr WebViewSessionState)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr WebViewSessionState
state
Ptr WebViewSessionState
result <- Ptr WebViewSessionState -> IO (Ptr WebViewSessionState)
webkit_web_view_session_state_ref Ptr WebViewSessionState
state'
Text -> Ptr WebViewSessionState -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"webViewSessionStateRef" Ptr WebViewSessionState
result
WebViewSessionState
result' <- ((ManagedPtr WebViewSessionState -> WebViewSessionState)
-> Ptr WebViewSessionState -> IO WebViewSessionState
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr WebViewSessionState -> WebViewSessionState
WebViewSessionState) Ptr WebViewSessionState
result
WebViewSessionState -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr WebViewSessionState
state
WebViewSessionState -> IO WebViewSessionState
forall (m :: * -> *) a. Monad m => a -> m a
return WebViewSessionState
result'
#if defined(ENABLE_OVERLOADING)
data WebViewSessionStateRefMethodInfo
instance (signature ~ (m WebViewSessionState), MonadIO m) => O.OverloadedMethod WebViewSessionStateRefMethodInfo WebViewSessionState signature where
overloadedMethod = webViewSessionStateRef
instance O.OverloadedMethodInfo WebViewSessionStateRefMethodInfo WebViewSessionState where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Structs.WebViewSessionState.webViewSessionStateRef",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Structs-WebViewSessionState.html#v:webViewSessionStateRef"
}
#endif
foreign import ccall "webkit_web_view_session_state_serialize" webkit_web_view_session_state_serialize ::
Ptr WebViewSessionState ->
IO (Ptr GLib.Bytes.Bytes)
webViewSessionStateSerialize ::
(B.CallStack.HasCallStack, MonadIO m) =>
WebViewSessionState
-> m GLib.Bytes.Bytes
webViewSessionStateSerialize :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
WebViewSessionState -> m Bytes
webViewSessionStateSerialize WebViewSessionState
state = IO Bytes -> m Bytes
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
Ptr WebViewSessionState
state' <- WebViewSessionState -> IO (Ptr WebViewSessionState)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr WebViewSessionState
state
Ptr Bytes
result <- Ptr WebViewSessionState -> IO (Ptr Bytes)
webkit_web_view_session_state_serialize Ptr WebViewSessionState
state'
Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"webViewSessionStateSerialize" Ptr Bytes
result
Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
WebViewSessionState -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr WebViewSessionState
state
Bytes -> IO Bytes
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'
#if defined(ENABLE_OVERLOADING)
data WebViewSessionStateSerializeMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m) => O.OverloadedMethod WebViewSessionStateSerializeMethodInfo WebViewSessionState signature where
overloadedMethod = webViewSessionStateSerialize
instance O.OverloadedMethodInfo WebViewSessionStateSerializeMethodInfo WebViewSessionState where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Structs.WebViewSessionState.webViewSessionStateSerialize",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Structs-WebViewSessionState.html#v:webViewSessionStateSerialize"
}
#endif
foreign import ccall "webkit_web_view_session_state_unref" webkit_web_view_session_state_unref ::
Ptr WebViewSessionState ->
IO ()
webViewSessionStateUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
WebViewSessionState
-> m ()
webViewSessionStateUnref :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
WebViewSessionState -> m ()
webViewSessionStateUnref WebViewSessionState
state = 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 WebViewSessionState
state' <- WebViewSessionState -> IO (Ptr WebViewSessionState)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr WebViewSessionState
state
Ptr WebViewSessionState -> IO ()
webkit_web_view_session_state_unref Ptr WebViewSessionState
state'
WebViewSessionState -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr WebViewSessionState
state
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data WebViewSessionStateUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod WebViewSessionStateUnrefMethodInfo WebViewSessionState signature where
overloadedMethod = webViewSessionStateUnref
instance O.OverloadedMethodInfo WebViewSessionStateUnrefMethodInfo WebViewSessionState where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Structs.WebViewSessionState.webViewSessionStateUnref",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Structs-WebViewSessionState.html#v:webViewSessionStateUnref"
}
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveWebViewSessionStateMethod (t :: Symbol) (o :: *) :: * where
ResolveWebViewSessionStateMethod "ref" o = WebViewSessionStateRefMethodInfo
ResolveWebViewSessionStateMethod "serialize" o = WebViewSessionStateSerializeMethodInfo
ResolveWebViewSessionStateMethod "unref" o = WebViewSessionStateUnrefMethodInfo
ResolveWebViewSessionStateMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveWebViewSessionStateMethod t WebViewSessionState, O.OverloadedMethod info WebViewSessionState p) => OL.IsLabel t (WebViewSessionState -> 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 ~ ResolveWebViewSessionStateMethod t WebViewSessionState, O.OverloadedMethod info WebViewSessionState p, R.HasField t WebViewSessionState p) => R.HasField t WebViewSessionState p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveWebViewSessionStateMethod t WebViewSessionState, O.OverloadedMethodInfo info WebViewSessionState) => OL.IsLabel t (O.MethodProxy info WebViewSessionState) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif