{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2.Objects.WebsitePolicies
(
WebsitePolicies(..) ,
IsWebsitePolicies ,
toWebsitePolicies ,
#if defined(ENABLE_OVERLOADING)
ResolveWebsitePoliciesMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
WebsitePoliciesGetAutoplayPolicyMethodInfo,
#endif
websitePoliciesGetAutoplayPolicy ,
websitePoliciesNew ,
#if defined(ENABLE_OVERLOADING)
WebsitePoliciesAutoplayPropertyInfo ,
#endif
constructWebsitePoliciesAutoplay ,
getWebsitePoliciesAutoplay ,
#if defined(ENABLE_OVERLOADING)
websitePoliciesAutoplay ,
#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.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 {-# SOURCE #-} qualified GI.WebKit2.Enums as WebKit2.Enums
newtype WebsitePolicies = WebsitePolicies (SP.ManagedPtr WebsitePolicies)
deriving (WebsitePolicies -> WebsitePolicies -> Bool
(WebsitePolicies -> WebsitePolicies -> Bool)
-> (WebsitePolicies -> WebsitePolicies -> Bool)
-> Eq WebsitePolicies
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WebsitePolicies -> WebsitePolicies -> Bool
$c/= :: WebsitePolicies -> WebsitePolicies -> Bool
== :: WebsitePolicies -> WebsitePolicies -> Bool
$c== :: WebsitePolicies -> WebsitePolicies -> Bool
Eq)
instance SP.ManagedPtrNewtype WebsitePolicies where
toManagedPtr :: WebsitePolicies -> ManagedPtr WebsitePolicies
toManagedPtr (WebsitePolicies ManagedPtr WebsitePolicies
p) = ManagedPtr WebsitePolicies
p
foreign import ccall "webkit_website_policies_get_type"
c_webkit_website_policies_get_type :: IO B.Types.GType
instance B.Types.TypedObject WebsitePolicies where
glibType :: IO GType
glibType = IO GType
c_webkit_website_policies_get_type
instance B.Types.GObject WebsitePolicies
class (SP.GObject o, O.IsDescendantOf WebsitePolicies o) => IsWebsitePolicies o
instance (SP.GObject o, O.IsDescendantOf WebsitePolicies o) => IsWebsitePolicies o
instance O.HasParentTypes WebsitePolicies
type instance O.ParentTypes WebsitePolicies = '[GObject.Object.Object]
toWebsitePolicies :: (MIO.MonadIO m, IsWebsitePolicies o) => o -> m WebsitePolicies
toWebsitePolicies :: forall (m :: * -> *) o.
(MonadIO m, IsWebsitePolicies o) =>
o -> m WebsitePolicies
toWebsitePolicies = IO WebsitePolicies -> m WebsitePolicies
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO WebsitePolicies -> m WebsitePolicies)
-> (o -> IO WebsitePolicies) -> o -> m WebsitePolicies
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr WebsitePolicies -> WebsitePolicies)
-> o -> IO WebsitePolicies
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr WebsitePolicies -> WebsitePolicies
WebsitePolicies
instance B.GValue.IsGValue (Maybe WebsitePolicies) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_website_policies_get_type
gvalueSet_ :: Ptr GValue -> Maybe WebsitePolicies -> IO ()
gvalueSet_ Ptr GValue
gv Maybe WebsitePolicies
P.Nothing = Ptr GValue -> Ptr WebsitePolicies -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr WebsitePolicies
forall a. Ptr a
FP.nullPtr :: FP.Ptr WebsitePolicies)
gvalueSet_ Ptr GValue
gv (P.Just WebsitePolicies
obj) = WebsitePolicies -> (Ptr WebsitePolicies -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr WebsitePolicies
obj (Ptr GValue -> Ptr WebsitePolicies -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe WebsitePolicies)
gvalueGet_ Ptr GValue
gv = do
Ptr WebsitePolicies
ptr <- Ptr GValue -> IO (Ptr WebsitePolicies)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr WebsitePolicies)
if Ptr WebsitePolicies
ptr Ptr WebsitePolicies -> Ptr WebsitePolicies -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr WebsitePolicies
forall a. Ptr a
FP.nullPtr
then WebsitePolicies -> Maybe WebsitePolicies
forall a. a -> Maybe a
P.Just (WebsitePolicies -> Maybe WebsitePolicies)
-> IO WebsitePolicies -> IO (Maybe WebsitePolicies)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr WebsitePolicies -> WebsitePolicies)
-> Ptr WebsitePolicies -> IO WebsitePolicies
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr WebsitePolicies -> WebsitePolicies
WebsitePolicies Ptr WebsitePolicies
ptr
else Maybe WebsitePolicies -> IO (Maybe WebsitePolicies)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe WebsitePolicies
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveWebsitePoliciesMethod (t :: Symbol) (o :: *) :: * where
ResolveWebsitePoliciesMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveWebsitePoliciesMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveWebsitePoliciesMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveWebsitePoliciesMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveWebsitePoliciesMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveWebsitePoliciesMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveWebsitePoliciesMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveWebsitePoliciesMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveWebsitePoliciesMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveWebsitePoliciesMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveWebsitePoliciesMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveWebsitePoliciesMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveWebsitePoliciesMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveWebsitePoliciesMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveWebsitePoliciesMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveWebsitePoliciesMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveWebsitePoliciesMethod "getAutoplayPolicy" o = WebsitePoliciesGetAutoplayPolicyMethodInfo
ResolveWebsitePoliciesMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveWebsitePoliciesMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveWebsitePoliciesMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveWebsitePoliciesMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveWebsitePoliciesMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveWebsitePoliciesMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveWebsitePoliciesMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveWebsitePoliciesMethod t WebsitePolicies, O.OverloadedMethod info WebsitePolicies p) => OL.IsLabel t (WebsitePolicies -> 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 ~ ResolveWebsitePoliciesMethod t WebsitePolicies, O.OverloadedMethod info WebsitePolicies p, R.HasField t WebsitePolicies p) => R.HasField t WebsitePolicies p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveWebsitePoliciesMethod t WebsitePolicies, O.OverloadedMethodInfo info WebsitePolicies) => OL.IsLabel t (O.MethodProxy info WebsitePolicies) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getWebsitePoliciesAutoplay :: (MonadIO m, IsWebsitePolicies o) => o -> m WebKit2.Enums.AutoplayPolicy
getWebsitePoliciesAutoplay :: forall (m :: * -> *) o.
(MonadIO m, IsWebsitePolicies o) =>
o -> m AutoplayPolicy
getWebsitePoliciesAutoplay o
obj = IO AutoplayPolicy -> m AutoplayPolicy
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO AutoplayPolicy -> m AutoplayPolicy)
-> IO AutoplayPolicy -> m AutoplayPolicy
forall a b. (a -> b) -> a -> b
$ o -> String -> IO AutoplayPolicy
forall a b. (GObject a, Enum b, BoxedEnum b) => a -> String -> IO b
B.Properties.getObjectPropertyEnum o
obj String
"autoplay"
constructWebsitePoliciesAutoplay :: (IsWebsitePolicies o, MIO.MonadIO m) => WebKit2.Enums.AutoplayPolicy -> m (GValueConstruct o)
constructWebsitePoliciesAutoplay :: forall o (m :: * -> *).
(IsWebsitePolicies o, MonadIO m) =>
AutoplayPolicy -> m (GValueConstruct o)
constructWebsitePoliciesAutoplay AutoplayPolicy
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> AutoplayPolicy -> IO (GValueConstruct o)
forall a o.
(Enum a, BoxedEnum a) =>
String -> a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyEnum String
"autoplay" AutoplayPolicy
val
#if defined(ENABLE_OVERLOADING)
data WebsitePoliciesAutoplayPropertyInfo
instance AttrInfo WebsitePoliciesAutoplayPropertyInfo where
type AttrAllowedOps WebsitePoliciesAutoplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint WebsitePoliciesAutoplayPropertyInfo = IsWebsitePolicies
type AttrSetTypeConstraint WebsitePoliciesAutoplayPropertyInfo = (~) WebKit2.Enums.AutoplayPolicy
type AttrTransferTypeConstraint WebsitePoliciesAutoplayPropertyInfo = (~) WebKit2.Enums.AutoplayPolicy
type AttrTransferType WebsitePoliciesAutoplayPropertyInfo = WebKit2.Enums.AutoplayPolicy
type AttrGetType WebsitePoliciesAutoplayPropertyInfo = WebKit2.Enums.AutoplayPolicy
type AttrLabel WebsitePoliciesAutoplayPropertyInfo = "autoplay"
type AttrOrigin WebsitePoliciesAutoplayPropertyInfo = WebsitePolicies
attrGet = getWebsitePoliciesAutoplay
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructWebsitePoliciesAutoplay
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList WebsitePolicies
type instance O.AttributeList WebsitePolicies = WebsitePoliciesAttributeList
type WebsitePoliciesAttributeList = ('[ '("autoplay", WebsitePoliciesAutoplayPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
websitePoliciesAutoplay :: AttrLabelProxy "autoplay"
websitePoliciesAutoplay = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList WebsitePolicies = WebsitePoliciesSignalList
type WebsitePoliciesSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_website_policies_new" webkit_website_policies_new ::
IO (Ptr WebsitePolicies)
websitePoliciesNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m WebsitePolicies
websitePoliciesNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m WebsitePolicies
websitePoliciesNew = IO WebsitePolicies -> m WebsitePolicies
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO WebsitePolicies -> m WebsitePolicies)
-> IO WebsitePolicies -> m WebsitePolicies
forall a b. (a -> b) -> a -> b
$ do
Ptr WebsitePolicies
result <- IO (Ptr WebsitePolicies)
webkit_website_policies_new
Text -> Ptr WebsitePolicies -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"websitePoliciesNew" Ptr WebsitePolicies
result
WebsitePolicies
result' <- ((ManagedPtr WebsitePolicies -> WebsitePolicies)
-> Ptr WebsitePolicies -> IO WebsitePolicies
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr WebsitePolicies -> WebsitePolicies
WebsitePolicies) Ptr WebsitePolicies
result
WebsitePolicies -> IO WebsitePolicies
forall (m :: * -> *) a. Monad m => a -> m a
return WebsitePolicies
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "webkit_website_policies_get_autoplay_policy" webkit_website_policies_get_autoplay_policy ::
Ptr WebsitePolicies ->
IO CUInt
websitePoliciesGetAutoplayPolicy ::
(B.CallStack.HasCallStack, MonadIO m, IsWebsitePolicies a) =>
a
-> m WebKit2.Enums.AutoplayPolicy
websitePoliciesGetAutoplayPolicy :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsWebsitePolicies a) =>
a -> m AutoplayPolicy
websitePoliciesGetAutoplayPolicy a
policies = IO AutoplayPolicy -> m AutoplayPolicy
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AutoplayPolicy -> m AutoplayPolicy)
-> IO AutoplayPolicy -> m AutoplayPolicy
forall a b. (a -> b) -> a -> b
$ do
Ptr WebsitePolicies
policies' <- a -> IO (Ptr WebsitePolicies)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
policies
CUInt
result <- Ptr WebsitePolicies -> IO CUInt
webkit_website_policies_get_autoplay_policy Ptr WebsitePolicies
policies'
let result' :: AutoplayPolicy
result' = (Int -> AutoplayPolicy
forall a. Enum a => Int -> a
toEnum (Int -> AutoplayPolicy)
-> (CUInt -> Int) -> CUInt -> AutoplayPolicy
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
policies
AutoplayPolicy -> IO AutoplayPolicy
forall (m :: * -> *) a. Monad m => a -> m a
return AutoplayPolicy
result'
#if defined(ENABLE_OVERLOADING)
data WebsitePoliciesGetAutoplayPolicyMethodInfo
instance (signature ~ (m WebKit2.Enums.AutoplayPolicy), MonadIO m, IsWebsitePolicies a) => O.OverloadedMethod WebsitePoliciesGetAutoplayPolicyMethodInfo a signature where
overloadedMethod = websitePoliciesGetAutoplayPolicy
instance O.OverloadedMethodInfo WebsitePoliciesGetAutoplayPolicyMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.WebKit2.Objects.WebsitePolicies.websitePoliciesGetAutoplayPolicy",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.27/docs/GI-WebKit2-Objects-WebsitePolicies.html#v:websitePoliciesGetAutoplayPolicy"
}
#endif