gi-gio-0.2.46.13: GI/Gio/Interfaces/TlsClientConnection.hs
{- |
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.Gio.Interfaces.TlsClientConnection
(
-- * Exported types
TlsClientConnection(..) ,
noTlsClientConnection ,
TlsClientConnectionK ,
toTlsClientConnection ,
-- * Methods
-- ** tlsClientConnectionCopySessionState
TlsClientConnectionCopySessionStateMethodInfo,
tlsClientConnectionCopySessionState ,
-- ** tlsClientConnectionGetAcceptedCas
TlsClientConnectionGetAcceptedCasMethodInfo,
tlsClientConnectionGetAcceptedCas ,
-- ** tlsClientConnectionGetServerIdentity
TlsClientConnectionGetServerIdentityMethodInfo,
tlsClientConnectionGetServerIdentity ,
-- ** tlsClientConnectionGetUseSsl3
TlsClientConnectionGetUseSsl3MethodInfo ,
tlsClientConnectionGetUseSsl3 ,
-- ** tlsClientConnectionGetValidationFlags
TlsClientConnectionGetValidationFlagsMethodInfo,
tlsClientConnectionGetValidationFlags ,
-- ** tlsClientConnectionNew
tlsClientConnectionNew ,
-- ** tlsClientConnectionSetServerIdentity
TlsClientConnectionSetServerIdentityMethodInfo,
tlsClientConnectionSetServerIdentity ,
-- ** tlsClientConnectionSetUseSsl3
TlsClientConnectionSetUseSsl3MethodInfo ,
tlsClientConnectionSetUseSsl3 ,
-- ** tlsClientConnectionSetValidationFlags
TlsClientConnectionSetValidationFlagsMethodInfo,
tlsClientConnectionSetValidationFlags ,
-- * Properties
-- ** AcceptedCas
TlsClientConnectionAcceptedCasPropertyInfo,
getTlsClientConnectionAcceptedCas ,
-- ** ServerIdentity
TlsClientConnectionServerIdentityPropertyInfo,
constructTlsClientConnectionServerIdentity,
getTlsClientConnectionServerIdentity ,
setTlsClientConnectionServerIdentity ,
-- ** UseSsl3
TlsClientConnectionUseSsl3PropertyInfo ,
constructTlsClientConnectionUseSsl3 ,
getTlsClientConnectionUseSsl3 ,
setTlsClientConnectionUseSsl3 ,
-- ** ValidationFlags
TlsClientConnectionValidationFlagsPropertyInfo,
constructTlsClientConnectionValidationFlags,
getTlsClientConnectionValidationFlags ,
setTlsClientConnectionValidationFlags ,
) 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.Gio.Types
import GI.Gio.Callbacks
import qualified GI.GObject as GObject
-- interface TlsClientConnection
newtype TlsClientConnection = TlsClientConnection (ForeignPtr TlsClientConnection)
noTlsClientConnection :: Maybe TlsClientConnection
noTlsClientConnection = Nothing
type family ResolveTlsClientConnectionMethod (t :: Symbol) (o :: *) :: * where
ResolveTlsClientConnectionMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveTlsClientConnectionMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveTlsClientConnectionMethod "clearPending" o = IOStreamClearPendingMethodInfo
ResolveTlsClientConnectionMethod "close" o = IOStreamCloseMethodInfo
ResolveTlsClientConnectionMethod "closeAsync" o = IOStreamCloseAsyncMethodInfo
ResolveTlsClientConnectionMethod "closeFinish" o = IOStreamCloseFinishMethodInfo
ResolveTlsClientConnectionMethod "copySessionState" o = TlsClientConnectionCopySessionStateMethodInfo
ResolveTlsClientConnectionMethod "emitAcceptCertificate" o = TlsConnectionEmitAcceptCertificateMethodInfo
ResolveTlsClientConnectionMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveTlsClientConnectionMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveTlsClientConnectionMethod "handshake" o = TlsConnectionHandshakeMethodInfo
ResolveTlsClientConnectionMethod "handshakeAsync" o = TlsConnectionHandshakeAsyncMethodInfo
ResolveTlsClientConnectionMethod "handshakeFinish" o = TlsConnectionHandshakeFinishMethodInfo
ResolveTlsClientConnectionMethod "hasPending" o = IOStreamHasPendingMethodInfo
ResolveTlsClientConnectionMethod "isClosed" o = IOStreamIsClosedMethodInfo
ResolveTlsClientConnectionMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveTlsClientConnectionMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveTlsClientConnectionMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveTlsClientConnectionMethod "ref" o = GObject.ObjectRefMethodInfo
ResolveTlsClientConnectionMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveTlsClientConnectionMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveTlsClientConnectionMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveTlsClientConnectionMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveTlsClientConnectionMethod "spliceAsync" o = IOStreamSpliceAsyncMethodInfo
ResolveTlsClientConnectionMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveTlsClientConnectionMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveTlsClientConnectionMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveTlsClientConnectionMethod "unref" o = GObject.ObjectUnrefMethodInfo
ResolveTlsClientConnectionMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveTlsClientConnectionMethod "getAcceptedCas" o = TlsClientConnectionGetAcceptedCasMethodInfo
ResolveTlsClientConnectionMethod "getCertificate" o = TlsConnectionGetCertificateMethodInfo
ResolveTlsClientConnectionMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveTlsClientConnectionMethod "getDatabase" o = TlsConnectionGetDatabaseMethodInfo
ResolveTlsClientConnectionMethod "getInputStream" o = IOStreamGetInputStreamMethodInfo
ResolveTlsClientConnectionMethod "getInteraction" o = TlsConnectionGetInteractionMethodInfo
ResolveTlsClientConnectionMethod "getOutputStream" o = IOStreamGetOutputStreamMethodInfo
ResolveTlsClientConnectionMethod "getPeerCertificate" o = TlsConnectionGetPeerCertificateMethodInfo
ResolveTlsClientConnectionMethod "getPeerCertificateErrors" o = TlsConnectionGetPeerCertificateErrorsMethodInfo
ResolveTlsClientConnectionMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveTlsClientConnectionMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveTlsClientConnectionMethod "getRehandshakeMode" o = TlsConnectionGetRehandshakeModeMethodInfo
ResolveTlsClientConnectionMethod "getRequireCloseNotify" o = TlsConnectionGetRequireCloseNotifyMethodInfo
ResolveTlsClientConnectionMethod "getServerIdentity" o = TlsClientConnectionGetServerIdentityMethodInfo
ResolveTlsClientConnectionMethod "getUseSsl3" o = TlsClientConnectionGetUseSsl3MethodInfo
ResolveTlsClientConnectionMethod "getUseSystemCertdb" o = TlsConnectionGetUseSystemCertdbMethodInfo
ResolveTlsClientConnectionMethod "getValidationFlags" o = TlsClientConnectionGetValidationFlagsMethodInfo
ResolveTlsClientConnectionMethod "setCertificate" o = TlsConnectionSetCertificateMethodInfo
ResolveTlsClientConnectionMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveTlsClientConnectionMethod "setDatabase" o = TlsConnectionSetDatabaseMethodInfo
ResolveTlsClientConnectionMethod "setInteraction" o = TlsConnectionSetInteractionMethodInfo
ResolveTlsClientConnectionMethod "setPending" o = IOStreamSetPendingMethodInfo
ResolveTlsClientConnectionMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveTlsClientConnectionMethod "setRehandshakeMode" o = TlsConnectionSetRehandshakeModeMethodInfo
ResolveTlsClientConnectionMethod "setRequireCloseNotify" o = TlsConnectionSetRequireCloseNotifyMethodInfo
ResolveTlsClientConnectionMethod "setServerIdentity" o = TlsClientConnectionSetServerIdentityMethodInfo
ResolveTlsClientConnectionMethod "setUseSsl3" o = TlsClientConnectionSetUseSsl3MethodInfo
ResolveTlsClientConnectionMethod "setUseSystemCertdb" o = TlsConnectionSetUseSystemCertdbMethodInfo
ResolveTlsClientConnectionMethod "setValidationFlags" o = TlsClientConnectionSetValidationFlagsMethodInfo
ResolveTlsClientConnectionMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveTlsClientConnectionMethod t TlsClientConnection, MethodInfo info TlsClientConnection p) => IsLabelProxy t (TlsClientConnection -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveTlsClientConnectionMethod t TlsClientConnection, MethodInfo info TlsClientConnection p) => IsLabel t (TlsClientConnection -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
-- VVV Prop "accepted-cas"
-- Type: TGList (TBasicType TVoid)
-- Flags: [PropertyReadable]
getTlsClientConnectionAcceptedCas :: (MonadIO m, TlsClientConnectionK o) => o -> m [Ptr ()]
getTlsClientConnectionAcceptedCas obj = liftIO $ getObjectPropertyPtrGList obj "accepted-cas"
data TlsClientConnectionAcceptedCasPropertyInfo
instance AttrInfo TlsClientConnectionAcceptedCasPropertyInfo where
type AttrAllowedOps TlsClientConnectionAcceptedCasPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint TlsClientConnectionAcceptedCasPropertyInfo = (~) ()
type AttrBaseTypeConstraint TlsClientConnectionAcceptedCasPropertyInfo = TlsClientConnectionK
type AttrGetType TlsClientConnectionAcceptedCasPropertyInfo = ([Ptr ()])
type AttrLabel TlsClientConnectionAcceptedCasPropertyInfo = "accepted-cas"
attrGet _ = getTlsClientConnectionAcceptedCas
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "server-identity"
-- Type: TInterface "Gio" "SocketConnectable"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
getTlsClientConnectionServerIdentity :: (MonadIO m, TlsClientConnectionK o) => o -> m SocketConnectable
getTlsClientConnectionServerIdentity obj = liftIO $ getObjectPropertyObject obj "server-identity" SocketConnectable
setTlsClientConnectionServerIdentity :: (MonadIO m, TlsClientConnectionK o, SocketConnectableK a) => o -> a -> m ()
setTlsClientConnectionServerIdentity obj val = liftIO $ setObjectPropertyObject obj "server-identity" val
constructTlsClientConnectionServerIdentity :: (SocketConnectableK a) => a -> IO ([Char], GValue)
constructTlsClientConnectionServerIdentity val = constructObjectPropertyObject "server-identity" val
data TlsClientConnectionServerIdentityPropertyInfo
instance AttrInfo TlsClientConnectionServerIdentityPropertyInfo where
type AttrAllowedOps TlsClientConnectionServerIdentityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint TlsClientConnectionServerIdentityPropertyInfo = SocketConnectableK
type AttrBaseTypeConstraint TlsClientConnectionServerIdentityPropertyInfo = TlsClientConnectionK
type AttrGetType TlsClientConnectionServerIdentityPropertyInfo = SocketConnectable
type AttrLabel TlsClientConnectionServerIdentityPropertyInfo = "server-identity"
attrGet _ = getTlsClientConnectionServerIdentity
attrSet _ = setTlsClientConnectionServerIdentity
attrConstruct _ = constructTlsClientConnectionServerIdentity
-- VVV Prop "use-ssl3"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
getTlsClientConnectionUseSsl3 :: (MonadIO m, TlsClientConnectionK o) => o -> m Bool
getTlsClientConnectionUseSsl3 obj = liftIO $ getObjectPropertyBool obj "use-ssl3"
setTlsClientConnectionUseSsl3 :: (MonadIO m, TlsClientConnectionK o) => o -> Bool -> m ()
setTlsClientConnectionUseSsl3 obj val = liftIO $ setObjectPropertyBool obj "use-ssl3" val
constructTlsClientConnectionUseSsl3 :: Bool -> IO ([Char], GValue)
constructTlsClientConnectionUseSsl3 val = constructObjectPropertyBool "use-ssl3" val
data TlsClientConnectionUseSsl3PropertyInfo
instance AttrInfo TlsClientConnectionUseSsl3PropertyInfo where
type AttrAllowedOps TlsClientConnectionUseSsl3PropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint TlsClientConnectionUseSsl3PropertyInfo = (~) Bool
type AttrBaseTypeConstraint TlsClientConnectionUseSsl3PropertyInfo = TlsClientConnectionK
type AttrGetType TlsClientConnectionUseSsl3PropertyInfo = Bool
type AttrLabel TlsClientConnectionUseSsl3PropertyInfo = "use-ssl3"
attrGet _ = getTlsClientConnectionUseSsl3
attrSet _ = setTlsClientConnectionUseSsl3
attrConstruct _ = constructTlsClientConnectionUseSsl3
-- VVV Prop "validation-flags"
-- Type: TInterface "Gio" "TlsCertificateFlags"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
getTlsClientConnectionValidationFlags :: (MonadIO m, TlsClientConnectionK o) => o -> m [TlsCertificateFlags]
getTlsClientConnectionValidationFlags obj = liftIO $ getObjectPropertyFlags obj "validation-flags"
setTlsClientConnectionValidationFlags :: (MonadIO m, TlsClientConnectionK o) => o -> [TlsCertificateFlags] -> m ()
setTlsClientConnectionValidationFlags obj val = liftIO $ setObjectPropertyFlags obj "validation-flags" val
constructTlsClientConnectionValidationFlags :: [TlsCertificateFlags] -> IO ([Char], GValue)
constructTlsClientConnectionValidationFlags val = constructObjectPropertyFlags "validation-flags" val
data TlsClientConnectionValidationFlagsPropertyInfo
instance AttrInfo TlsClientConnectionValidationFlagsPropertyInfo where
type AttrAllowedOps TlsClientConnectionValidationFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint TlsClientConnectionValidationFlagsPropertyInfo = (~) [TlsCertificateFlags]
type AttrBaseTypeConstraint TlsClientConnectionValidationFlagsPropertyInfo = TlsClientConnectionK
type AttrGetType TlsClientConnectionValidationFlagsPropertyInfo = [TlsCertificateFlags]
type AttrLabel TlsClientConnectionValidationFlagsPropertyInfo = "validation-flags"
attrGet _ = getTlsClientConnectionValidationFlags
attrSet _ = setTlsClientConnectionValidationFlags
attrConstruct _ = constructTlsClientConnectionValidationFlags
type instance AttributeList TlsClientConnection = TlsClientConnectionAttributeList
type TlsClientConnectionAttributeList = ('[ '("acceptedCas", TlsClientConnectionAcceptedCasPropertyInfo), '("baseIoStream", TlsConnectionBaseIoStreamPropertyInfo), '("certificate", TlsConnectionCertificatePropertyInfo), '("closed", IOStreamClosedPropertyInfo), '("database", TlsConnectionDatabasePropertyInfo), '("inputStream", IOStreamInputStreamPropertyInfo), '("interaction", TlsConnectionInteractionPropertyInfo), '("outputStream", IOStreamOutputStreamPropertyInfo), '("peerCertificate", TlsConnectionPeerCertificatePropertyInfo), '("peerCertificateErrors", TlsConnectionPeerCertificateErrorsPropertyInfo), '("rehandshakeMode", TlsConnectionRehandshakeModePropertyInfo), '("requireCloseNotify", TlsConnectionRequireCloseNotifyPropertyInfo), '("serverIdentity", TlsClientConnectionServerIdentityPropertyInfo), '("useSsl3", TlsClientConnectionUseSsl3PropertyInfo), '("useSystemCertdb", TlsConnectionUseSystemCertdbPropertyInfo), '("validationFlags", TlsClientConnectionValidationFlagsPropertyInfo)] :: [(Symbol, *)])
type instance SignalList TlsClientConnection = TlsClientConnectionSignalList
type TlsClientConnectionSignalList = ('[ '("acceptCertificate", TlsConnectionAcceptCertificateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_tls_client_connection_get_type"
c_g_tls_client_connection_get_type :: IO GType
type instance ParentTypes TlsClientConnection = TlsClientConnectionParentTypes
type TlsClientConnectionParentTypes = '[TlsConnection, IOStream, GObject.Object]
instance GObject TlsClientConnection where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_tls_client_connection_get_type
class GObject o => TlsClientConnectionK o
instance (GObject o, IsDescendantOf TlsClientConnection o) => TlsClientConnectionK o
toTlsClientConnection :: TlsClientConnectionK o => o -> IO TlsClientConnection
toTlsClientConnection = unsafeCastTo TlsClientConnection
-- method TlsClientConnection::copy_session_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "TlsClientConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface "Gio" "TlsClientConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_tls_client_connection_copy_session_state" g_tls_client_connection_copy_session_state ::
Ptr TlsClientConnection -> -- _obj : TInterface "Gio" "TlsClientConnection"
Ptr TlsClientConnection -> -- source : TInterface "Gio" "TlsClientConnection"
IO ()
tlsClientConnectionCopySessionState ::
(MonadIO m, TlsClientConnectionK a, TlsClientConnectionK b) =>
a -- _obj
-> b -- source
-> m () -- result
tlsClientConnectionCopySessionState _obj source = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let source' = unsafeManagedPtrCastPtr source
g_tls_client_connection_copy_session_state _obj' source'
touchManagedPtr _obj
touchManagedPtr source
return ()
data TlsClientConnectionCopySessionStateMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, TlsClientConnectionK a, TlsClientConnectionK b) => MethodInfo TlsClientConnectionCopySessionStateMethodInfo a signature where
overloadedMethod _ = tlsClientConnectionCopySessionState
-- method TlsClientConnection::get_accepted_cas
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "TlsClientConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TGList TByteArray
-- throws : False
-- Skip return : False
foreign import ccall "g_tls_client_connection_get_accepted_cas" g_tls_client_connection_get_accepted_cas ::
Ptr TlsClientConnection -> -- _obj : TInterface "Gio" "TlsClientConnection"
IO (Ptr (GList (Ptr GByteArray)))
tlsClientConnectionGetAcceptedCas ::
(MonadIO m, TlsClientConnectionK a) =>
a -- _obj
-> m [ByteString] -- result
tlsClientConnectionGetAcceptedCas _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_tls_client_connection_get_accepted_cas _obj'
checkUnexpectedReturnNULL "g_tls_client_connection_get_accepted_cas" result
result' <- unpackGList result
result'' <- mapM unpackGByteArray result'
mapGList unrefGByteArray result
g_list_free result
touchManagedPtr _obj
return result''
data TlsClientConnectionGetAcceptedCasMethodInfo
instance (signature ~ (m [ByteString]), MonadIO m, TlsClientConnectionK a) => MethodInfo TlsClientConnectionGetAcceptedCasMethodInfo a signature where
overloadedMethod _ = tlsClientConnectionGetAcceptedCas
-- method TlsClientConnection::get_server_identity
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "TlsClientConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gio" "SocketConnectable"
-- throws : False
-- Skip return : False
foreign import ccall "g_tls_client_connection_get_server_identity" g_tls_client_connection_get_server_identity ::
Ptr TlsClientConnection -> -- _obj : TInterface "Gio" "TlsClientConnection"
IO (Ptr SocketConnectable)
tlsClientConnectionGetServerIdentity ::
(MonadIO m, TlsClientConnectionK a) =>
a -- _obj
-> m SocketConnectable -- result
tlsClientConnectionGetServerIdentity _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_tls_client_connection_get_server_identity _obj'
checkUnexpectedReturnNULL "g_tls_client_connection_get_server_identity" result
result' <- (newObject SocketConnectable) result
touchManagedPtr _obj
return result'
data TlsClientConnectionGetServerIdentityMethodInfo
instance (signature ~ (m SocketConnectable), MonadIO m, TlsClientConnectionK a) => MethodInfo TlsClientConnectionGetServerIdentityMethodInfo a signature where
overloadedMethod _ = tlsClientConnectionGetServerIdentity
-- method TlsClientConnection::get_use_ssl3
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "TlsClientConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_tls_client_connection_get_use_ssl3" g_tls_client_connection_get_use_ssl3 ::
Ptr TlsClientConnection -> -- _obj : TInterface "Gio" "TlsClientConnection"
IO CInt
tlsClientConnectionGetUseSsl3 ::
(MonadIO m, TlsClientConnectionK a) =>
a -- _obj
-> m Bool -- result
tlsClientConnectionGetUseSsl3 _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_tls_client_connection_get_use_ssl3 _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data TlsClientConnectionGetUseSsl3MethodInfo
instance (signature ~ (m Bool), MonadIO m, TlsClientConnectionK a) => MethodInfo TlsClientConnectionGetUseSsl3MethodInfo a signature where
overloadedMethod _ = tlsClientConnectionGetUseSsl3
-- method TlsClientConnection::get_validation_flags
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "TlsClientConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gio" "TlsCertificateFlags"
-- throws : False
-- Skip return : False
foreign import ccall "g_tls_client_connection_get_validation_flags" g_tls_client_connection_get_validation_flags ::
Ptr TlsClientConnection -> -- _obj : TInterface "Gio" "TlsClientConnection"
IO CUInt
tlsClientConnectionGetValidationFlags ::
(MonadIO m, TlsClientConnectionK a) =>
a -- _obj
-> m [TlsCertificateFlags] -- result
tlsClientConnectionGetValidationFlags _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_tls_client_connection_get_validation_flags _obj'
let result' = wordToGFlags result
touchManagedPtr _obj
return result'
data TlsClientConnectionGetValidationFlagsMethodInfo
instance (signature ~ (m [TlsCertificateFlags]), MonadIO m, TlsClientConnectionK a) => MethodInfo TlsClientConnectionGetValidationFlagsMethodInfo a signature where
overloadedMethod _ = tlsClientConnectionGetValidationFlags
-- method TlsClientConnection::set_server_identity
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "TlsClientConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "identity", argType = TInterface "Gio" "SocketConnectable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_tls_client_connection_set_server_identity" g_tls_client_connection_set_server_identity ::
Ptr TlsClientConnection -> -- _obj : TInterface "Gio" "TlsClientConnection"
Ptr SocketConnectable -> -- identity : TInterface "Gio" "SocketConnectable"
IO ()
tlsClientConnectionSetServerIdentity ::
(MonadIO m, TlsClientConnectionK a, SocketConnectableK b) =>
a -- _obj
-> b -- identity
-> m () -- result
tlsClientConnectionSetServerIdentity _obj identity = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let identity' = unsafeManagedPtrCastPtr identity
g_tls_client_connection_set_server_identity _obj' identity'
touchManagedPtr _obj
touchManagedPtr identity
return ()
data TlsClientConnectionSetServerIdentityMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, TlsClientConnectionK a, SocketConnectableK b) => MethodInfo TlsClientConnectionSetServerIdentityMethodInfo a signature where
overloadedMethod _ = tlsClientConnectionSetServerIdentity
-- method TlsClientConnection::set_use_ssl3
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "TlsClientConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_ssl3", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_tls_client_connection_set_use_ssl3" g_tls_client_connection_set_use_ssl3 ::
Ptr TlsClientConnection -> -- _obj : TInterface "Gio" "TlsClientConnection"
CInt -> -- use_ssl3 : TBasicType TBoolean
IO ()
tlsClientConnectionSetUseSsl3 ::
(MonadIO m, TlsClientConnectionK a) =>
a -- _obj
-> Bool -- useSsl3
-> m () -- result
tlsClientConnectionSetUseSsl3 _obj useSsl3 = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let useSsl3' = (fromIntegral . fromEnum) useSsl3
g_tls_client_connection_set_use_ssl3 _obj' useSsl3'
touchManagedPtr _obj
return ()
data TlsClientConnectionSetUseSsl3MethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, TlsClientConnectionK a) => MethodInfo TlsClientConnectionSetUseSsl3MethodInfo a signature where
overloadedMethod _ = tlsClientConnectionSetUseSsl3
-- method TlsClientConnection::set_validation_flags
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "TlsClientConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Gio" "TlsCertificateFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_tls_client_connection_set_validation_flags" g_tls_client_connection_set_validation_flags ::
Ptr TlsClientConnection -> -- _obj : TInterface "Gio" "TlsClientConnection"
CUInt -> -- flags : TInterface "Gio" "TlsCertificateFlags"
IO ()
tlsClientConnectionSetValidationFlags ::
(MonadIO m, TlsClientConnectionK a) =>
a -- _obj
-> [TlsCertificateFlags] -- flags
-> m () -- result
tlsClientConnectionSetValidationFlags _obj flags = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let flags' = gflagsToWord flags
g_tls_client_connection_set_validation_flags _obj' flags'
touchManagedPtr _obj
return ()
data TlsClientConnectionSetValidationFlagsMethodInfo
instance (signature ~ ([TlsCertificateFlags] -> m ()), MonadIO m, TlsClientConnectionK a) => MethodInfo TlsClientConnectionSetValidationFlagsMethodInfo a signature where
overloadedMethod _ = tlsClientConnectionSetValidationFlags
-- method TlsClientConnection::new
-- method type : MemberFunction
-- Args : [Arg {argCName = "base_io_stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "server_identity", argType = TInterface "Gio" "SocketConnectable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gio" "TlsClientConnection"
-- throws : True
-- Skip return : False
foreign import ccall "g_tls_client_connection_new" g_tls_client_connection_new ::
Ptr IOStream -> -- base_io_stream : TInterface "Gio" "IOStream"
Ptr SocketConnectable -> -- server_identity : TInterface "Gio" "SocketConnectable"
Ptr (Ptr GError) -> -- error
IO (Ptr TlsClientConnection)
tlsClientConnectionNew ::
(MonadIO m, IOStreamK a, SocketConnectableK b) =>
a -- baseIoStream
-> Maybe (b) -- serverIdentity
-> m TlsClientConnection -- result
tlsClientConnectionNew baseIoStream serverIdentity = liftIO $ do
let baseIoStream' = unsafeManagedPtrCastPtr baseIoStream
maybeServerIdentity <- case serverIdentity of
Nothing -> return nullPtr
Just jServerIdentity -> do
let jServerIdentity' = unsafeManagedPtrCastPtr jServerIdentity
return jServerIdentity'
onException (do
result <- propagateGError $ g_tls_client_connection_new baseIoStream' maybeServerIdentity
checkUnexpectedReturnNULL "g_tls_client_connection_new" result
result' <- (wrapObject TlsClientConnection) result
touchManagedPtr baseIoStream
whenJust serverIdentity touchManagedPtr
return result'
) (do
return ()
)