{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit2.Objects.SecurityManager
    ( 

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


 -- * Methods
-- ** securityManagerRegisterUriSchemeAsCorsEnabled
    securityManagerRegisterUriSchemeAsCorsEnabled,


-- ** securityManagerRegisterUriSchemeAsDisplayIsolated
    securityManagerRegisterUriSchemeAsDisplayIsolated,


-- ** securityManagerRegisterUriSchemeAsEmptyDocument
    securityManagerRegisterUriSchemeAsEmptyDocument,


-- ** securityManagerRegisterUriSchemeAsLocal
    securityManagerRegisterUriSchemeAsLocal ,


-- ** securityManagerRegisterUriSchemeAsNoAccess
    securityManagerRegisterUriSchemeAsNoAccess,


-- ** securityManagerRegisterUriSchemeAsSecure
    securityManagerRegisterUriSchemeAsSecure,


-- ** securityManagerUriSchemeIsCorsEnabled
    securityManagerUriSchemeIsCorsEnabled   ,


-- ** securityManagerUriSchemeIsDisplayIsolated
    securityManagerUriSchemeIsDisplayIsolated,


-- ** securityManagerUriSchemeIsEmptyDocument
    securityManagerUriSchemeIsEmptyDocument ,


-- ** securityManagerUriSchemeIsLocal
    securityManagerUriSchemeIsLocal         ,


-- ** securityManagerUriSchemeIsNoAccess
    securityManagerUriSchemeIsNoAccess      ,


-- ** securityManagerUriSchemeIsSecure
    securityManagerUriSchemeIsSecure        ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.WebKit2.Types
import GI.WebKit2.Callbacks
import qualified GI.GObject as GObject

newtype SecurityManager = SecurityManager (ForeignPtr SecurityManager)
foreign import ccall "webkit_security_manager_get_type"
    c_webkit_security_manager_get_type :: IO GType

type instance ParentTypes SecurityManager = SecurityManagerParentTypes
type SecurityManagerParentTypes = '[GObject.Object]

instance GObject SecurityManager where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_security_manager_get_type
    

class GObject o => SecurityManagerK o
instance (GObject o, IsDescendantOf SecurityManager o) => SecurityManagerK o

toSecurityManager :: SecurityManagerK o => o -> IO SecurityManager
toSecurityManager = unsafeCastTo SecurityManager

noSecurityManager :: Maybe SecurityManager
noSecurityManager = Nothing

type instance AttributeList SecurityManager = SecurityManagerAttributeList
type SecurityManagerAttributeList = ('[ ] :: [(Symbol, *)])

type instance SignalList SecurityManager = SecurityManagerSignalList
type SecurityManagerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method SecurityManager::register_uri_scheme_as_cors_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()


securityManagerRegisterUriSchemeAsCorsEnabled ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m ()
securityManagerRegisterUriSchemeAsCorsEnabled _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_cors_enabled _obj' scheme'
    touchManagedPtr _obj
    freeMem scheme'
    return ()

-- method SecurityManager::register_uri_scheme_as_display_isolated
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()


securityManagerRegisterUriSchemeAsDisplayIsolated ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m ()
securityManagerRegisterUriSchemeAsDisplayIsolated _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_display_isolated _obj' scheme'
    touchManagedPtr _obj
    freeMem scheme'
    return ()

-- method SecurityManager::register_uri_scheme_as_empty_document
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()


securityManagerRegisterUriSchemeAsEmptyDocument ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m ()
securityManagerRegisterUriSchemeAsEmptyDocument _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_empty_document _obj' scheme'
    touchManagedPtr _obj
    freeMem scheme'
    return ()

-- method SecurityManager::register_uri_scheme_as_local
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()


securityManagerRegisterUriSchemeAsLocal ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m ()
securityManagerRegisterUriSchemeAsLocal _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_local _obj' scheme'
    touchManagedPtr _obj
    freeMem scheme'
    return ()

-- method SecurityManager::register_uri_scheme_as_no_access
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()


securityManagerRegisterUriSchemeAsNoAccess ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m ()
securityManagerRegisterUriSchemeAsNoAccess _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_no_access _obj' scheme'
    touchManagedPtr _obj
    freeMem scheme'
    return ()

-- method SecurityManager::register_uri_scheme_as_secure
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO ()


securityManagerRegisterUriSchemeAsSecure ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m ()
securityManagerRegisterUriSchemeAsSecure _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    webkit_security_manager_register_uri_scheme_as_secure _obj' scheme'
    touchManagedPtr _obj
    freeMem scheme'
    return ()

-- method SecurityManager::uri_scheme_is_cors_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt


securityManagerUriSchemeIsCorsEnabled ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m Bool
securityManagerUriSchemeIsCorsEnabled _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_cors_enabled _obj' scheme'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem scheme'
    return result'

-- method SecurityManager::uri_scheme_is_display_isolated
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt


securityManagerUriSchemeIsDisplayIsolated ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m Bool
securityManagerUriSchemeIsDisplayIsolated _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_display_isolated _obj' scheme'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem scheme'
    return result'

-- method SecurityManager::uri_scheme_is_empty_document
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt


securityManagerUriSchemeIsEmptyDocument ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m Bool
securityManagerUriSchemeIsEmptyDocument _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_empty_document _obj' scheme'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem scheme'
    return result'

-- method SecurityManager::uri_scheme_is_local
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt


securityManagerUriSchemeIsLocal ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m Bool
securityManagerUriSchemeIsLocal _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_local _obj' scheme'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem scheme'
    return result'

-- method SecurityManager::uri_scheme_is_no_access
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt


securityManagerUriSchemeIsNoAccess ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m Bool
securityManagerUriSchemeIsNoAccess _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_no_access _obj' scheme'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem scheme'
    return result'

-- method SecurityManager::uri_scheme_is_secure
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "SecurityManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : 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 ->                  -- _obj : TInterface "WebKit2" "SecurityManager"
    CString ->                              -- scheme : TBasicType TUTF8
    IO CInt


securityManagerUriSchemeIsSecure ::
    (MonadIO m, SecurityManagerK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    m Bool
securityManagerUriSchemeIsSecure _obj scheme = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    result <- webkit_security_manager_uri_scheme_is_secure _obj' scheme'
    let result' = (/= 0) result
    touchManagedPtr _obj
    freeMem scheme'
    return result'