{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2.Objects.PolicyDecision
(
PolicyDecision(..) ,
IsPolicyDecision ,
toPolicyDecision ,
noPolicyDecision ,
#if defined(ENABLE_OVERLOADING)
ResolvePolicyDecisionMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
PolicyDecisionDownloadMethodInfo ,
#endif
policyDecisionDownload ,
#if defined(ENABLE_OVERLOADING)
PolicyDecisionIgnoreMethodInfo ,
#endif
policyDecisionIgnore ,
#if defined(ENABLE_OVERLOADING)
PolicyDecisionUseMethodInfo ,
#endif
policyDecisionUse ,
) 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.GI.Base.Signals as B.Signals
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
newtype PolicyDecision = PolicyDecision (ManagedPtr PolicyDecision)
deriving (PolicyDecision -> PolicyDecision -> Bool
(PolicyDecision -> PolicyDecision -> Bool)
-> (PolicyDecision -> PolicyDecision -> Bool) -> Eq PolicyDecision
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PolicyDecision -> PolicyDecision -> Bool
$c/= :: PolicyDecision -> PolicyDecision -> Bool
== :: PolicyDecision -> PolicyDecision -> Bool
$c== :: PolicyDecision -> PolicyDecision -> Bool
Eq)
foreign import ccall "webkit_policy_decision_get_type"
c_webkit_policy_decision_get_type :: IO GType
instance GObject PolicyDecision where
gobjectType :: IO GType
gobjectType = IO GType
c_webkit_policy_decision_get_type
instance B.GValue.IsGValue PolicyDecision where
toGValue :: PolicyDecision -> IO GValue
toGValue o :: PolicyDecision
o = do
GType
gtype <- IO GType
c_webkit_policy_decision_get_type
PolicyDecision -> (Ptr PolicyDecision -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr PolicyDecision
o (GType
-> (GValue -> Ptr PolicyDecision -> IO ())
-> Ptr PolicyDecision
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr PolicyDecision -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO PolicyDecision
fromGValue gv :: GValue
gv = do
Ptr PolicyDecision
ptr <- GValue -> IO (Ptr PolicyDecision)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr PolicyDecision)
(ManagedPtr PolicyDecision -> PolicyDecision)
-> Ptr PolicyDecision -> IO PolicyDecision
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr PolicyDecision -> PolicyDecision
PolicyDecision Ptr PolicyDecision
ptr
class (GObject o, O.IsDescendantOf PolicyDecision o) => IsPolicyDecision o
instance (GObject o, O.IsDescendantOf PolicyDecision o) => IsPolicyDecision o
instance O.HasParentTypes PolicyDecision
type instance O.ParentTypes PolicyDecision = '[GObject.Object.Object]
toPolicyDecision :: (MonadIO m, IsPolicyDecision o) => o -> m PolicyDecision
toPolicyDecision :: o -> m PolicyDecision
toPolicyDecision = IO PolicyDecision -> m PolicyDecision
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO PolicyDecision -> m PolicyDecision)
-> (o -> IO PolicyDecision) -> o -> m PolicyDecision
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr PolicyDecision -> PolicyDecision)
-> o -> IO PolicyDecision
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr PolicyDecision -> PolicyDecision
PolicyDecision
noPolicyDecision :: Maybe PolicyDecision
noPolicyDecision :: Maybe PolicyDecision
noPolicyDecision = Maybe PolicyDecision
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolvePolicyDecisionMethod (t :: Symbol) (o :: *) :: * where
ResolvePolicyDecisionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolvePolicyDecisionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolvePolicyDecisionMethod "download" o = PolicyDecisionDownloadMethodInfo
ResolvePolicyDecisionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolvePolicyDecisionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolvePolicyDecisionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolvePolicyDecisionMethod "ignore" o = PolicyDecisionIgnoreMethodInfo
ResolvePolicyDecisionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolvePolicyDecisionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolvePolicyDecisionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolvePolicyDecisionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolvePolicyDecisionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolvePolicyDecisionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolvePolicyDecisionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolvePolicyDecisionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolvePolicyDecisionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolvePolicyDecisionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolvePolicyDecisionMethod "use" o = PolicyDecisionUseMethodInfo
ResolvePolicyDecisionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolvePolicyDecisionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolvePolicyDecisionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolvePolicyDecisionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolvePolicyDecisionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolvePolicyDecisionMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolvePolicyDecisionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolvePolicyDecisionMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePolicyDecisionMethod t PolicyDecision, O.MethodInfo info PolicyDecision p) => OL.IsLabel t (PolicyDecision -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList PolicyDecision
type instance O.AttributeList PolicyDecision = PolicyDecisionAttributeList
type PolicyDecisionAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList PolicyDecision = PolicyDecisionSignalList
type PolicyDecisionSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_policy_decision_download" webkit_policy_decision_download ::
Ptr PolicyDecision ->
IO ()
policyDecisionDownload ::
(B.CallStack.HasCallStack, MonadIO m, IsPolicyDecision a) =>
a
-> m ()
policyDecisionDownload :: a -> m ()
policyDecisionDownload decision :: a
decision = 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 PolicyDecision
decision' <- a -> IO (Ptr PolicyDecision)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
decision
Ptr PolicyDecision -> IO ()
webkit_policy_decision_download Ptr PolicyDecision
decision'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
decision
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PolicyDecisionDownloadMethodInfo
instance (signature ~ (m ()), MonadIO m, IsPolicyDecision a) => O.MethodInfo PolicyDecisionDownloadMethodInfo a signature where
overloadedMethod = policyDecisionDownload
#endif
foreign import ccall "webkit_policy_decision_ignore" webkit_policy_decision_ignore ::
Ptr PolicyDecision ->
IO ()
policyDecisionIgnore ::
(B.CallStack.HasCallStack, MonadIO m, IsPolicyDecision a) =>
a
-> m ()
policyDecisionIgnore :: a -> m ()
policyDecisionIgnore decision :: a
decision = 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 PolicyDecision
decision' <- a -> IO (Ptr PolicyDecision)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
decision
Ptr PolicyDecision -> IO ()
webkit_policy_decision_ignore Ptr PolicyDecision
decision'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
decision
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PolicyDecisionIgnoreMethodInfo
instance (signature ~ (m ()), MonadIO m, IsPolicyDecision a) => O.MethodInfo PolicyDecisionIgnoreMethodInfo a signature where
overloadedMethod = policyDecisionIgnore
#endif
foreign import ccall "webkit_policy_decision_use" webkit_policy_decision_use ::
Ptr PolicyDecision ->
IO ()
policyDecisionUse ::
(B.CallStack.HasCallStack, MonadIO m, IsPolicyDecision a) =>
a
-> m ()
policyDecisionUse :: a -> m ()
policyDecisionUse decision :: a
decision = 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 PolicyDecision
decision' <- a -> IO (Ptr PolicyDecision)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
decision
Ptr PolicyDecision -> IO ()
webkit_policy_decision_use Ptr PolicyDecision
decision'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
decision
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PolicyDecisionUseMethodInfo
instance (signature ~ (m ()), MonadIO m, IsPolicyDecision a) => O.MethodInfo PolicyDecisionUseMethodInfo a signature where
overloadedMethod = policyDecisionUse
#endif