gi-webkit2-4.0.21: GI/WebKit2/Structs/SecurityOrigin.hs
{- |
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.Structs.SecurityOrigin
(
-- * Exported types
SecurityOrigin(..) ,
noSecurityOrigin ,
-- * Methods
-- ** getHost #method:getHost#
#if ENABLE_OVERLOADING
SecurityOriginGetHostMethodInfo ,
#endif
securityOriginGetHost ,
-- ** getPort #method:getPort#
#if ENABLE_OVERLOADING
SecurityOriginGetPortMethodInfo ,
#endif
securityOriginGetPort ,
-- ** getProtocol #method:getProtocol#
#if ENABLE_OVERLOADING
SecurityOriginGetProtocolMethodInfo ,
#endif
securityOriginGetProtocol ,
-- ** isOpaque #method:isOpaque#
#if ENABLE_OVERLOADING
SecurityOriginIsOpaqueMethodInfo ,
#endif
securityOriginIsOpaque ,
-- ** new #method:new#
securityOriginNew ,
-- ** newForUri #method:newForUri#
securityOriginNewForUri ,
-- ** ref #method:ref#
#if ENABLE_OVERLOADING
SecurityOriginRefMethodInfo ,
#endif
securityOriginRef ,
-- ** toString #method:toString#
#if ENABLE_OVERLOADING
SecurityOriginToStringMethodInfo ,
#endif
securityOriginToString ,
-- ** unref #method:unref#
#if ENABLE_OVERLOADING
SecurityOriginUnrefMethodInfo ,
#endif
securityOriginUnref ,
) 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
-- | Memory-managed wrapper type.
newtype SecurityOrigin = SecurityOrigin (ManagedPtr SecurityOrigin)
foreign import ccall "webkit_security_origin_get_type" c_webkit_security_origin_get_type ::
IO GType
instance BoxedObject SecurityOrigin where
boxedType _ = c_webkit_security_origin_get_type
-- | A convenience alias for `Nothing` :: `Maybe` `SecurityOrigin`.
noSecurityOrigin :: Maybe SecurityOrigin
noSecurityOrigin = Nothing
#if ENABLE_OVERLOADING
instance O.HasAttributeList SecurityOrigin
type instance O.AttributeList SecurityOrigin = SecurityOriginAttributeList
type SecurityOriginAttributeList = ('[ ] :: [(Symbol, *)])
#endif
-- method SecurityOrigin::new
-- method type : Constructor
-- Args : [Arg {argCName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The protocol for the new origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The host for the new origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The port number for the new origin, or 0 to indicate the\n default port for @protocol", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}))
-- throws : False
-- Skip return : False
foreign import ccall "webkit_security_origin_new" webkit_security_origin_new ::
CString -> -- protocol : TBasicType TUTF8
CString -> -- host : TBasicType TUTF8
Word16 -> -- port : TBasicType TUInt16
IO (Ptr SecurityOrigin)
{- |
Create a new security origin from the provided protocol, host and
port.
/Since: 2.16/
-}
securityOriginNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
{- ^ /@protocol@/: The protocol for the new origin -}
-> T.Text
{- ^ /@host@/: The host for the new origin -}
-> Word16
{- ^ /@port@/: The port number for the new origin, or 0 to indicate the
default port for /@protocol@/ -}
-> m SecurityOrigin
{- ^ __Returns:__ A 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin'. -}
securityOriginNew protocol host port = liftIO $ do
protocol' <- textToCString protocol
host' <- textToCString host
result <- webkit_security_origin_new protocol' host' port
checkUnexpectedReturnNULL "securityOriginNew" result
result' <- (wrapBoxed SecurityOrigin) result
freeMem protocol'
freeMem host'
return result'
#if ENABLE_OVERLOADING
#endif
-- method SecurityOrigin::new_for_uri
-- method type : Constructor
-- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The URI for the new origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}))
-- throws : False
-- Skip return : False
foreign import ccall "webkit_security_origin_new_for_uri" webkit_security_origin_new_for_uri ::
CString -> -- uri : TBasicType TUTF8
IO (Ptr SecurityOrigin)
{- |
Create a new security origin from the provided URI. Components of
/@uri@/ other than protocol, host, and port do not affect the created
'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin'.
/Since: 2.16/
-}
securityOriginNewForUri ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
{- ^ /@uri@/: The URI for the new origin -}
-> m SecurityOrigin
{- ^ __Returns:__ A 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin'. -}
securityOriginNewForUri uri = liftIO $ do
uri' <- textToCString uri
result <- webkit_security_origin_new_for_uri uri'
checkUnexpectedReturnNULL "securityOriginNewForUri" result
result' <- (wrapBoxed SecurityOrigin) result
freeMem uri'
return result'
#if ENABLE_OVERLOADING
#endif
-- method SecurityOrigin::get_host
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "origin", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityOrigin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "webkit_security_origin_get_host" webkit_security_origin_get_host ::
Ptr SecurityOrigin -> -- origin : TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"})
IO CString
{- |
Gets the hostname of /@origin@/, or 'Nothing' if /@origin@/ is opaque or if its
protocol does not require a host component.
/Since: 2.16/
-}
securityOriginGetHost ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
{- ^ /@origin@/: a 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
-> m (Maybe T.Text)
{- ^ __Returns:__ The host of the 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
securityOriginGetHost origin = liftIO $ do
origin' <- unsafeManagedPtrGetPtr origin
result <- webkit_security_origin_get_host origin'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr origin
return maybeResult
#if ENABLE_OVERLOADING
data SecurityOriginGetHostMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo SecurityOriginGetHostMethodInfo SecurityOrigin signature where
overloadedMethod _ = securityOriginGetHost
#endif
-- method SecurityOrigin::get_port
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "origin", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityOrigin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUInt16)
-- throws : False
-- Skip return : False
foreign import ccall "webkit_security_origin_get_port" webkit_security_origin_get_port ::
Ptr SecurityOrigin -> -- origin : TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"})
IO Word16
{- |
Gets the port of /@origin@/. This function will always return 0 if the
port is the default port for the given protocol. For example,
http:\/\/example.com has the same security origin as
http:\/\/example.com:80, and this function will return 0 for a
'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' constructed from either URI. It will also
return 0 if /@origin@/ is opaque.
/Since: 2.16/
-}
securityOriginGetPort ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
{- ^ /@origin@/: a 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
-> m Word16
{- ^ __Returns:__ The port of the 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin'. -}
securityOriginGetPort origin = liftIO $ do
origin' <- unsafeManagedPtrGetPtr origin
result <- webkit_security_origin_get_port origin'
touchManagedPtr origin
return result
#if ENABLE_OVERLOADING
data SecurityOriginGetPortMethodInfo
instance (signature ~ (m Word16), MonadIO m) => O.MethodInfo SecurityOriginGetPortMethodInfo SecurityOrigin signature where
overloadedMethod _ = securityOriginGetPort
#endif
-- method SecurityOrigin::get_protocol
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "origin", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityOrigin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "webkit_security_origin_get_protocol" webkit_security_origin_get_protocol ::
Ptr SecurityOrigin -> -- origin : TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"})
IO CString
{- |
Gets the protocol of /@origin@/, or 'Nothing' if /@origin@/ is opaque.
/Since: 2.16/
-}
securityOriginGetProtocol ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
{- ^ /@origin@/: a 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
-> m (Maybe T.Text)
{- ^ __Returns:__ The protocol of the 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
securityOriginGetProtocol origin = liftIO $ do
origin' <- unsafeManagedPtrGetPtr origin
result <- webkit_security_origin_get_protocol origin'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr origin
return maybeResult
#if ENABLE_OVERLOADING
data SecurityOriginGetProtocolMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo SecurityOriginGetProtocolMethodInfo SecurityOrigin signature where
overloadedMethod _ = securityOriginGetProtocol
#endif
-- method SecurityOrigin::is_opaque
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "origin", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityOrigin", 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_origin_is_opaque" webkit_security_origin_is_opaque ::
Ptr SecurityOrigin -> -- origin : TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"})
IO CInt
{- |
Gets whether /@origin@/ is an opaque security origin, which does not
possess an associated protocol, host, or port.
/Since: 2.16/
-}
securityOriginIsOpaque ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
{- ^ /@origin@/: a 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
-> m Bool
{- ^ __Returns:__ 'True' if /@origin@/ is opaque. -}
securityOriginIsOpaque origin = liftIO $ do
origin' <- unsafeManagedPtrGetPtr origin
result <- webkit_security_origin_is_opaque origin'
let result' = (/= 0) result
touchManagedPtr origin
return result'
#if ENABLE_OVERLOADING
data SecurityOriginIsOpaqueMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SecurityOriginIsOpaqueMethodInfo SecurityOrigin signature where
overloadedMethod _ = securityOriginIsOpaque
#endif
-- method SecurityOrigin::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "origin", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityOrigin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}))
-- throws : False
-- Skip return : False
foreign import ccall "webkit_security_origin_ref" webkit_security_origin_ref ::
Ptr SecurityOrigin -> -- origin : TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"})
IO (Ptr SecurityOrigin)
{- |
Atomically increments the reference count of /@origin@/ by one.
This function is MT-safe and may be called from any thread.
/Since: 2.16/
-}
securityOriginRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
{- ^ /@origin@/: a 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
-> m SecurityOrigin
{- ^ __Returns:__ The passed 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
securityOriginRef origin = liftIO $ do
origin' <- unsafeManagedPtrGetPtr origin
result <- webkit_security_origin_ref origin'
checkUnexpectedReturnNULL "securityOriginRef" result
result' <- (wrapBoxed SecurityOrigin) result
touchManagedPtr origin
return result'
#if ENABLE_OVERLOADING
data SecurityOriginRefMethodInfo
instance (signature ~ (m SecurityOrigin), MonadIO m) => O.MethodInfo SecurityOriginRefMethodInfo SecurityOrigin signature where
overloadedMethod _ = securityOriginRef
#endif
-- method SecurityOrigin::to_string
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "origin", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitSecurityOrigin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "webkit_security_origin_to_string" webkit_security_origin_to_string ::
Ptr SecurityOrigin -> -- origin : TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"})
IO CString
{- |
Gets a string representation of /@origin@/. The string representation
is a valid URI with only protocol, host, and port components. It may
be 'Nothing', but usually only if /@origin@/ is opaque.
/Since: 2.16/
-}
securityOriginToString ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
{- ^ /@origin@/: a 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
-> m (Maybe T.Text)
{- ^ __Returns:__ a URI representing /@origin@/. -}
securityOriginToString origin = liftIO $ do
origin' <- unsafeManagedPtrGetPtr origin
result <- webkit_security_origin_to_string origin'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
freeMem result'
return result''
touchManagedPtr origin
return maybeResult
#if ENABLE_OVERLOADING
data SecurityOriginToStringMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo SecurityOriginToStringMethodInfo SecurityOrigin signature where
overloadedMethod _ = securityOriginToString
#endif
-- method SecurityOrigin::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "origin", argType = TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitSecurityOrigin", 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_origin_unref" webkit_security_origin_unref ::
Ptr SecurityOrigin -> -- origin : TInterface (Name {namespace = "WebKit2", name = "SecurityOrigin"})
IO ()
{- |
Atomically decrements the reference count of /@origin@/ by one.
If the reference count drops to 0, all memory allocated by
'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' is released. This function is MT-safe and may be
called from any thread.
/Since: 2.16/
-}
securityOriginUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
SecurityOrigin
{- ^ /@origin@/: A 'GI.WebKit2.Structs.SecurityOrigin.SecurityOrigin' -}
-> m ()
securityOriginUnref origin = liftIO $ do
origin' <- unsafeManagedPtrGetPtr origin
webkit_security_origin_unref origin'
touchManagedPtr origin
return ()
#if ENABLE_OVERLOADING
data SecurityOriginUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo SecurityOriginUnrefMethodInfo SecurityOrigin signature where
overloadedMethod _ = securityOriginUnref
#endif
#if ENABLE_OVERLOADING
type family ResolveSecurityOriginMethod (t :: Symbol) (o :: *) :: * where
ResolveSecurityOriginMethod "isOpaque" o = SecurityOriginIsOpaqueMethodInfo
ResolveSecurityOriginMethod "ref" o = SecurityOriginRefMethodInfo
ResolveSecurityOriginMethod "toString" o = SecurityOriginToStringMethodInfo
ResolveSecurityOriginMethod "unref" o = SecurityOriginUnrefMethodInfo
ResolveSecurityOriginMethod "getHost" o = SecurityOriginGetHostMethodInfo
ResolveSecurityOriginMethod "getPort" o = SecurityOriginGetPortMethodInfo
ResolveSecurityOriginMethod "getProtocol" o = SecurityOriginGetProtocolMethodInfo
ResolveSecurityOriginMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSecurityOriginMethod t SecurityOrigin, O.MethodInfo info SecurityOrigin p) => OL.IsLabel t (SecurityOrigin -> 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