{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2.Interfaces.PermissionRequest
(
PermissionRequest(..) ,
IsPermissionRequest ,
toPermissionRequest ,
#if defined(ENABLE_OVERLOADING)
ResolvePermissionRequestMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
PermissionRequestAllowMethodInfo ,
#endif
permissionRequestAllow ,
#if defined(ENABLE_OVERLOADING)
PermissionRequestDenyMethodInfo ,
#endif
permissionRequestDeny ,
) 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.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
newtype PermissionRequest = PermissionRequest (SP.ManagedPtr PermissionRequest)
deriving (PermissionRequest -> PermissionRequest -> Bool
(PermissionRequest -> PermissionRequest -> Bool)
-> (PermissionRequest -> PermissionRequest -> Bool)
-> Eq PermissionRequest
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PermissionRequest -> PermissionRequest -> Bool
== :: PermissionRequest -> PermissionRequest -> Bool
$c/= :: PermissionRequest -> PermissionRequest -> Bool
/= :: PermissionRequest -> PermissionRequest -> Bool
Eq)
instance SP.ManagedPtrNewtype PermissionRequest where
toManagedPtr :: PermissionRequest -> ManagedPtr PermissionRequest
toManagedPtr (PermissionRequest ManagedPtr PermissionRequest
p) = ManagedPtr PermissionRequest
p
foreign import ccall "webkit_permission_request_get_type"
c_webkit_permission_request_get_type :: IO B.Types.GType
instance B.Types.TypedObject PermissionRequest where
glibType :: IO GType
glibType = IO GType
c_webkit_permission_request_get_type
instance B.Types.GObject PermissionRequest
class (SP.GObject o, O.IsDescendantOf PermissionRequest o) => IsPermissionRequest o
instance (SP.GObject o, O.IsDescendantOf PermissionRequest o) => IsPermissionRequest o
instance O.HasParentTypes PermissionRequest
type instance O.ParentTypes PermissionRequest = '[GObject.Object.Object]
toPermissionRequest :: (MIO.MonadIO m, IsPermissionRequest o) => o -> m PermissionRequest
toPermissionRequest :: forall (m :: * -> *) o.
(MonadIO m, IsPermissionRequest o) =>
o -> m PermissionRequest
toPermissionRequest = IO PermissionRequest -> m PermissionRequest
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO PermissionRequest -> m PermissionRequest)
-> (o -> IO PermissionRequest) -> o -> m PermissionRequest
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr PermissionRequest -> PermissionRequest)
-> o -> IO PermissionRequest
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr PermissionRequest -> PermissionRequest
PermissionRequest
instance B.GValue.IsGValue (Maybe PermissionRequest) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_permission_request_get_type
gvalueSet_ :: Ptr GValue -> Maybe PermissionRequest -> IO ()
gvalueSet_ Ptr GValue
gv Maybe PermissionRequest
P.Nothing = Ptr GValue -> Ptr PermissionRequest -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr PermissionRequest
forall a. Ptr a
FP.nullPtr :: FP.Ptr PermissionRequest)
gvalueSet_ Ptr GValue
gv (P.Just PermissionRequest
obj) = PermissionRequest -> (Ptr PermissionRequest -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr PermissionRequest
obj (Ptr GValue -> Ptr PermissionRequest -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe PermissionRequest)
gvalueGet_ Ptr GValue
gv = do
Ptr PermissionRequest
ptr <- Ptr GValue -> IO (Ptr PermissionRequest)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr PermissionRequest)
if Ptr PermissionRequest
ptr Ptr PermissionRequest -> Ptr PermissionRequest -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr PermissionRequest
forall a. Ptr a
FP.nullPtr
then PermissionRequest -> Maybe PermissionRequest
forall a. a -> Maybe a
P.Just (PermissionRequest -> Maybe PermissionRequest)
-> IO PermissionRequest -> IO (Maybe PermissionRequest)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr PermissionRequest -> PermissionRequest)
-> Ptr PermissionRequest -> IO PermissionRequest
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr PermissionRequest -> PermissionRequest
PermissionRequest Ptr PermissionRequest
ptr
else Maybe PermissionRequest -> IO (Maybe PermissionRequest)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe PermissionRequest
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList PermissionRequest
type instance O.AttributeList PermissionRequest = PermissionRequestAttributeList
type PermissionRequestAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolvePermissionRequestMethod (t :: Symbol) (o :: *) :: * where
ResolvePermissionRequestMethod "allow" o = PermissionRequestAllowMethodInfo
ResolvePermissionRequestMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolvePermissionRequestMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolvePermissionRequestMethod "deny" o = PermissionRequestDenyMethodInfo
ResolvePermissionRequestMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolvePermissionRequestMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolvePermissionRequestMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolvePermissionRequestMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolvePermissionRequestMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolvePermissionRequestMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolvePermissionRequestMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolvePermissionRequestMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolvePermissionRequestMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolvePermissionRequestMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolvePermissionRequestMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolvePermissionRequestMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolvePermissionRequestMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolvePermissionRequestMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolvePermissionRequestMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolvePermissionRequestMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolvePermissionRequestMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolvePermissionRequestMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolvePermissionRequestMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolvePermissionRequestMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolvePermissionRequestMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePermissionRequestMethod t PermissionRequest, O.OverloadedMethod info PermissionRequest p) => OL.IsLabel t (PermissionRequest -> 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 ~ ResolvePermissionRequestMethod t PermissionRequest, O.OverloadedMethod info PermissionRequest p, R.HasField t PermissionRequest p) => R.HasField t PermissionRequest p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolvePermissionRequestMethod t PermissionRequest, O.OverloadedMethodInfo info PermissionRequest) => OL.IsLabel t (O.MethodProxy info PermissionRequest) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
foreign import ccall "webkit_permission_request_allow" webkit_permission_request_allow ::
Ptr PermissionRequest ->
IO ()
permissionRequestAllow ::
(B.CallStack.HasCallStack, MonadIO m, IsPermissionRequest a) =>
a
-> m ()
permissionRequestAllow :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPermissionRequest a) =>
a -> m ()
permissionRequestAllow a
request = 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 PermissionRequest
request' <- a -> IO (Ptr PermissionRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
Ptr PermissionRequest -> IO ()
webkit_permission_request_allow Ptr PermissionRequest
request'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PermissionRequestAllowMethodInfo
instance (signature ~ (m ()), MonadIO m, IsPermissionRequest a) => O.OverloadedMethod PermissionRequestAllowMethodInfo a signature where
overloadedMethod = permissionRequestAllow
instance O.OverloadedMethodInfo PermissionRequestAllowMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2.Interfaces.PermissionRequest.permissionRequestAllow",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.29/docs/GI-WebKit2-Interfaces-PermissionRequest.html#v:permissionRequestAllow"
})
#endif
foreign import ccall "webkit_permission_request_deny" webkit_permission_request_deny ::
Ptr PermissionRequest ->
IO ()
permissionRequestDeny ::
(B.CallStack.HasCallStack, MonadIO m, IsPermissionRequest a) =>
a
-> m ()
permissionRequestDeny :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPermissionRequest a) =>
a -> m ()
permissionRequestDeny a
request = 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 PermissionRequest
request' <- a -> IO (Ptr PermissionRequest)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
request
Ptr PermissionRequest -> IO ()
webkit_permission_request_deny Ptr PermissionRequest
request'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
request
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PermissionRequestDenyMethodInfo
instance (signature ~ (m ()), MonadIO m, IsPermissionRequest a) => O.OverloadedMethod PermissionRequestDenyMethodInfo a signature where
overloadedMethod = permissionRequestDeny
instance O.OverloadedMethodInfo PermissionRequestDenyMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2.Interfaces.PermissionRequest.permissionRequestDeny",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.29/docs/GI-WebKit2-Interfaces-PermissionRequest.html#v:permissionRequestDeny"
})
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList PermissionRequest = PermissionRequestSignalList
type PermissionRequestSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif