{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.TlsCertificate
(
TlsCertificate(..) ,
IsTlsCertificate ,
toTlsCertificate ,
noTlsCertificate ,
#if defined(ENABLE_OVERLOADING)
ResolveTlsCertificateMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
TlsCertificateGetIssuerMethodInfo ,
#endif
tlsCertificateGetIssuer ,
#if defined(ENABLE_OVERLOADING)
TlsCertificateIsSameMethodInfo ,
#endif
tlsCertificateIsSame ,
tlsCertificateListNewFromFile ,
tlsCertificateNewFromFile ,
tlsCertificateNewFromFiles ,
tlsCertificateNewFromPem ,
tlsCertificateNewFromPkcs11Uris ,
#if defined(ENABLE_OVERLOADING)
TlsCertificateVerifyMethodInfo ,
#endif
tlsCertificateVerify ,
#if defined(ENABLE_OVERLOADING)
TlsCertificateCertificatePropertyInfo ,
#endif
constructTlsCertificateCertificate ,
getTlsCertificateCertificate ,
#if defined(ENABLE_OVERLOADING)
tlsCertificateCertificate ,
#endif
#if defined(ENABLE_OVERLOADING)
TlsCertificateCertificatePemPropertyInfo,
#endif
constructTlsCertificateCertificatePem ,
getTlsCertificateCertificatePem ,
#if defined(ENABLE_OVERLOADING)
tlsCertificateCertificatePem ,
#endif
#if defined(ENABLE_OVERLOADING)
TlsCertificateIssuerPropertyInfo ,
#endif
constructTlsCertificateIssuer ,
getTlsCertificateIssuer ,
#if defined(ENABLE_OVERLOADING)
tlsCertificateIssuer ,
#endif
#if defined(ENABLE_OVERLOADING)
TlsCertificatePkcs11UriPropertyInfo ,
#endif
constructTlsCertificatePkcs11Uri ,
getTlsCertificatePkcs11Uri ,
#if defined(ENABLE_OVERLOADING)
tlsCertificatePkcs11Uri ,
#endif
#if defined(ENABLE_OVERLOADING)
TlsCertificatePrivateKeyPropertyInfo ,
#endif
constructTlsCertificatePrivateKey ,
#if defined(ENABLE_OVERLOADING)
tlsCertificatePrivateKey ,
#endif
#if defined(ENABLE_OVERLOADING)
TlsCertificatePrivateKeyPemPropertyInfo ,
#endif
constructTlsCertificatePrivateKeyPem ,
#if defined(ENABLE_OVERLOADING)
tlsCertificatePrivateKeyPem ,
#endif
#if defined(ENABLE_OVERLOADING)
TlsCertificatePrivateKeyPkcs11UriPropertyInfo,
#endif
constructTlsCertificatePrivateKeyPkcs11Uri,
getTlsCertificatePrivateKeyPkcs11Uri ,
#if defined(ENABLE_OVERLOADING)
tlsCertificatePrivateKeyPkcs11Uri ,
#endif
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Flags as Gio.Flags
import {-# SOURCE #-} qualified GI.Gio.Interfaces.SocketConnectable as Gio.SocketConnectable
newtype TlsCertificate = TlsCertificate (ManagedPtr TlsCertificate)
deriving (Eq)
foreign import ccall "g_tls_certificate_get_type"
c_g_tls_certificate_get_type :: IO GType
instance GObject TlsCertificate where
gobjectType = c_g_tls_certificate_get_type
instance B.GValue.IsGValue TlsCertificate where
toGValue o = do
gtype <- c_g_tls_certificate_get_type
B.ManagedPtr.withManagedPtr o (B.GValue.buildGValue gtype B.GValue.set_object)
fromGValue gv = do
ptr <- B.GValue.get_object gv :: IO (Ptr TlsCertificate)
B.ManagedPtr.newObject TlsCertificate ptr
class (GObject o, O.IsDescendantOf TlsCertificate o) => IsTlsCertificate o
instance (GObject o, O.IsDescendantOf TlsCertificate o) => IsTlsCertificate o
instance O.HasParentTypes TlsCertificate
type instance O.ParentTypes TlsCertificate = '[GObject.Object.Object]
toTlsCertificate :: (MonadIO m, IsTlsCertificate o) => o -> m TlsCertificate
toTlsCertificate = liftIO . unsafeCastTo TlsCertificate
noTlsCertificate :: Maybe TlsCertificate
noTlsCertificate = Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveTlsCertificateMethod (t :: Symbol) (o :: *) :: * where
ResolveTlsCertificateMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTlsCertificateMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTlsCertificateMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTlsCertificateMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTlsCertificateMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTlsCertificateMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTlsCertificateMethod "isSame" o = TlsCertificateIsSameMethodInfo
ResolveTlsCertificateMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTlsCertificateMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTlsCertificateMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveTlsCertificateMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTlsCertificateMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTlsCertificateMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTlsCertificateMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTlsCertificateMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTlsCertificateMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveTlsCertificateMethod "verify" o = TlsCertificateVerifyMethodInfo
ResolveTlsCertificateMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTlsCertificateMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTlsCertificateMethod "getIssuer" o = TlsCertificateGetIssuerMethodInfo
ResolveTlsCertificateMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTlsCertificateMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTlsCertificateMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTlsCertificateMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTlsCertificateMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTlsCertificateMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTlsCertificateMethod t TlsCertificate, O.MethodInfo info TlsCertificate p) => OL.IsLabel t (TlsCertificate -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getTlsCertificateCertificate :: (MonadIO m, IsTlsCertificate o) => o -> m (Maybe ByteString)
getTlsCertificateCertificate obj = liftIO $ B.Properties.getObjectPropertyByteArray obj "certificate"
constructTlsCertificateCertificate :: (IsTlsCertificate o) => ByteString -> IO (GValueConstruct o)
constructTlsCertificateCertificate val = B.Properties.constructObjectPropertyByteArray "certificate" (Just val)
#if defined(ENABLE_OVERLOADING)
data TlsCertificateCertificatePropertyInfo
instance AttrInfo TlsCertificateCertificatePropertyInfo where
type AttrAllowedOps TlsCertificateCertificatePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint TlsCertificateCertificatePropertyInfo = IsTlsCertificate
type AttrSetTypeConstraint TlsCertificateCertificatePropertyInfo = (~) ByteString
type AttrTransferTypeConstraint TlsCertificateCertificatePropertyInfo = (~) ByteString
type AttrTransferType TlsCertificateCertificatePropertyInfo = ByteString
type AttrGetType TlsCertificateCertificatePropertyInfo = (Maybe ByteString)
type AttrLabel TlsCertificateCertificatePropertyInfo = "certificate"
type AttrOrigin TlsCertificateCertificatePropertyInfo = TlsCertificate
attrGet = getTlsCertificateCertificate
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructTlsCertificateCertificate
attrClear = undefined
#endif
getTlsCertificateCertificatePem :: (MonadIO m, IsTlsCertificate o) => o -> m (Maybe T.Text)
getTlsCertificateCertificatePem obj = liftIO $ B.Properties.getObjectPropertyString obj "certificate-pem"
constructTlsCertificateCertificatePem :: (IsTlsCertificate o) => T.Text -> IO (GValueConstruct o)
constructTlsCertificateCertificatePem val = B.Properties.constructObjectPropertyString "certificate-pem" (Just val)
#if defined(ENABLE_OVERLOADING)
data TlsCertificateCertificatePemPropertyInfo
instance AttrInfo TlsCertificateCertificatePemPropertyInfo where
type AttrAllowedOps TlsCertificateCertificatePemPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint TlsCertificateCertificatePemPropertyInfo = IsTlsCertificate
type AttrSetTypeConstraint TlsCertificateCertificatePemPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint TlsCertificateCertificatePemPropertyInfo = (~) T.Text
type AttrTransferType TlsCertificateCertificatePemPropertyInfo = T.Text
type AttrGetType TlsCertificateCertificatePemPropertyInfo = (Maybe T.Text)
type AttrLabel TlsCertificateCertificatePemPropertyInfo = "certificate-pem"
type AttrOrigin TlsCertificateCertificatePemPropertyInfo = TlsCertificate
attrGet = getTlsCertificateCertificatePem
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructTlsCertificateCertificatePem
attrClear = undefined
#endif
getTlsCertificateIssuer :: (MonadIO m, IsTlsCertificate o) => o -> m TlsCertificate
getTlsCertificateIssuer obj = liftIO $ checkUnexpectedNothing "getTlsCertificateIssuer" $ B.Properties.getObjectPropertyObject obj "issuer" TlsCertificate
constructTlsCertificateIssuer :: (IsTlsCertificate o, IsTlsCertificate a) => a -> IO (GValueConstruct o)
constructTlsCertificateIssuer val = B.Properties.constructObjectPropertyObject "issuer" (Just val)
#if defined(ENABLE_OVERLOADING)
data TlsCertificateIssuerPropertyInfo
instance AttrInfo TlsCertificateIssuerPropertyInfo where
type AttrAllowedOps TlsCertificateIssuerPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint TlsCertificateIssuerPropertyInfo = IsTlsCertificate
type AttrSetTypeConstraint TlsCertificateIssuerPropertyInfo = IsTlsCertificate
type AttrTransferTypeConstraint TlsCertificateIssuerPropertyInfo = IsTlsCertificate
type AttrTransferType TlsCertificateIssuerPropertyInfo = TlsCertificate
type AttrGetType TlsCertificateIssuerPropertyInfo = TlsCertificate
type AttrLabel TlsCertificateIssuerPropertyInfo = "issuer"
type AttrOrigin TlsCertificateIssuerPropertyInfo = TlsCertificate
attrGet = getTlsCertificateIssuer
attrSet = undefined
attrTransfer _ v = do
unsafeCastTo TlsCertificate v
attrConstruct = constructTlsCertificateIssuer
attrClear = undefined
#endif
getTlsCertificatePkcs11Uri :: (MonadIO m, IsTlsCertificate o) => o -> m (Maybe T.Text)
getTlsCertificatePkcs11Uri obj = liftIO $ B.Properties.getObjectPropertyString obj "pkcs11-uri"
constructTlsCertificatePkcs11Uri :: (IsTlsCertificate o) => T.Text -> IO (GValueConstruct o)
constructTlsCertificatePkcs11Uri val = B.Properties.constructObjectPropertyString "pkcs11-uri" (Just val)
#if defined(ENABLE_OVERLOADING)
data TlsCertificatePkcs11UriPropertyInfo
instance AttrInfo TlsCertificatePkcs11UriPropertyInfo where
type AttrAllowedOps TlsCertificatePkcs11UriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint TlsCertificatePkcs11UriPropertyInfo = IsTlsCertificate
type AttrSetTypeConstraint TlsCertificatePkcs11UriPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint TlsCertificatePkcs11UriPropertyInfo = (~) T.Text
type AttrTransferType TlsCertificatePkcs11UriPropertyInfo = T.Text
type AttrGetType TlsCertificatePkcs11UriPropertyInfo = (Maybe T.Text)
type AttrLabel TlsCertificatePkcs11UriPropertyInfo = "pkcs11-uri"
type AttrOrigin TlsCertificatePkcs11UriPropertyInfo = TlsCertificate
attrGet = getTlsCertificatePkcs11Uri
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructTlsCertificatePkcs11Uri
attrClear = undefined
#endif
constructTlsCertificatePrivateKey :: (IsTlsCertificate o) => ByteString -> IO (GValueConstruct o)
constructTlsCertificatePrivateKey val = B.Properties.constructObjectPropertyByteArray "private-key" (Just val)
#if defined(ENABLE_OVERLOADING)
data TlsCertificatePrivateKeyPropertyInfo
instance AttrInfo TlsCertificatePrivateKeyPropertyInfo where
type AttrAllowedOps TlsCertificatePrivateKeyPropertyInfo = '[ 'AttrConstruct, 'AttrClear]
type AttrBaseTypeConstraint TlsCertificatePrivateKeyPropertyInfo = IsTlsCertificate
type AttrSetTypeConstraint TlsCertificatePrivateKeyPropertyInfo = (~) ByteString
type AttrTransferTypeConstraint TlsCertificatePrivateKeyPropertyInfo = (~) ByteString
type AttrTransferType TlsCertificatePrivateKeyPropertyInfo = ByteString
type AttrGetType TlsCertificatePrivateKeyPropertyInfo = ()
type AttrLabel TlsCertificatePrivateKeyPropertyInfo = "private-key"
type AttrOrigin TlsCertificatePrivateKeyPropertyInfo = TlsCertificate
attrGet = undefined
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructTlsCertificatePrivateKey
attrClear = undefined
#endif
constructTlsCertificatePrivateKeyPem :: (IsTlsCertificate o) => T.Text -> IO (GValueConstruct o)
constructTlsCertificatePrivateKeyPem val = B.Properties.constructObjectPropertyString "private-key-pem" (Just val)
#if defined(ENABLE_OVERLOADING)
data TlsCertificatePrivateKeyPemPropertyInfo
instance AttrInfo TlsCertificatePrivateKeyPemPropertyInfo where
type AttrAllowedOps TlsCertificatePrivateKeyPemPropertyInfo = '[ 'AttrConstruct, 'AttrClear]
type AttrBaseTypeConstraint TlsCertificatePrivateKeyPemPropertyInfo = IsTlsCertificate
type AttrSetTypeConstraint TlsCertificatePrivateKeyPemPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint TlsCertificatePrivateKeyPemPropertyInfo = (~) T.Text
type AttrTransferType TlsCertificatePrivateKeyPemPropertyInfo = T.Text
type AttrGetType TlsCertificatePrivateKeyPemPropertyInfo = ()
type AttrLabel TlsCertificatePrivateKeyPemPropertyInfo = "private-key-pem"
type AttrOrigin TlsCertificatePrivateKeyPemPropertyInfo = TlsCertificate
attrGet = undefined
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructTlsCertificatePrivateKeyPem
attrClear = undefined
#endif
getTlsCertificatePrivateKeyPkcs11Uri :: (MonadIO m, IsTlsCertificate o) => o -> m (Maybe T.Text)
getTlsCertificatePrivateKeyPkcs11Uri obj = liftIO $ B.Properties.getObjectPropertyString obj "private-key-pkcs11-uri"
constructTlsCertificatePrivateKeyPkcs11Uri :: (IsTlsCertificate o) => T.Text -> IO (GValueConstruct o)
constructTlsCertificatePrivateKeyPkcs11Uri val = B.Properties.constructObjectPropertyString "private-key-pkcs11-uri" (Just val)
#if defined(ENABLE_OVERLOADING)
data TlsCertificatePrivateKeyPkcs11UriPropertyInfo
instance AttrInfo TlsCertificatePrivateKeyPkcs11UriPropertyInfo where
type AttrAllowedOps TlsCertificatePrivateKeyPkcs11UriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint TlsCertificatePrivateKeyPkcs11UriPropertyInfo = IsTlsCertificate
type AttrSetTypeConstraint TlsCertificatePrivateKeyPkcs11UriPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint TlsCertificatePrivateKeyPkcs11UriPropertyInfo = (~) T.Text
type AttrTransferType TlsCertificatePrivateKeyPkcs11UriPropertyInfo = T.Text
type AttrGetType TlsCertificatePrivateKeyPkcs11UriPropertyInfo = (Maybe T.Text)
type AttrLabel TlsCertificatePrivateKeyPkcs11UriPropertyInfo = "private-key-pkcs11-uri"
type AttrOrigin TlsCertificatePrivateKeyPkcs11UriPropertyInfo = TlsCertificate
attrGet = getTlsCertificatePrivateKeyPkcs11Uri
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructTlsCertificatePrivateKeyPkcs11Uri
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TlsCertificate
type instance O.AttributeList TlsCertificate = TlsCertificateAttributeList
type TlsCertificateAttributeList = ('[ '("certificate", TlsCertificateCertificatePropertyInfo), '("certificatePem", TlsCertificateCertificatePemPropertyInfo), '("issuer", TlsCertificateIssuerPropertyInfo), '("pkcs11Uri", TlsCertificatePkcs11UriPropertyInfo), '("privateKey", TlsCertificatePrivateKeyPropertyInfo), '("privateKeyPem", TlsCertificatePrivateKeyPemPropertyInfo), '("privateKeyPkcs11Uri", TlsCertificatePrivateKeyPkcs11UriPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
tlsCertificateCertificate :: AttrLabelProxy "certificate"
tlsCertificateCertificate = AttrLabelProxy
tlsCertificateCertificatePem :: AttrLabelProxy "certificatePem"
tlsCertificateCertificatePem = AttrLabelProxy
tlsCertificateIssuer :: AttrLabelProxy "issuer"
tlsCertificateIssuer = AttrLabelProxy
tlsCertificatePkcs11Uri :: AttrLabelProxy "pkcs11Uri"
tlsCertificatePkcs11Uri = AttrLabelProxy
tlsCertificatePrivateKey :: AttrLabelProxy "privateKey"
tlsCertificatePrivateKey = AttrLabelProxy
tlsCertificatePrivateKeyPem :: AttrLabelProxy "privateKeyPem"
tlsCertificatePrivateKeyPem = AttrLabelProxy
tlsCertificatePrivateKeyPkcs11Uri :: AttrLabelProxy "privateKeyPkcs11Uri"
tlsCertificatePrivateKeyPkcs11Uri = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList TlsCertificate = TlsCertificateSignalList
type TlsCertificateSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_tls_certificate_new_from_file" g_tls_certificate_new_from_file ::
CString ->
Ptr (Ptr GError) ->
IO (Ptr TlsCertificate)
tlsCertificateNewFromFile ::
(B.CallStack.HasCallStack, MonadIO m) =>
[Char]
-> m TlsCertificate
tlsCertificateNewFromFile file = liftIO $ do
file' <- stringToCString file
onException (do
result <- propagateGError $ g_tls_certificate_new_from_file file'
checkUnexpectedReturnNULL "tlsCertificateNewFromFile" result
result' <- (wrapObject TlsCertificate) result
freeMem file'
return result'
) (do
freeMem file'
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_tls_certificate_new_from_files" g_tls_certificate_new_from_files ::
CString ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr TlsCertificate)
tlsCertificateNewFromFiles ::
(B.CallStack.HasCallStack, MonadIO m) =>
[Char]
-> [Char]
-> m TlsCertificate
tlsCertificateNewFromFiles certFile keyFile = liftIO $ do
certFile' <- stringToCString certFile
keyFile' <- stringToCString keyFile
onException (do
result <- propagateGError $ g_tls_certificate_new_from_files certFile' keyFile'
checkUnexpectedReturnNULL "tlsCertificateNewFromFiles" result
result' <- (wrapObject TlsCertificate) result
freeMem certFile'
freeMem keyFile'
return result'
) (do
freeMem certFile'
freeMem keyFile'
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_tls_certificate_new_from_pem" g_tls_certificate_new_from_pem ::
CString ->
Int32 ->
Ptr (Ptr GError) ->
IO (Ptr TlsCertificate)
tlsCertificateNewFromPem ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Int32
-> m TlsCertificate
tlsCertificateNewFromPem data_ length_ = liftIO $ do
data_' <- textToCString data_
onException (do
result <- propagateGError $ g_tls_certificate_new_from_pem data_' length_
checkUnexpectedReturnNULL "tlsCertificateNewFromPem" result
result' <- (wrapObject TlsCertificate) result
freeMem data_'
return result'
) (do
freeMem data_'
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_tls_certificate_new_from_pkcs11_uris" g_tls_certificate_new_from_pkcs11_uris ::
CString ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr TlsCertificate)
tlsCertificateNewFromPkcs11Uris ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Maybe (T.Text)
-> m TlsCertificate
tlsCertificateNewFromPkcs11Uris pkcs11Uri privateKeyPkcs11Uri = liftIO $ do
pkcs11Uri' <- textToCString pkcs11Uri
maybePrivateKeyPkcs11Uri <- case privateKeyPkcs11Uri of
Nothing -> return nullPtr
Just jPrivateKeyPkcs11Uri -> do
jPrivateKeyPkcs11Uri' <- textToCString jPrivateKeyPkcs11Uri
return jPrivateKeyPkcs11Uri'
onException (do
result <- propagateGError $ g_tls_certificate_new_from_pkcs11_uris pkcs11Uri' maybePrivateKeyPkcs11Uri
checkUnexpectedReturnNULL "tlsCertificateNewFromPkcs11Uris" result
result' <- (wrapObject TlsCertificate) result
freeMem pkcs11Uri'
freeMem maybePrivateKeyPkcs11Uri
return result'
) (do
freeMem pkcs11Uri'
freeMem maybePrivateKeyPkcs11Uri
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_tls_certificate_get_issuer" g_tls_certificate_get_issuer ::
Ptr TlsCertificate ->
IO (Ptr TlsCertificate)
tlsCertificateGetIssuer ::
(B.CallStack.HasCallStack, MonadIO m, IsTlsCertificate a) =>
a
-> m TlsCertificate
tlsCertificateGetIssuer cert = liftIO $ do
cert' <- unsafeManagedPtrCastPtr cert
result <- g_tls_certificate_get_issuer cert'
checkUnexpectedReturnNULL "tlsCertificateGetIssuer" result
result' <- (newObject TlsCertificate) result
touchManagedPtr cert
return result'
#if defined(ENABLE_OVERLOADING)
data TlsCertificateGetIssuerMethodInfo
instance (signature ~ (m TlsCertificate), MonadIO m, IsTlsCertificate a) => O.MethodInfo TlsCertificateGetIssuerMethodInfo a signature where
overloadedMethod = tlsCertificateGetIssuer
#endif
foreign import ccall "g_tls_certificate_is_same" g_tls_certificate_is_same ::
Ptr TlsCertificate ->
Ptr TlsCertificate ->
IO CInt
tlsCertificateIsSame ::
(B.CallStack.HasCallStack, MonadIO m, IsTlsCertificate a, IsTlsCertificate b) =>
a
-> b
-> m Bool
tlsCertificateIsSame certOne certTwo = liftIO $ do
certOne' <- unsafeManagedPtrCastPtr certOne
certTwo' <- unsafeManagedPtrCastPtr certTwo
result <- g_tls_certificate_is_same certOne' certTwo'
let result' = (/= 0) result
touchManagedPtr certOne
touchManagedPtr certTwo
return result'
#if defined(ENABLE_OVERLOADING)
data TlsCertificateIsSameMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsTlsCertificate a, IsTlsCertificate b) => O.MethodInfo TlsCertificateIsSameMethodInfo a signature where
overloadedMethod = tlsCertificateIsSame
#endif
foreign import ccall "g_tls_certificate_verify" g_tls_certificate_verify ::
Ptr TlsCertificate ->
Ptr Gio.SocketConnectable.SocketConnectable ->
Ptr TlsCertificate ->
IO CUInt
tlsCertificateVerify ::
(B.CallStack.HasCallStack, MonadIO m, IsTlsCertificate a, Gio.SocketConnectable.IsSocketConnectable b, IsTlsCertificate c) =>
a
-> Maybe (b)
-> Maybe (c)
-> m [Gio.Flags.TlsCertificateFlags]
tlsCertificateVerify cert identity trustedCa = liftIO $ do
cert' <- unsafeManagedPtrCastPtr cert
maybeIdentity <- case identity of
Nothing -> return nullPtr
Just jIdentity -> do
jIdentity' <- unsafeManagedPtrCastPtr jIdentity
return jIdentity'
maybeTrustedCa <- case trustedCa of
Nothing -> return nullPtr
Just jTrustedCa -> do
jTrustedCa' <- unsafeManagedPtrCastPtr jTrustedCa
return jTrustedCa'
result <- g_tls_certificate_verify cert' maybeIdentity maybeTrustedCa
let result' = wordToGFlags result
touchManagedPtr cert
whenJust identity touchManagedPtr
whenJust trustedCa touchManagedPtr
return result'
#if defined(ENABLE_OVERLOADING)
data TlsCertificateVerifyMethodInfo
instance (signature ~ (Maybe (b) -> Maybe (c) -> m [Gio.Flags.TlsCertificateFlags]), MonadIO m, IsTlsCertificate a, Gio.SocketConnectable.IsSocketConnectable b, IsTlsCertificate c) => O.MethodInfo TlsCertificateVerifyMethodInfo a signature where
overloadedMethod = tlsCertificateVerify
#endif
foreign import ccall "g_tls_certificate_list_new_from_file" g_tls_certificate_list_new_from_file ::
CString ->
Ptr (Ptr GError) ->
IO (Ptr (GList (Ptr TlsCertificate)))
tlsCertificateListNewFromFile ::
(B.CallStack.HasCallStack, MonadIO m) =>
[Char]
-> m [TlsCertificate]
tlsCertificateListNewFromFile file = liftIO $ do
file' <- stringToCString file
onException (do
result <- propagateGError $ g_tls_certificate_list_new_from_file file'
result' <- unpackGList result
result'' <- mapM (wrapObject TlsCertificate) result'
g_list_free result
freeMem file'
return result''
) (do
freeMem file'
)
#if defined(ENABLE_OVERLOADING)
#endif