{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)

/No description available in the introspection data./
-}

#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
       && !defined(__HADDOCK_VERSION__))

module GI.WebKit2.Objects.SecurityManager
    (

-- * Exported types
    SecurityManager(..)                     ,
    IsSecurityManager                       ,
    toSecurityManager                       ,
    noSecurityManager                       ,


 -- * Methods
-- ** registerUriSchemeAsCorsEnabled #method:registerUriSchemeAsCorsEnabled#

#if ENABLE_OVERLOADING
    SecurityManagerRegisterUriSchemeAsCorsEnabledMethodInfo,
#endif
    securityManagerRegisterUriSchemeAsCorsEnabled,


-- ** registerUriSchemeAsDisplayIsolated #method:registerUriSchemeAsDisplayIsolated#

#if ENABLE_OVERLOADING
    SecurityManagerRegisterUriSchemeAsDisplayIsolatedMethodInfo,
#endif
    securityManagerRegisterUriSchemeAsDisplayIsolated,


-- ** registerUriSchemeAsEmptyDocument #method:registerUriSchemeAsEmptyDocument#

#if ENABLE_OVERLOADING
    SecurityManagerRegisterUriSchemeAsEmptyDocumentMethodInfo,
#endif
    securityManagerRegisterUriSchemeAsEmptyDocument,


-- ** registerUriSchemeAsLocal #method:registerUriSchemeAsLocal#

#if ENABLE_OVERLOADING
    SecurityManagerRegisterUriSchemeAsLocalMethodInfo,
#endif
    securityManagerRegisterUriSchemeAsLocal ,


-- ** registerUriSchemeAsNoAccess #method:registerUriSchemeAsNoAccess#

#if ENABLE_OVERLOADING
    SecurityManagerRegisterUriSchemeAsNoAccessMethodInfo,
#endif
    securityManagerRegisterUriSchemeAsNoAccess,


-- ** registerUriSchemeAsSecure #method:registerUriSchemeAsSecure#

#if ENABLE_OVERLOADING
    SecurityManagerRegisterUriSchemeAsSecureMethodInfo,
#endif
    securityManagerRegisterUriSchemeAsSecure,


-- ** uriSchemeIsCorsEnabled #method:uriSchemeIsCorsEnabled#

#if ENABLE_OVERLOADING
    SecurityManagerUriSchemeIsCorsEnabledMethodInfo,
#endif
    securityManagerUriSchemeIsCorsEnabled   ,


-- ** uriSchemeIsDisplayIsolated #method:uriSchemeIsDisplayIsolated#

#if ENABLE_OVERLOADING
    SecurityManagerUriSchemeIsDisplayIsolatedMethodInfo,
#endif
    securityManagerUriSchemeIsDisplayIsolated,


-- ** uriSchemeIsEmptyDocument #method:uriSchemeIsEmptyDocument#

#if ENABLE_OVERLOADING
    SecurityManagerUriSchemeIsEmptyDocumentMethodInfo,
#endif
    securityManagerUriSchemeIsEmptyDocument ,


-- ** uriSchemeIsLocal #method:uriSchemeIsLocal#

#if ENABLE_OVERLOADING
    SecurityManagerUriSchemeIsLocalMethodInfo,
#endif
    securityManagerUriSchemeIsLocal         ,


-- ** uriSchemeIsNoAccess #method:uriSchemeIsNoAccess#

#if ENABLE_OVERLOADING
    SecurityManagerUriSchemeIsNoAccessMethodInfo,
#endif
    securityManagerUriSchemeIsNoAccess      ,


-- ** uriSchemeIsSecure #method:uriSchemeIsSecure#

#if ENABLE_OVERLOADING
    SecurityManagerUriSchemeIsSecureMethodInfo,
#endif
    securityManagerUriSchemeIsSecure        ,




    ) 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.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

-- | Memory-managed wrapper type.
newtype SecurityManager = SecurityManager (ManagedPtr SecurityManager)
foreign import ccall "webkit_security_manager_get_type"
    c_webkit_security_manager_get_type :: IO GType

instance GObject SecurityManager where
    gobjectType = c_webkit_security_manager_get_type


-- | Type class for types which can be safely cast to `SecurityManager`, for instance with `toSecurityManager`.
class (GObject o, O.IsDescendantOf SecurityManager o) => IsSecurityManager o
instance (GObject o, O.IsDescendantOf SecurityManager o) => IsSecurityManager o

instance O.HasParentTypes SecurityManager
type instance O.ParentTypes SecurityManager = '[GObject.Object.Object]

-- | Cast to `SecurityManager`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toSecurityManager :: (MonadIO m, IsSecurityManager o) => o -> m SecurityManager
toSecurityManager = liftIO . unsafeCastTo SecurityManager

-- | A convenience alias for `Nothing` :: `Maybe` `SecurityManager`.
noSecurityManager :: Maybe SecurityManager
noSecurityManager = Nothing

#if ENABLE_OVERLOADING
type family ResolveSecurityManagerMethod (t :: Symbol) (o :: *) :: * where
    ResolveSecurityManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveSecurityManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveSecurityManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveSecurityManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveSecurityManagerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveSecurityManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveSecurityManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveSecurityManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveSecurityManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveSecurityManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveSecurityManagerMethod "registerUriSchemeAsCorsEnabled" o = SecurityManagerRegisterUriSchemeAsCorsEnabledMethodInfo
    ResolveSecurityManagerMethod "registerUriSchemeAsDisplayIsolated" o = SecurityManagerRegisterUriSchemeAsDisplayIsolatedMethodInfo
    ResolveSecurityManagerMethod "registerUriSchemeAsEmptyDocument" o = SecurityManagerRegisterUriSchemeAsEmptyDocumentMethodInfo
    ResolveSecurityManagerMethod "registerUriSchemeAsLocal" o = SecurityManagerRegisterUriSchemeAsLocalMethodInfo
    ResolveSecurityManagerMethod "registerUriSchemeAsNoAccess" o = SecurityManagerRegisterUriSchemeAsNoAccessMethodInfo
    ResolveSecurityManagerMethod "registerUriSchemeAsSecure" o = SecurityManagerRegisterUriSchemeAsSecureMethodInfo
    ResolveSecurityManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveSecurityManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveSecurityManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveSecurityManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveSecurityManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveSecurityManagerMethod "uriSchemeIsCorsEnabled" o = SecurityManagerUriSchemeIsCorsEnabledMethodInfo
    ResolveSecurityManagerMethod "uriSchemeIsDisplayIsolated" o = SecurityManagerUriSchemeIsDisplayIsolatedMethodInfo
    ResolveSecurityManagerMethod "uriSchemeIsEmptyDocument" o = SecurityManagerUriSchemeIsEmptyDocumentMethodInfo
    ResolveSecurityManagerMethod "uriSchemeIsLocal" o = SecurityManagerUriSchemeIsLocalMethodInfo
    ResolveSecurityManagerMethod "uriSchemeIsNoAccess" o = SecurityManagerUriSchemeIsNoAccessMethodInfo
    ResolveSecurityManagerMethod "uriSchemeIsSecure" o = SecurityManagerUriSchemeIsSecureMethodInfo
    ResolveSecurityManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveSecurityManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveSecurityManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveSecurityManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveSecurityManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveSecurityManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveSecurityManagerMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveSecurityManagerMethod t SecurityManager, O.MethodInfo info SecurityManager p) => OL.IsLabel t (SecurityManager -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

#endif

#if ENABLE_OVERLOADING
instance O.HasAttributeList SecurityManager
type instance O.AttributeList SecurityManager = SecurityManagerAttributeList
type SecurityManagerAttributeList = ('[ ] :: [(Symbol, *)])
#endif

#if ENABLE_OVERLOADING
#endif

#if ENABLE_OVERLOADING
type instance O.SignalList SecurityManager = SecurityManagerSignalList
type SecurityManagerSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

#endif

-- method SecurityManager::register_uri_scheme_as_cors_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_register_uri_scheme_as_cors_enabled" webkit_security_manager_register_uri_scheme_as_cors_enabled ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()

{- |
Register /@scheme@/ as a CORS (Cross-origin resource sharing) enabled scheme.
This means that CORS requests are allowed. See W3C CORS specification
http:\/\/www.w3.org\/TR\/cors\/.
-}
securityManagerRegisterUriSchemeAsCorsEnabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m ()
securityManagerRegisterUriSchemeAsCorsEnabled securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_cors_enabled securityManager' scheme'
    touchManagedPtr securityManager
    freeMem scheme'
    return ()

#if ENABLE_OVERLOADING
data SecurityManagerRegisterUriSchemeAsCorsEnabledMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerRegisterUriSchemeAsCorsEnabledMethodInfo a signature where
    overloadedMethod _ = securityManagerRegisterUriSchemeAsCorsEnabled

#endif

-- method SecurityManager::register_uri_scheme_as_display_isolated
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_register_uri_scheme_as_display_isolated" webkit_security_manager_register_uri_scheme_as_display_isolated ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()

{- |
Register /@scheme@/ as a display isolated scheme. This means that pages cannot
display these URIs unless they are from the same scheme.
-}
securityManagerRegisterUriSchemeAsDisplayIsolated ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m ()
securityManagerRegisterUriSchemeAsDisplayIsolated securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_display_isolated securityManager' scheme'
    touchManagedPtr securityManager
    freeMem scheme'
    return ()

#if ENABLE_OVERLOADING
data SecurityManagerRegisterUriSchemeAsDisplayIsolatedMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerRegisterUriSchemeAsDisplayIsolatedMethodInfo a signature where
    overloadedMethod _ = securityManagerRegisterUriSchemeAsDisplayIsolated

#endif

-- method SecurityManager::register_uri_scheme_as_empty_document
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_register_uri_scheme_as_empty_document" webkit_security_manager_register_uri_scheme_as_empty_document ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()

{- |
Register /@scheme@/ as an empty document scheme. This means that
they are allowed to commit synchronously.
-}
securityManagerRegisterUriSchemeAsEmptyDocument ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m ()
securityManagerRegisterUriSchemeAsEmptyDocument securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_empty_document securityManager' scheme'
    touchManagedPtr securityManager
    freeMem scheme'
    return ()

#if ENABLE_OVERLOADING
data SecurityManagerRegisterUriSchemeAsEmptyDocumentMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerRegisterUriSchemeAsEmptyDocumentMethodInfo a signature where
    overloadedMethod _ = securityManagerRegisterUriSchemeAsEmptyDocument

#endif

-- method SecurityManager::register_uri_scheme_as_local
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_register_uri_scheme_as_local" webkit_security_manager_register_uri_scheme_as_local ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()

{- |
Register /@scheme@/ as a local scheme. This means that other non-local pages
cannot link to or access URIs of this scheme.
-}
securityManagerRegisterUriSchemeAsLocal ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m ()
securityManagerRegisterUriSchemeAsLocal securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_local securityManager' scheme'
    touchManagedPtr securityManager
    freeMem scheme'
    return ()

#if ENABLE_OVERLOADING
data SecurityManagerRegisterUriSchemeAsLocalMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerRegisterUriSchemeAsLocalMethodInfo a signature where
    overloadedMethod _ = securityManagerRegisterUriSchemeAsLocal

#endif

-- method SecurityManager::register_uri_scheme_as_no_access
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_register_uri_scheme_as_no_access" webkit_security_manager_register_uri_scheme_as_no_access ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()

{- |
Register /@scheme@/ as a no-access scheme. This means that pages loaded
with this URI scheme cannot access pages loaded with any other URI scheme.
-}
securityManagerRegisterUriSchemeAsNoAccess ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m ()
securityManagerRegisterUriSchemeAsNoAccess securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_no_access securityManager' scheme'
    touchManagedPtr securityManager
    freeMem scheme'
    return ()

#if ENABLE_OVERLOADING
data SecurityManagerRegisterUriSchemeAsNoAccessMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerRegisterUriSchemeAsNoAccessMethodInfo a signature where
    overloadedMethod _ = securityManagerRegisterUriSchemeAsNoAccess

#endif

-- method SecurityManager::register_uri_scheme_as_secure
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_register_uri_scheme_as_secure" webkit_security_manager_register_uri_scheme_as_secure ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()

{- |
Register /@scheme@/ as a secure scheme. This means that mixed
content warnings won\'t be generated for this scheme when
included by an HTTPS page.
-}
securityManagerRegisterUriSchemeAsSecure ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m ()
securityManagerRegisterUriSchemeAsSecure securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_secure securityManager' scheme'
    touchManagedPtr securityManager
    freeMem scheme'
    return ()

#if ENABLE_OVERLOADING
data SecurityManagerRegisterUriSchemeAsSecureMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerRegisterUriSchemeAsSecureMethodInfo a signature where
    overloadedMethod _ = securityManagerRegisterUriSchemeAsSecure

#endif

-- method SecurityManager::uri_scheme_is_cors_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_uri_scheme_is_cors_enabled" webkit_security_manager_uri_scheme_is_cors_enabled ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt

{- |
Whether /@scheme@/ is considered as a CORS enabled scheme.
See also 'GI.WebKit2.Objects.SecurityManager.securityManagerRegisterUriSchemeAsCorsEnabled'.
-}
securityManagerUriSchemeIsCorsEnabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m Bool
    {- ^ __Returns:__ 'True' if /@scheme@/ is a CORS enabled scheme or 'False' otherwise. -}
securityManagerUriSchemeIsCorsEnabled securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_cors_enabled securityManager' scheme'
    let result' = (/= 0) result
    touchManagedPtr securityManager
    freeMem scheme'
    return result'

#if ENABLE_OVERLOADING
data SecurityManagerUriSchemeIsCorsEnabledMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerUriSchemeIsCorsEnabledMethodInfo a signature where
    overloadedMethod _ = securityManagerUriSchemeIsCorsEnabled

#endif

-- method SecurityManager::uri_scheme_is_display_isolated
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_uri_scheme_is_display_isolated" webkit_security_manager_uri_scheme_is_display_isolated ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt

{- |
Whether /@scheme@/ is considered as a display isolated scheme.
See also 'GI.WebKit2.Objects.SecurityManager.securityManagerRegisterUriSchemeAsDisplayIsolated'.
-}
securityManagerUriSchemeIsDisplayIsolated ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m Bool
    {- ^ __Returns:__ 'True' if /@scheme@/ is a display isolated scheme or 'False' otherwise. -}
securityManagerUriSchemeIsDisplayIsolated securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_display_isolated securityManager' scheme'
    let result' = (/= 0) result
    touchManagedPtr securityManager
    freeMem scheme'
    return result'

#if ENABLE_OVERLOADING
data SecurityManagerUriSchemeIsDisplayIsolatedMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerUriSchemeIsDisplayIsolatedMethodInfo a signature where
    overloadedMethod _ = securityManagerUriSchemeIsDisplayIsolated

#endif

-- method SecurityManager::uri_scheme_is_empty_document
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_uri_scheme_is_empty_document" webkit_security_manager_uri_scheme_is_empty_document ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt

{- |
Whether /@scheme@/ is considered as an empty document scheme.
See also 'GI.WebKit2.Objects.SecurityManager.securityManagerRegisterUriSchemeAsEmptyDocument'.
-}
securityManagerUriSchemeIsEmptyDocument ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m Bool
    {- ^ __Returns:__ 'True' if /@scheme@/ is an empty document scheme or 'False' otherwise. -}
securityManagerUriSchemeIsEmptyDocument securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_empty_document securityManager' scheme'
    let result' = (/= 0) result
    touchManagedPtr securityManager
    freeMem scheme'
    return result'

#if ENABLE_OVERLOADING
data SecurityManagerUriSchemeIsEmptyDocumentMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerUriSchemeIsEmptyDocumentMethodInfo a signature where
    overloadedMethod _ = securityManagerUriSchemeIsEmptyDocument

#endif

-- method SecurityManager::uri_scheme_is_local
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_uri_scheme_is_local" webkit_security_manager_uri_scheme_is_local ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt

{- |
Whether /@scheme@/ is considered as a local scheme.
See also 'GI.WebKit2.Objects.SecurityManager.securityManagerRegisterUriSchemeAsLocal'.
-}
securityManagerUriSchemeIsLocal ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m Bool
    {- ^ __Returns:__ 'True' if /@scheme@/ is a local scheme or 'False' otherwise. -}
securityManagerUriSchemeIsLocal securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_local securityManager' scheme'
    let result' = (/= 0) result
    touchManagedPtr securityManager
    freeMem scheme'
    return result'

#if ENABLE_OVERLOADING
data SecurityManagerUriSchemeIsLocalMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerUriSchemeIsLocalMethodInfo a signature where
    overloadedMethod _ = securityManagerUriSchemeIsLocal

#endif

-- method SecurityManager::uri_scheme_is_no_access
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_uri_scheme_is_no_access" webkit_security_manager_uri_scheme_is_no_access ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt

{- |
Whether /@scheme@/ is considered as a no-access scheme.
See also 'GI.WebKit2.Objects.SecurityManager.securityManagerRegisterUriSchemeAsNoAccess'.
-}
securityManagerUriSchemeIsNoAccess ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m Bool
    {- ^ __Returns:__ 'True' if /@scheme@/ is a no-access scheme or 'False' otherwise. -}
securityManagerUriSchemeIsNoAccess securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_no_access securityManager' scheme'
    let result' = (/= 0) result
    touchManagedPtr securityManager
    freeMem scheme'
    return result'

#if ENABLE_OVERLOADING
data SecurityManagerUriSchemeIsNoAccessMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerUriSchemeIsNoAccessMethodInfo a signature where
    overloadedMethod _ = securityManagerUriSchemeIsNoAccess

#endif

-- method SecurityManager::uri_scheme_is_secure
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "security_manager", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI scheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_security_manager_uri_scheme_is_secure" webkit_security_manager_uri_scheme_is_secure ::
    Ptr SecurityManager ->                  -- security_manager : TInterface (Name {namespace = "WebKit2", name = "SecurityManager"})
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt

{- |
Whether /@scheme@/ is considered as a secure scheme.
See also 'GI.WebKit2.Objects.SecurityManager.securityManagerRegisterUriSchemeAsSecure'.
-}
securityManagerUriSchemeIsSecure ::
    (B.CallStack.HasCallStack, MonadIO m, IsSecurityManager a) =>
    a
    {- ^ /@securityManager@/: a 'GI.WebKit2.Objects.SecurityManager.SecurityManager' -}
    -> T.Text
    {- ^ /@scheme@/: a URI scheme -}
    -> m Bool
    {- ^ __Returns:__ 'True' if /@scheme@/ is a secure scheme or 'False' otherwise. -}
securityManagerUriSchemeIsSecure securityManager scheme = liftIO $ do
    securityManager' <- unsafeManagedPtrCastPtr securityManager
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_secure securityManager' scheme'
    let result' = (/= 0) result
    touchManagedPtr securityManager
    freeMem scheme'
    return result'

#if ENABLE_OVERLOADING
data SecurityManagerUriSchemeIsSecureMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSecurityManager a) => O.MethodInfo SecurityManagerUriSchemeIsSecureMethodInfo a signature where
    overloadedMethod _ = securityManagerUriSchemeIsSecure

#endif