{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- IEEE 802.1x Authentication Settings

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

module GI.NM.Objects.Setting8021x
    ( 

-- * Exported types
    Setting8021x(..)                        ,
    IsSetting8021x                          ,
    toSetting8021x                          ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [addAltsubjectMatch]("GI.NM.Objects.Setting8021x#g:method:addAltsubjectMatch"), [addEapMethod]("GI.NM.Objects.Setting8021x#g:method:addEapMethod"), [addPhase2AltsubjectMatch]("GI.NM.Objects.Setting8021x#g:method:addPhase2AltsubjectMatch"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [clearAltsubjectMatches]("GI.NM.Objects.Setting8021x#g:method:clearAltsubjectMatches"), [clearEapMethods]("GI.NM.Objects.Setting8021x#g:method:clearEapMethods"), [clearPhase2AltsubjectMatches]("GI.NM.Objects.Setting8021x#g:method:clearPhase2AltsubjectMatches"), [compare]("GI.NM.Objects.Setting#g:method:compare"), [diff]("GI.NM.Objects.Setting#g:method:diff"), [duplicate]("GI.NM.Objects.Setting#g:method:duplicate"), [enumerateValues]("GI.NM.Objects.Setting#g:method:enumerateValues"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [optionClearByName]("GI.NM.Objects.Setting#g:method:optionClearByName"), [optionGet]("GI.NM.Objects.Setting#g:method:optionGet"), [optionGetAllNames]("GI.NM.Objects.Setting#g:method:optionGetAllNames"), [optionGetBoolean]("GI.NM.Objects.Setting#g:method:optionGetBoolean"), [optionGetUint32]("GI.NM.Objects.Setting#g:method:optionGetUint32"), [optionSet]("GI.NM.Objects.Setting#g:method:optionSet"), [optionSetBoolean]("GI.NM.Objects.Setting#g:method:optionSetBoolean"), [optionSetUint32]("GI.NM.Objects.Setting#g:method:optionSetUint32"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [removeAltsubjectMatch]("GI.NM.Objects.Setting8021x#g:method:removeAltsubjectMatch"), [removeAltsubjectMatchByValue]("GI.NM.Objects.Setting8021x#g:method:removeAltsubjectMatchByValue"), [removeEapMethod]("GI.NM.Objects.Setting8021x#g:method:removeEapMethod"), [removeEapMethodByValue]("GI.NM.Objects.Setting8021x#g:method:removeEapMethodByValue"), [removePhase2AltsubjectMatch]("GI.NM.Objects.Setting8021x#g:method:removePhase2AltsubjectMatch"), [removePhase2AltsubjectMatchByValue]("GI.NM.Objects.Setting8021x#g:method:removePhase2AltsubjectMatchByValue"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [toString]("GI.NM.Objects.Setting#g:method:toString"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [verify]("GI.NM.Objects.Setting#g:method:verify"), [verifySecrets]("GI.NM.Objects.Setting#g:method:verifySecrets"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getAltsubjectMatch]("GI.NM.Objects.Setting8021x#g:method:getAltsubjectMatch"), [getAnonymousIdentity]("GI.NM.Objects.Setting8021x#g:method:getAnonymousIdentity"), [getAuthTimeout]("GI.NM.Objects.Setting8021x#g:method:getAuthTimeout"), [getCaCertBlob]("GI.NM.Objects.Setting8021x#g:method:getCaCertBlob"), [getCaCertPassword]("GI.NM.Objects.Setting8021x#g:method:getCaCertPassword"), [getCaCertPasswordFlags]("GI.NM.Objects.Setting8021x#g:method:getCaCertPasswordFlags"), [getCaCertPath]("GI.NM.Objects.Setting8021x#g:method:getCaCertPath"), [getCaCertScheme]("GI.NM.Objects.Setting8021x#g:method:getCaCertScheme"), [getCaCertUri]("GI.NM.Objects.Setting8021x#g:method:getCaCertUri"), [getCaPath]("GI.NM.Objects.Setting8021x#g:method:getCaPath"), [getClientCertBlob]("GI.NM.Objects.Setting8021x#g:method:getClientCertBlob"), [getClientCertPassword]("GI.NM.Objects.Setting8021x#g:method:getClientCertPassword"), [getClientCertPasswordFlags]("GI.NM.Objects.Setting8021x#g:method:getClientCertPasswordFlags"), [getClientCertPath]("GI.NM.Objects.Setting8021x#g:method:getClientCertPath"), [getClientCertScheme]("GI.NM.Objects.Setting8021x#g:method:getClientCertScheme"), [getClientCertUri]("GI.NM.Objects.Setting8021x#g:method:getClientCertUri"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDbusPropertyType]("GI.NM.Objects.Setting#g:method:getDbusPropertyType"), [getDomainMatch]("GI.NM.Objects.Setting8021x#g:method:getDomainMatch"), [getDomainSuffixMatch]("GI.NM.Objects.Setting8021x#g:method:getDomainSuffixMatch"), [getEapMethod]("GI.NM.Objects.Setting8021x#g:method:getEapMethod"), [getIdentity]("GI.NM.Objects.Setting8021x#g:method:getIdentity"), [getName]("GI.NM.Objects.Setting#g:method:getName"), [getNumAltsubjectMatches]("GI.NM.Objects.Setting8021x#g:method:getNumAltsubjectMatches"), [getNumEapMethods]("GI.NM.Objects.Setting8021x#g:method:getNumEapMethods"), [getNumPhase2AltsubjectMatches]("GI.NM.Objects.Setting8021x#g:method:getNumPhase2AltsubjectMatches"), [getOpensslCiphers]("GI.NM.Objects.Setting8021x#g:method:getOpensslCiphers"), [getOptional]("GI.NM.Objects.Setting8021x#g:method:getOptional"), [getPacFile]("GI.NM.Objects.Setting8021x#g:method:getPacFile"), [getPassword]("GI.NM.Objects.Setting8021x#g:method:getPassword"), [getPasswordFlags]("GI.NM.Objects.Setting8021x#g:method:getPasswordFlags"), [getPasswordRaw]("GI.NM.Objects.Setting8021x#g:method:getPasswordRaw"), [getPasswordRawFlags]("GI.NM.Objects.Setting8021x#g:method:getPasswordRawFlags"), [getPhase1AuthFlags]("GI.NM.Objects.Setting8021x#g:method:getPhase1AuthFlags"), [getPhase1FastProvisioning]("GI.NM.Objects.Setting8021x#g:method:getPhase1FastProvisioning"), [getPhase1Peaplabel]("GI.NM.Objects.Setting8021x#g:method:getPhase1Peaplabel"), [getPhase1Peapver]("GI.NM.Objects.Setting8021x#g:method:getPhase1Peapver"), [getPhase2AltsubjectMatch]("GI.NM.Objects.Setting8021x#g:method:getPhase2AltsubjectMatch"), [getPhase2Auth]("GI.NM.Objects.Setting8021x#g:method:getPhase2Auth"), [getPhase2Autheap]("GI.NM.Objects.Setting8021x#g:method:getPhase2Autheap"), [getPhase2CaCertBlob]("GI.NM.Objects.Setting8021x#g:method:getPhase2CaCertBlob"), [getPhase2CaCertPassword]("GI.NM.Objects.Setting8021x#g:method:getPhase2CaCertPassword"), [getPhase2CaCertPasswordFlags]("GI.NM.Objects.Setting8021x#g:method:getPhase2CaCertPasswordFlags"), [getPhase2CaCertPath]("GI.NM.Objects.Setting8021x#g:method:getPhase2CaCertPath"), [getPhase2CaCertScheme]("GI.NM.Objects.Setting8021x#g:method:getPhase2CaCertScheme"), [getPhase2CaCertUri]("GI.NM.Objects.Setting8021x#g:method:getPhase2CaCertUri"), [getPhase2CaPath]("GI.NM.Objects.Setting8021x#g:method:getPhase2CaPath"), [getPhase2ClientCertBlob]("GI.NM.Objects.Setting8021x#g:method:getPhase2ClientCertBlob"), [getPhase2ClientCertPassword]("GI.NM.Objects.Setting8021x#g:method:getPhase2ClientCertPassword"), [getPhase2ClientCertPasswordFlags]("GI.NM.Objects.Setting8021x#g:method:getPhase2ClientCertPasswordFlags"), [getPhase2ClientCertPath]("GI.NM.Objects.Setting8021x#g:method:getPhase2ClientCertPath"), [getPhase2ClientCertScheme]("GI.NM.Objects.Setting8021x#g:method:getPhase2ClientCertScheme"), [getPhase2ClientCertUri]("GI.NM.Objects.Setting8021x#g:method:getPhase2ClientCertUri"), [getPhase2DomainMatch]("GI.NM.Objects.Setting8021x#g:method:getPhase2DomainMatch"), [getPhase2DomainSuffixMatch]("GI.NM.Objects.Setting8021x#g:method:getPhase2DomainSuffixMatch"), [getPhase2PrivateKeyBlob]("GI.NM.Objects.Setting8021x#g:method:getPhase2PrivateKeyBlob"), [getPhase2PrivateKeyFormat]("GI.NM.Objects.Setting8021x#g:method:getPhase2PrivateKeyFormat"), [getPhase2PrivateKeyPassword]("GI.NM.Objects.Setting8021x#g:method:getPhase2PrivateKeyPassword"), [getPhase2PrivateKeyPasswordFlags]("GI.NM.Objects.Setting8021x#g:method:getPhase2PrivateKeyPasswordFlags"), [getPhase2PrivateKeyPath]("GI.NM.Objects.Setting8021x#g:method:getPhase2PrivateKeyPath"), [getPhase2PrivateKeyScheme]("GI.NM.Objects.Setting8021x#g:method:getPhase2PrivateKeyScheme"), [getPhase2PrivateKeyUri]("GI.NM.Objects.Setting8021x#g:method:getPhase2PrivateKeyUri"), [getPhase2SubjectMatch]("GI.NM.Objects.Setting8021x#g:method:getPhase2SubjectMatch"), [getPin]("GI.NM.Objects.Setting8021x#g:method:getPin"), [getPinFlags]("GI.NM.Objects.Setting8021x#g:method:getPinFlags"), [getPrivateKeyBlob]("GI.NM.Objects.Setting8021x#g:method:getPrivateKeyBlob"), [getPrivateKeyFormat]("GI.NM.Objects.Setting8021x#g:method:getPrivateKeyFormat"), [getPrivateKeyPassword]("GI.NM.Objects.Setting8021x#g:method:getPrivateKeyPassword"), [getPrivateKeyPasswordFlags]("GI.NM.Objects.Setting8021x#g:method:getPrivateKeyPasswordFlags"), [getPrivateKeyPath]("GI.NM.Objects.Setting8021x#g:method:getPrivateKeyPath"), [getPrivateKeyScheme]("GI.NM.Objects.Setting8021x#g:method:getPrivateKeyScheme"), [getPrivateKeyUri]("GI.NM.Objects.Setting8021x#g:method:getPrivateKeyUri"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getSecretFlags]("GI.NM.Objects.Setting#g:method:getSecretFlags"), [getSubjectMatch]("GI.NM.Objects.Setting8021x#g:method:getSubjectMatch"), [getSystemCaCerts]("GI.NM.Objects.Setting8021x#g:method:getSystemCaCerts").
-- 
-- ==== Setters
-- [setCaCert]("GI.NM.Objects.Setting8021x#g:method:setCaCert"), [setClientCert]("GI.NM.Objects.Setting8021x#g:method:setClientCert"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setPhase2CaCert]("GI.NM.Objects.Setting8021x#g:method:setPhase2CaCert"), [setPhase2ClientCert]("GI.NM.Objects.Setting8021x#g:method:setPhase2ClientCert"), [setPhase2PrivateKey]("GI.NM.Objects.Setting8021x#g:method:setPhase2PrivateKey"), [setPrivateKey]("GI.NM.Objects.Setting8021x#g:method:setPrivateKey"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setSecretFlags]("GI.NM.Objects.Setting#g:method:setSecretFlags").

#if defined(ENABLE_OVERLOADING)
    ResolveSetting8021xMethod               ,
#endif

-- ** addAltsubjectMatch #method:addAltsubjectMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xAddAltsubjectMatchMethodInfo,
#endif
    setting8021xAddAltsubjectMatch          ,


-- ** addEapMethod #method:addEapMethod#

#if defined(ENABLE_OVERLOADING)
    Setting8021xAddEapMethodMethodInfo      ,
#endif
    setting8021xAddEapMethod                ,


-- ** addPhase2AltsubjectMatch #method:addPhase2AltsubjectMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xAddPhase2AltsubjectMatchMethodInfo,
#endif
    setting8021xAddPhase2AltsubjectMatch    ,


-- ** checkCertScheme #method:checkCertScheme#

    setting8021xCheckCertScheme             ,


-- ** clearAltsubjectMatches #method:clearAltsubjectMatches#

#if defined(ENABLE_OVERLOADING)
    Setting8021xClearAltsubjectMatchesMethodInfo,
#endif
    setting8021xClearAltsubjectMatches      ,


-- ** clearEapMethods #method:clearEapMethods#

#if defined(ENABLE_OVERLOADING)
    Setting8021xClearEapMethodsMethodInfo   ,
#endif
    setting8021xClearEapMethods             ,


-- ** clearPhase2AltsubjectMatches #method:clearPhase2AltsubjectMatches#

#if defined(ENABLE_OVERLOADING)
    Setting8021xClearPhase2AltsubjectMatchesMethodInfo,
#endif
    setting8021xClearPhase2AltsubjectMatches,


-- ** getAltsubjectMatch #method:getAltsubjectMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetAltsubjectMatchMethodInfo,
#endif
    setting8021xGetAltsubjectMatch          ,


-- ** getAnonymousIdentity #method:getAnonymousIdentity#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetAnonymousIdentityMethodInfo,
#endif
    setting8021xGetAnonymousIdentity        ,


-- ** getAuthTimeout #method:getAuthTimeout#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetAuthTimeoutMethodInfo    ,
#endif
    setting8021xGetAuthTimeout              ,


-- ** getCaCertBlob #method:getCaCertBlob#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetCaCertBlobMethodInfo     ,
#endif
    setting8021xGetCaCertBlob               ,


-- ** getCaCertPassword #method:getCaCertPassword#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetCaCertPasswordMethodInfo ,
#endif
    setting8021xGetCaCertPassword           ,


-- ** getCaCertPasswordFlags #method:getCaCertPasswordFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetCaCertPasswordFlagsMethodInfo,
#endif
    setting8021xGetCaCertPasswordFlags      ,


-- ** getCaCertPath #method:getCaCertPath#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetCaCertPathMethodInfo     ,
#endif
    setting8021xGetCaCertPath               ,


-- ** getCaCertScheme #method:getCaCertScheme#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetCaCertSchemeMethodInfo   ,
#endif
    setting8021xGetCaCertScheme             ,


-- ** getCaCertUri #method:getCaCertUri#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetCaCertUriMethodInfo      ,
#endif
    setting8021xGetCaCertUri                ,


-- ** getCaPath #method:getCaPath#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetCaPathMethodInfo         ,
#endif
    setting8021xGetCaPath                   ,


-- ** getClientCertBlob #method:getClientCertBlob#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetClientCertBlobMethodInfo ,
#endif
    setting8021xGetClientCertBlob           ,


-- ** getClientCertPassword #method:getClientCertPassword#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetClientCertPasswordMethodInfo,
#endif
    setting8021xGetClientCertPassword       ,


-- ** getClientCertPasswordFlags #method:getClientCertPasswordFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetClientCertPasswordFlagsMethodInfo,
#endif
    setting8021xGetClientCertPasswordFlags  ,


-- ** getClientCertPath #method:getClientCertPath#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetClientCertPathMethodInfo ,
#endif
    setting8021xGetClientCertPath           ,


-- ** getClientCertScheme #method:getClientCertScheme#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetClientCertSchemeMethodInfo,
#endif
    setting8021xGetClientCertScheme         ,


-- ** getClientCertUri #method:getClientCertUri#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetClientCertUriMethodInfo  ,
#endif
    setting8021xGetClientCertUri            ,


-- ** getDomainMatch #method:getDomainMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetDomainMatchMethodInfo    ,
#endif
    setting8021xGetDomainMatch              ,


-- ** getDomainSuffixMatch #method:getDomainSuffixMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetDomainSuffixMatchMethodInfo,
#endif
    setting8021xGetDomainSuffixMatch        ,


-- ** getEapMethod #method:getEapMethod#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetEapMethodMethodInfo      ,
#endif
    setting8021xGetEapMethod                ,


-- ** getIdentity #method:getIdentity#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetIdentityMethodInfo       ,
#endif
    setting8021xGetIdentity                 ,


-- ** getNumAltsubjectMatches #method:getNumAltsubjectMatches#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetNumAltsubjectMatchesMethodInfo,
#endif
    setting8021xGetNumAltsubjectMatches     ,


-- ** getNumEapMethods #method:getNumEapMethods#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetNumEapMethodsMethodInfo  ,
#endif
    setting8021xGetNumEapMethods            ,


-- ** getNumPhase2AltsubjectMatches #method:getNumPhase2AltsubjectMatches#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetNumPhase2AltsubjectMatchesMethodInfo,
#endif
    setting8021xGetNumPhase2AltsubjectMatches,


-- ** getOpensslCiphers #method:getOpensslCiphers#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetOpensslCiphersMethodInfo ,
#endif
    setting8021xGetOpensslCiphers           ,


-- ** getOptional #method:getOptional#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetOptionalMethodInfo       ,
#endif
    setting8021xGetOptional                 ,


-- ** getPacFile #method:getPacFile#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPacFileMethodInfo        ,
#endif
    setting8021xGetPacFile                  ,


-- ** getPassword #method:getPassword#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPasswordMethodInfo       ,
#endif
    setting8021xGetPassword                 ,


-- ** getPasswordFlags #method:getPasswordFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPasswordFlagsMethodInfo  ,
#endif
    setting8021xGetPasswordFlags            ,


-- ** getPasswordRaw #method:getPasswordRaw#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPasswordRawMethodInfo    ,
#endif
    setting8021xGetPasswordRaw              ,


-- ** getPasswordRawFlags #method:getPasswordRawFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPasswordRawFlagsMethodInfo,
#endif
    setting8021xGetPasswordRawFlags         ,


-- ** getPhase1AuthFlags #method:getPhase1AuthFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase1AuthFlagsMethodInfo,
#endif
    setting8021xGetPhase1AuthFlags          ,


-- ** getPhase1FastProvisioning #method:getPhase1FastProvisioning#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase1FastProvisioningMethodInfo,
#endif
    setting8021xGetPhase1FastProvisioning   ,


-- ** getPhase1Peaplabel #method:getPhase1Peaplabel#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase1PeaplabelMethodInfo,
#endif
    setting8021xGetPhase1Peaplabel          ,


-- ** getPhase1Peapver #method:getPhase1Peapver#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase1PeapverMethodInfo  ,
#endif
    setting8021xGetPhase1Peapver            ,


-- ** getPhase2AltsubjectMatch #method:getPhase2AltsubjectMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2AltsubjectMatchMethodInfo,
#endif
    setting8021xGetPhase2AltsubjectMatch    ,


-- ** getPhase2Auth #method:getPhase2Auth#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2AuthMethodInfo     ,
#endif
    setting8021xGetPhase2Auth               ,


-- ** getPhase2Autheap #method:getPhase2Autheap#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2AutheapMethodInfo  ,
#endif
    setting8021xGetPhase2Autheap            ,


-- ** getPhase2CaCertBlob #method:getPhase2CaCertBlob#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2CaCertBlobMethodInfo,
#endif
    setting8021xGetPhase2CaCertBlob         ,


-- ** getPhase2CaCertPassword #method:getPhase2CaCertPassword#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2CaCertPasswordMethodInfo,
#endif
    setting8021xGetPhase2CaCertPassword     ,


-- ** getPhase2CaCertPasswordFlags #method:getPhase2CaCertPasswordFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2CaCertPasswordFlagsMethodInfo,
#endif
    setting8021xGetPhase2CaCertPasswordFlags,


-- ** getPhase2CaCertPath #method:getPhase2CaCertPath#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2CaCertPathMethodInfo,
#endif
    setting8021xGetPhase2CaCertPath         ,


-- ** getPhase2CaCertScheme #method:getPhase2CaCertScheme#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2CaCertSchemeMethodInfo,
#endif
    setting8021xGetPhase2CaCertScheme       ,


-- ** getPhase2CaCertUri #method:getPhase2CaCertUri#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2CaCertUriMethodInfo,
#endif
    setting8021xGetPhase2CaCertUri          ,


-- ** getPhase2CaPath #method:getPhase2CaPath#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2CaPathMethodInfo   ,
#endif
    setting8021xGetPhase2CaPath             ,


-- ** getPhase2ClientCertBlob #method:getPhase2ClientCertBlob#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2ClientCertBlobMethodInfo,
#endif
    setting8021xGetPhase2ClientCertBlob     ,


-- ** getPhase2ClientCertPassword #method:getPhase2ClientCertPassword#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2ClientCertPasswordMethodInfo,
#endif
    setting8021xGetPhase2ClientCertPassword ,


-- ** getPhase2ClientCertPasswordFlags #method:getPhase2ClientCertPasswordFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2ClientCertPasswordFlagsMethodInfo,
#endif
    setting8021xGetPhase2ClientCertPasswordFlags,


-- ** getPhase2ClientCertPath #method:getPhase2ClientCertPath#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2ClientCertPathMethodInfo,
#endif
    setting8021xGetPhase2ClientCertPath     ,


-- ** getPhase2ClientCertScheme #method:getPhase2ClientCertScheme#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2ClientCertSchemeMethodInfo,
#endif
    setting8021xGetPhase2ClientCertScheme   ,


-- ** getPhase2ClientCertUri #method:getPhase2ClientCertUri#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2ClientCertUriMethodInfo,
#endif
    setting8021xGetPhase2ClientCertUri      ,


-- ** getPhase2DomainMatch #method:getPhase2DomainMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2DomainMatchMethodInfo,
#endif
    setting8021xGetPhase2DomainMatch        ,


-- ** getPhase2DomainSuffixMatch #method:getPhase2DomainSuffixMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2DomainSuffixMatchMethodInfo,
#endif
    setting8021xGetPhase2DomainSuffixMatch  ,


-- ** getPhase2PrivateKeyBlob #method:getPhase2PrivateKeyBlob#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2PrivateKeyBlobMethodInfo,
#endif
    setting8021xGetPhase2PrivateKeyBlob     ,


-- ** getPhase2PrivateKeyFormat #method:getPhase2PrivateKeyFormat#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2PrivateKeyFormatMethodInfo,
#endif
    setting8021xGetPhase2PrivateKeyFormat   ,


-- ** getPhase2PrivateKeyPassword #method:getPhase2PrivateKeyPassword#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2PrivateKeyPasswordMethodInfo,
#endif
    setting8021xGetPhase2PrivateKeyPassword ,


-- ** getPhase2PrivateKeyPasswordFlags #method:getPhase2PrivateKeyPasswordFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2PrivateKeyPasswordFlagsMethodInfo,
#endif
    setting8021xGetPhase2PrivateKeyPasswordFlags,


-- ** getPhase2PrivateKeyPath #method:getPhase2PrivateKeyPath#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2PrivateKeyPathMethodInfo,
#endif
    setting8021xGetPhase2PrivateKeyPath     ,


-- ** getPhase2PrivateKeyScheme #method:getPhase2PrivateKeyScheme#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2PrivateKeySchemeMethodInfo,
#endif
    setting8021xGetPhase2PrivateKeyScheme   ,


-- ** getPhase2PrivateKeyUri #method:getPhase2PrivateKeyUri#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2PrivateKeyUriMethodInfo,
#endif
    setting8021xGetPhase2PrivateKeyUri      ,


-- ** getPhase2SubjectMatch #method:getPhase2SubjectMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPhase2SubjectMatchMethodInfo,
#endif
    setting8021xGetPhase2SubjectMatch       ,


-- ** getPin #method:getPin#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPinMethodInfo            ,
#endif
    setting8021xGetPin                      ,


-- ** getPinFlags #method:getPinFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPinFlagsMethodInfo       ,
#endif
    setting8021xGetPinFlags                 ,


-- ** getPrivateKeyBlob #method:getPrivateKeyBlob#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPrivateKeyBlobMethodInfo ,
#endif
    setting8021xGetPrivateKeyBlob           ,


-- ** getPrivateKeyFormat #method:getPrivateKeyFormat#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPrivateKeyFormatMethodInfo,
#endif
    setting8021xGetPrivateKeyFormat         ,


-- ** getPrivateKeyPassword #method:getPrivateKeyPassword#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPrivateKeyPasswordMethodInfo,
#endif
    setting8021xGetPrivateKeyPassword       ,


-- ** getPrivateKeyPasswordFlags #method:getPrivateKeyPasswordFlags#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPrivateKeyPasswordFlagsMethodInfo,
#endif
    setting8021xGetPrivateKeyPasswordFlags  ,


-- ** getPrivateKeyPath #method:getPrivateKeyPath#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPrivateKeyPathMethodInfo ,
#endif
    setting8021xGetPrivateKeyPath           ,


-- ** getPrivateKeyScheme #method:getPrivateKeyScheme#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPrivateKeySchemeMethodInfo,
#endif
    setting8021xGetPrivateKeyScheme         ,


-- ** getPrivateKeyUri #method:getPrivateKeyUri#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetPrivateKeyUriMethodInfo  ,
#endif
    setting8021xGetPrivateKeyUri            ,


-- ** getSubjectMatch #method:getSubjectMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetSubjectMatchMethodInfo   ,
#endif
    setting8021xGetSubjectMatch             ,


-- ** getSystemCaCerts #method:getSystemCaCerts#

#if defined(ENABLE_OVERLOADING)
    Setting8021xGetSystemCaCertsMethodInfo  ,
#endif
    setting8021xGetSystemCaCerts            ,


-- ** new #method:new#

    setting8021xNew                         ,


-- ** removeAltsubjectMatch #method:removeAltsubjectMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xRemoveAltsubjectMatchMethodInfo,
#endif
    setting8021xRemoveAltsubjectMatch       ,


-- ** removeAltsubjectMatchByValue #method:removeAltsubjectMatchByValue#

#if defined(ENABLE_OVERLOADING)
    Setting8021xRemoveAltsubjectMatchByValueMethodInfo,
#endif
    setting8021xRemoveAltsubjectMatchByValue,


-- ** removeEapMethod #method:removeEapMethod#

#if defined(ENABLE_OVERLOADING)
    Setting8021xRemoveEapMethodMethodInfo   ,
#endif
    setting8021xRemoveEapMethod             ,


-- ** removeEapMethodByValue #method:removeEapMethodByValue#

#if defined(ENABLE_OVERLOADING)
    Setting8021xRemoveEapMethodByValueMethodInfo,
#endif
    setting8021xRemoveEapMethodByValue      ,


-- ** removePhase2AltsubjectMatch #method:removePhase2AltsubjectMatch#

#if defined(ENABLE_OVERLOADING)
    Setting8021xRemovePhase2AltsubjectMatchMethodInfo,
#endif
    setting8021xRemovePhase2AltsubjectMatch ,


-- ** removePhase2AltsubjectMatchByValue #method:removePhase2AltsubjectMatchByValue#

#if defined(ENABLE_OVERLOADING)
    Setting8021xRemovePhase2AltsubjectMatchByValueMethodInfo,
#endif
    setting8021xRemovePhase2AltsubjectMatchByValue,


-- ** setCaCert #method:setCaCert#

#if defined(ENABLE_OVERLOADING)
    Setting8021xSetCaCertMethodInfo         ,
#endif
    setting8021xSetCaCert                   ,


-- ** setClientCert #method:setClientCert#

#if defined(ENABLE_OVERLOADING)
    Setting8021xSetClientCertMethodInfo     ,
#endif
    setting8021xSetClientCert               ,


-- ** setPhase2CaCert #method:setPhase2CaCert#

#if defined(ENABLE_OVERLOADING)
    Setting8021xSetPhase2CaCertMethodInfo   ,
#endif
    setting8021xSetPhase2CaCert             ,


-- ** setPhase2ClientCert #method:setPhase2ClientCert#

#if defined(ENABLE_OVERLOADING)
    Setting8021xSetPhase2ClientCertMethodInfo,
#endif
    setting8021xSetPhase2ClientCert         ,


-- ** setPhase2PrivateKey #method:setPhase2PrivateKey#

#if defined(ENABLE_OVERLOADING)
    Setting8021xSetPhase2PrivateKeyMethodInfo,
#endif
    setting8021xSetPhase2PrivateKey         ,


-- ** setPrivateKey #method:setPrivateKey#

#if defined(ENABLE_OVERLOADING)
    Setting8021xSetPrivateKeyMethodInfo     ,
#endif
    setting8021xSetPrivateKey               ,




 -- * Properties


-- ** altsubjectMatches #attr:altsubjectMatches#
-- | List of strings to be matched against the altSubjectName of the
-- certificate presented by the authentication server. If the list is empty,
-- no verification of the server certificate\'s altSubjectName is performed.

#if defined(ENABLE_OVERLOADING)
    Setting8021xAltsubjectMatchesPropertyInfo,
#endif
    clearSetting8021xAltsubjectMatches      ,
    constructSetting8021xAltsubjectMatches  ,
    getSetting8021xAltsubjectMatches        ,
    setSetting8021xAltsubjectMatches        ,
#if defined(ENABLE_OVERLOADING)
    setting8021xAltsubjectMatches           ,
#endif


-- ** anonymousIdentity #attr:anonymousIdentity#
-- | Anonymous identity string for EAP authentication methods.  Used as the
-- unencrypted identity with EAP types that support different tunneled
-- identity like EAP-TTLS.

#if defined(ENABLE_OVERLOADING)
    Setting8021xAnonymousIdentityPropertyInfo,
#endif
    clearSetting8021xAnonymousIdentity      ,
    constructSetting8021xAnonymousIdentity  ,
    getSetting8021xAnonymousIdentity        ,
    setSetting8021xAnonymousIdentity        ,
#if defined(ENABLE_OVERLOADING)
    setting8021xAnonymousIdentity           ,
#endif


-- ** authTimeout #attr:authTimeout#
-- | A timeout for the authentication. Zero means the global default; if the
-- global default is not set, the authentication timeout is 25 seconds.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xAuthTimeoutPropertyInfo     ,
#endif
    constructSetting8021xAuthTimeout        ,
    getSetting8021xAuthTimeout              ,
    setSetting8021xAuthTimeout              ,
#if defined(ENABLE_OVERLOADING)
    setting8021xAuthTimeout                 ,
#endif


-- ** caCert #attr:caCert#
-- | Contains the CA certificate if used by the EAP method specified in the
-- [Setting8021x:eap]("GI.NM.Objects.Setting8021x#g:attr:eap") property.
-- 
-- Certificate data is specified using a \"scheme\"; three are currently
-- supported: blob, path and pkcs@/11/@ URL. When using the blob scheme this property
-- should be set to the certificate\'s DER encoded data. When using the path
-- scheme, this property should be set to the full UTF-8 encoded path of the
-- certificate, prefixed with the string \"file:\/\/\" and ending with a terminating
-- NUL byte.
-- This property can be unset even if the EAP method supports CA certificates,
-- but this allows man-in-the-middle attacks and is NOT recommended.
-- 
-- Note that enabling NMSetting8021x:system-ca-certs will override this
-- setting to use the built-in path, if the built-in path is not a directory.
-- 
-- Setting this property directly is discouraged; use the
-- 'GI.NM.Objects.Setting8021x.setting8021xSetCaCert' function instead.

#if defined(ENABLE_OVERLOADING)
    Setting8021xCaCertPropertyInfo          ,
#endif
    clearSetting8021xCaCert                 ,
    constructSetting8021xCaCert             ,
    getSetting8021xCaCert                   ,
    setSetting8021xCaCert                   ,
#if defined(ENABLE_OVERLOADING)
    setting8021xCaCert                      ,
#endif


-- ** caCertPassword #attr:caCertPassword#
-- | The password used to access the CA certificate stored in
-- [Setting8021x:caCert]("GI.NM.Objects.Setting8021x#g:attr:caCert") property. Only makes sense if the certificate
-- is stored on a PKCS#\<!-- -->11 token that requires a login.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xCaCertPasswordPropertyInfo  ,
#endif
    clearSetting8021xCaCertPassword         ,
    constructSetting8021xCaCertPassword     ,
    getSetting8021xCaCertPassword           ,
    setSetting8021xCaCertPassword           ,
#if defined(ENABLE_OVERLOADING)
    setting8021xCaCertPassword              ,
#endif


-- ** caCertPasswordFlags #attr:caCertPasswordFlags#
-- | Flags indicating how to handle the [Setting8021x:caCertPassword]("GI.NM.Objects.Setting8021x#g:attr:caCertPassword") property.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xCaCertPasswordFlagsPropertyInfo,
#endif
    constructSetting8021xCaCertPasswordFlags,
    getSetting8021xCaCertPasswordFlags      ,
    setSetting8021xCaCertPasswordFlags      ,
#if defined(ENABLE_OVERLOADING)
    setting8021xCaCertPasswordFlags         ,
#endif


-- ** caPath #attr:caPath#
-- | UTF-8 encoded path to a directory containing PEM or DER formatted
-- certificates to be added to the verification chain in addition to the
-- certificate specified in the [Setting8021x:caCert]("GI.NM.Objects.Setting8021x#g:attr:caCert") property.
-- 
-- If NMSetting8021x:system-ca-certs is enabled and the built-in CA
-- path is an existing directory, then this setting is ignored.

#if defined(ENABLE_OVERLOADING)
    Setting8021xCaPathPropertyInfo          ,
#endif
    clearSetting8021xCaPath                 ,
    constructSetting8021xCaPath             ,
    getSetting8021xCaPath                   ,
    setSetting8021xCaPath                   ,
#if defined(ENABLE_OVERLOADING)
    setting8021xCaPath                      ,
#endif


-- ** clientCert #attr:clientCert#
-- | Contains the client certificate if used by the EAP method specified in
-- the [Setting8021x:eap]("GI.NM.Objects.Setting8021x#g:attr:eap") property.
-- 
-- Certificate data is specified using a \"scheme\"; two are currently
-- supported: blob and path. When using the blob scheme (which is backwards
-- compatible with NM 0.7.x) this property should be set to the
-- certificate\'s DER encoded data. When using the path scheme, this property
-- should be set to the full UTF-8 encoded path of the certificate, prefixed
-- with the string \"file:\/\/\" and ending with a terminating NUL byte.
-- 
-- Setting this property directly is discouraged; use the
-- 'GI.NM.Objects.Setting8021x.setting8021xSetClientCert' function instead.

#if defined(ENABLE_OVERLOADING)
    Setting8021xClientCertPropertyInfo      ,
#endif
    clearSetting8021xClientCert             ,
    constructSetting8021xClientCert         ,
    getSetting8021xClientCert               ,
    setSetting8021xClientCert               ,
#if defined(ENABLE_OVERLOADING)
    setting8021xClientCert                  ,
#endif


-- ** clientCertPassword #attr:clientCertPassword#
-- | The password used to access the client certificate stored in
-- [Setting8021x:clientCert]("GI.NM.Objects.Setting8021x#g:attr:clientCert") property. Only makes sense if the certificate
-- is stored on a PKCS#\<!-- -->11 token that requires a login.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xClientCertPasswordPropertyInfo,
#endif
    clearSetting8021xClientCertPassword     ,
    constructSetting8021xClientCertPassword ,
    getSetting8021xClientCertPassword       ,
    setSetting8021xClientCertPassword       ,
#if defined(ENABLE_OVERLOADING)
    setting8021xClientCertPassword          ,
#endif


-- ** clientCertPasswordFlags #attr:clientCertPasswordFlags#
-- | Flags indicating how to handle the [Setting8021x:clientCertPassword]("GI.NM.Objects.Setting8021x#g:attr:clientCertPassword") property.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xClientCertPasswordFlagsPropertyInfo,
#endif
    constructSetting8021xClientCertPasswordFlags,
    getSetting8021xClientCertPasswordFlags  ,
    setSetting8021xClientCertPasswordFlags  ,
#if defined(ENABLE_OVERLOADING)
    setting8021xClientCertPasswordFlags     ,
#endif


-- ** domainMatch #attr:domainMatch#
-- | Constraint for server domain name. If set, this list of FQDNs is used as
-- a match requirement for dNSName element(s) of the certificate presented
-- by the authentication server.  If a matching dNSName is found, this
-- constraint is met.  If no dNSName values are present, this constraint is
-- matched against SubjectName CN using the same comparison.
-- Multiple valid FQDNs can be passed as a \";\" delimited list.
-- 
-- /Since: 1.24/

#if defined(ENABLE_OVERLOADING)
    Setting8021xDomainMatchPropertyInfo     ,
#endif
    clearSetting8021xDomainMatch            ,
    constructSetting8021xDomainMatch        ,
    getSetting8021xDomainMatch              ,
    setSetting8021xDomainMatch              ,
#if defined(ENABLE_OVERLOADING)
    setting8021xDomainMatch                 ,
#endif


-- ** domainSuffixMatch #attr:domainSuffixMatch#
-- | Constraint for server domain name. If set, this FQDN is used as a suffix
-- match requirement for dNSName element(s) of the certificate presented by
-- the authentication server.  If a matching dNSName is found, this
-- constraint is met.  If no dNSName values are present, this constraint is
-- matched against SubjectName CN using same suffix match comparison.
-- Since version 1.24, multiple valid FQDNs can be passed as a \";\" delimited
-- list.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    Setting8021xDomainSuffixMatchPropertyInfo,
#endif
    clearSetting8021xDomainSuffixMatch      ,
    constructSetting8021xDomainSuffixMatch  ,
    getSetting8021xDomainSuffixMatch        ,
    setSetting8021xDomainSuffixMatch        ,
#if defined(ENABLE_OVERLOADING)
    setting8021xDomainSuffixMatch           ,
#endif


-- ** eap #attr:eap#
-- | The allowed EAP method to be used when authenticating to the network with
-- 802.1x.  Valid methods are: \"leap\", \"md5\", \"tls\", \"peap\", \"ttls\", \"pwd\",
-- and \"fast\".  Each method requires different configuration using the
-- properties of this setting; refer to wpa_supplicant documentation for the
-- allowed combinations.

#if defined(ENABLE_OVERLOADING)
    Setting8021xEapPropertyInfo             ,
#endif
    clearSetting8021xEap                    ,
    constructSetting8021xEap                ,
    getSetting8021xEap                      ,
    setSetting8021xEap                      ,
#if defined(ENABLE_OVERLOADING)
    setting8021xEap                         ,
#endif


-- ** identity #attr:identity#
-- | Identity string for EAP authentication methods.  Often the user\'s user or
-- login name.

#if defined(ENABLE_OVERLOADING)
    Setting8021xIdentityPropertyInfo        ,
#endif
    clearSetting8021xIdentity               ,
    constructSetting8021xIdentity           ,
    getSetting8021xIdentity                 ,
    setSetting8021xIdentity                 ,
#if defined(ENABLE_OVERLOADING)
    setting8021xIdentity                    ,
#endif


-- ** opensslCiphers #attr:opensslCiphers#
-- | Define openssl_ciphers for wpa_supplicant. Openssl sometimes moves ciphers
-- among SECLEVELs, thus compiled-in default value in wpa_supplicant
-- (as modified by some linux distributions) sometimes prevents
-- to connect to old servers that do not support new protocols.
-- 
-- /Since: 1.48/

#if defined(ENABLE_OVERLOADING)
    Setting8021xOpensslCiphersPropertyInfo  ,
#endif
    clearSetting8021xOpensslCiphers         ,
    constructSetting8021xOpensslCiphers     ,
    getSetting8021xOpensslCiphers           ,
    setSetting8021xOpensslCiphers           ,
#if defined(ENABLE_OVERLOADING)
    setting8021xOpensslCiphers              ,
#endif


-- ** optional #attr:optional#
-- | Whether the 802.1X authentication is optional. If 'P.True', the activation
-- will continue even after a timeout or an authentication failure. Setting
-- the property to 'P.True' is currently allowed only for Ethernet connections.
-- If set to 'P.False', the activation can continue only after a successful
-- authentication.
-- 
-- /Since: 1.22/

#if defined(ENABLE_OVERLOADING)
    Setting8021xOptionalPropertyInfo        ,
#endif
    constructSetting8021xOptional           ,
    getSetting8021xOptional                 ,
    setSetting8021xOptional                 ,
#if defined(ENABLE_OVERLOADING)
    setting8021xOptional                    ,
#endif


-- ** pacFile #attr:pacFile#
-- | UTF-8 encoded file path containing PAC for EAP-FAST.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPacFilePropertyInfo         ,
#endif
    clearSetting8021xPacFile                ,
    constructSetting8021xPacFile            ,
    getSetting8021xPacFile                  ,
    setSetting8021xPacFile                  ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPacFile                     ,
#endif


-- ** password #attr:password#
-- | UTF-8 encoded password used for EAP authentication methods. If both the
-- [Setting8021x:password]("GI.NM.Objects.Setting8021x#g:attr:password") property and the [Setting8021x:passwordRaw]("GI.NM.Objects.Setting8021x#g:attr:passwordRaw")
-- property are specified, [Setting8021x:password]("GI.NM.Objects.Setting8021x#g:attr:password") is preferred.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPasswordPropertyInfo        ,
#endif
    clearSetting8021xPassword               ,
    constructSetting8021xPassword           ,
    getSetting8021xPassword                 ,
    setSetting8021xPassword                 ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPassword                    ,
#endif


-- ** passwordFlags #attr:passwordFlags#
-- | Flags indicating how to handle the [Setting8021x:password]("GI.NM.Objects.Setting8021x#g:attr:password") property.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPasswordFlagsPropertyInfo   ,
#endif
    constructSetting8021xPasswordFlags      ,
    getSetting8021xPasswordFlags            ,
    setSetting8021xPasswordFlags            ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPasswordFlags               ,
#endif


-- ** passwordRaw #attr:passwordRaw#
-- | Password used for EAP authentication methods, given as a byte array to
-- allow passwords in other encodings than UTF-8 to be used. If both the
-- [Setting8021x:password]("GI.NM.Objects.Setting8021x#g:attr:password") property and the [Setting8021x:passwordRaw]("GI.NM.Objects.Setting8021x#g:attr:passwordRaw")
-- property are specified, [Setting8021x:password]("GI.NM.Objects.Setting8021x#g:attr:password") is preferred.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPasswordRawPropertyInfo     ,
#endif
    clearSetting8021xPasswordRaw            ,
    constructSetting8021xPasswordRaw        ,
    getSetting8021xPasswordRaw              ,
    setSetting8021xPasswordRaw              ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPasswordRaw                 ,
#endif


-- ** passwordRawFlags #attr:passwordRawFlags#
-- | Flags indicating how to handle the [Setting8021x:passwordRaw]("GI.NM.Objects.Setting8021x#g:attr:passwordRaw") property.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPasswordRawFlagsPropertyInfo,
#endif
    constructSetting8021xPasswordRawFlags   ,
    getSetting8021xPasswordRawFlags         ,
    setSetting8021xPasswordRawFlags         ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPasswordRawFlags            ,
#endif


-- ** phase1AuthFlags #attr:phase1AuthFlags#
-- | Specifies authentication flags to use in \"phase 1\" outer
-- authentication using t'GI.NM.Flags.Setting8021xAuthFlags' options.
-- The individual TLS versions can be explicitly disabled. TLS time checks
-- can be also disabled. If a certain TLS disable flag is not
-- set, it is up to the supplicant to allow or forbid it. The TLS options
-- map to tls_disable_tlsv1_x and tls_disable_time_checks settings.
-- See the wpa_supplicant documentation for more details.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase1AuthFlagsPropertyInfo ,
#endif
    constructSetting8021xPhase1AuthFlags    ,
    getSetting8021xPhase1AuthFlags          ,
    setSetting8021xPhase1AuthFlags          ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase1AuthFlags             ,
#endif


-- ** phase1FastProvisioning #attr:phase1FastProvisioning#
-- | Enables or disables in-line provisioning of EAP-FAST credentials when
-- FAST is specified as the EAP method in the [Setting8021x:eap]("GI.NM.Objects.Setting8021x#g:attr:eap") property.
-- Recognized values are \"0\" (disabled), \"1\" (allow unauthenticated
-- provisioning), \"2\" (allow authenticated provisioning), and \"3\" (allow
-- both authenticated and unauthenticated provisioning).  See the
-- wpa_supplicant documentation for more details.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase1FastProvisioningPropertyInfo,
#endif
    clearSetting8021xPhase1FastProvisioning ,
    constructSetting8021xPhase1FastProvisioning,
    getSetting8021xPhase1FastProvisioning   ,
    setSetting8021xPhase1FastProvisioning   ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase1FastProvisioning      ,
#endif


-- ** phase1Peaplabel #attr:phase1Peaplabel#
-- | Forces use of the new PEAP label during key derivation.  Some RADIUS
-- servers may require forcing the new PEAP label to interoperate with
-- PEAPv1.  Set to \"1\" to force use of the new PEAP label.  See the
-- wpa_supplicant documentation for more details.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase1PeaplabelPropertyInfo ,
#endif
    clearSetting8021xPhase1Peaplabel        ,
    constructSetting8021xPhase1Peaplabel    ,
    getSetting8021xPhase1Peaplabel          ,
    setSetting8021xPhase1Peaplabel          ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase1Peaplabel             ,
#endif


-- ** phase1Peapver #attr:phase1Peapver#
-- | Forces which PEAP version is used when PEAP is set as the EAP method in
-- the [Setting8021x:eap]("GI.NM.Objects.Setting8021x#g:attr:eap") property.  When unset, the version reported by
-- the server will be used.  Sometimes when using older RADIUS servers, it
-- is necessary to force the client to use a particular PEAP version.  To do
-- so, this property may be set to \"0\" or \"1\" to force that specific PEAP
-- version.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase1PeapverPropertyInfo   ,
#endif
    clearSetting8021xPhase1Peapver          ,
    constructSetting8021xPhase1Peapver      ,
    getSetting8021xPhase1Peapver            ,
    setSetting8021xPhase1Peapver            ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase1Peapver               ,
#endif


-- ** phase2AltsubjectMatches #attr:phase2AltsubjectMatches#
-- | List of strings to be matched against the altSubjectName of the
-- certificate presented by the authentication server during the inner
-- \"phase 2\" authentication. If the list is empty, no verification of the
-- server certificate\'s altSubjectName is performed.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2AltsubjectMatchesPropertyInfo,
#endif
    clearSetting8021xPhase2AltsubjectMatches,
    constructSetting8021xPhase2AltsubjectMatches,
    getSetting8021xPhase2AltsubjectMatches  ,
    setSetting8021xPhase2AltsubjectMatches  ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2AltsubjectMatches     ,
#endif


-- ** phase2Auth #attr:phase2Auth#
-- | Specifies the allowed \"phase 2\" inner authentication method when an EAP
-- method that uses an inner TLS tunnel is specified in the [Setting8021x:eap]("GI.NM.Objects.Setting8021x#g:attr:eap")
-- property.  For TTLS this property selects one of the supported non-EAP
-- inner methods: \"pap\", \"chap\", \"mschap\", \"mschapv2\" while
-- [Setting8021x:phase2Autheap]("GI.NM.Objects.Setting8021x#g:attr:phase2Autheap") selects an EAP inner method.  For PEAP
-- this selects an inner EAP method, one of: \"gtc\", \"otp\", \"md5\" and \"tls\".
-- Each \"phase 2\" inner method requires specific parameters for successful
-- authentication; see the wpa_supplicant documentation for more details.
-- Both [Setting8021x:phase2Auth]("GI.NM.Objects.Setting8021x#g:attr:phase2Auth") and [Setting8021x:phase2Autheap]("GI.NM.Objects.Setting8021x#g:attr:phase2Autheap") cannot
-- be specified.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2AuthPropertyInfo      ,
#endif
    clearSetting8021xPhase2Auth             ,
    constructSetting8021xPhase2Auth         ,
    getSetting8021xPhase2Auth               ,
    setSetting8021xPhase2Auth               ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2Auth                  ,
#endif


-- ** phase2Autheap #attr:phase2Autheap#
-- | Specifies the allowed \"phase 2\" inner EAP-based authentication method
-- when TTLS is specified in the [Setting8021x:eap]("GI.NM.Objects.Setting8021x#g:attr:eap") property.  Recognized
-- EAP-based \"phase 2\" methods are \"md5\", \"mschapv2\", \"otp\", \"gtc\", and
-- \"tls\". Each \"phase 2\" inner method requires specific parameters for
-- successful authentication; see the wpa_supplicant documentation for
-- more details.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2AutheapPropertyInfo   ,
#endif
    clearSetting8021xPhase2Autheap          ,
    constructSetting8021xPhase2Autheap      ,
    getSetting8021xPhase2Autheap            ,
    setSetting8021xPhase2Autheap            ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2Autheap               ,
#endif


-- ** phase2CaCert #attr:phase2CaCert#
-- | Contains the \"phase 2\" CA certificate if used by the EAP method specified
-- in the [Setting8021x:phase2Auth]("GI.NM.Objects.Setting8021x#g:attr:phase2Auth") or [Setting8021x:phase2Autheap]("GI.NM.Objects.Setting8021x#g:attr:phase2Autheap")
-- properties.
-- 
-- Certificate data is specified using a \"scheme\"; three are currently
-- supported: blob, path and pkcs@/11/@ URL. When using the blob scheme this property
-- should be set to the certificate\'s DER encoded data. When using the path
-- scheme, this property should be set to the full UTF-8 encoded path of the
-- certificate, prefixed with the string \"file:\/\/\" and ending with a terminating
-- NUL byte.
-- This property can be unset even if the EAP method supports CA certificates,
-- but this allows man-in-the-middle attacks and is NOT recommended.
-- 
-- Note that enabling NMSetting8021x:system-ca-certs will override this
-- setting to use the built-in path, if the built-in path is not a directory.
-- 
-- Setting this property directly is discouraged; use the
-- 'GI.NM.Objects.Setting8021x.setting8021xSetPhase2CaCert' function instead.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2CaCertPropertyInfo    ,
#endif
    clearSetting8021xPhase2CaCert           ,
    constructSetting8021xPhase2CaCert       ,
    getSetting8021xPhase2CaCert             ,
    setSetting8021xPhase2CaCert             ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2CaCert                ,
#endif


-- ** phase2CaCertPassword #attr:phase2CaCertPassword#
-- | The password used to access the \"phase2\" CA certificate stored in
-- [Setting8021x:phase2CaCert]("GI.NM.Objects.Setting8021x#g:attr:phase2CaCert") property. Only makes sense if the certificate
-- is stored on a PKCS#\<!-- -->11 token that requires a login.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2CaCertPasswordPropertyInfo,
#endif
    clearSetting8021xPhase2CaCertPassword   ,
    constructSetting8021xPhase2CaCertPassword,
    getSetting8021xPhase2CaCertPassword     ,
    setSetting8021xPhase2CaCertPassword     ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2CaCertPassword        ,
#endif


-- ** phase2CaCertPasswordFlags #attr:phase2CaCertPasswordFlags#
-- | Flags indicating how to handle the [Setting8021x:phase2CaCertPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2CaCertPassword") property.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2CaCertPasswordFlagsPropertyInfo,
#endif
    constructSetting8021xPhase2CaCertPasswordFlags,
    getSetting8021xPhase2CaCertPasswordFlags,
    setSetting8021xPhase2CaCertPasswordFlags,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2CaCertPasswordFlags   ,
#endif


-- ** phase2CaPath #attr:phase2CaPath#
-- | UTF-8 encoded path to a directory containing PEM or DER formatted
-- certificates to be added to the verification chain in addition to the
-- certificate specified in the [Setting8021x:phase2CaCert]("GI.NM.Objects.Setting8021x#g:attr:phase2CaCert") property.
-- 
-- If NMSetting8021x:system-ca-certs is enabled and the built-in CA
-- path is an existing directory, then this setting is ignored.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2CaPathPropertyInfo    ,
#endif
    clearSetting8021xPhase2CaPath           ,
    constructSetting8021xPhase2CaPath       ,
    getSetting8021xPhase2CaPath             ,
    setSetting8021xPhase2CaPath             ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2CaPath                ,
#endif


-- ** phase2ClientCert #attr:phase2ClientCert#
-- | Contains the \"phase 2\" client certificate if used by the EAP method
-- specified in the [Setting8021x:phase2Auth]("GI.NM.Objects.Setting8021x#g:attr:phase2Auth") or
-- [Setting8021x:phase2Autheap]("GI.NM.Objects.Setting8021x#g:attr:phase2Autheap") properties.
-- 
-- Certificate data is specified using a \"scheme\"; two are currently
-- supported: blob and path. When using the blob scheme (which is backwards
-- compatible with NM 0.7.x) this property should be set to the
-- certificate\'s DER encoded data. When using the path scheme, this property
-- should be set to the full UTF-8 encoded path of the certificate, prefixed
-- with the string \"file:\/\/\" and ending with a terminating NUL byte. This
-- property can be unset even if the EAP method supports CA certificates,
-- but this allows man-in-the-middle attacks and is NOT recommended.
-- 
-- Setting this property directly is discouraged; use the
-- 'GI.NM.Objects.Setting8021x.setting8021xSetPhase2ClientCert' function instead.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2ClientCertPropertyInfo,
#endif
    clearSetting8021xPhase2ClientCert       ,
    constructSetting8021xPhase2ClientCert   ,
    getSetting8021xPhase2ClientCert         ,
    setSetting8021xPhase2ClientCert         ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2ClientCert            ,
#endif


-- ** phase2ClientCertPassword #attr:phase2ClientCertPassword#
-- | The password used to access the \"phase2\" client certificate stored in
-- [Setting8021x:phase2ClientCert]("GI.NM.Objects.Setting8021x#g:attr:phase2ClientCert") property. Only makes sense if the certificate
-- is stored on a PKCS#\<!-- -->11 token that requires a login.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2ClientCertPasswordPropertyInfo,
#endif
    clearSetting8021xPhase2ClientCertPassword,
    constructSetting8021xPhase2ClientCertPassword,
    getSetting8021xPhase2ClientCertPassword ,
    setSetting8021xPhase2ClientCertPassword ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2ClientCertPassword    ,
#endif


-- ** phase2ClientCertPasswordFlags #attr:phase2ClientCertPasswordFlags#
-- | Flags indicating how to handle the [Setting8021x:phase2ClientCertPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2ClientCertPassword") property.
-- 
-- /Since: 1.8/

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo,
#endif
    constructSetting8021xPhase2ClientCertPasswordFlags,
    getSetting8021xPhase2ClientCertPasswordFlags,
    setSetting8021xPhase2ClientCertPasswordFlags,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2ClientCertPasswordFlags,
#endif


-- ** phase2DomainMatch #attr:phase2DomainMatch#
-- | Constraint for server domain name. If set, this list of FQDNs is used as
-- a match requirement for dNSName element(s) of the certificate presented
-- by the authentication server during the inner \"phase 2\" authentication.
-- If a matching dNSName is found, this constraint is met.  If no dNSName
-- values are present, this constraint is matched against SubjectName CN
-- using the same comparison.
-- Multiple valid FQDNs can be passed as a \";\" delimited list.
-- 
-- /Since: 1.24/

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2DomainMatchPropertyInfo,
#endif
    clearSetting8021xPhase2DomainMatch      ,
    constructSetting8021xPhase2DomainMatch  ,
    getSetting8021xPhase2DomainMatch        ,
    setSetting8021xPhase2DomainMatch        ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2DomainMatch           ,
#endif


-- ** phase2DomainSuffixMatch #attr:phase2DomainSuffixMatch#
-- | Constraint for server domain name. If set, this FQDN is used as a suffix
-- match requirement for dNSName element(s) of the certificate presented by
-- the authentication server during the inner \"phase 2\" authentication.  If
-- a matching dNSName is found, this constraint is met.  If no dNSName
-- values are present, this constraint is matched against SubjectName CN
-- using same suffix match comparison.
-- Since version 1.24, multiple valid FQDNs can be passed as a \";\" delimited
-- list.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2DomainSuffixMatchPropertyInfo,
#endif
    clearSetting8021xPhase2DomainSuffixMatch,
    constructSetting8021xPhase2DomainSuffixMatch,
    getSetting8021xPhase2DomainSuffixMatch  ,
    setSetting8021xPhase2DomainSuffixMatch  ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2DomainSuffixMatch     ,
#endif


-- ** phase2PrivateKey #attr:phase2PrivateKey#
-- | Contains the \"phase 2\" inner private key when the
-- [Setting8021x:phase2Auth]("GI.NM.Objects.Setting8021x#g:attr:phase2Auth") or [Setting8021x:phase2Autheap]("GI.NM.Objects.Setting8021x#g:attr:phase2Autheap") property is
-- set to \"tls\".
-- 
-- Key data is specified using a \"scheme\"; two are currently supported: blob
-- and path. When using the blob scheme and private keys, this property
-- should be set to the key\'s encrypted PEM encoded data. When using private
-- keys with the path scheme, this property should be set to the full UTF-8
-- encoded path of the key, prefixed with the string \"file:\/\/\" and ending
-- with a terminating NUL byte. When using PKCS#\<!-- -->12 format private
-- keys and the blob scheme, this property should be set to the
-- PKCS#\<!-- -->12 data and the [Setting8021x:phase2PrivateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKeyPassword")
-- property must be set to password used to decrypt the PKCS#\<!-- -->12
-- certificate and key. When using PKCS#\<!-- -->12 files and the path
-- scheme, this property should be set to the full UTF-8 encoded path of the
-- key, prefixed with the string \"file:\/\/\" and ending with a terminating
-- NUL byte, and as with the blob scheme the
-- [Setting8021x:phase2PrivateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKeyPassword") property must be set to the
-- password used to decode the PKCS#\<!-- -->12 private key and certificate.
-- 
-- Setting this property directly is discouraged; use the
-- 'GI.NM.Objects.Setting8021x.setting8021xSetPhase2PrivateKey' function instead.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2PrivateKeyPropertyInfo,
#endif
    clearSetting8021xPhase2PrivateKey       ,
    constructSetting8021xPhase2PrivateKey   ,
    getSetting8021xPhase2PrivateKey         ,
    setSetting8021xPhase2PrivateKey         ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2PrivateKey            ,
#endif


-- ** phase2PrivateKeyPassword #attr:phase2PrivateKeyPassword#
-- | The password used to decrypt the \"phase 2\" private key specified in the
-- [Setting8021x:phase2PrivateKey]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKey") property when the private key either
-- uses the path scheme, or is a PKCS#\<!-- -->12 format key.  Setting this
-- property directly is not generally necessary except when returning
-- secrets to NetworkManager; it is generally set automatically when setting
-- the private key by the 'GI.NM.Objects.Setting8021x.setting8021xSetPhase2PrivateKey'
-- function.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2PrivateKeyPasswordPropertyInfo,
#endif
    clearSetting8021xPhase2PrivateKeyPassword,
    constructSetting8021xPhase2PrivateKeyPassword,
    getSetting8021xPhase2PrivateKeyPassword ,
    setSetting8021xPhase2PrivateKeyPassword ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2PrivateKeyPassword    ,
#endif


-- ** phase2PrivateKeyPasswordFlags #attr:phase2PrivateKeyPasswordFlags#
-- | Flags indicating how to handle the
-- [Setting8021x:phase2PrivateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKeyPassword") property.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo,
#endif
    constructSetting8021xPhase2PrivateKeyPasswordFlags,
    getSetting8021xPhase2PrivateKeyPasswordFlags,
    setSetting8021xPhase2PrivateKeyPasswordFlags,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2PrivateKeyPasswordFlags,
#endif


-- ** phase2SubjectMatch #attr:phase2SubjectMatch#
-- | Substring to be matched against the subject of the certificate presented
-- by the authentication server during the inner \"phase 2\"
-- authentication. When unset, no verification of the authentication server
-- certificate\'s subject is performed. This property provides little security,
-- if any, and should not be used.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPhase2SubjectMatchPropertyInfo,
#endif
    clearSetting8021xPhase2SubjectMatch     ,
    constructSetting8021xPhase2SubjectMatch ,
    getSetting8021xPhase2SubjectMatch       ,
    setSetting8021xPhase2SubjectMatch       ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPhase2SubjectMatch          ,
#endif


-- ** pin #attr:pin#
-- | PIN used for EAP authentication methods.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPinPropertyInfo             ,
#endif
    clearSetting8021xPin                    ,
    constructSetting8021xPin                ,
    getSetting8021xPin                      ,
    setSetting8021xPin                      ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPin                         ,
#endif


-- ** pinFlags #attr:pinFlags#
-- | Flags indicating how to handle the [Setting8021x:pin]("GI.NM.Objects.Setting8021x#g:attr:pin") property.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPinFlagsPropertyInfo        ,
#endif
    constructSetting8021xPinFlags           ,
    getSetting8021xPinFlags                 ,
    setSetting8021xPinFlags                 ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPinFlags                    ,
#endif


-- ** privateKey #attr:privateKey#
-- | Contains the private key when the [Setting8021x:eap]("GI.NM.Objects.Setting8021x#g:attr:eap") property is set to
-- \"tls\".
-- 
-- Key data is specified using a \"scheme\"; two are currently supported: blob
-- and path. When using the blob scheme and private keys, this property
-- should be set to the key\'s encrypted PEM encoded data. When using private
-- keys with the path scheme, this property should be set to the full UTF-8
-- encoded path of the key, prefixed with the string \"file:\/\/\" and ending
-- with a terminating NUL byte. When using PKCS#\<!-- -->12 format private
-- keys and the blob scheme, this property should be set to the
-- PKCS#\<!-- -->12 data and the [Setting8021x:privateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:privateKeyPassword")
-- property must be set to password used to decrypt the PKCS#\<!-- -->12
-- certificate and key. When using PKCS#\<!-- -->12 files and the path
-- scheme, this property should be set to the full UTF-8 encoded path of the
-- key, prefixed with the string \"file:\/\/\" and ending with a terminating
-- NUL byte, and as with the blob scheme the \"private-key-password\" property
-- must be set to the password used to decode the PKCS#\<!-- -->12 private
-- key and certificate.
-- 
-- Setting this property directly is discouraged; use the
-- 'GI.NM.Objects.Setting8021x.setting8021xSetPrivateKey' function instead.
-- 
-- WARNING: [Setting8021x:privateKey]("GI.NM.Objects.Setting8021x#g:attr:privateKey") is not a \"secret\" property, and thus
-- unencrypted private key data using the BLOB scheme may be readable by
-- unprivileged users.  Private keys should always be encrypted with a
-- private key password to prevent unauthorized access to unencrypted
-- private key data.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPrivateKeyPropertyInfo      ,
#endif
    clearSetting8021xPrivateKey             ,
    constructSetting8021xPrivateKey         ,
    getSetting8021xPrivateKey               ,
    setSetting8021xPrivateKey               ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPrivateKey                  ,
#endif


-- ** privateKeyPassword #attr:privateKeyPassword#
-- | The password used to decrypt the private key specified in the
-- [Setting8021x:privateKey]("GI.NM.Objects.Setting8021x#g:attr:privateKey") property when the private key either uses the
-- path scheme, or if the private key is a PKCS#\<!-- -->12 format key.  Setting this
-- property directly is not generally necessary except when returning
-- secrets to NetworkManager; it is generally set automatically when setting
-- the private key by the 'GI.NM.Objects.Setting8021x.setting8021xSetPrivateKey' function.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPrivateKeyPasswordPropertyInfo,
#endif
    clearSetting8021xPrivateKeyPassword     ,
    constructSetting8021xPrivateKeyPassword ,
    getSetting8021xPrivateKeyPassword       ,
    setSetting8021xPrivateKeyPassword       ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPrivateKeyPassword          ,
#endif


-- ** privateKeyPasswordFlags #attr:privateKeyPasswordFlags#
-- | Flags indicating how to handle the [Setting8021x:privateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:privateKeyPassword")
-- property.

#if defined(ENABLE_OVERLOADING)
    Setting8021xPrivateKeyPasswordFlagsPropertyInfo,
#endif
    constructSetting8021xPrivateKeyPasswordFlags,
    getSetting8021xPrivateKeyPasswordFlags  ,
    setSetting8021xPrivateKeyPasswordFlags  ,
#if defined(ENABLE_OVERLOADING)
    setting8021xPrivateKeyPasswordFlags     ,
#endif


-- ** subjectMatch #attr:subjectMatch#
-- | Substring to be matched against the subject of the certificate presented
-- by the authentication server. When unset, no verification of the
-- authentication server certificate\'s subject is performed. This property
-- provides little security, if any, and should not be used.

#if defined(ENABLE_OVERLOADING)
    Setting8021xSubjectMatchPropertyInfo    ,
#endif
    clearSetting8021xSubjectMatch           ,
    constructSetting8021xSubjectMatch       ,
    getSetting8021xSubjectMatch             ,
    setSetting8021xSubjectMatch             ,
#if defined(ENABLE_OVERLOADING)
    setting8021xSubjectMatch                ,
#endif


-- ** systemCaCerts #attr:systemCaCerts#
-- | When 'P.True', overrides the [Setting8021x:caPath]("GI.NM.Objects.Setting8021x#g:attr:caPath") and
-- [Setting8021x:phase2CaPath]("GI.NM.Objects.Setting8021x#g:attr:phase2CaPath") properties using the system CA directory
-- specified at configure time with the --system-ca-path switch.  The
-- certificates in this directory are added to the verification chain in
-- addition to any certificates specified by the [Setting8021x:caCert]("GI.NM.Objects.Setting8021x#g:attr:caCert") and
-- [Setting8021x:phase2CaCert]("GI.NM.Objects.Setting8021x#g:attr:phase2CaCert") properties. If the path provided with
-- --system-ca-path is rather a file name (bundle of trusted CA certificates),
-- it overrides [Setting8021x:caCert]("GI.NM.Objects.Setting8021x#g:attr:caCert") and [Setting8021x:phase2CaCert]("GI.NM.Objects.Setting8021x#g:attr:phase2CaCert")
-- properties instead (sets ca_cert\/ca_cert2 options for wpa_supplicant).

#if defined(ENABLE_OVERLOADING)
    Setting8021xSystemCaCertsPropertyInfo   ,
#endif
    constructSetting8021xSystemCaCerts      ,
    getSetting8021xSystemCaCerts            ,
    setSetting8021xSystemCaCerts            ,
#if defined(ENABLE_OVERLOADING)
    setting8021xSystemCaCerts               ,
#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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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 Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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 GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT

-- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GLib.Structs.VariantType as GLib.VariantType
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.NM.Callbacks as NM.Callbacks
import {-# SOURCE #-} qualified GI.NM.Enums as NM.Enums
import {-# SOURCE #-} qualified GI.NM.Flags as NM.Flags
import {-# SOURCE #-} qualified GI.NM.Interfaces.Connection as NM.Connection
import {-# SOURCE #-} qualified GI.NM.Objects.Setting as NM.Setting
import {-# SOURCE #-} qualified GI.NM.Objects.SettingAdsl as NM.SettingAdsl
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBluetooth as NM.SettingBluetooth
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBond as NM.SettingBond
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBridge as NM.SettingBridge
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBridgePort as NM.SettingBridgePort
import {-# SOURCE #-} qualified GI.NM.Objects.SettingCdma as NM.SettingCdma
import {-# SOURCE #-} qualified GI.NM.Objects.SettingConnection as NM.SettingConnection
import {-# SOURCE #-} qualified GI.NM.Objects.SettingDcb as NM.SettingDcb
import {-# SOURCE #-} qualified GI.NM.Objects.SettingDummy as NM.SettingDummy
import {-# SOURCE #-} qualified GI.NM.Objects.SettingGeneric as NM.SettingGeneric
import {-# SOURCE #-} qualified GI.NM.Objects.SettingGsm as NM.SettingGsm
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIP4Config as NM.SettingIP4Config
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIP6Config as NM.SettingIP6Config
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIPConfig as NM.SettingIPConfig
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIPTunnel as NM.SettingIPTunnel
import {-# SOURCE #-} qualified GI.NM.Objects.SettingInfiniband as NM.SettingInfiniband
import {-# SOURCE #-} qualified GI.NM.Objects.SettingMacsec as NM.SettingMacsec
import {-# SOURCE #-} qualified GI.NM.Objects.SettingMacvlan as NM.SettingMacvlan
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOlpcMesh as NM.SettingOlpcMesh
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsBridge as NM.SettingOvsBridge
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsInterface as NM.SettingOvsInterface
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsPatch as NM.SettingOvsPatch
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsPort as NM.SettingOvsPort
import {-# SOURCE #-} qualified GI.NM.Objects.SettingPpp as NM.SettingPpp
import {-# SOURCE #-} qualified GI.NM.Objects.SettingPppoe as NM.SettingPppoe
import {-# SOURCE #-} qualified GI.NM.Objects.SettingProxy as NM.SettingProxy
import {-# SOURCE #-} qualified GI.NM.Objects.SettingSerial as NM.SettingSerial
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTCConfig as NM.SettingTCConfig
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTeam as NM.SettingTeam
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTeamPort as NM.SettingTeamPort
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTun as NM.SettingTun
import {-# SOURCE #-} qualified GI.NM.Objects.SettingVlan as NM.SettingVlan
import {-# SOURCE #-} qualified GI.NM.Objects.SettingVpn as NM.SettingVpn
import {-# SOURCE #-} qualified GI.NM.Objects.SettingVxlan as NM.SettingVxlan
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWimax as NM.SettingWimax
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWired as NM.SettingWired
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWireless as NM.SettingWireless
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWirelessSecurity as NM.SettingWirelessSecurity
import {-# SOURCE #-} qualified GI.NM.Structs.BridgeVlan as NM.BridgeVlan
import {-# SOURCE #-} qualified GI.NM.Structs.IPAddress as NM.IPAddress
import {-# SOURCE #-} qualified GI.NM.Structs.IPRoute as NM.IPRoute
import {-# SOURCE #-} qualified GI.NM.Structs.IPRoutingRule as NM.IPRoutingRule
import {-# SOURCE #-} qualified GI.NM.Structs.Range as NM.Range
import {-# SOURCE #-} qualified GI.NM.Structs.TCAction as NM.TCAction
import {-# SOURCE #-} qualified GI.NM.Structs.TCQdisc as NM.TCQdisc
import {-# SOURCE #-} qualified GI.NM.Structs.TCTfilter as NM.TCTfilter
import {-# SOURCE #-} qualified GI.NM.Structs.TeamLinkWatcher as NM.TeamLinkWatcher
import {-# SOURCE #-} qualified GI.NM.Structs.VariantAttributeSpec as NM.VariantAttributeSpec

#else
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.NM.Enums as NM.Enums
import {-# SOURCE #-} qualified GI.NM.Flags as NM.Flags
import {-# SOURCE #-} qualified GI.NM.Objects.Setting as NM.Setting

#endif

-- | Memory-managed wrapper type.
newtype Setting8021x = Setting8021x (SP.ManagedPtr Setting8021x)
    deriving (Setting8021x -> Setting8021x -> Bool
(Setting8021x -> Setting8021x -> Bool)
-> (Setting8021x -> Setting8021x -> Bool) -> Eq Setting8021x
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Setting8021x -> Setting8021x -> Bool
== :: Setting8021x -> Setting8021x -> Bool
$c/= :: Setting8021x -> Setting8021x -> Bool
/= :: Setting8021x -> Setting8021x -> Bool
Eq)

instance SP.ManagedPtrNewtype Setting8021x where
    toManagedPtr :: Setting8021x -> ManagedPtr Setting8021x
toManagedPtr (Setting8021x ManagedPtr Setting8021x
p) = ManagedPtr Setting8021x
p

foreign import ccall "nm_setting_802_1x_get_type"
    c_nm_setting_802_1x_get_type :: IO B.Types.GType

instance B.Types.TypedObject Setting8021x where
    glibType :: IO GType
glibType = IO GType
c_nm_setting_802_1x_get_type

instance B.Types.GObject Setting8021x

-- | Type class for types which can be safely cast to t'Setting8021x', for instance with `toSetting8021x`.
class (SP.GObject o, O.IsDescendantOf Setting8021x o) => IsSetting8021x o
instance (SP.GObject o, O.IsDescendantOf Setting8021x o) => IsSetting8021x o

instance O.HasParentTypes Setting8021x
type instance O.ParentTypes Setting8021x = '[NM.Setting.Setting, GObject.Object.Object]

-- | Cast to t'Setting8021x', for types for which this is known to be safe. For general casts, use 'Data.GI.Base.ManagedPtr.castTo'.
toSetting8021x :: (MIO.MonadIO m, IsSetting8021x o) => o -> m Setting8021x
toSetting8021x :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Setting8021x
toSetting8021x = IO Setting8021x -> m Setting8021x
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Setting8021x -> m Setting8021x)
-> (o -> IO Setting8021x) -> o -> m Setting8021x
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Setting8021x -> Setting8021x) -> o -> IO Setting8021x
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Setting8021x -> Setting8021x
Setting8021x

-- | Convert t'Setting8021x' to and from t'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe Setting8021x) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_nm_setting_802_1x_get_type
    gvalueSet_ :: Ptr GValue -> Maybe Setting8021x -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Setting8021x
P.Nothing = Ptr GValue -> Ptr Setting8021x -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Setting8021x
forall a. Ptr a
FP.nullPtr :: FP.Ptr Setting8021x)
    gvalueSet_ Ptr GValue
gv (P.Just Setting8021x
obj) = Setting8021x -> (Ptr Setting8021x -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Setting8021x
obj (Ptr GValue -> Ptr Setting8021x -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe Setting8021x)
gvalueGet_ Ptr GValue
gv = do
        Ptr Setting8021x
ptr <- Ptr GValue -> IO (Ptr Setting8021x)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Setting8021x)
        if Ptr Setting8021x
ptr Ptr Setting8021x -> Ptr Setting8021x -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Setting8021x
forall a. Ptr a
FP.nullPtr
        then Setting8021x -> Maybe Setting8021x
forall a. a -> Maybe a
P.Just (Setting8021x -> Maybe Setting8021x)
-> IO Setting8021x -> IO (Maybe Setting8021x)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Setting8021x -> Setting8021x)
-> Ptr Setting8021x -> IO Setting8021x
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Setting8021x -> Setting8021x
Setting8021x Ptr Setting8021x
ptr
        else Maybe Setting8021x -> IO (Maybe Setting8021x)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Setting8021x
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveSetting8021xMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveSetting8021xMethod "addAltsubjectMatch" o = Setting8021xAddAltsubjectMatchMethodInfo
    ResolveSetting8021xMethod "addEapMethod" o = Setting8021xAddEapMethodMethodInfo
    ResolveSetting8021xMethod "addPhase2AltsubjectMatch" o = Setting8021xAddPhase2AltsubjectMatchMethodInfo
    ResolveSetting8021xMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveSetting8021xMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveSetting8021xMethod "clearAltsubjectMatches" o = Setting8021xClearAltsubjectMatchesMethodInfo
    ResolveSetting8021xMethod "clearEapMethods" o = Setting8021xClearEapMethodsMethodInfo
    ResolveSetting8021xMethod "clearPhase2AltsubjectMatches" o = Setting8021xClearPhase2AltsubjectMatchesMethodInfo
    ResolveSetting8021xMethod "compare" o = NM.Setting.SettingCompareMethodInfo
    ResolveSetting8021xMethod "diff" o = NM.Setting.SettingDiffMethodInfo
    ResolveSetting8021xMethod "duplicate" o = NM.Setting.SettingDuplicateMethodInfo
    ResolveSetting8021xMethod "enumerateValues" o = NM.Setting.SettingEnumerateValuesMethodInfo
    ResolveSetting8021xMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveSetting8021xMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveSetting8021xMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveSetting8021xMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveSetting8021xMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveSetting8021xMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveSetting8021xMethod "optionClearByName" o = NM.Setting.SettingOptionClearByNameMethodInfo
    ResolveSetting8021xMethod "optionGet" o = NM.Setting.SettingOptionGetMethodInfo
    ResolveSetting8021xMethod "optionGetAllNames" o = NM.Setting.SettingOptionGetAllNamesMethodInfo
    ResolveSetting8021xMethod "optionGetBoolean" o = NM.Setting.SettingOptionGetBooleanMethodInfo
    ResolveSetting8021xMethod "optionGetUint32" o = NM.Setting.SettingOptionGetUint32MethodInfo
    ResolveSetting8021xMethod "optionSet" o = NM.Setting.SettingOptionSetMethodInfo
    ResolveSetting8021xMethod "optionSetBoolean" o = NM.Setting.SettingOptionSetBooleanMethodInfo
    ResolveSetting8021xMethod "optionSetUint32" o = NM.Setting.SettingOptionSetUint32MethodInfo
    ResolveSetting8021xMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveSetting8021xMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveSetting8021xMethod "removeAltsubjectMatch" o = Setting8021xRemoveAltsubjectMatchMethodInfo
    ResolveSetting8021xMethod "removeAltsubjectMatchByValue" o = Setting8021xRemoveAltsubjectMatchByValueMethodInfo
    ResolveSetting8021xMethod "removeEapMethod" o = Setting8021xRemoveEapMethodMethodInfo
    ResolveSetting8021xMethod "removeEapMethodByValue" o = Setting8021xRemoveEapMethodByValueMethodInfo
    ResolveSetting8021xMethod "removePhase2AltsubjectMatch" o = Setting8021xRemovePhase2AltsubjectMatchMethodInfo
    ResolveSetting8021xMethod "removePhase2AltsubjectMatchByValue" o = Setting8021xRemovePhase2AltsubjectMatchByValueMethodInfo
    ResolveSetting8021xMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveSetting8021xMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveSetting8021xMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveSetting8021xMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveSetting8021xMethod "toString" o = NM.Setting.SettingToStringMethodInfo
    ResolveSetting8021xMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveSetting8021xMethod "verify" o = NM.Setting.SettingVerifyMethodInfo
    ResolveSetting8021xMethod "verifySecrets" o = NM.Setting.SettingVerifySecretsMethodInfo
    ResolveSetting8021xMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveSetting8021xMethod "getAltsubjectMatch" o = Setting8021xGetAltsubjectMatchMethodInfo
    ResolveSetting8021xMethod "getAnonymousIdentity" o = Setting8021xGetAnonymousIdentityMethodInfo
    ResolveSetting8021xMethod "getAuthTimeout" o = Setting8021xGetAuthTimeoutMethodInfo
    ResolveSetting8021xMethod "getCaCertBlob" o = Setting8021xGetCaCertBlobMethodInfo
    ResolveSetting8021xMethod "getCaCertPassword" o = Setting8021xGetCaCertPasswordMethodInfo
    ResolveSetting8021xMethod "getCaCertPasswordFlags" o = Setting8021xGetCaCertPasswordFlagsMethodInfo
    ResolveSetting8021xMethod "getCaCertPath" o = Setting8021xGetCaCertPathMethodInfo
    ResolveSetting8021xMethod "getCaCertScheme" o = Setting8021xGetCaCertSchemeMethodInfo
    ResolveSetting8021xMethod "getCaCertUri" o = Setting8021xGetCaCertUriMethodInfo
    ResolveSetting8021xMethod "getCaPath" o = Setting8021xGetCaPathMethodInfo
    ResolveSetting8021xMethod "getClientCertBlob" o = Setting8021xGetClientCertBlobMethodInfo
    ResolveSetting8021xMethod "getClientCertPassword" o = Setting8021xGetClientCertPasswordMethodInfo
    ResolveSetting8021xMethod "getClientCertPasswordFlags" o = Setting8021xGetClientCertPasswordFlagsMethodInfo
    ResolveSetting8021xMethod "getClientCertPath" o = Setting8021xGetClientCertPathMethodInfo
    ResolveSetting8021xMethod "getClientCertScheme" o = Setting8021xGetClientCertSchemeMethodInfo
    ResolveSetting8021xMethod "getClientCertUri" o = Setting8021xGetClientCertUriMethodInfo
    ResolveSetting8021xMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveSetting8021xMethod "getDbusPropertyType" o = NM.Setting.SettingGetDbusPropertyTypeMethodInfo
    ResolveSetting8021xMethod "getDomainMatch" o = Setting8021xGetDomainMatchMethodInfo
    ResolveSetting8021xMethod "getDomainSuffixMatch" o = Setting8021xGetDomainSuffixMatchMethodInfo
    ResolveSetting8021xMethod "getEapMethod" o = Setting8021xGetEapMethodMethodInfo
    ResolveSetting8021xMethod "getIdentity" o = Setting8021xGetIdentityMethodInfo
    ResolveSetting8021xMethod "getName" o = NM.Setting.SettingGetNameMethodInfo
    ResolveSetting8021xMethod "getNumAltsubjectMatches" o = Setting8021xGetNumAltsubjectMatchesMethodInfo
    ResolveSetting8021xMethod "getNumEapMethods" o = Setting8021xGetNumEapMethodsMethodInfo
    ResolveSetting8021xMethod "getNumPhase2AltsubjectMatches" o = Setting8021xGetNumPhase2AltsubjectMatchesMethodInfo
    ResolveSetting8021xMethod "getOpensslCiphers" o = Setting8021xGetOpensslCiphersMethodInfo
    ResolveSetting8021xMethod "getOptional" o = Setting8021xGetOptionalMethodInfo
    ResolveSetting8021xMethod "getPacFile" o = Setting8021xGetPacFileMethodInfo
    ResolveSetting8021xMethod "getPassword" o = Setting8021xGetPasswordMethodInfo
    ResolveSetting8021xMethod "getPasswordFlags" o = Setting8021xGetPasswordFlagsMethodInfo
    ResolveSetting8021xMethod "getPasswordRaw" o = Setting8021xGetPasswordRawMethodInfo
    ResolveSetting8021xMethod "getPasswordRawFlags" o = Setting8021xGetPasswordRawFlagsMethodInfo
    ResolveSetting8021xMethod "getPhase1AuthFlags" o = Setting8021xGetPhase1AuthFlagsMethodInfo
    ResolveSetting8021xMethod "getPhase1FastProvisioning" o = Setting8021xGetPhase1FastProvisioningMethodInfo
    ResolveSetting8021xMethod "getPhase1Peaplabel" o = Setting8021xGetPhase1PeaplabelMethodInfo
    ResolveSetting8021xMethod "getPhase1Peapver" o = Setting8021xGetPhase1PeapverMethodInfo
    ResolveSetting8021xMethod "getPhase2AltsubjectMatch" o = Setting8021xGetPhase2AltsubjectMatchMethodInfo
    ResolveSetting8021xMethod "getPhase2Auth" o = Setting8021xGetPhase2AuthMethodInfo
    ResolveSetting8021xMethod "getPhase2Autheap" o = Setting8021xGetPhase2AutheapMethodInfo
    ResolveSetting8021xMethod "getPhase2CaCertBlob" o = Setting8021xGetPhase2CaCertBlobMethodInfo
    ResolveSetting8021xMethod "getPhase2CaCertPassword" o = Setting8021xGetPhase2CaCertPasswordMethodInfo
    ResolveSetting8021xMethod "getPhase2CaCertPasswordFlags" o = Setting8021xGetPhase2CaCertPasswordFlagsMethodInfo
    ResolveSetting8021xMethod "getPhase2CaCertPath" o = Setting8021xGetPhase2CaCertPathMethodInfo
    ResolveSetting8021xMethod "getPhase2CaCertScheme" o = Setting8021xGetPhase2CaCertSchemeMethodInfo
    ResolveSetting8021xMethod "getPhase2CaCertUri" o = Setting8021xGetPhase2CaCertUriMethodInfo
    ResolveSetting8021xMethod "getPhase2CaPath" o = Setting8021xGetPhase2CaPathMethodInfo
    ResolveSetting8021xMethod "getPhase2ClientCertBlob" o = Setting8021xGetPhase2ClientCertBlobMethodInfo
    ResolveSetting8021xMethod "getPhase2ClientCertPassword" o = Setting8021xGetPhase2ClientCertPasswordMethodInfo
    ResolveSetting8021xMethod "getPhase2ClientCertPasswordFlags" o = Setting8021xGetPhase2ClientCertPasswordFlagsMethodInfo
    ResolveSetting8021xMethod "getPhase2ClientCertPath" o = Setting8021xGetPhase2ClientCertPathMethodInfo
    ResolveSetting8021xMethod "getPhase2ClientCertScheme" o = Setting8021xGetPhase2ClientCertSchemeMethodInfo
    ResolveSetting8021xMethod "getPhase2ClientCertUri" o = Setting8021xGetPhase2ClientCertUriMethodInfo
    ResolveSetting8021xMethod "getPhase2DomainMatch" o = Setting8021xGetPhase2DomainMatchMethodInfo
    ResolveSetting8021xMethod "getPhase2DomainSuffixMatch" o = Setting8021xGetPhase2DomainSuffixMatchMethodInfo
    ResolveSetting8021xMethod "getPhase2PrivateKeyBlob" o = Setting8021xGetPhase2PrivateKeyBlobMethodInfo
    ResolveSetting8021xMethod "getPhase2PrivateKeyFormat" o = Setting8021xGetPhase2PrivateKeyFormatMethodInfo
    ResolveSetting8021xMethod "getPhase2PrivateKeyPassword" o = Setting8021xGetPhase2PrivateKeyPasswordMethodInfo
    ResolveSetting8021xMethod "getPhase2PrivateKeyPasswordFlags" o = Setting8021xGetPhase2PrivateKeyPasswordFlagsMethodInfo
    ResolveSetting8021xMethod "getPhase2PrivateKeyPath" o = Setting8021xGetPhase2PrivateKeyPathMethodInfo
    ResolveSetting8021xMethod "getPhase2PrivateKeyScheme" o = Setting8021xGetPhase2PrivateKeySchemeMethodInfo
    ResolveSetting8021xMethod "getPhase2PrivateKeyUri" o = Setting8021xGetPhase2PrivateKeyUriMethodInfo
    ResolveSetting8021xMethod "getPhase2SubjectMatch" o = Setting8021xGetPhase2SubjectMatchMethodInfo
    ResolveSetting8021xMethod "getPin" o = Setting8021xGetPinMethodInfo
    ResolveSetting8021xMethod "getPinFlags" o = Setting8021xGetPinFlagsMethodInfo
    ResolveSetting8021xMethod "getPrivateKeyBlob" o = Setting8021xGetPrivateKeyBlobMethodInfo
    ResolveSetting8021xMethod "getPrivateKeyFormat" o = Setting8021xGetPrivateKeyFormatMethodInfo
    ResolveSetting8021xMethod "getPrivateKeyPassword" o = Setting8021xGetPrivateKeyPasswordMethodInfo
    ResolveSetting8021xMethod "getPrivateKeyPasswordFlags" o = Setting8021xGetPrivateKeyPasswordFlagsMethodInfo
    ResolveSetting8021xMethod "getPrivateKeyPath" o = Setting8021xGetPrivateKeyPathMethodInfo
    ResolveSetting8021xMethod "getPrivateKeyScheme" o = Setting8021xGetPrivateKeySchemeMethodInfo
    ResolveSetting8021xMethod "getPrivateKeyUri" o = Setting8021xGetPrivateKeyUriMethodInfo
    ResolveSetting8021xMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveSetting8021xMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveSetting8021xMethod "getSecretFlags" o = NM.Setting.SettingGetSecretFlagsMethodInfo
    ResolveSetting8021xMethod "getSubjectMatch" o = Setting8021xGetSubjectMatchMethodInfo
    ResolveSetting8021xMethod "getSystemCaCerts" o = Setting8021xGetSystemCaCertsMethodInfo
    ResolveSetting8021xMethod "setCaCert" o = Setting8021xSetCaCertMethodInfo
    ResolveSetting8021xMethod "setClientCert" o = Setting8021xSetClientCertMethodInfo
    ResolveSetting8021xMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveSetting8021xMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveSetting8021xMethod "setPhase2CaCert" o = Setting8021xSetPhase2CaCertMethodInfo
    ResolveSetting8021xMethod "setPhase2ClientCert" o = Setting8021xSetPhase2ClientCertMethodInfo
    ResolveSetting8021xMethod "setPhase2PrivateKey" o = Setting8021xSetPhase2PrivateKeyMethodInfo
    ResolveSetting8021xMethod "setPrivateKey" o = Setting8021xSetPrivateKeyMethodInfo
    ResolveSetting8021xMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveSetting8021xMethod "setSecretFlags" o = NM.Setting.SettingSetSecretFlagsMethodInfo
    ResolveSetting8021xMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveSetting8021xMethod t Setting8021x, O.OverloadedMethod info Setting8021x p) => OL.IsLabel t (Setting8021x -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveSetting8021xMethod t Setting8021x, O.OverloadedMethod info Setting8021x p, R.HasField t Setting8021x p) => R.HasField t Setting8021x p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveSetting8021xMethod t Setting8021x, O.OverloadedMethodInfo info Setting8021x) => OL.IsLabel t (O.MethodProxy info Setting8021x) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif

#endif

-- VVV Prop "altsubject-matches"
   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@altsubject-matches@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #altsubjectMatches
-- @
getSetting8021xAltsubjectMatches :: (MonadIO m, IsSetting8021x o) => o -> m (Maybe [T.Text])
getSetting8021xAltsubjectMatches :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m (Maybe [Text])
getSetting8021xAltsubjectMatches o
obj = IO (Maybe [Text]) -> m (Maybe [Text])
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe [Text]) -> m (Maybe [Text]))
-> IO (Maybe [Text]) -> m (Maybe [Text])
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe [Text])
forall a. GObject a => a -> String -> IO (Maybe [Text])
B.Properties.getObjectPropertyStringArray o
obj String
"altsubject-matches"

-- | Set the value of the “@altsubject-matches@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #altsubjectMatches 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xAltsubjectMatches :: (MonadIO m, IsSetting8021x o) => o -> [T.Text] -> m ()
setSetting8021xAltsubjectMatches :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [Text] -> m ()
setSetting8021xAltsubjectMatches o
obj [Text]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe [Text] -> IO ()
forall a. GObject a => a -> String -> Maybe [Text] -> IO ()
B.Properties.setObjectPropertyStringArray o
obj String
"altsubject-matches" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
Just [Text]
val)

-- | Construct a t'GValueConstruct' with valid value for the “@altsubject-matches@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xAltsubjectMatches :: (IsSetting8021x o, MIO.MonadIO m) => [T.Text] -> m (GValueConstruct o)
constructSetting8021xAltsubjectMatches :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[Text] -> m (GValueConstruct o)
constructSetting8021xAltsubjectMatches [Text]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe [Text] -> IO (GValueConstruct o)
forall o. String -> Maybe [Text] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyStringArray String
"altsubject-matches" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
P.Just [Text]
val)

-- | Set the value of the “@altsubject-matches@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #altsubjectMatches
-- @
clearSetting8021xAltsubjectMatches :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xAltsubjectMatches :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xAltsubjectMatches o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe [Text] -> IO ()
forall a. GObject a => a -> String -> Maybe [Text] -> IO ()
B.Properties.setObjectPropertyStringArray o
obj String
"altsubject-matches" (Maybe [Text]
forall a. Maybe a
Nothing :: Maybe [T.Text])

#if defined(ENABLE_OVERLOADING)
data Setting8021xAltsubjectMatchesPropertyInfo
instance AttrInfo Setting8021xAltsubjectMatchesPropertyInfo where
    type AttrAllowedOps Setting8021xAltsubjectMatchesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xAltsubjectMatchesPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xAltsubjectMatchesPropertyInfo = (~) [T.Text]
    type AttrTransferTypeConstraint Setting8021xAltsubjectMatchesPropertyInfo = (~) [T.Text]
    type AttrTransferType Setting8021xAltsubjectMatchesPropertyInfo = [T.Text]
    type AttrGetType Setting8021xAltsubjectMatchesPropertyInfo = (Maybe [T.Text])
    type AttrLabel Setting8021xAltsubjectMatchesPropertyInfo = "altsubject-matches"
    type AttrOrigin Setting8021xAltsubjectMatchesPropertyInfo = Setting8021x
    attrGet = getSetting8021xAltsubjectMatches
    attrSet = setSetting8021xAltsubjectMatches
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xAltsubjectMatches
    attrClear = clearSetting8021xAltsubjectMatches
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.altsubjectMatches"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:altsubjectMatches"
        })
#endif

-- VVV Prop "anonymous-identity"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@anonymous-identity@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #anonymousIdentity
-- @
getSetting8021xAnonymousIdentity :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xAnonymousIdentity :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xAnonymousIdentity o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xAnonymousIdentity" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"anonymous-identity"

-- | Set the value of the “@anonymous-identity@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #anonymousIdentity 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xAnonymousIdentity :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xAnonymousIdentity :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xAnonymousIdentity o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"anonymous-identity" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@anonymous-identity@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xAnonymousIdentity :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xAnonymousIdentity :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xAnonymousIdentity Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"anonymous-identity" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@anonymous-identity@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #anonymousIdentity
-- @
clearSetting8021xAnonymousIdentity :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xAnonymousIdentity :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xAnonymousIdentity o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"anonymous-identity" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xAnonymousIdentityPropertyInfo
instance AttrInfo Setting8021xAnonymousIdentityPropertyInfo where
    type AttrAllowedOps Setting8021xAnonymousIdentityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xAnonymousIdentityPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xAnonymousIdentityPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xAnonymousIdentityPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xAnonymousIdentityPropertyInfo = T.Text
    type AttrGetType Setting8021xAnonymousIdentityPropertyInfo = T.Text
    type AttrLabel Setting8021xAnonymousIdentityPropertyInfo = "anonymous-identity"
    type AttrOrigin Setting8021xAnonymousIdentityPropertyInfo = Setting8021x
    attrGet = getSetting8021xAnonymousIdentity
    attrSet = setSetting8021xAnonymousIdentity
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xAnonymousIdentity
    attrClear = clearSetting8021xAnonymousIdentity
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.anonymousIdentity"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:anonymousIdentity"
        })
#endif

-- VVV Prop "auth-timeout"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@auth-timeout@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #authTimeout
-- @
getSetting8021xAuthTimeout :: (MonadIO m, IsSetting8021x o) => o -> m Int32
getSetting8021xAuthTimeout :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Int32
getSetting8021xAuthTimeout o
obj = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Int32
forall a. GObject a => a -> String -> IO Int32
B.Properties.getObjectPropertyInt32 o
obj String
"auth-timeout"

-- | Set the value of the “@auth-timeout@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #authTimeout 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xAuthTimeout :: (MonadIO m, IsSetting8021x o) => o -> Int32 -> m ()
setSetting8021xAuthTimeout :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Int32 -> m ()
setSetting8021xAuthTimeout o
obj Int32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Int32 -> IO ()
forall a. GObject a => a -> String -> Int32 -> IO ()
B.Properties.setObjectPropertyInt32 o
obj String
"auth-timeout" Int32
val

-- | Construct a t'GValueConstruct' with valid value for the “@auth-timeout@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xAuthTimeout :: (IsSetting8021x o, MIO.MonadIO m) => Int32 -> m (GValueConstruct o)
constructSetting8021xAuthTimeout :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Int32 -> m (GValueConstruct o)
constructSetting8021xAuthTimeout Int32
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Int32 -> IO (GValueConstruct o)
forall o. String -> Int32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyInt32 String
"auth-timeout" Int32
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xAuthTimeoutPropertyInfo
instance AttrInfo Setting8021xAuthTimeoutPropertyInfo where
    type AttrAllowedOps Setting8021xAuthTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xAuthTimeoutPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xAuthTimeoutPropertyInfo = (~) Int32
    type AttrTransferTypeConstraint Setting8021xAuthTimeoutPropertyInfo = (~) Int32
    type AttrTransferType Setting8021xAuthTimeoutPropertyInfo = Int32
    type AttrGetType Setting8021xAuthTimeoutPropertyInfo = Int32
    type AttrLabel Setting8021xAuthTimeoutPropertyInfo = "auth-timeout"
    type AttrOrigin Setting8021xAuthTimeoutPropertyInfo = Setting8021x
    attrGet = getSetting8021xAuthTimeout
    attrSet = setSetting8021xAuthTimeout
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xAuthTimeout
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.authTimeout"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:authTimeout"
        })
#endif

-- VVV Prop "ca-cert"
   -- Type: TInterface (Name {namespace = "GLib", name = "Bytes"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@ca-cert@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #caCert
-- @
getSetting8021xCaCert :: (MonadIO m, IsSetting8021x o) => o -> m (Maybe GLib.Bytes.Bytes)
getSetting8021xCaCert :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m (Maybe Bytes)
getSetting8021xCaCert o
obj = IO (Maybe Bytes) -> m (Maybe Bytes)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Bytes) -> m (Maybe Bytes))
-> IO (Maybe Bytes) -> m (Maybe Bytes)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Bytes -> Bytes) -> IO (Maybe Bytes)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"ca-cert" ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes

-- | Set the value of the “@ca-cert@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #caCert 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xCaCert :: (MonadIO m, IsSetting8021x o) => o -> GLib.Bytes.Bytes -> m ()
setSetting8021xCaCert :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Bytes -> m ()
setSetting8021xCaCert o
obj Bytes
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"ca-cert" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
Just Bytes
val)

-- | Construct a t'GValueConstruct' with valid value for the “@ca-cert@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xCaCert :: (IsSetting8021x o, MIO.MonadIO m) => GLib.Bytes.Bytes -> m (GValueConstruct o)
constructSetting8021xCaCert :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Bytes -> m (GValueConstruct o)
constructSetting8021xCaCert Bytes
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Bytes -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"ca-cert" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
P.Just Bytes
val)

-- | Set the value of the “@ca-cert@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #caCert
-- @
clearSetting8021xCaCert :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xCaCert :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xCaCert o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"ca-cert" (Maybe Bytes
forall a. Maybe a
Nothing :: Maybe GLib.Bytes.Bytes)

#if defined(ENABLE_OVERLOADING)
data Setting8021xCaCertPropertyInfo
instance AttrInfo Setting8021xCaCertPropertyInfo where
    type AttrAllowedOps Setting8021xCaCertPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xCaCertPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xCaCertPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferTypeConstraint Setting8021xCaCertPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferType Setting8021xCaCertPropertyInfo = GLib.Bytes.Bytes
    type AttrGetType Setting8021xCaCertPropertyInfo = (Maybe GLib.Bytes.Bytes)
    type AttrLabel Setting8021xCaCertPropertyInfo = "ca-cert"
    type AttrOrigin Setting8021xCaCertPropertyInfo = Setting8021x
    attrGet = getSetting8021xCaCert
    attrSet = setSetting8021xCaCert
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xCaCert
    attrClear = clearSetting8021xCaCert
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.caCert"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:caCert"
        })
#endif

-- VVV Prop "ca-cert-password"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@ca-cert-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #caCertPassword
-- @
getSetting8021xCaCertPassword :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xCaCertPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xCaCertPassword o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xCaCertPassword" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"ca-cert-password"

-- | Set the value of the “@ca-cert-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #caCertPassword 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xCaCertPassword :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xCaCertPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xCaCertPassword o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"ca-cert-password" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@ca-cert-password@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xCaCertPassword :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xCaCertPassword :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xCaCertPassword Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"ca-cert-password" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@ca-cert-password@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #caCertPassword
-- @
clearSetting8021xCaCertPassword :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xCaCertPassword :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xCaCertPassword o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"ca-cert-password" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xCaCertPasswordPropertyInfo
instance AttrInfo Setting8021xCaCertPasswordPropertyInfo where
    type AttrAllowedOps Setting8021xCaCertPasswordPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xCaCertPasswordPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xCaCertPasswordPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xCaCertPasswordPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xCaCertPasswordPropertyInfo = T.Text
    type AttrGetType Setting8021xCaCertPasswordPropertyInfo = T.Text
    type AttrLabel Setting8021xCaCertPasswordPropertyInfo = "ca-cert-password"
    type AttrOrigin Setting8021xCaCertPasswordPropertyInfo = Setting8021x
    attrGet = getSetting8021xCaCertPassword
    attrSet = setSetting8021xCaCertPassword
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xCaCertPassword
    attrClear = clearSetting8021xCaCertPassword
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.caCertPassword"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:caCertPassword"
        })
#endif

-- VVV Prop "ca-cert-password-flags"
   -- Type: TInterface (Name {namespace = "NM", name = "SettingSecretFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@ca-cert-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #caCertPasswordFlags
-- @
getSetting8021xCaCertPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> m [NM.Flags.SettingSecretFlags]
getSetting8021xCaCertPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m [SettingSecretFlags]
getSetting8021xCaCertPasswordFlags o
obj = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [SettingSecretFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"ca-cert-password-flags"

-- | Set the value of the “@ca-cert-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #caCertPasswordFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xCaCertPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSetting8021xCaCertPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [SettingSecretFlags] -> m ()
setSetting8021xCaCertPasswordFlags o
obj [SettingSecretFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> [SettingSecretFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"ca-cert-password-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@ca-cert-password-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xCaCertPasswordFlags :: (IsSetting8021x o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xCaCertPasswordFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xCaCertPasswordFlags [SettingSecretFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [SettingSecretFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"ca-cert-password-flags" [SettingSecretFlags]
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xCaCertPasswordFlagsPropertyInfo
instance AttrInfo Setting8021xCaCertPasswordFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xCaCertPasswordFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xCaCertPasswordFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xCaCertPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferTypeConstraint Setting8021xCaCertPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferType Setting8021xCaCertPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrGetType Setting8021xCaCertPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrLabel Setting8021xCaCertPasswordFlagsPropertyInfo = "ca-cert-password-flags"
    type AttrOrigin Setting8021xCaCertPasswordFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xCaCertPasswordFlags
    attrSet = setSetting8021xCaCertPasswordFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xCaCertPasswordFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.caCertPasswordFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:caCertPasswordFlags"
        })
#endif

-- VVV Prop "ca-path"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@ca-path@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #caPath
-- @
getSetting8021xCaPath :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xCaPath :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xCaPath o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xCaPath" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"ca-path"

-- | Set the value of the “@ca-path@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #caPath 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xCaPath :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xCaPath :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xCaPath o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"ca-path" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@ca-path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xCaPath :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xCaPath :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xCaPath Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"ca-path" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@ca-path@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #caPath
-- @
clearSetting8021xCaPath :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xCaPath :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xCaPath o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"ca-path" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xCaPathPropertyInfo
instance AttrInfo Setting8021xCaPathPropertyInfo where
    type AttrAllowedOps Setting8021xCaPathPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xCaPathPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xCaPathPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xCaPathPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xCaPathPropertyInfo = T.Text
    type AttrGetType Setting8021xCaPathPropertyInfo = T.Text
    type AttrLabel Setting8021xCaPathPropertyInfo = "ca-path"
    type AttrOrigin Setting8021xCaPathPropertyInfo = Setting8021x
    attrGet = getSetting8021xCaPath
    attrSet = setSetting8021xCaPath
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xCaPath
    attrClear = clearSetting8021xCaPath
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.caPath"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:caPath"
        })
#endif

-- VVV Prop "client-cert"
   -- Type: TInterface (Name {namespace = "GLib", name = "Bytes"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@client-cert@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #clientCert
-- @
getSetting8021xClientCert :: (MonadIO m, IsSetting8021x o) => o -> m (Maybe GLib.Bytes.Bytes)
getSetting8021xClientCert :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m (Maybe Bytes)
getSetting8021xClientCert o
obj = IO (Maybe Bytes) -> m (Maybe Bytes)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Bytes) -> m (Maybe Bytes))
-> IO (Maybe Bytes) -> m (Maybe Bytes)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Bytes -> Bytes) -> IO (Maybe Bytes)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"client-cert" ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes

-- | Set the value of the “@client-cert@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #clientCert 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xClientCert :: (MonadIO m, IsSetting8021x o) => o -> GLib.Bytes.Bytes -> m ()
setSetting8021xClientCert :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Bytes -> m ()
setSetting8021xClientCert o
obj Bytes
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"client-cert" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
Just Bytes
val)

-- | Construct a t'GValueConstruct' with valid value for the “@client-cert@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xClientCert :: (IsSetting8021x o, MIO.MonadIO m) => GLib.Bytes.Bytes -> m (GValueConstruct o)
constructSetting8021xClientCert :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Bytes -> m (GValueConstruct o)
constructSetting8021xClientCert Bytes
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Bytes -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"client-cert" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
P.Just Bytes
val)

-- | Set the value of the “@client-cert@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #clientCert
-- @
clearSetting8021xClientCert :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xClientCert :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xClientCert o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"client-cert" (Maybe Bytes
forall a. Maybe a
Nothing :: Maybe GLib.Bytes.Bytes)

#if defined(ENABLE_OVERLOADING)
data Setting8021xClientCertPropertyInfo
instance AttrInfo Setting8021xClientCertPropertyInfo where
    type AttrAllowedOps Setting8021xClientCertPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xClientCertPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xClientCertPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferTypeConstraint Setting8021xClientCertPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferType Setting8021xClientCertPropertyInfo = GLib.Bytes.Bytes
    type AttrGetType Setting8021xClientCertPropertyInfo = (Maybe GLib.Bytes.Bytes)
    type AttrLabel Setting8021xClientCertPropertyInfo = "client-cert"
    type AttrOrigin Setting8021xClientCertPropertyInfo = Setting8021x
    attrGet = getSetting8021xClientCert
    attrSet = setSetting8021xClientCert
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xClientCert
    attrClear = clearSetting8021xClientCert
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.clientCert"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:clientCert"
        })
#endif

-- VVV Prop "client-cert-password"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@client-cert-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #clientCertPassword
-- @
getSetting8021xClientCertPassword :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xClientCertPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xClientCertPassword o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xClientCertPassword" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"client-cert-password"

-- | Set the value of the “@client-cert-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #clientCertPassword 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xClientCertPassword :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xClientCertPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xClientCertPassword o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"client-cert-password" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@client-cert-password@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xClientCertPassword :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xClientCertPassword :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xClientCertPassword Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"client-cert-password" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@client-cert-password@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #clientCertPassword
-- @
clearSetting8021xClientCertPassword :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xClientCertPassword :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xClientCertPassword o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"client-cert-password" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xClientCertPasswordPropertyInfo
instance AttrInfo Setting8021xClientCertPasswordPropertyInfo where
    type AttrAllowedOps Setting8021xClientCertPasswordPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xClientCertPasswordPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xClientCertPasswordPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xClientCertPasswordPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xClientCertPasswordPropertyInfo = T.Text
    type AttrGetType Setting8021xClientCertPasswordPropertyInfo = T.Text
    type AttrLabel Setting8021xClientCertPasswordPropertyInfo = "client-cert-password"
    type AttrOrigin Setting8021xClientCertPasswordPropertyInfo = Setting8021x
    attrGet = getSetting8021xClientCertPassword
    attrSet = setSetting8021xClientCertPassword
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xClientCertPassword
    attrClear = clearSetting8021xClientCertPassword
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.clientCertPassword"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:clientCertPassword"
        })
#endif

-- VVV Prop "client-cert-password-flags"
   -- Type: TInterface (Name {namespace = "NM", name = "SettingSecretFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@client-cert-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #clientCertPasswordFlags
-- @
getSetting8021xClientCertPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> m [NM.Flags.SettingSecretFlags]
getSetting8021xClientCertPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m [SettingSecretFlags]
getSetting8021xClientCertPasswordFlags o
obj = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [SettingSecretFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"client-cert-password-flags"

-- | Set the value of the “@client-cert-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #clientCertPasswordFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xClientCertPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSetting8021xClientCertPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [SettingSecretFlags] -> m ()
setSetting8021xClientCertPasswordFlags o
obj [SettingSecretFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> [SettingSecretFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"client-cert-password-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@client-cert-password-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xClientCertPasswordFlags :: (IsSetting8021x o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xClientCertPasswordFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xClientCertPasswordFlags [SettingSecretFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [SettingSecretFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"client-cert-password-flags" [SettingSecretFlags]
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xClientCertPasswordFlagsPropertyInfo
instance AttrInfo Setting8021xClientCertPasswordFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xClientCertPasswordFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xClientCertPasswordFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xClientCertPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferTypeConstraint Setting8021xClientCertPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferType Setting8021xClientCertPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrGetType Setting8021xClientCertPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrLabel Setting8021xClientCertPasswordFlagsPropertyInfo = "client-cert-password-flags"
    type AttrOrigin Setting8021xClientCertPasswordFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xClientCertPasswordFlags
    attrSet = setSetting8021xClientCertPasswordFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xClientCertPasswordFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.clientCertPasswordFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:clientCertPasswordFlags"
        })
#endif

-- VVV Prop "domain-match"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@domain-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #domainMatch
-- @
getSetting8021xDomainMatch :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xDomainMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xDomainMatch o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xDomainMatch" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"domain-match"

-- | Set the value of the “@domain-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #domainMatch 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xDomainMatch :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xDomainMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xDomainMatch o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"domain-match" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@domain-match@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xDomainMatch :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xDomainMatch :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xDomainMatch Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"domain-match" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@domain-match@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #domainMatch
-- @
clearSetting8021xDomainMatch :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xDomainMatch :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xDomainMatch o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"domain-match" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xDomainMatchPropertyInfo
instance AttrInfo Setting8021xDomainMatchPropertyInfo where
    type AttrAllowedOps Setting8021xDomainMatchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xDomainMatchPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xDomainMatchPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xDomainMatchPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xDomainMatchPropertyInfo = T.Text
    type AttrGetType Setting8021xDomainMatchPropertyInfo = T.Text
    type AttrLabel Setting8021xDomainMatchPropertyInfo = "domain-match"
    type AttrOrigin Setting8021xDomainMatchPropertyInfo = Setting8021x
    attrGet = getSetting8021xDomainMatch
    attrSet = setSetting8021xDomainMatch
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xDomainMatch
    attrClear = clearSetting8021xDomainMatch
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.domainMatch"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:domainMatch"
        })
#endif

-- VVV Prop "domain-suffix-match"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@domain-suffix-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #domainSuffixMatch
-- @
getSetting8021xDomainSuffixMatch :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xDomainSuffixMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xDomainSuffixMatch o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xDomainSuffixMatch" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"domain-suffix-match"

-- | Set the value of the “@domain-suffix-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #domainSuffixMatch 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xDomainSuffixMatch :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xDomainSuffixMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xDomainSuffixMatch o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"domain-suffix-match" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@domain-suffix-match@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xDomainSuffixMatch :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xDomainSuffixMatch :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xDomainSuffixMatch Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"domain-suffix-match" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@domain-suffix-match@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #domainSuffixMatch
-- @
clearSetting8021xDomainSuffixMatch :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xDomainSuffixMatch :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xDomainSuffixMatch o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"domain-suffix-match" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xDomainSuffixMatchPropertyInfo
instance AttrInfo Setting8021xDomainSuffixMatchPropertyInfo where
    type AttrAllowedOps Setting8021xDomainSuffixMatchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xDomainSuffixMatchPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xDomainSuffixMatchPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xDomainSuffixMatchPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xDomainSuffixMatchPropertyInfo = T.Text
    type AttrGetType Setting8021xDomainSuffixMatchPropertyInfo = T.Text
    type AttrLabel Setting8021xDomainSuffixMatchPropertyInfo = "domain-suffix-match"
    type AttrOrigin Setting8021xDomainSuffixMatchPropertyInfo = Setting8021x
    attrGet = getSetting8021xDomainSuffixMatch
    attrSet = setSetting8021xDomainSuffixMatch
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xDomainSuffixMatch
    attrClear = clearSetting8021xDomainSuffixMatch
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.domainSuffixMatch"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:domainSuffixMatch"
        })
#endif

-- VVV Prop "eap"
   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@eap@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #eap
-- @
getSetting8021xEap :: (MonadIO m, IsSetting8021x o) => o -> m (Maybe [T.Text])
getSetting8021xEap :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m (Maybe [Text])
getSetting8021xEap o
obj = IO (Maybe [Text]) -> m (Maybe [Text])
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe [Text]) -> m (Maybe [Text]))
-> IO (Maybe [Text]) -> m (Maybe [Text])
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe [Text])
forall a. GObject a => a -> String -> IO (Maybe [Text])
B.Properties.getObjectPropertyStringArray o
obj String
"eap"

-- | Set the value of the “@eap@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #eap 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xEap :: (MonadIO m, IsSetting8021x o) => o -> [T.Text] -> m ()
setSetting8021xEap :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [Text] -> m ()
setSetting8021xEap o
obj [Text]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe [Text] -> IO ()
forall a. GObject a => a -> String -> Maybe [Text] -> IO ()
B.Properties.setObjectPropertyStringArray o
obj String
"eap" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
Just [Text]
val)

-- | Construct a t'GValueConstruct' with valid value for the “@eap@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xEap :: (IsSetting8021x o, MIO.MonadIO m) => [T.Text] -> m (GValueConstruct o)
constructSetting8021xEap :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[Text] -> m (GValueConstruct o)
constructSetting8021xEap [Text]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe [Text] -> IO (GValueConstruct o)
forall o. String -> Maybe [Text] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyStringArray String
"eap" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
P.Just [Text]
val)

-- | Set the value of the “@eap@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #eap
-- @
clearSetting8021xEap :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xEap :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xEap o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe [Text] -> IO ()
forall a. GObject a => a -> String -> Maybe [Text] -> IO ()
B.Properties.setObjectPropertyStringArray o
obj String
"eap" (Maybe [Text]
forall a. Maybe a
Nothing :: Maybe [T.Text])

#if defined(ENABLE_OVERLOADING)
data Setting8021xEapPropertyInfo
instance AttrInfo Setting8021xEapPropertyInfo where
    type AttrAllowedOps Setting8021xEapPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xEapPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xEapPropertyInfo = (~) [T.Text]
    type AttrTransferTypeConstraint Setting8021xEapPropertyInfo = (~) [T.Text]
    type AttrTransferType Setting8021xEapPropertyInfo = [T.Text]
    type AttrGetType Setting8021xEapPropertyInfo = (Maybe [T.Text])
    type AttrLabel Setting8021xEapPropertyInfo = "eap"
    type AttrOrigin Setting8021xEapPropertyInfo = Setting8021x
    attrGet = getSetting8021xEap
    attrSet = setSetting8021xEap
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xEap
    attrClear = clearSetting8021xEap
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.eap"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:eap"
        })
#endif

-- VVV Prop "identity"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@identity@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #identity
-- @
getSetting8021xIdentity :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xIdentity :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xIdentity o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xIdentity" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"identity"

-- | Set the value of the “@identity@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #identity 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xIdentity :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xIdentity :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xIdentity o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"identity" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@identity@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xIdentity :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xIdentity :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xIdentity Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"identity" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@identity@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #identity
-- @
clearSetting8021xIdentity :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xIdentity :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xIdentity o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"identity" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xIdentityPropertyInfo
instance AttrInfo Setting8021xIdentityPropertyInfo where
    type AttrAllowedOps Setting8021xIdentityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xIdentityPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xIdentityPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xIdentityPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xIdentityPropertyInfo = T.Text
    type AttrGetType Setting8021xIdentityPropertyInfo = T.Text
    type AttrLabel Setting8021xIdentityPropertyInfo = "identity"
    type AttrOrigin Setting8021xIdentityPropertyInfo = Setting8021x
    attrGet = getSetting8021xIdentity
    attrSet = setSetting8021xIdentity
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xIdentity
    attrClear = clearSetting8021xIdentity
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.identity"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:identity"
        })
#endif

-- VVV Prop "openssl-ciphers"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@openssl-ciphers@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #opensslCiphers
-- @
getSetting8021xOpensslCiphers :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xOpensslCiphers :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xOpensslCiphers o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xOpensslCiphers" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"openssl-ciphers"

-- | Set the value of the “@openssl-ciphers@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #opensslCiphers 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xOpensslCiphers :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xOpensslCiphers :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xOpensslCiphers o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"openssl-ciphers" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@openssl-ciphers@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xOpensslCiphers :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xOpensslCiphers :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xOpensslCiphers Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"openssl-ciphers" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@openssl-ciphers@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #opensslCiphers
-- @
clearSetting8021xOpensslCiphers :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xOpensslCiphers :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xOpensslCiphers o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"openssl-ciphers" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xOpensslCiphersPropertyInfo
instance AttrInfo Setting8021xOpensslCiphersPropertyInfo where
    type AttrAllowedOps Setting8021xOpensslCiphersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xOpensslCiphersPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xOpensslCiphersPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xOpensslCiphersPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xOpensslCiphersPropertyInfo = T.Text
    type AttrGetType Setting8021xOpensslCiphersPropertyInfo = T.Text
    type AttrLabel Setting8021xOpensslCiphersPropertyInfo = "openssl-ciphers"
    type AttrOrigin Setting8021xOpensslCiphersPropertyInfo = Setting8021x
    attrGet = getSetting8021xOpensslCiphers
    attrSet = setSetting8021xOpensslCiphers
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xOpensslCiphers
    attrClear = clearSetting8021xOpensslCiphers
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.opensslCiphers"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:opensslCiphers"
        })
#endif

-- VVV Prop "optional"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@optional@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #optional
-- @
getSetting8021xOptional :: (MonadIO m, IsSetting8021x o) => o -> m Bool
getSetting8021xOptional :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Bool
getSetting8021xOptional o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"optional"

-- | Set the value of the “@optional@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #optional 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xOptional :: (MonadIO m, IsSetting8021x o) => o -> Bool -> m ()
setSetting8021xOptional :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Bool -> m ()
setSetting8021xOptional o
obj Bool
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"optional" Bool
val

-- | Construct a t'GValueConstruct' with valid value for the “@optional@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xOptional :: (IsSetting8021x o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructSetting8021xOptional :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructSetting8021xOptional Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"optional" Bool
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xOptionalPropertyInfo
instance AttrInfo Setting8021xOptionalPropertyInfo where
    type AttrAllowedOps Setting8021xOptionalPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xOptionalPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xOptionalPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint Setting8021xOptionalPropertyInfo = (~) Bool
    type AttrTransferType Setting8021xOptionalPropertyInfo = Bool
    type AttrGetType Setting8021xOptionalPropertyInfo = Bool
    type AttrLabel Setting8021xOptionalPropertyInfo = "optional"
    type AttrOrigin Setting8021xOptionalPropertyInfo = Setting8021x
    attrGet = getSetting8021xOptional
    attrSet = setSetting8021xOptional
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xOptional
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.optional"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:optional"
        })
#endif

-- VVV Prop "pac-file"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@pac-file@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #pacFile
-- @
getSetting8021xPacFile :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPacFile :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPacFile o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPacFile" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"pac-file"

-- | Set the value of the “@pac-file@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #pacFile 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPacFile :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPacFile :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPacFile o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"pac-file" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@pac-file@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPacFile :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPacFile :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPacFile Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"pac-file" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@pac-file@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #pacFile
-- @
clearSetting8021xPacFile :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPacFile :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPacFile o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"pac-file" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPacFilePropertyInfo
instance AttrInfo Setting8021xPacFilePropertyInfo where
    type AttrAllowedOps Setting8021xPacFilePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPacFilePropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPacFilePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPacFilePropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPacFilePropertyInfo = T.Text
    type AttrGetType Setting8021xPacFilePropertyInfo = T.Text
    type AttrLabel Setting8021xPacFilePropertyInfo = "pac-file"
    type AttrOrigin Setting8021xPacFilePropertyInfo = Setting8021x
    attrGet = getSetting8021xPacFile
    attrSet = setSetting8021xPacFile
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPacFile
    attrClear = clearSetting8021xPacFile
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.pacFile"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:pacFile"
        })
#endif

-- VVV Prop "password"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #password
-- @
getSetting8021xPassword :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPassword o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPassword" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"password"

-- | Set the value of the “@password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #password 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPassword :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPassword o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"password" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@password@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPassword :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPassword :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPassword Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"password" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@password@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #password
-- @
clearSetting8021xPassword :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPassword :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPassword o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"password" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPasswordPropertyInfo
instance AttrInfo Setting8021xPasswordPropertyInfo where
    type AttrAllowedOps Setting8021xPasswordPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPasswordPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPasswordPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPasswordPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPasswordPropertyInfo = T.Text
    type AttrGetType Setting8021xPasswordPropertyInfo = T.Text
    type AttrLabel Setting8021xPasswordPropertyInfo = "password"
    type AttrOrigin Setting8021xPasswordPropertyInfo = Setting8021x
    attrGet = getSetting8021xPassword
    attrSet = setSetting8021xPassword
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPassword
    attrClear = clearSetting8021xPassword
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.password"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:password"
        })
#endif

-- VVV Prop "password-flags"
   -- Type: TInterface (Name {namespace = "NM", name = "SettingSecretFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #passwordFlags
-- @
getSetting8021xPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> m [NM.Flags.SettingSecretFlags]
getSetting8021xPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m [SettingSecretFlags]
getSetting8021xPasswordFlags o
obj = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [SettingSecretFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"password-flags"

-- | Set the value of the “@password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #passwordFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSetting8021xPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [SettingSecretFlags] -> m ()
setSetting8021xPasswordFlags o
obj [SettingSecretFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> [SettingSecretFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"password-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@password-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPasswordFlags :: (IsSetting8021x o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPasswordFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPasswordFlags [SettingSecretFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [SettingSecretFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"password-flags" [SettingSecretFlags]
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xPasswordFlagsPropertyInfo
instance AttrInfo Setting8021xPasswordFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xPasswordFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xPasswordFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferTypeConstraint Setting8021xPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferType Setting8021xPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrGetType Setting8021xPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrLabel Setting8021xPasswordFlagsPropertyInfo = "password-flags"
    type AttrOrigin Setting8021xPasswordFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xPasswordFlags
    attrSet = setSetting8021xPasswordFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPasswordFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.passwordFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:passwordFlags"
        })
#endif

-- VVV Prop "password-raw"
   -- Type: TInterface (Name {namespace = "GLib", name = "Bytes"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@password-raw@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #passwordRaw
-- @
getSetting8021xPasswordRaw :: (MonadIO m, IsSetting8021x o) => o -> m GLib.Bytes.Bytes
getSetting8021xPasswordRaw :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Bytes
getSetting8021xPasswordRaw o
obj = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Bytes) -> IO Bytes
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPasswordRaw" (IO (Maybe Bytes) -> IO Bytes) -> IO (Maybe Bytes) -> IO Bytes
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Bytes -> Bytes) -> IO (Maybe Bytes)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"password-raw" ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes

-- | Set the value of the “@password-raw@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #passwordRaw 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPasswordRaw :: (MonadIO m, IsSetting8021x o) => o -> GLib.Bytes.Bytes -> m ()
setSetting8021xPasswordRaw :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Bytes -> m ()
setSetting8021xPasswordRaw o
obj Bytes
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"password-raw" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
Just Bytes
val)

-- | Construct a t'GValueConstruct' with valid value for the “@password-raw@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPasswordRaw :: (IsSetting8021x o, MIO.MonadIO m) => GLib.Bytes.Bytes -> m (GValueConstruct o)
constructSetting8021xPasswordRaw :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Bytes -> m (GValueConstruct o)
constructSetting8021xPasswordRaw Bytes
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Bytes -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"password-raw" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
P.Just Bytes
val)

-- | Set the value of the “@password-raw@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #passwordRaw
-- @
clearSetting8021xPasswordRaw :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPasswordRaw :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPasswordRaw o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"password-raw" (Maybe Bytes
forall a. Maybe a
Nothing :: Maybe GLib.Bytes.Bytes)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPasswordRawPropertyInfo
instance AttrInfo Setting8021xPasswordRawPropertyInfo where
    type AttrAllowedOps Setting8021xPasswordRawPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPasswordRawPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPasswordRawPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferTypeConstraint Setting8021xPasswordRawPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferType Setting8021xPasswordRawPropertyInfo = GLib.Bytes.Bytes
    type AttrGetType Setting8021xPasswordRawPropertyInfo = GLib.Bytes.Bytes
    type AttrLabel Setting8021xPasswordRawPropertyInfo = "password-raw"
    type AttrOrigin Setting8021xPasswordRawPropertyInfo = Setting8021x
    attrGet = getSetting8021xPasswordRaw
    attrSet = setSetting8021xPasswordRaw
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPasswordRaw
    attrClear = clearSetting8021xPasswordRaw
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.passwordRaw"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:passwordRaw"
        })
#endif

-- VVV Prop "password-raw-flags"
   -- Type: TInterface (Name {namespace = "NM", name = "SettingSecretFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@password-raw-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #passwordRawFlags
-- @
getSetting8021xPasswordRawFlags :: (MonadIO m, IsSetting8021x o) => o -> m [NM.Flags.SettingSecretFlags]
getSetting8021xPasswordRawFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m [SettingSecretFlags]
getSetting8021xPasswordRawFlags o
obj = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [SettingSecretFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"password-raw-flags"

-- | Set the value of the “@password-raw-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #passwordRawFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPasswordRawFlags :: (MonadIO m, IsSetting8021x o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSetting8021xPasswordRawFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [SettingSecretFlags] -> m ()
setSetting8021xPasswordRawFlags o
obj [SettingSecretFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> [SettingSecretFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"password-raw-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@password-raw-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPasswordRawFlags :: (IsSetting8021x o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPasswordRawFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPasswordRawFlags [SettingSecretFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [SettingSecretFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"password-raw-flags" [SettingSecretFlags]
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xPasswordRawFlagsPropertyInfo
instance AttrInfo Setting8021xPasswordRawFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xPasswordRawFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xPasswordRawFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPasswordRawFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferTypeConstraint Setting8021xPasswordRawFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferType Setting8021xPasswordRawFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrGetType Setting8021xPasswordRawFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrLabel Setting8021xPasswordRawFlagsPropertyInfo = "password-raw-flags"
    type AttrOrigin Setting8021xPasswordRawFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xPasswordRawFlags
    attrSet = setSetting8021xPasswordRawFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPasswordRawFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.passwordRawFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:passwordRawFlags"
        })
#endif

-- VVV Prop "phase1-auth-flags"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@phase1-auth-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase1AuthFlags
-- @
getSetting8021xPhase1AuthFlags :: (MonadIO m, IsSetting8021x o) => o -> m Word32
getSetting8021xPhase1AuthFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Word32
getSetting8021xPhase1AuthFlags o
obj = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj String
"phase1-auth-flags"

-- | Set the value of the “@phase1-auth-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase1AuthFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase1AuthFlags :: (MonadIO m, IsSetting8021x o) => o -> Word32 -> m ()
setSetting8021xPhase1AuthFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Word32 -> m ()
setSetting8021xPhase1AuthFlags o
obj Word32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Word32 -> IO ()
forall a. GObject a => a -> String -> Word32 -> IO ()
B.Properties.setObjectPropertyUInt32 o
obj String
"phase1-auth-flags" Word32
val

-- | Construct a t'GValueConstruct' with valid value for the “@phase1-auth-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase1AuthFlags :: (IsSetting8021x o, MIO.MonadIO m) => Word32 -> m (GValueConstruct o)
constructSetting8021xPhase1AuthFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Word32 -> m (GValueConstruct o)
constructSetting8021xPhase1AuthFlags Word32
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt32 String
"phase1-auth-flags" Word32
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase1AuthFlagsPropertyInfo
instance AttrInfo Setting8021xPhase1AuthFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xPhase1AuthFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xPhase1AuthFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase1AuthFlagsPropertyInfo = (~) Word32
    type AttrTransferTypeConstraint Setting8021xPhase1AuthFlagsPropertyInfo = (~) Word32
    type AttrTransferType Setting8021xPhase1AuthFlagsPropertyInfo = Word32
    type AttrGetType Setting8021xPhase1AuthFlagsPropertyInfo = Word32
    type AttrLabel Setting8021xPhase1AuthFlagsPropertyInfo = "phase1-auth-flags"
    type AttrOrigin Setting8021xPhase1AuthFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase1AuthFlags
    attrSet = setSetting8021xPhase1AuthFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase1AuthFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase1AuthFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase1AuthFlags"
        })
#endif

-- VVV Prop "phase1-fast-provisioning"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase1-fast-provisioning@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase1FastProvisioning
-- @
getSetting8021xPhase1FastProvisioning :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase1FastProvisioning :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase1FastProvisioning o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase1FastProvisioning" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase1-fast-provisioning"

-- | Set the value of the “@phase1-fast-provisioning@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase1FastProvisioning 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase1FastProvisioning :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase1FastProvisioning :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase1FastProvisioning o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase1-fast-provisioning" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase1-fast-provisioning@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase1FastProvisioning :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase1FastProvisioning :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase1FastProvisioning Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase1-fast-provisioning" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase1-fast-provisioning@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase1FastProvisioning
-- @
clearSetting8021xPhase1FastProvisioning :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase1FastProvisioning :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase1FastProvisioning o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase1-fast-provisioning" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase1FastProvisioningPropertyInfo
instance AttrInfo Setting8021xPhase1FastProvisioningPropertyInfo where
    type AttrAllowedOps Setting8021xPhase1FastProvisioningPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase1FastProvisioningPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase1FastProvisioningPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase1FastProvisioningPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase1FastProvisioningPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase1FastProvisioningPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase1FastProvisioningPropertyInfo = "phase1-fast-provisioning"
    type AttrOrigin Setting8021xPhase1FastProvisioningPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase1FastProvisioning
    attrSet = setSetting8021xPhase1FastProvisioning
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase1FastProvisioning
    attrClear = clearSetting8021xPhase1FastProvisioning
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase1FastProvisioning"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase1FastProvisioning"
        })
#endif

-- VVV Prop "phase1-peaplabel"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase1-peaplabel@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase1Peaplabel
-- @
getSetting8021xPhase1Peaplabel :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase1Peaplabel :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase1Peaplabel o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase1Peaplabel" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase1-peaplabel"

-- | Set the value of the “@phase1-peaplabel@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase1Peaplabel 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase1Peaplabel :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase1Peaplabel :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase1Peaplabel o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase1-peaplabel" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase1-peaplabel@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase1Peaplabel :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase1Peaplabel :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase1Peaplabel Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase1-peaplabel" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase1-peaplabel@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase1Peaplabel
-- @
clearSetting8021xPhase1Peaplabel :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase1Peaplabel :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase1Peaplabel o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase1-peaplabel" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase1PeaplabelPropertyInfo
instance AttrInfo Setting8021xPhase1PeaplabelPropertyInfo where
    type AttrAllowedOps Setting8021xPhase1PeaplabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase1PeaplabelPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase1PeaplabelPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase1PeaplabelPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase1PeaplabelPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase1PeaplabelPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase1PeaplabelPropertyInfo = "phase1-peaplabel"
    type AttrOrigin Setting8021xPhase1PeaplabelPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase1Peaplabel
    attrSet = setSetting8021xPhase1Peaplabel
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase1Peaplabel
    attrClear = clearSetting8021xPhase1Peaplabel
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase1Peaplabel"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase1Peaplabel"
        })
#endif

-- VVV Prop "phase1-peapver"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase1-peapver@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase1Peapver
-- @
getSetting8021xPhase1Peapver :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase1Peapver :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase1Peapver o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase1Peapver" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase1-peapver"

-- | Set the value of the “@phase1-peapver@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase1Peapver 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase1Peapver :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase1Peapver :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase1Peapver o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase1-peapver" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase1-peapver@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase1Peapver :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase1Peapver :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase1Peapver Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase1-peapver" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase1-peapver@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase1Peapver
-- @
clearSetting8021xPhase1Peapver :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase1Peapver :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase1Peapver o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase1-peapver" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase1PeapverPropertyInfo
instance AttrInfo Setting8021xPhase1PeapverPropertyInfo where
    type AttrAllowedOps Setting8021xPhase1PeapverPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase1PeapverPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase1PeapverPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase1PeapverPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase1PeapverPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase1PeapverPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase1PeapverPropertyInfo = "phase1-peapver"
    type AttrOrigin Setting8021xPhase1PeapverPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase1Peapver
    attrSet = setSetting8021xPhase1Peapver
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase1Peapver
    attrClear = clearSetting8021xPhase1Peapver
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase1Peapver"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase1Peapver"
        })
#endif

-- VVV Prop "phase2-altsubject-matches"
   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@phase2-altsubject-matches@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2AltsubjectMatches
-- @
getSetting8021xPhase2AltsubjectMatches :: (MonadIO m, IsSetting8021x o) => o -> m (Maybe [T.Text])
getSetting8021xPhase2AltsubjectMatches :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m (Maybe [Text])
getSetting8021xPhase2AltsubjectMatches o
obj = IO (Maybe [Text]) -> m (Maybe [Text])
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe [Text]) -> m (Maybe [Text]))
-> IO (Maybe [Text]) -> m (Maybe [Text])
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe [Text])
forall a. GObject a => a -> String -> IO (Maybe [Text])
B.Properties.getObjectPropertyStringArray o
obj String
"phase2-altsubject-matches"

-- | Set the value of the “@phase2-altsubject-matches@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2AltsubjectMatches 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2AltsubjectMatches :: (MonadIO m, IsSetting8021x o) => o -> [T.Text] -> m ()
setSetting8021xPhase2AltsubjectMatches :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [Text] -> m ()
setSetting8021xPhase2AltsubjectMatches o
obj [Text]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe [Text] -> IO ()
forall a. GObject a => a -> String -> Maybe [Text] -> IO ()
B.Properties.setObjectPropertyStringArray o
obj String
"phase2-altsubject-matches" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
Just [Text]
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-altsubject-matches@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2AltsubjectMatches :: (IsSetting8021x o, MIO.MonadIO m) => [T.Text] -> m (GValueConstruct o)
constructSetting8021xPhase2AltsubjectMatches :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[Text] -> m (GValueConstruct o)
constructSetting8021xPhase2AltsubjectMatches [Text]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe [Text] -> IO (GValueConstruct o)
forall o. String -> Maybe [Text] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyStringArray String
"phase2-altsubject-matches" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
P.Just [Text]
val)

-- | Set the value of the “@phase2-altsubject-matches@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2AltsubjectMatches
-- @
clearSetting8021xPhase2AltsubjectMatches :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2AltsubjectMatches :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2AltsubjectMatches o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe [Text] -> IO ()
forall a. GObject a => a -> String -> Maybe [Text] -> IO ()
B.Properties.setObjectPropertyStringArray o
obj String
"phase2-altsubject-matches" (Maybe [Text]
forall a. Maybe a
Nothing :: Maybe [T.Text])

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2AltsubjectMatchesPropertyInfo
instance AttrInfo Setting8021xPhase2AltsubjectMatchesPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2AltsubjectMatchesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2AltsubjectMatchesPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2AltsubjectMatchesPropertyInfo = (~) [T.Text]
    type AttrTransferTypeConstraint Setting8021xPhase2AltsubjectMatchesPropertyInfo = (~) [T.Text]
    type AttrTransferType Setting8021xPhase2AltsubjectMatchesPropertyInfo = [T.Text]
    type AttrGetType Setting8021xPhase2AltsubjectMatchesPropertyInfo = (Maybe [T.Text])
    type AttrLabel Setting8021xPhase2AltsubjectMatchesPropertyInfo = "phase2-altsubject-matches"
    type AttrOrigin Setting8021xPhase2AltsubjectMatchesPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2AltsubjectMatches
    attrSet = setSetting8021xPhase2AltsubjectMatches
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2AltsubjectMatches
    attrClear = clearSetting8021xPhase2AltsubjectMatches
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2AltsubjectMatches"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2AltsubjectMatches"
        })
#endif

-- VVV Prop "phase2-auth"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-auth@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2Auth
-- @
getSetting8021xPhase2Auth :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase2Auth :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase2Auth o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase2Auth" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase2-auth"

-- | Set the value of the “@phase2-auth@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2Auth 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2Auth :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase2Auth :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase2Auth o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-auth" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-auth@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2Auth :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase2Auth :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase2Auth Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase2-auth" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase2-auth@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2Auth
-- @
clearSetting8021xPhase2Auth :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2Auth :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2Auth o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-auth" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2AuthPropertyInfo
instance AttrInfo Setting8021xPhase2AuthPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2AuthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2AuthPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2AuthPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase2AuthPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase2AuthPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase2AuthPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase2AuthPropertyInfo = "phase2-auth"
    type AttrOrigin Setting8021xPhase2AuthPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2Auth
    attrSet = setSetting8021xPhase2Auth
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2Auth
    attrClear = clearSetting8021xPhase2Auth
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2Auth"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2Auth"
        })
#endif

-- VVV Prop "phase2-autheap"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-autheap@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2Autheap
-- @
getSetting8021xPhase2Autheap :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase2Autheap :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase2Autheap o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase2Autheap" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase2-autheap"

-- | Set the value of the “@phase2-autheap@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2Autheap 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2Autheap :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase2Autheap :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase2Autheap o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-autheap" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-autheap@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2Autheap :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase2Autheap :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase2Autheap Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase2-autheap" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase2-autheap@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2Autheap
-- @
clearSetting8021xPhase2Autheap :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2Autheap :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2Autheap o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-autheap" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2AutheapPropertyInfo
instance AttrInfo Setting8021xPhase2AutheapPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2AutheapPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2AutheapPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2AutheapPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase2AutheapPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase2AutheapPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase2AutheapPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase2AutheapPropertyInfo = "phase2-autheap"
    type AttrOrigin Setting8021xPhase2AutheapPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2Autheap
    attrSet = setSetting8021xPhase2Autheap
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2Autheap
    attrClear = clearSetting8021xPhase2Autheap
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2Autheap"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2Autheap"
        })
#endif

-- VVV Prop "phase2-ca-cert"
   -- Type: TInterface (Name {namespace = "GLib", name = "Bytes"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@phase2-ca-cert@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2CaCert
-- @
getSetting8021xPhase2CaCert :: (MonadIO m, IsSetting8021x o) => o -> m (Maybe GLib.Bytes.Bytes)
getSetting8021xPhase2CaCert :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m (Maybe Bytes)
getSetting8021xPhase2CaCert o
obj = IO (Maybe Bytes) -> m (Maybe Bytes)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Bytes) -> m (Maybe Bytes))
-> IO (Maybe Bytes) -> m (Maybe Bytes)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Bytes -> Bytes) -> IO (Maybe Bytes)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"phase2-ca-cert" ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes

-- | Set the value of the “@phase2-ca-cert@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2CaCert 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2CaCert :: (MonadIO m, IsSetting8021x o) => o -> GLib.Bytes.Bytes -> m ()
setSetting8021xPhase2CaCert :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Bytes -> m ()
setSetting8021xPhase2CaCert o
obj Bytes
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"phase2-ca-cert" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
Just Bytes
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-ca-cert@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2CaCert :: (IsSetting8021x o, MIO.MonadIO m) => GLib.Bytes.Bytes -> m (GValueConstruct o)
constructSetting8021xPhase2CaCert :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Bytes -> m (GValueConstruct o)
constructSetting8021xPhase2CaCert Bytes
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Bytes -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"phase2-ca-cert" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
P.Just Bytes
val)

-- | Set the value of the “@phase2-ca-cert@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2CaCert
-- @
clearSetting8021xPhase2CaCert :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2CaCert :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2CaCert o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"phase2-ca-cert" (Maybe Bytes
forall a. Maybe a
Nothing :: Maybe GLib.Bytes.Bytes)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2CaCertPropertyInfo
instance AttrInfo Setting8021xPhase2CaCertPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2CaCertPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2CaCertPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2CaCertPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferTypeConstraint Setting8021xPhase2CaCertPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferType Setting8021xPhase2CaCertPropertyInfo = GLib.Bytes.Bytes
    type AttrGetType Setting8021xPhase2CaCertPropertyInfo = (Maybe GLib.Bytes.Bytes)
    type AttrLabel Setting8021xPhase2CaCertPropertyInfo = "phase2-ca-cert"
    type AttrOrigin Setting8021xPhase2CaCertPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2CaCert
    attrSet = setSetting8021xPhase2CaCert
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2CaCert
    attrClear = clearSetting8021xPhase2CaCert
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2CaCert"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2CaCert"
        })
#endif

-- VVV Prop "phase2-ca-cert-password"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-ca-cert-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2CaCertPassword
-- @
getSetting8021xPhase2CaCertPassword :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase2CaCertPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase2CaCertPassword o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase2CaCertPassword" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase2-ca-cert-password"

-- | Set the value of the “@phase2-ca-cert-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2CaCertPassword 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2CaCertPassword :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase2CaCertPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase2CaCertPassword o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-ca-cert-password" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-ca-cert-password@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2CaCertPassword :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase2CaCertPassword :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase2CaCertPassword Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase2-ca-cert-password" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase2-ca-cert-password@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2CaCertPassword
-- @
clearSetting8021xPhase2CaCertPassword :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2CaCertPassword :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2CaCertPassword o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-ca-cert-password" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2CaCertPasswordPropertyInfo
instance AttrInfo Setting8021xPhase2CaCertPasswordPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2CaCertPasswordPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2CaCertPasswordPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2CaCertPasswordPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase2CaCertPasswordPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase2CaCertPasswordPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase2CaCertPasswordPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase2CaCertPasswordPropertyInfo = "phase2-ca-cert-password"
    type AttrOrigin Setting8021xPhase2CaCertPasswordPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2CaCertPassword
    attrSet = setSetting8021xPhase2CaCertPassword
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2CaCertPassword
    attrClear = clearSetting8021xPhase2CaCertPassword
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2CaCertPassword"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2CaCertPassword"
        })
#endif

-- VVV Prop "phase2-ca-cert-password-flags"
   -- Type: TInterface (Name {namespace = "NM", name = "SettingSecretFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-ca-cert-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2CaCertPasswordFlags
-- @
getSetting8021xPhase2CaCertPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> m [NM.Flags.SettingSecretFlags]
getSetting8021xPhase2CaCertPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m [SettingSecretFlags]
getSetting8021xPhase2CaCertPasswordFlags o
obj = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [SettingSecretFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"phase2-ca-cert-password-flags"

-- | Set the value of the “@phase2-ca-cert-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2CaCertPasswordFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2CaCertPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSetting8021xPhase2CaCertPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [SettingSecretFlags] -> m ()
setSetting8021xPhase2CaCertPasswordFlags o
obj [SettingSecretFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> [SettingSecretFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"phase2-ca-cert-password-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-ca-cert-password-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2CaCertPasswordFlags :: (IsSetting8021x o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPhase2CaCertPasswordFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPhase2CaCertPasswordFlags [SettingSecretFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [SettingSecretFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"phase2-ca-cert-password-flags" [SettingSecretFlags]
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2CaCertPasswordFlagsPropertyInfo
instance AttrInfo Setting8021xPhase2CaCertPasswordFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2CaCertPasswordFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xPhase2CaCertPasswordFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2CaCertPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferTypeConstraint Setting8021xPhase2CaCertPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferType Setting8021xPhase2CaCertPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrGetType Setting8021xPhase2CaCertPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrLabel Setting8021xPhase2CaCertPasswordFlagsPropertyInfo = "phase2-ca-cert-password-flags"
    type AttrOrigin Setting8021xPhase2CaCertPasswordFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2CaCertPasswordFlags
    attrSet = setSetting8021xPhase2CaCertPasswordFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2CaCertPasswordFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2CaCertPasswordFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2CaCertPasswordFlags"
        })
#endif

-- VVV Prop "phase2-ca-path"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-ca-path@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2CaPath
-- @
getSetting8021xPhase2CaPath :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase2CaPath :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase2CaPath o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase2CaPath" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase2-ca-path"

-- | Set the value of the “@phase2-ca-path@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2CaPath 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2CaPath :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase2CaPath :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase2CaPath o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-ca-path" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-ca-path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2CaPath :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase2CaPath :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase2CaPath Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase2-ca-path" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase2-ca-path@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2CaPath
-- @
clearSetting8021xPhase2CaPath :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2CaPath :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2CaPath o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-ca-path" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2CaPathPropertyInfo
instance AttrInfo Setting8021xPhase2CaPathPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2CaPathPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2CaPathPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2CaPathPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase2CaPathPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase2CaPathPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase2CaPathPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase2CaPathPropertyInfo = "phase2-ca-path"
    type AttrOrigin Setting8021xPhase2CaPathPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2CaPath
    attrSet = setSetting8021xPhase2CaPath
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2CaPath
    attrClear = clearSetting8021xPhase2CaPath
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2CaPath"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2CaPath"
        })
#endif

-- VVV Prop "phase2-client-cert"
   -- Type: TInterface (Name {namespace = "GLib", name = "Bytes"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@phase2-client-cert@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2ClientCert
-- @
getSetting8021xPhase2ClientCert :: (MonadIO m, IsSetting8021x o) => o -> m (Maybe GLib.Bytes.Bytes)
getSetting8021xPhase2ClientCert :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m (Maybe Bytes)
getSetting8021xPhase2ClientCert o
obj = IO (Maybe Bytes) -> m (Maybe Bytes)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Bytes) -> m (Maybe Bytes))
-> IO (Maybe Bytes) -> m (Maybe Bytes)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Bytes -> Bytes) -> IO (Maybe Bytes)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"phase2-client-cert" ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes

-- | Set the value of the “@phase2-client-cert@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2ClientCert 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2ClientCert :: (MonadIO m, IsSetting8021x o) => o -> GLib.Bytes.Bytes -> m ()
setSetting8021xPhase2ClientCert :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Bytes -> m ()
setSetting8021xPhase2ClientCert o
obj Bytes
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"phase2-client-cert" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
Just Bytes
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-client-cert@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2ClientCert :: (IsSetting8021x o, MIO.MonadIO m) => GLib.Bytes.Bytes -> m (GValueConstruct o)
constructSetting8021xPhase2ClientCert :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Bytes -> m (GValueConstruct o)
constructSetting8021xPhase2ClientCert Bytes
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Bytes -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"phase2-client-cert" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
P.Just Bytes
val)

-- | Set the value of the “@phase2-client-cert@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2ClientCert
-- @
clearSetting8021xPhase2ClientCert :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2ClientCert :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2ClientCert o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"phase2-client-cert" (Maybe Bytes
forall a. Maybe a
Nothing :: Maybe GLib.Bytes.Bytes)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2ClientCertPropertyInfo
instance AttrInfo Setting8021xPhase2ClientCertPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2ClientCertPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2ClientCertPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2ClientCertPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferTypeConstraint Setting8021xPhase2ClientCertPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferType Setting8021xPhase2ClientCertPropertyInfo = GLib.Bytes.Bytes
    type AttrGetType Setting8021xPhase2ClientCertPropertyInfo = (Maybe GLib.Bytes.Bytes)
    type AttrLabel Setting8021xPhase2ClientCertPropertyInfo = "phase2-client-cert"
    type AttrOrigin Setting8021xPhase2ClientCertPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2ClientCert
    attrSet = setSetting8021xPhase2ClientCert
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2ClientCert
    attrClear = clearSetting8021xPhase2ClientCert
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2ClientCert"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2ClientCert"
        })
#endif

-- VVV Prop "phase2-client-cert-password"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-client-cert-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2ClientCertPassword
-- @
getSetting8021xPhase2ClientCertPassword :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase2ClientCertPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase2ClientCertPassword o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase2ClientCertPassword" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase2-client-cert-password"

-- | Set the value of the “@phase2-client-cert-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2ClientCertPassword 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2ClientCertPassword :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase2ClientCertPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase2ClientCertPassword o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-client-cert-password" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-client-cert-password@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2ClientCertPassword :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase2ClientCertPassword :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase2ClientCertPassword Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase2-client-cert-password" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase2-client-cert-password@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2ClientCertPassword
-- @
clearSetting8021xPhase2ClientCertPassword :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2ClientCertPassword :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2ClientCertPassword o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-client-cert-password" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2ClientCertPasswordPropertyInfo
instance AttrInfo Setting8021xPhase2ClientCertPasswordPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2ClientCertPasswordPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2ClientCertPasswordPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2ClientCertPasswordPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase2ClientCertPasswordPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase2ClientCertPasswordPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase2ClientCertPasswordPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase2ClientCertPasswordPropertyInfo = "phase2-client-cert-password"
    type AttrOrigin Setting8021xPhase2ClientCertPasswordPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2ClientCertPassword
    attrSet = setSetting8021xPhase2ClientCertPassword
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2ClientCertPassword
    attrClear = clearSetting8021xPhase2ClientCertPassword
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2ClientCertPassword"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2ClientCertPassword"
        })
#endif

-- VVV Prop "phase2-client-cert-password-flags"
   -- Type: TInterface (Name {namespace = "NM", name = "SettingSecretFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-client-cert-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2ClientCertPasswordFlags
-- @
getSetting8021xPhase2ClientCertPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> m [NM.Flags.SettingSecretFlags]
getSetting8021xPhase2ClientCertPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m [SettingSecretFlags]
getSetting8021xPhase2ClientCertPasswordFlags o
obj = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [SettingSecretFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"phase2-client-cert-password-flags"

-- | Set the value of the “@phase2-client-cert-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2ClientCertPasswordFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2ClientCertPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSetting8021xPhase2ClientCertPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [SettingSecretFlags] -> m ()
setSetting8021xPhase2ClientCertPasswordFlags o
obj [SettingSecretFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> [SettingSecretFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"phase2-client-cert-password-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-client-cert-password-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2ClientCertPasswordFlags :: (IsSetting8021x o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPhase2ClientCertPasswordFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPhase2ClientCertPasswordFlags [SettingSecretFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [SettingSecretFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"phase2-client-cert-password-flags" [SettingSecretFlags]
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo
instance AttrInfo Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferTypeConstraint Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferType Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrGetType Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrLabel Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo = "phase2-client-cert-password-flags"
    type AttrOrigin Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2ClientCertPasswordFlags
    attrSet = setSetting8021xPhase2ClientCertPasswordFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2ClientCertPasswordFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2ClientCertPasswordFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2ClientCertPasswordFlags"
        })
#endif

-- VVV Prop "phase2-domain-match"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-domain-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2DomainMatch
-- @
getSetting8021xPhase2DomainMatch :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase2DomainMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase2DomainMatch o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase2DomainMatch" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase2-domain-match"

-- | Set the value of the “@phase2-domain-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2DomainMatch 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2DomainMatch :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase2DomainMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase2DomainMatch o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-domain-match" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-domain-match@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2DomainMatch :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase2DomainMatch :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase2DomainMatch Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase2-domain-match" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase2-domain-match@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2DomainMatch
-- @
clearSetting8021xPhase2DomainMatch :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2DomainMatch :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2DomainMatch o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-domain-match" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2DomainMatchPropertyInfo
instance AttrInfo Setting8021xPhase2DomainMatchPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2DomainMatchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2DomainMatchPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2DomainMatchPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase2DomainMatchPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase2DomainMatchPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase2DomainMatchPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase2DomainMatchPropertyInfo = "phase2-domain-match"
    type AttrOrigin Setting8021xPhase2DomainMatchPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2DomainMatch
    attrSet = setSetting8021xPhase2DomainMatch
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2DomainMatch
    attrClear = clearSetting8021xPhase2DomainMatch
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2DomainMatch"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2DomainMatch"
        })
#endif

-- VVV Prop "phase2-domain-suffix-match"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-domain-suffix-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2DomainSuffixMatch
-- @
getSetting8021xPhase2DomainSuffixMatch :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase2DomainSuffixMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase2DomainSuffixMatch o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase2DomainSuffixMatch" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase2-domain-suffix-match"

-- | Set the value of the “@phase2-domain-suffix-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2DomainSuffixMatch 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2DomainSuffixMatch :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase2DomainSuffixMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase2DomainSuffixMatch o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-domain-suffix-match" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-domain-suffix-match@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2DomainSuffixMatch :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase2DomainSuffixMatch :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase2DomainSuffixMatch Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase2-domain-suffix-match" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase2-domain-suffix-match@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2DomainSuffixMatch
-- @
clearSetting8021xPhase2DomainSuffixMatch :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2DomainSuffixMatch :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2DomainSuffixMatch o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-domain-suffix-match" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2DomainSuffixMatchPropertyInfo
instance AttrInfo Setting8021xPhase2DomainSuffixMatchPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2DomainSuffixMatchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2DomainSuffixMatchPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2DomainSuffixMatchPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase2DomainSuffixMatchPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase2DomainSuffixMatchPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase2DomainSuffixMatchPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase2DomainSuffixMatchPropertyInfo = "phase2-domain-suffix-match"
    type AttrOrigin Setting8021xPhase2DomainSuffixMatchPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2DomainSuffixMatch
    attrSet = setSetting8021xPhase2DomainSuffixMatch
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2DomainSuffixMatch
    attrClear = clearSetting8021xPhase2DomainSuffixMatch
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2DomainSuffixMatch"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2DomainSuffixMatch"
        })
#endif

-- VVV Prop "phase2-private-key"
   -- Type: TInterface (Name {namespace = "GLib", name = "Bytes"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@phase2-private-key@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2PrivateKey
-- @
getSetting8021xPhase2PrivateKey :: (MonadIO m, IsSetting8021x o) => o -> m (Maybe GLib.Bytes.Bytes)
getSetting8021xPhase2PrivateKey :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m (Maybe Bytes)
getSetting8021xPhase2PrivateKey o
obj = IO (Maybe Bytes) -> m (Maybe Bytes)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Bytes) -> m (Maybe Bytes))
-> IO (Maybe Bytes) -> m (Maybe Bytes)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Bytes -> Bytes) -> IO (Maybe Bytes)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"phase2-private-key" ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes

-- | Set the value of the “@phase2-private-key@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2PrivateKey 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2PrivateKey :: (MonadIO m, IsSetting8021x o) => o -> GLib.Bytes.Bytes -> m ()
setSetting8021xPhase2PrivateKey :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Bytes -> m ()
setSetting8021xPhase2PrivateKey o
obj Bytes
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"phase2-private-key" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
Just Bytes
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-private-key@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2PrivateKey :: (IsSetting8021x o, MIO.MonadIO m) => GLib.Bytes.Bytes -> m (GValueConstruct o)
constructSetting8021xPhase2PrivateKey :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Bytes -> m (GValueConstruct o)
constructSetting8021xPhase2PrivateKey Bytes
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Bytes -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"phase2-private-key" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
P.Just Bytes
val)

-- | Set the value of the “@phase2-private-key@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2PrivateKey
-- @
clearSetting8021xPhase2PrivateKey :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2PrivateKey :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2PrivateKey o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"phase2-private-key" (Maybe Bytes
forall a. Maybe a
Nothing :: Maybe GLib.Bytes.Bytes)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2PrivateKeyPropertyInfo
instance AttrInfo Setting8021xPhase2PrivateKeyPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2PrivateKeyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2PrivateKeyPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2PrivateKeyPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferTypeConstraint Setting8021xPhase2PrivateKeyPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferType Setting8021xPhase2PrivateKeyPropertyInfo = GLib.Bytes.Bytes
    type AttrGetType Setting8021xPhase2PrivateKeyPropertyInfo = (Maybe GLib.Bytes.Bytes)
    type AttrLabel Setting8021xPhase2PrivateKeyPropertyInfo = "phase2-private-key"
    type AttrOrigin Setting8021xPhase2PrivateKeyPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2PrivateKey
    attrSet = setSetting8021xPhase2PrivateKey
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2PrivateKey
    attrClear = clearSetting8021xPhase2PrivateKey
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2PrivateKey"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2PrivateKey"
        })
#endif

-- VVV Prop "phase2-private-key-password"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-private-key-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2PrivateKeyPassword
-- @
getSetting8021xPhase2PrivateKeyPassword :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase2PrivateKeyPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase2PrivateKeyPassword o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase2PrivateKeyPassword" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase2-private-key-password"

-- | Set the value of the “@phase2-private-key-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2PrivateKeyPassword 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2PrivateKeyPassword :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase2PrivateKeyPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase2PrivateKeyPassword o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-private-key-password" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-private-key-password@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2PrivateKeyPassword :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase2PrivateKeyPassword :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase2PrivateKeyPassword Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase2-private-key-password" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase2-private-key-password@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2PrivateKeyPassword
-- @
clearSetting8021xPhase2PrivateKeyPassword :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2PrivateKeyPassword :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2PrivateKeyPassword o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-private-key-password" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2PrivateKeyPasswordPropertyInfo
instance AttrInfo Setting8021xPhase2PrivateKeyPasswordPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2PrivateKeyPasswordPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2PrivateKeyPasswordPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2PrivateKeyPasswordPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase2PrivateKeyPasswordPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase2PrivateKeyPasswordPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase2PrivateKeyPasswordPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase2PrivateKeyPasswordPropertyInfo = "phase2-private-key-password"
    type AttrOrigin Setting8021xPhase2PrivateKeyPasswordPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2PrivateKeyPassword
    attrSet = setSetting8021xPhase2PrivateKeyPassword
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2PrivateKeyPassword
    attrClear = clearSetting8021xPhase2PrivateKeyPassword
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2PrivateKeyPassword"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2PrivateKeyPassword"
        })
#endif

-- VVV Prop "phase2-private-key-password-flags"
   -- Type: TInterface (Name {namespace = "NM", name = "SettingSecretFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-private-key-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2PrivateKeyPasswordFlags
-- @
getSetting8021xPhase2PrivateKeyPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> m [NM.Flags.SettingSecretFlags]
getSetting8021xPhase2PrivateKeyPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m [SettingSecretFlags]
getSetting8021xPhase2PrivateKeyPasswordFlags o
obj = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [SettingSecretFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"phase2-private-key-password-flags"

-- | Set the value of the “@phase2-private-key-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2PrivateKeyPasswordFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2PrivateKeyPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSetting8021xPhase2PrivateKeyPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [SettingSecretFlags] -> m ()
setSetting8021xPhase2PrivateKeyPasswordFlags o
obj [SettingSecretFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> [SettingSecretFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"phase2-private-key-password-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-private-key-password-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2PrivateKeyPasswordFlags :: (IsSetting8021x o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPhase2PrivateKeyPasswordFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPhase2PrivateKeyPasswordFlags [SettingSecretFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [SettingSecretFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"phase2-private-key-password-flags" [SettingSecretFlags]
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo
instance AttrInfo Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferTypeConstraint Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferType Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrGetType Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrLabel Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo = "phase2-private-key-password-flags"
    type AttrOrigin Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2PrivateKeyPasswordFlags
    attrSet = setSetting8021xPhase2PrivateKeyPasswordFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2PrivateKeyPasswordFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2PrivateKeyPasswordFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2PrivateKeyPasswordFlags"
        })
#endif

-- VVV Prop "phase2-subject-match"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@phase2-subject-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #phase2SubjectMatch
-- @
getSetting8021xPhase2SubjectMatch :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPhase2SubjectMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPhase2SubjectMatch o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPhase2SubjectMatch" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"phase2-subject-match"

-- | Set the value of the “@phase2-subject-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #phase2SubjectMatch 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPhase2SubjectMatch :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPhase2SubjectMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPhase2SubjectMatch o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-subject-match" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@phase2-subject-match@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPhase2SubjectMatch :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPhase2SubjectMatch :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPhase2SubjectMatch Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"phase2-subject-match" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@phase2-subject-match@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #phase2SubjectMatch
-- @
clearSetting8021xPhase2SubjectMatch :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2SubjectMatch :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPhase2SubjectMatch o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"phase2-subject-match" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPhase2SubjectMatchPropertyInfo
instance AttrInfo Setting8021xPhase2SubjectMatchPropertyInfo where
    type AttrAllowedOps Setting8021xPhase2SubjectMatchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPhase2SubjectMatchPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPhase2SubjectMatchPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPhase2SubjectMatchPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPhase2SubjectMatchPropertyInfo = T.Text
    type AttrGetType Setting8021xPhase2SubjectMatchPropertyInfo = T.Text
    type AttrLabel Setting8021xPhase2SubjectMatchPropertyInfo = "phase2-subject-match"
    type AttrOrigin Setting8021xPhase2SubjectMatchPropertyInfo = Setting8021x
    attrGet = getSetting8021xPhase2SubjectMatch
    attrSet = setSetting8021xPhase2SubjectMatch
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPhase2SubjectMatch
    attrClear = clearSetting8021xPhase2SubjectMatch
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.phase2SubjectMatch"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:phase2SubjectMatch"
        })
#endif

-- VVV Prop "pin"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@pin@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #pin
-- @
getSetting8021xPin :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPin :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPin o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPin" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"pin"

-- | Set the value of the “@pin@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #pin 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPin :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPin :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPin o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"pin" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@pin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPin :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPin :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPin Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"pin" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@pin@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #pin
-- @
clearSetting8021xPin :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPin :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPin o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"pin" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPinPropertyInfo
instance AttrInfo Setting8021xPinPropertyInfo where
    type AttrAllowedOps Setting8021xPinPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPinPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPinPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPinPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPinPropertyInfo = T.Text
    type AttrGetType Setting8021xPinPropertyInfo = T.Text
    type AttrLabel Setting8021xPinPropertyInfo = "pin"
    type AttrOrigin Setting8021xPinPropertyInfo = Setting8021x
    attrGet = getSetting8021xPin
    attrSet = setSetting8021xPin
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPin
    attrClear = clearSetting8021xPin
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.pin"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:pin"
        })
#endif

-- VVV Prop "pin-flags"
   -- Type: TInterface (Name {namespace = "NM", name = "SettingSecretFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@pin-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #pinFlags
-- @
getSetting8021xPinFlags :: (MonadIO m, IsSetting8021x o) => o -> m [NM.Flags.SettingSecretFlags]
getSetting8021xPinFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m [SettingSecretFlags]
getSetting8021xPinFlags o
obj = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [SettingSecretFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"pin-flags"

-- | Set the value of the “@pin-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #pinFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPinFlags :: (MonadIO m, IsSetting8021x o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSetting8021xPinFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [SettingSecretFlags] -> m ()
setSetting8021xPinFlags o
obj [SettingSecretFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> [SettingSecretFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"pin-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@pin-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPinFlags :: (IsSetting8021x o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPinFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPinFlags [SettingSecretFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [SettingSecretFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"pin-flags" [SettingSecretFlags]
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xPinFlagsPropertyInfo
instance AttrInfo Setting8021xPinFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xPinFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xPinFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPinFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferTypeConstraint Setting8021xPinFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferType Setting8021xPinFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrGetType Setting8021xPinFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrLabel Setting8021xPinFlagsPropertyInfo = "pin-flags"
    type AttrOrigin Setting8021xPinFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xPinFlags
    attrSet = setSetting8021xPinFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPinFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.pinFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:pinFlags"
        })
#endif

-- VVV Prop "private-key"
   -- Type: TInterface (Name {namespace = "GLib", name = "Bytes"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@private-key@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #privateKey
-- @
getSetting8021xPrivateKey :: (MonadIO m, IsSetting8021x o) => o -> m (Maybe GLib.Bytes.Bytes)
getSetting8021xPrivateKey :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m (Maybe Bytes)
getSetting8021xPrivateKey o
obj = IO (Maybe Bytes) -> m (Maybe Bytes)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Bytes) -> m (Maybe Bytes))
-> IO (Maybe Bytes) -> m (Maybe Bytes)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Bytes -> Bytes) -> IO (Maybe Bytes)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"private-key" ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes

-- | Set the value of the “@private-key@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #privateKey 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPrivateKey :: (MonadIO m, IsSetting8021x o) => o -> GLib.Bytes.Bytes -> m ()
setSetting8021xPrivateKey :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Bytes -> m ()
setSetting8021xPrivateKey o
obj Bytes
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"private-key" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
Just Bytes
val)

-- | Construct a t'GValueConstruct' with valid value for the “@private-key@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPrivateKey :: (IsSetting8021x o, MIO.MonadIO m) => GLib.Bytes.Bytes -> m (GValueConstruct o)
constructSetting8021xPrivateKey :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Bytes -> m (GValueConstruct o)
constructSetting8021xPrivateKey Bytes
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Bytes -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"private-key" (Bytes -> Maybe Bytes
forall a. a -> Maybe a
P.Just Bytes
val)

-- | Set the value of the “@private-key@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #privateKey
-- @
clearSetting8021xPrivateKey :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPrivateKey :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPrivateKey o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"private-key" (Maybe Bytes
forall a. Maybe a
Nothing :: Maybe GLib.Bytes.Bytes)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPrivateKeyPropertyInfo
instance AttrInfo Setting8021xPrivateKeyPropertyInfo where
    type AttrAllowedOps Setting8021xPrivateKeyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPrivateKeyPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPrivateKeyPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferTypeConstraint Setting8021xPrivateKeyPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferType Setting8021xPrivateKeyPropertyInfo = GLib.Bytes.Bytes
    type AttrGetType Setting8021xPrivateKeyPropertyInfo = (Maybe GLib.Bytes.Bytes)
    type AttrLabel Setting8021xPrivateKeyPropertyInfo = "private-key"
    type AttrOrigin Setting8021xPrivateKeyPropertyInfo = Setting8021x
    attrGet = getSetting8021xPrivateKey
    attrSet = setSetting8021xPrivateKey
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPrivateKey
    attrClear = clearSetting8021xPrivateKey
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.privateKey"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:privateKey"
        })
#endif

-- VVV Prop "private-key-password"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@private-key-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #privateKeyPassword
-- @
getSetting8021xPrivateKeyPassword :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xPrivateKeyPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xPrivateKeyPassword o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xPrivateKeyPassword" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"private-key-password"

-- | Set the value of the “@private-key-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #privateKeyPassword 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPrivateKeyPassword :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xPrivateKeyPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xPrivateKeyPassword o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"private-key-password" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@private-key-password@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPrivateKeyPassword :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xPrivateKeyPassword :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xPrivateKeyPassword Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"private-key-password" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@private-key-password@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #privateKeyPassword
-- @
clearSetting8021xPrivateKeyPassword :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPrivateKeyPassword :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xPrivateKeyPassword o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"private-key-password" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xPrivateKeyPasswordPropertyInfo
instance AttrInfo Setting8021xPrivateKeyPasswordPropertyInfo where
    type AttrAllowedOps Setting8021xPrivateKeyPasswordPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xPrivateKeyPasswordPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPrivateKeyPasswordPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xPrivateKeyPasswordPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xPrivateKeyPasswordPropertyInfo = T.Text
    type AttrGetType Setting8021xPrivateKeyPasswordPropertyInfo = T.Text
    type AttrLabel Setting8021xPrivateKeyPasswordPropertyInfo = "private-key-password"
    type AttrOrigin Setting8021xPrivateKeyPasswordPropertyInfo = Setting8021x
    attrGet = getSetting8021xPrivateKeyPassword
    attrSet = setSetting8021xPrivateKeyPassword
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPrivateKeyPassword
    attrClear = clearSetting8021xPrivateKeyPassword
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.privateKeyPassword"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:privateKeyPassword"
        })
#endif

-- VVV Prop "private-key-password-flags"
   -- Type: TInterface (Name {namespace = "NM", name = "SettingSecretFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@private-key-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #privateKeyPasswordFlags
-- @
getSetting8021xPrivateKeyPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> m [NM.Flags.SettingSecretFlags]
getSetting8021xPrivateKeyPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m [SettingSecretFlags]
getSetting8021xPrivateKeyPasswordFlags o
obj = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [SettingSecretFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"private-key-password-flags"

-- | Set the value of the “@private-key-password-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #privateKeyPasswordFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xPrivateKeyPasswordFlags :: (MonadIO m, IsSetting8021x o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSetting8021xPrivateKeyPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> [SettingSecretFlags] -> m ()
setSetting8021xPrivateKeyPasswordFlags o
obj [SettingSecretFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> [SettingSecretFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"private-key-password-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@private-key-password-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xPrivateKeyPasswordFlags :: (IsSetting8021x o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPrivateKeyPasswordFlags :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSetting8021xPrivateKeyPasswordFlags [SettingSecretFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [SettingSecretFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"private-key-password-flags" [SettingSecretFlags]
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xPrivateKeyPasswordFlagsPropertyInfo
instance AttrInfo Setting8021xPrivateKeyPasswordFlagsPropertyInfo where
    type AttrAllowedOps Setting8021xPrivateKeyPasswordFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xPrivateKeyPasswordFlagsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xPrivateKeyPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferTypeConstraint Setting8021xPrivateKeyPasswordFlagsPropertyInfo = (~) [NM.Flags.SettingSecretFlags]
    type AttrTransferType Setting8021xPrivateKeyPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrGetType Setting8021xPrivateKeyPasswordFlagsPropertyInfo = [NM.Flags.SettingSecretFlags]
    type AttrLabel Setting8021xPrivateKeyPasswordFlagsPropertyInfo = "private-key-password-flags"
    type AttrOrigin Setting8021xPrivateKeyPasswordFlagsPropertyInfo = Setting8021x
    attrGet = getSetting8021xPrivateKeyPasswordFlags
    attrSet = setSetting8021xPrivateKeyPasswordFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xPrivateKeyPasswordFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.privateKeyPasswordFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:privateKeyPasswordFlags"
        })
#endif

-- VVV Prop "subject-match"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@subject-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #subjectMatch
-- @
getSetting8021xSubjectMatch :: (MonadIO m, IsSetting8021x o) => o -> m T.Text
getSetting8021xSubjectMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Text
getSetting8021xSubjectMatch o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getSetting8021xSubjectMatch" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"subject-match"

-- | Set the value of the “@subject-match@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #subjectMatch 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xSubjectMatch :: (MonadIO m, IsSetting8021x o) => o -> T.Text -> m ()
setSetting8021xSubjectMatch :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Text -> m ()
setSetting8021xSubjectMatch o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"subject-match" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@subject-match@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xSubjectMatch :: (IsSetting8021x o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSetting8021xSubjectMatch :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSetting8021xSubjectMatch Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"subject-match" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@subject-match@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #subjectMatch
-- @
clearSetting8021xSubjectMatch :: (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xSubjectMatch :: forall (m :: * -> *) o. (MonadIO m, IsSetting8021x o) => o -> m ()
clearSetting8021xSubjectMatch o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"subject-match" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data Setting8021xSubjectMatchPropertyInfo
instance AttrInfo Setting8021xSubjectMatchPropertyInfo where
    type AttrAllowedOps Setting8021xSubjectMatchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint Setting8021xSubjectMatchPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xSubjectMatchPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint Setting8021xSubjectMatchPropertyInfo = (~) T.Text
    type AttrTransferType Setting8021xSubjectMatchPropertyInfo = T.Text
    type AttrGetType Setting8021xSubjectMatchPropertyInfo = T.Text
    type AttrLabel Setting8021xSubjectMatchPropertyInfo = "subject-match"
    type AttrOrigin Setting8021xSubjectMatchPropertyInfo = Setting8021x
    attrGet = getSetting8021xSubjectMatch
    attrSet = setSetting8021xSubjectMatch
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xSubjectMatch
    attrClear = clearSetting8021xSubjectMatch
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.subjectMatch"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:subjectMatch"
        })
#endif

-- VVV Prop "system-ca-certs"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@system-ca-certs@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' setting8021x #systemCaCerts
-- @
getSetting8021xSystemCaCerts :: (MonadIO m, IsSetting8021x o) => o -> m Bool
getSetting8021xSystemCaCerts :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> m Bool
getSetting8021xSystemCaCerts o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"system-ca-certs"

-- | Set the value of the “@system-ca-certs@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' setting8021x [ #systemCaCerts 'Data.GI.Base.Attributes.:=' value ]
-- @
setSetting8021xSystemCaCerts :: (MonadIO m, IsSetting8021x o) => o -> Bool -> m ()
setSetting8021xSystemCaCerts :: forall (m :: * -> *) o.
(MonadIO m, IsSetting8021x o) =>
o -> Bool -> m ()
setSetting8021xSystemCaCerts o
obj Bool
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"system-ca-certs" Bool
val

-- | Construct a t'GValueConstruct' with valid value for the “@system-ca-certs@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSetting8021xSystemCaCerts :: (IsSetting8021x o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructSetting8021xSystemCaCerts :: forall o (m :: * -> *).
(IsSetting8021x o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructSetting8021xSystemCaCerts Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"system-ca-certs" Bool
val

#if defined(ENABLE_OVERLOADING)
data Setting8021xSystemCaCertsPropertyInfo
instance AttrInfo Setting8021xSystemCaCertsPropertyInfo where
    type AttrAllowedOps Setting8021xSystemCaCertsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint Setting8021xSystemCaCertsPropertyInfo = IsSetting8021x
    type AttrSetTypeConstraint Setting8021xSystemCaCertsPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint Setting8021xSystemCaCertsPropertyInfo = (~) Bool
    type AttrTransferType Setting8021xSystemCaCertsPropertyInfo = Bool
    type AttrGetType Setting8021xSystemCaCertsPropertyInfo = Bool
    type AttrLabel Setting8021xSystemCaCertsPropertyInfo = "system-ca-certs"
    type AttrOrigin Setting8021xSystemCaCertsPropertyInfo = Setting8021x
    attrGet = getSetting8021xSystemCaCerts
    attrSet = setSetting8021xSystemCaCerts
    attrTransfer _ v = do
        return v
    attrConstruct = constructSetting8021xSystemCaCerts
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.systemCaCerts"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#g:attr:systemCaCerts"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Setting8021x
type instance O.AttributeList Setting8021x = Setting8021xAttributeList
type Setting8021xAttributeList = ('[ '("altsubjectMatches", Setting8021xAltsubjectMatchesPropertyInfo), '("anonymousIdentity", Setting8021xAnonymousIdentityPropertyInfo), '("authTimeout", Setting8021xAuthTimeoutPropertyInfo), '("caCert", Setting8021xCaCertPropertyInfo), '("caCertPassword", Setting8021xCaCertPasswordPropertyInfo), '("caCertPasswordFlags", Setting8021xCaCertPasswordFlagsPropertyInfo), '("caPath", Setting8021xCaPathPropertyInfo), '("clientCert", Setting8021xClientCertPropertyInfo), '("clientCertPassword", Setting8021xClientCertPasswordPropertyInfo), '("clientCertPasswordFlags", Setting8021xClientCertPasswordFlagsPropertyInfo), '("domainMatch", Setting8021xDomainMatchPropertyInfo), '("domainSuffixMatch", Setting8021xDomainSuffixMatchPropertyInfo), '("eap", Setting8021xEapPropertyInfo), '("identity", Setting8021xIdentityPropertyInfo), '("name", NM.Setting.SettingNamePropertyInfo), '("opensslCiphers", Setting8021xOpensslCiphersPropertyInfo), '("optional", Setting8021xOptionalPropertyInfo), '("pacFile", Setting8021xPacFilePropertyInfo), '("password", Setting8021xPasswordPropertyInfo), '("passwordFlags", Setting8021xPasswordFlagsPropertyInfo), '("passwordRaw", Setting8021xPasswordRawPropertyInfo), '("passwordRawFlags", Setting8021xPasswordRawFlagsPropertyInfo), '("phase1AuthFlags", Setting8021xPhase1AuthFlagsPropertyInfo), '("phase1FastProvisioning", Setting8021xPhase1FastProvisioningPropertyInfo), '("phase1Peaplabel", Setting8021xPhase1PeaplabelPropertyInfo), '("phase1Peapver", Setting8021xPhase1PeapverPropertyInfo), '("phase2AltsubjectMatches", Setting8021xPhase2AltsubjectMatchesPropertyInfo), '("phase2Auth", Setting8021xPhase2AuthPropertyInfo), '("phase2Autheap", Setting8021xPhase2AutheapPropertyInfo), '("phase2CaCert", Setting8021xPhase2CaCertPropertyInfo), '("phase2CaCertPassword", Setting8021xPhase2CaCertPasswordPropertyInfo), '("phase2CaCertPasswordFlags", Setting8021xPhase2CaCertPasswordFlagsPropertyInfo), '("phase2CaPath", Setting8021xPhase2CaPathPropertyInfo), '("phase2ClientCert", Setting8021xPhase2ClientCertPropertyInfo), '("phase2ClientCertPassword", Setting8021xPhase2ClientCertPasswordPropertyInfo), '("phase2ClientCertPasswordFlags", Setting8021xPhase2ClientCertPasswordFlagsPropertyInfo), '("phase2DomainMatch", Setting8021xPhase2DomainMatchPropertyInfo), '("phase2DomainSuffixMatch", Setting8021xPhase2DomainSuffixMatchPropertyInfo), '("phase2PrivateKey", Setting8021xPhase2PrivateKeyPropertyInfo), '("phase2PrivateKeyPassword", Setting8021xPhase2PrivateKeyPasswordPropertyInfo), '("phase2PrivateKeyPasswordFlags", Setting8021xPhase2PrivateKeyPasswordFlagsPropertyInfo), '("phase2SubjectMatch", Setting8021xPhase2SubjectMatchPropertyInfo), '("pin", Setting8021xPinPropertyInfo), '("pinFlags", Setting8021xPinFlagsPropertyInfo), '("privateKey", Setting8021xPrivateKeyPropertyInfo), '("privateKeyPassword", Setting8021xPrivateKeyPasswordPropertyInfo), '("privateKeyPasswordFlags", Setting8021xPrivateKeyPasswordFlagsPropertyInfo), '("subjectMatch", Setting8021xSubjectMatchPropertyInfo), '("systemCaCerts", Setting8021xSystemCaCertsPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
setting8021xAltsubjectMatches :: AttrLabelProxy "altsubjectMatches"
setting8021xAltsubjectMatches = AttrLabelProxy

setting8021xAnonymousIdentity :: AttrLabelProxy "anonymousIdentity"
setting8021xAnonymousIdentity = AttrLabelProxy

setting8021xAuthTimeout :: AttrLabelProxy "authTimeout"
setting8021xAuthTimeout = AttrLabelProxy

setting8021xCaCert :: AttrLabelProxy "caCert"
setting8021xCaCert = AttrLabelProxy

setting8021xCaCertPassword :: AttrLabelProxy "caCertPassword"
setting8021xCaCertPassword = AttrLabelProxy

setting8021xCaCertPasswordFlags :: AttrLabelProxy "caCertPasswordFlags"
setting8021xCaCertPasswordFlags = AttrLabelProxy

setting8021xCaPath :: AttrLabelProxy "caPath"
setting8021xCaPath = AttrLabelProxy

setting8021xClientCert :: AttrLabelProxy "clientCert"
setting8021xClientCert = AttrLabelProxy

setting8021xClientCertPassword :: AttrLabelProxy "clientCertPassword"
setting8021xClientCertPassword = AttrLabelProxy

setting8021xClientCertPasswordFlags :: AttrLabelProxy "clientCertPasswordFlags"
setting8021xClientCertPasswordFlags = AttrLabelProxy

setting8021xDomainMatch :: AttrLabelProxy "domainMatch"
setting8021xDomainMatch = AttrLabelProxy

setting8021xDomainSuffixMatch :: AttrLabelProxy "domainSuffixMatch"
setting8021xDomainSuffixMatch = AttrLabelProxy

setting8021xEap :: AttrLabelProxy "eap"
setting8021xEap = AttrLabelProxy

setting8021xIdentity :: AttrLabelProxy "identity"
setting8021xIdentity = AttrLabelProxy

setting8021xOpensslCiphers :: AttrLabelProxy "opensslCiphers"
setting8021xOpensslCiphers = AttrLabelProxy

setting8021xOptional :: AttrLabelProxy "optional"
setting8021xOptional = AttrLabelProxy

setting8021xPacFile :: AttrLabelProxy "pacFile"
setting8021xPacFile = AttrLabelProxy

setting8021xPassword :: AttrLabelProxy "password"
setting8021xPassword = AttrLabelProxy

setting8021xPasswordFlags :: AttrLabelProxy "passwordFlags"
setting8021xPasswordFlags = AttrLabelProxy

setting8021xPasswordRaw :: AttrLabelProxy "passwordRaw"
setting8021xPasswordRaw = AttrLabelProxy

setting8021xPasswordRawFlags :: AttrLabelProxy "passwordRawFlags"
setting8021xPasswordRawFlags = AttrLabelProxy

setting8021xPhase1AuthFlags :: AttrLabelProxy "phase1AuthFlags"
setting8021xPhase1AuthFlags = AttrLabelProxy

setting8021xPhase1FastProvisioning :: AttrLabelProxy "phase1FastProvisioning"
setting8021xPhase1FastProvisioning = AttrLabelProxy

setting8021xPhase1Peaplabel :: AttrLabelProxy "phase1Peaplabel"
setting8021xPhase1Peaplabel = AttrLabelProxy

setting8021xPhase1Peapver :: AttrLabelProxy "phase1Peapver"
setting8021xPhase1Peapver = AttrLabelProxy

setting8021xPhase2AltsubjectMatches :: AttrLabelProxy "phase2AltsubjectMatches"
setting8021xPhase2AltsubjectMatches = AttrLabelProxy

setting8021xPhase2Auth :: AttrLabelProxy "phase2Auth"
setting8021xPhase2Auth = AttrLabelProxy

setting8021xPhase2Autheap :: AttrLabelProxy "phase2Autheap"
setting8021xPhase2Autheap = AttrLabelProxy

setting8021xPhase2CaCert :: AttrLabelProxy "phase2CaCert"
setting8021xPhase2CaCert = AttrLabelProxy

setting8021xPhase2CaCertPassword :: AttrLabelProxy "phase2CaCertPassword"
setting8021xPhase2CaCertPassword = AttrLabelProxy

setting8021xPhase2CaCertPasswordFlags :: AttrLabelProxy "phase2CaCertPasswordFlags"
setting8021xPhase2CaCertPasswordFlags = AttrLabelProxy

setting8021xPhase2CaPath :: AttrLabelProxy "phase2CaPath"
setting8021xPhase2CaPath = AttrLabelProxy

setting8021xPhase2ClientCert :: AttrLabelProxy "phase2ClientCert"
setting8021xPhase2ClientCert = AttrLabelProxy

setting8021xPhase2ClientCertPassword :: AttrLabelProxy "phase2ClientCertPassword"
setting8021xPhase2ClientCertPassword = AttrLabelProxy

setting8021xPhase2ClientCertPasswordFlags :: AttrLabelProxy "phase2ClientCertPasswordFlags"
setting8021xPhase2ClientCertPasswordFlags = AttrLabelProxy

setting8021xPhase2DomainMatch :: AttrLabelProxy "phase2DomainMatch"
setting8021xPhase2DomainMatch = AttrLabelProxy

setting8021xPhase2DomainSuffixMatch :: AttrLabelProxy "phase2DomainSuffixMatch"
setting8021xPhase2DomainSuffixMatch = AttrLabelProxy

setting8021xPhase2PrivateKey :: AttrLabelProxy "phase2PrivateKey"
setting8021xPhase2PrivateKey = AttrLabelProxy

setting8021xPhase2PrivateKeyPassword :: AttrLabelProxy "phase2PrivateKeyPassword"
setting8021xPhase2PrivateKeyPassword = AttrLabelProxy

setting8021xPhase2PrivateKeyPasswordFlags :: AttrLabelProxy "phase2PrivateKeyPasswordFlags"
setting8021xPhase2PrivateKeyPasswordFlags = AttrLabelProxy

setting8021xPhase2SubjectMatch :: AttrLabelProxy "phase2SubjectMatch"
setting8021xPhase2SubjectMatch = AttrLabelProxy

setting8021xPin :: AttrLabelProxy "pin"
setting8021xPin = AttrLabelProxy

setting8021xPinFlags :: AttrLabelProxy "pinFlags"
setting8021xPinFlags = AttrLabelProxy

setting8021xPrivateKey :: AttrLabelProxy "privateKey"
setting8021xPrivateKey = AttrLabelProxy

setting8021xPrivateKeyPassword :: AttrLabelProxy "privateKeyPassword"
setting8021xPrivateKeyPassword = AttrLabelProxy

setting8021xPrivateKeyPasswordFlags :: AttrLabelProxy "privateKeyPasswordFlags"
setting8021xPrivateKeyPasswordFlags = AttrLabelProxy

setting8021xSubjectMatch :: AttrLabelProxy "subjectMatch"
setting8021xSubjectMatch = AttrLabelProxy

setting8021xSystemCaCerts :: AttrLabelProxy "systemCaCerts"
setting8021xSystemCaCerts = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Setting8021x = Setting8021xSignalList
type Setting8021xSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])

#endif

-- method Setting8021x::new
-- method type : Constructor
-- Args: []
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "NM" , name = "Setting8021x" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_new" nm_setting_802_1x_new :: 
    IO (Ptr Setting8021x)

-- | Creates a new t'GI.NM.Objects.Setting8021x.Setting8021x' object with default values.
setting8021xNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m Setting8021x
    -- ^ __Returns:__ the new empty t'GI.NM.Objects.Setting8021x.Setting8021x' object
setting8021xNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Setting8021x
setting8021xNew  = IO Setting8021x -> m Setting8021x
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021x -> m Setting8021x)
-> IO Setting8021x -> m Setting8021x
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
result <- IO (Ptr Setting8021x)
nm_setting_802_1x_new
    Text -> Ptr Setting8021x -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xNew" Ptr Setting8021x
result
    Setting8021x
result' <- ((ManagedPtr Setting8021x -> Setting8021x)
-> Ptr Setting8021x -> IO Setting8021x
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Setting8021x -> Setting8021x
Setting8021x) Ptr Setting8021x
result
    Setting8021x -> IO Setting8021x
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021x
result'

#if defined(ENABLE_OVERLOADING)
#endif

-- method Setting8021x::add_altsubject_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "altsubject_match"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the altSubjectName to allow for this connection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_add_altsubject_match" nm_setting_802_1x_add_altsubject_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- altsubject_match : TBasicType TUTF8
    IO CInt

-- | Adds an allowed alternate subject name match.  Until at least one
-- match is added, the altSubjectName of the remote authentication
-- server is not verified.
setting8021xAddAltsubjectMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@altsubjectMatch@/: the altSubjectName to allow for this connection
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the alternative subject name match was
    --  successfully added, 'P.False' if it was already allowed.
setting8021xAddAltsubjectMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> m Bool
setting8021xAddAltsubjectMatch a
setting Text
altsubjectMatch = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
altsubjectMatch' <- Text -> IO CString
textToCString Text
altsubjectMatch
    CInt
result <- Ptr Setting8021x -> CString -> IO CInt
nm_setting_802_1x_add_altsubject_match Ptr Setting8021x
setting' CString
altsubjectMatch'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
altsubjectMatch'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xAddAltsubjectMatchMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xAddAltsubjectMatchMethodInfo a signature where
    overloadedMethod = setting8021xAddAltsubjectMatch

instance O.OverloadedMethodInfo Setting8021xAddAltsubjectMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xAddAltsubjectMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xAddAltsubjectMatch"
        })


#endif

-- method Setting8021x::add_eap_method
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "eap"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the name of the EAP method to allow for this connection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_add_eap_method" nm_setting_802_1x_add_eap_method :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- eap : TBasicType TUTF8
    IO CInt

-- | Adds an allowed EAP method.  The setting is not valid until at least one
-- EAP method has been added.  See [Setting8021x:eap]("GI.NM.Objects.Setting8021x#g:attr:eap") property for a list of
-- allowed EAP methods.
setting8021xAddEapMethod ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@eap@/: the name of the EAP method to allow for this connection
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the EAP method was successfully added, 'P.False' if it was
    --  not a valid method or if it was already allowed.
setting8021xAddEapMethod :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> m Bool
setting8021xAddEapMethod a
setting Text
eap = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
eap' <- Text -> IO CString
textToCString Text
eap
    CInt
result <- Ptr Setting8021x -> CString -> IO CInt
nm_setting_802_1x_add_eap_method Ptr Setting8021x
setting' CString
eap'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
eap'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xAddEapMethodMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xAddEapMethodMethodInfo a signature where
    overloadedMethod = setting8021xAddEapMethod

instance O.OverloadedMethodInfo Setting8021xAddEapMethodMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xAddEapMethod",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xAddEapMethod"
        })


#endif

-- method Setting8021x::add_phase2_altsubject_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "phase2_altsubject_match"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the \"phase 2\" altSubjectName to allow for this\nconnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_add_phase2_altsubject_match" nm_setting_802_1x_add_phase2_altsubject_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- phase2_altsubject_match : TBasicType TUTF8
    IO CInt

-- | Adds an allowed alternate subject name match for \"phase 2\".  Until
-- at least one match is added, the altSubjectName of the \"phase 2\"
-- remote authentication server is not verified.
setting8021xAddPhase2AltsubjectMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@phase2AltsubjectMatch@/: the \"phase 2\" altSubjectName to allow for this
    -- connection
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the \"phase 2\" alternative subject name match was
    --  successfully added, 'P.False' if it was already allowed.
setting8021xAddPhase2AltsubjectMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> m Bool
setting8021xAddPhase2AltsubjectMatch a
setting Text
phase2AltsubjectMatch = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
phase2AltsubjectMatch' <- Text -> IO CString
textToCString Text
phase2AltsubjectMatch
    CInt
result <- Ptr Setting8021x -> CString -> IO CInt
nm_setting_802_1x_add_phase2_altsubject_match Ptr Setting8021x
setting' CString
phase2AltsubjectMatch'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
phase2AltsubjectMatch'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xAddPhase2AltsubjectMatchMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xAddPhase2AltsubjectMatchMethodInfo a signature where
    overloadedMethod = setting8021xAddPhase2AltsubjectMatch

instance O.OverloadedMethodInfo Setting8021xAddPhase2AltsubjectMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xAddPhase2AltsubjectMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xAddPhase2AltsubjectMatch"
        })


#endif

-- method Setting8021x::clear_altsubject_matches
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_clear_altsubject_matches" nm_setting_802_1x_clear_altsubject_matches :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO ()

-- | Clears all altSubjectName matches.
setting8021xClearAltsubjectMatches ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m ()
setting8021xClearAltsubjectMatches :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m ()
setting8021xClearAltsubjectMatches a
setting = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Setting8021x -> IO ()
nm_setting_802_1x_clear_altsubject_matches Ptr Setting8021x
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data Setting8021xClearAltsubjectMatchesMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xClearAltsubjectMatchesMethodInfo a signature where
    overloadedMethod = setting8021xClearAltsubjectMatches

instance O.OverloadedMethodInfo Setting8021xClearAltsubjectMatchesMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xClearAltsubjectMatches",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xClearAltsubjectMatches"
        })


#endif

-- method Setting8021x::clear_eap_methods
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_clear_eap_methods" nm_setting_802_1x_clear_eap_methods :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO ()

-- | Clears all allowed EAP methods.
setting8021xClearEapMethods ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m ()
setting8021xClearEapMethods :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m ()
setting8021xClearEapMethods a
setting = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Setting8021x -> IO ()
nm_setting_802_1x_clear_eap_methods Ptr Setting8021x
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data Setting8021xClearEapMethodsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xClearEapMethodsMethodInfo a signature where
    overloadedMethod = setting8021xClearEapMethods

instance O.OverloadedMethodInfo Setting8021xClearEapMethodsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xClearEapMethods",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xClearEapMethods"
        })


#endif

-- method Setting8021x::clear_phase2_altsubject_matches
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_clear_phase2_altsubject_matches" nm_setting_802_1x_clear_phase2_altsubject_matches :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO ()

-- | Clears all \"phase 2\" altSubjectName matches.
setting8021xClearPhase2AltsubjectMatches ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m ()
setting8021xClearPhase2AltsubjectMatches :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m ()
setting8021xClearPhase2AltsubjectMatches a
setting = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Setting8021x -> IO ()
nm_setting_802_1x_clear_phase2_altsubject_matches Ptr Setting8021x
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data Setting8021xClearPhase2AltsubjectMatchesMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xClearPhase2AltsubjectMatchesMethodInfo a signature where
    overloadedMethod = setting8021xClearPhase2AltsubjectMatches

instance O.OverloadedMethodInfo Setting8021xClearPhase2AltsubjectMatchesMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xClearPhase2AltsubjectMatches",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xClearPhase2AltsubjectMatches"
        })


#endif

-- method Setting8021x::get_altsubject_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "i"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the zero-based index of the array of altSubjectName matches"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_altsubject_match" nm_setting_802_1x_get_altsubject_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO CString

-- | Returns the altSubjectName match at index /@i@/.
setting8021xGetAltsubjectMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> Word32
    -- ^ /@i@/: the zero-based index of the array of altSubjectName matches
    -> m T.Text
    -- ^ __Returns:__ the altSubjectName match at index /@i@/
setting8021xGetAltsubjectMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Word32 -> m Text
setting8021xGetAltsubjectMatch a
setting Word32
i = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> Word32 -> IO CString
nm_setting_802_1x_get_altsubject_match Ptr Setting8021x
setting' Word32
i
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetAltsubjectMatch" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetAltsubjectMatchMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetAltsubjectMatchMethodInfo a signature where
    overloadedMethod = setting8021xGetAltsubjectMatch

instance O.OverloadedMethodInfo Setting8021xGetAltsubjectMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetAltsubjectMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetAltsubjectMatch"
        })


#endif

-- method Setting8021x::get_anonymous_identity
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_anonymous_identity" nm_setting_802_1x_get_anonymous_identity :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the anonymous identifier used by some EAP methods (like TTLS) to
-- authenticate the user in the outer unencrypted \"phase 1\" authentication.  The
-- inner \"phase 2\" authentication will use the [Setting8021x:identity]("GI.NM.Objects.Setting8021x#g:attr:identity") in
-- a secure form, if applicable for that EAP method.
setting8021xGetAnonymousIdentity ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the anonymous identifier
setting8021xGetAnonymousIdentity :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetAnonymousIdentity a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_anonymous_identity Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetAnonymousIdentity" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetAnonymousIdentityMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetAnonymousIdentityMethodInfo a signature where
    overloadedMethod = setting8021xGetAnonymousIdentity

instance O.OverloadedMethodInfo Setting8021xGetAnonymousIdentityMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetAnonymousIdentity",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetAnonymousIdentity"
        })


#endif

-- method Setting8021x::get_auth_timeout
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TInt)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_auth_timeout" nm_setting_802_1x_get_auth_timeout :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO Int32

-- | Returns the value contained in the [Setting8021x:authTimeout]("GI.NM.Objects.Setting8021x#g:attr:authTimeout") property.
-- 
-- /Since: 1.8/
setting8021xGetAuthTimeout ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m Int32
    -- ^ __Returns:__ the configured authentication timeout in seconds. Zero means the
    -- global default value.
setting8021xGetAuthTimeout :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Int32
setting8021xGetAuthTimeout a
setting = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Int32
result <- Ptr Setting8021x -> IO Int32
nm_setting_802_1x_get_auth_timeout Ptr Setting8021x
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetAuthTimeoutMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetAuthTimeoutMethodInfo a signature where
    overloadedMethod = setting8021xGetAuthTimeout

instance O.OverloadedMethodInfo Setting8021xGetAuthTimeoutMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetAuthTimeout",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetAuthTimeout"
        })


#endif

-- method Setting8021x::get_ca_cert_blob
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "GLib" , name = "Bytes" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_ca_cert_blob" nm_setting_802_1x_get_ca_cert_blob :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO (Ptr GLib.Bytes.Bytes)

-- | Returns the CA certificate blob if the CA certificate is stored using the
-- 'GI.NM.Enums.Setting8021xCKSchemeBlob' scheme.  Not all EAP methods use a
-- CA certificate (LEAP for example), and those that can take advantage of the
-- CA certificate allow it to be unset.  Note that lack of a CA certificate
-- reduces security by allowing man-in-the-middle attacks, because the identity
-- of the network cannot be confirmed by the client.
setting8021xGetCaCertBlob ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m GLib.Bytes.Bytes
    -- ^ __Returns:__ the CA certificate data
setting8021xGetCaCertBlob :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Bytes
setting8021xGetCaCertBlob a
setting = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Bytes
result <- Ptr Setting8021x -> IO (Ptr Bytes)
nm_setting_802_1x_get_ca_cert_blob Ptr Setting8021x
setting'
    Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetCaCertBlob" Ptr Bytes
result
    Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bytes -> IO Bytes
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetCaCertBlobMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetCaCertBlobMethodInfo a signature where
    overloadedMethod = setting8021xGetCaCertBlob

instance O.OverloadedMethodInfo Setting8021xGetCaCertBlobMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetCaCertBlob",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetCaCertBlob"
        })


#endif

-- method Setting8021x::get_ca_cert_password
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_ca_cert_password" nm_setting_802_1x_get_ca_cert_password :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
-- 
-- /Since: 1.8/
setting8021xGetCaCertPassword ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the password used to access the CA certificate stored in
    -- [Setting8021x:caCert]("GI.NM.Objects.Setting8021x#g:attr:caCert") property. Only makes sense if the certificate
    -- is stored on a PKCS#\<!-- -->11 token that requires a login.
setting8021xGetCaCertPassword :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetCaCertPassword a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_ca_cert_password Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetCaCertPassword" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetCaCertPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetCaCertPasswordMethodInfo a signature where
    overloadedMethod = setting8021xGetCaCertPassword

instance O.OverloadedMethodInfo Setting8021xGetCaCertPasswordMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetCaCertPassword",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetCaCertPassword"
        })


#endif

-- method Setting8021x::get_ca_cert_password_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "SettingSecretFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_ca_cert_password_flags" nm_setting_802_1x_get_ca_cert_password_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
-- 
-- /Since: 1.8/
setting8021xGetCaCertPasswordFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    -- [Setting8021x:caCertPassword]("GI.NM.Objects.Setting8021x#g:attr:caCertPassword")
setting8021xGetCaCertPasswordFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [SettingSecretFlags]
setting8021xGetCaCertPasswordFlags a
setting = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_ca_cert_password_flags Ptr Setting8021x
setting'
    let result' :: [SettingSecretFlags]
result' = CUInt -> [SettingSecretFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [SettingSecretFlags] -> IO [SettingSecretFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingSecretFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetCaCertPasswordFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetCaCertPasswordFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetCaCertPasswordFlags

instance O.OverloadedMethodInfo Setting8021xGetCaCertPasswordFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetCaCertPasswordFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetCaCertPasswordFlags"
        })


#endif

-- method Setting8021x::get_ca_cert_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_ca_cert_path" nm_setting_802_1x_get_ca_cert_path :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the CA certificate path if the CA certificate is stored using the
-- 'GI.NM.Enums.Setting8021xCKSchemePath' scheme.  Not all EAP methods use a
-- CA certificate (LEAP for example), and those that can take advantage of the
-- CA certificate allow it to be unset.  Note that lack of a CA certificate
-- reduces security by allowing man-in-the-middle attacks, because the identity
-- of the network cannot be confirmed by the client.
setting8021xGetCaCertPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ path to the CA certificate file
setting8021xGetCaCertPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetCaCertPath a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_ca_cert_path Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetCaCertPath" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetCaCertPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetCaCertPathMethodInfo a signature where
    overloadedMethod = setting8021xGetCaCertPath

instance O.OverloadedMethodInfo Setting8021xGetCaCertPathMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetCaCertPath",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetCaCertPath"
        })


#endif

-- method Setting8021x::get_ca_cert_scheme
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xCKScheme" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_ca_cert_scheme" nm_setting_802_1x_get_ca_cert_scheme :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | Returns the scheme used to store the CA certificate.  If the returned scheme
-- is 'GI.NM.Enums.Setting8021xCKSchemeBlob', use 'GI.NM.Objects.Setting8021x.setting8021xGetCaCertBlob';
-- if 'GI.NM.Enums.Setting8021xCKSchemePath', use 'GI.NM.Objects.Setting8021x.setting8021xGetCaCertPath';
-- if 'GI.NM.Enums.Setting8021xCKSchemePkcs11', use 'GI.NM.Objects.Setting8021x.setting8021xGetCaCertUri'.
setting8021xGetCaCertScheme ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m NM.Enums.Setting8021xCKScheme
    -- ^ __Returns:__ scheme used to store the CA certificate (blob or path)
setting8021xGetCaCertScheme :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Setting8021xCKScheme
setting8021xGetCaCertScheme a
setting = IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021xCKScheme -> m Setting8021xCKScheme)
-> IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_ca_cert_scheme Ptr Setting8021x
setting'
    let result' :: Setting8021xCKScheme
result' = (Int -> Setting8021xCKScheme
forall a. Enum a => Int -> a
toEnum (Int -> Setting8021xCKScheme)
-> (CUInt -> Int) -> CUInt -> Setting8021xCKScheme
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Setting8021xCKScheme -> IO Setting8021xCKScheme
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021xCKScheme
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetCaCertSchemeMethodInfo
instance (signature ~ (m NM.Enums.Setting8021xCKScheme), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetCaCertSchemeMethodInfo a signature where
    overloadedMethod = setting8021xGetCaCertScheme

instance O.OverloadedMethodInfo Setting8021xGetCaCertSchemeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetCaCertScheme",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetCaCertScheme"
        })


#endif

-- method Setting8021x::get_ca_cert_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_ca_cert_uri" nm_setting_802_1x_get_ca_cert_uri :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the CA certificate URI analogously to
-- 'GI.NM.Objects.Setting8021x.setting8021xGetCaCertBlob' and
-- 'GI.NM.Objects.Setting8021x.setting8021xGetCaCertPath'.
-- 
-- Currently, it\'s limited to PKCS@/11/@ URIs (\'pkcs11\' scheme as defined by RFC
-- 7512), but may be extended to other schemes in future (such as \'file\' URIs
-- for local files and \'data\' URIs for inline certificate data).
-- 
-- /Since: 1.6/
setting8021xGetCaCertUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the URI string
setting8021xGetCaCertUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetCaCertUri a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_ca_cert_uri Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetCaCertUri" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetCaCertUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetCaCertUriMethodInfo a signature where
    overloadedMethod = setting8021xGetCaCertUri

instance O.OverloadedMethodInfo Setting8021xGetCaCertUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetCaCertUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetCaCertUri"
        })


#endif

-- method Setting8021x::get_ca_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_ca_path" nm_setting_802_1x_get_ca_path :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the path of the CA certificate directory if previously set.  Systems
-- will often have a directory that contains multiple individual CA certificates
-- which the supplicant can then add to the verification chain.  This may be
-- used in addition to the [Setting8021x:caCert]("GI.NM.Objects.Setting8021x#g:attr:caCert") property to add more CA
-- certificates for verifying the network to client.
setting8021xGetCaPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the CA certificate directory path
setting8021xGetCaPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetCaPath a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_ca_path Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetCaPath" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetCaPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetCaPathMethodInfo a signature where
    overloadedMethod = setting8021xGetCaPath

instance O.OverloadedMethodInfo Setting8021xGetCaPathMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetCaPath",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetCaPath"
        })


#endif

-- method Setting8021x::get_client_cert_blob
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "GLib" , name = "Bytes" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_client_cert_blob" nm_setting_802_1x_get_client_cert_blob :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO (Ptr GLib.Bytes.Bytes)

-- | Client certificates are used to identify the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
setting8021xGetClientCertBlob ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m GLib.Bytes.Bytes
    -- ^ __Returns:__ the client certificate data
setting8021xGetClientCertBlob :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Bytes
setting8021xGetClientCertBlob a
setting = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Bytes
result <- Ptr Setting8021x -> IO (Ptr Bytes)
nm_setting_802_1x_get_client_cert_blob Ptr Setting8021x
setting'
    Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetClientCertBlob" Ptr Bytes
result
    Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bytes -> IO Bytes
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetClientCertBlobMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetClientCertBlobMethodInfo a signature where
    overloadedMethod = setting8021xGetClientCertBlob

instance O.OverloadedMethodInfo Setting8021xGetClientCertBlobMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetClientCertBlob",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetClientCertBlob"
        })


#endif

-- method Setting8021x::get_client_cert_password
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_client_cert_password" nm_setting_802_1x_get_client_cert_password :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
-- 
-- /Since: 1.8/
setting8021xGetClientCertPassword ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the password used to access the client certificate stored in
    -- [Setting8021x:clientCert]("GI.NM.Objects.Setting8021x#g:attr:clientCert") property. Only makes sense if the certificate
    -- is stored on a PKCS#\<!-- -->11 token that requires a login.
setting8021xGetClientCertPassword :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetClientCertPassword a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_client_cert_password Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetClientCertPassword" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetClientCertPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetClientCertPasswordMethodInfo a signature where
    overloadedMethod = setting8021xGetClientCertPassword

instance O.OverloadedMethodInfo Setting8021xGetClientCertPasswordMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetClientCertPassword",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetClientCertPassword"
        })


#endif

-- method Setting8021x::get_client_cert_password_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "SettingSecretFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_client_cert_password_flags" nm_setting_802_1x_get_client_cert_password_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
-- 
-- /Since: 1.8/
setting8021xGetClientCertPasswordFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    -- [Setting8021x:clientCertPassword]("GI.NM.Objects.Setting8021x#g:attr:clientCertPassword")
setting8021xGetClientCertPasswordFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [SettingSecretFlags]
setting8021xGetClientCertPasswordFlags a
setting = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_client_cert_password_flags Ptr Setting8021x
setting'
    let result' :: [SettingSecretFlags]
result' = CUInt -> [SettingSecretFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [SettingSecretFlags] -> IO [SettingSecretFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingSecretFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetClientCertPasswordFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetClientCertPasswordFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetClientCertPasswordFlags

instance O.OverloadedMethodInfo Setting8021xGetClientCertPasswordFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetClientCertPasswordFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetClientCertPasswordFlags"
        })


#endif

-- method Setting8021x::get_client_cert_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_client_cert_path" nm_setting_802_1x_get_client_cert_path :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Client certificates are used to identify the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
setting8021xGetClientCertPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ path to the client certificate file
setting8021xGetClientCertPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetClientCertPath a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_client_cert_path Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetClientCertPath" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetClientCertPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetClientCertPathMethodInfo a signature where
    overloadedMethod = setting8021xGetClientCertPath

instance O.OverloadedMethodInfo Setting8021xGetClientCertPathMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetClientCertPath",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetClientCertPath"
        })


#endif

-- method Setting8021x::get_client_cert_scheme
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xCKScheme" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_client_cert_scheme" nm_setting_802_1x_get_client_cert_scheme :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | Returns the scheme used to store the client certificate.  If the returned scheme
-- is 'GI.NM.Enums.Setting8021xCKSchemeBlob', use 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertBlob';
-- if 'GI.NM.Enums.Setting8021xCKSchemePath', use 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertPath';
-- if 'GI.NM.Enums.Setting8021xCKSchemePkcs11', use 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertUri'.
setting8021xGetClientCertScheme ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m NM.Enums.Setting8021xCKScheme
    -- ^ __Returns:__ scheme used to store the client certificate (blob or path)
setting8021xGetClientCertScheme :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Setting8021xCKScheme
setting8021xGetClientCertScheme a
setting = IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021xCKScheme -> m Setting8021xCKScheme)
-> IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_client_cert_scheme Ptr Setting8021x
setting'
    let result' :: Setting8021xCKScheme
result' = (Int -> Setting8021xCKScheme
forall a. Enum a => Int -> a
toEnum (Int -> Setting8021xCKScheme)
-> (CUInt -> Int) -> CUInt -> Setting8021xCKScheme
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Setting8021xCKScheme -> IO Setting8021xCKScheme
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021xCKScheme
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetClientCertSchemeMethodInfo
instance (signature ~ (m NM.Enums.Setting8021xCKScheme), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetClientCertSchemeMethodInfo a signature where
    overloadedMethod = setting8021xGetClientCertScheme

instance O.OverloadedMethodInfo Setting8021xGetClientCertSchemeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetClientCertScheme",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetClientCertScheme"
        })


#endif

-- method Setting8021x::get_client_cert_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_client_cert_uri" nm_setting_802_1x_get_client_cert_uri :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the client certificate URI analogously to
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertBlob' and
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertPath'.
-- 
-- Currently, it\'s limited to PKCS@/11/@ URIs (\'pkcs11\' scheme as defined by RFC
-- 7512), but may be extended to other schemes in future (such as \'file\' URIs
-- for local files and \'data\' URIs for inline certificate data).
-- 
-- /Since: 1.6/
setting8021xGetClientCertUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the URI string
setting8021xGetClientCertUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetClientCertUri a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_client_cert_uri Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetClientCertUri" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetClientCertUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetClientCertUriMethodInfo a signature where
    overloadedMethod = setting8021xGetClientCertUri

instance O.OverloadedMethodInfo Setting8021xGetClientCertUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetClientCertUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetClientCertUri"
        })


#endif

-- method Setting8021x::get_domain_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_domain_match" nm_setting_802_1x_get_domain_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
-- 
-- /Since: 1.24/
setting8021xGetDomainMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the [Setting8021x:domainMatch]("GI.NM.Objects.Setting8021x#g:attr:domainMatch") property.
setting8021xGetDomainMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetDomainMatch a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_domain_match Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetDomainMatch" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetDomainMatchMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetDomainMatchMethodInfo a signature where
    overloadedMethod = setting8021xGetDomainMatch

instance O.OverloadedMethodInfo Setting8021xGetDomainMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetDomainMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetDomainMatch"
        })


#endif

-- method Setting8021x::get_domain_suffix_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_domain_suffix_match" nm_setting_802_1x_get_domain_suffix_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
-- 
-- /Since: 1.2/
setting8021xGetDomainSuffixMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the [Setting8021x:domainSuffixMatch]("GI.NM.Objects.Setting8021x#g:attr:domainSuffixMatch") property.
setting8021xGetDomainSuffixMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetDomainSuffixMatch a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_domain_suffix_match Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetDomainSuffixMatch" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetDomainSuffixMatchMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetDomainSuffixMatchMethodInfo a signature where
    overloadedMethod = setting8021xGetDomainSuffixMatch

instance O.OverloadedMethodInfo Setting8021xGetDomainSuffixMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetDomainSuffixMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetDomainSuffixMatch"
        })


#endif

-- method Setting8021x::get_eap_method
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "i"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the index of the EAP method name to return"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_eap_method" nm_setting_802_1x_get_eap_method :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO CString

-- | Returns the name of the allowed EAP method at index /@i@/.
setting8021xGetEapMethod ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> Word32
    -- ^ /@i@/: the index of the EAP method name to return
    -> m T.Text
    -- ^ __Returns:__ the name of the allowed EAP method at index /@i@/
setting8021xGetEapMethod :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Word32 -> m Text
setting8021xGetEapMethod a
setting Word32
i = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> Word32 -> IO CString
nm_setting_802_1x_get_eap_method Ptr Setting8021x
setting' Word32
i
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetEapMethod" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetEapMethodMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetEapMethodMethodInfo a signature where
    overloadedMethod = setting8021xGetEapMethod

instance O.OverloadedMethodInfo Setting8021xGetEapMethodMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetEapMethod",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetEapMethod"
        })


#endif

-- method Setting8021x::get_identity
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_identity" nm_setting_802_1x_get_identity :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the identifier used by some EAP methods (like TLS) to
-- authenticate the user.  Often this is a username or login name.
setting8021xGetIdentity ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the user identifier
setting8021xGetIdentity :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetIdentity a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_identity Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetIdentity" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetIdentityMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetIdentityMethodInfo a signature where
    overloadedMethod = setting8021xGetIdentity

instance O.OverloadedMethodInfo Setting8021xGetIdentityMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetIdentity",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetIdentity"
        })


#endif

-- method Setting8021x::get_num_altsubject_matches
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt32)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_num_altsubject_matches" nm_setting_802_1x_get_num_altsubject_matches :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO Word32

-- | Returns the number of entries in the
-- [Setting8021x:altsubjectMatches]("GI.NM.Objects.Setting8021x#g:attr:altsubjectMatches") property of this setting.
setting8021xGetNumAltsubjectMatches ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m Word32
    -- ^ __Returns:__ the number of altsubject-matches entries.
setting8021xGetNumAltsubjectMatches :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Word32
setting8021xGetNumAltsubjectMatches a
setting = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr Setting8021x -> IO Word32
nm_setting_802_1x_get_num_altsubject_matches Ptr Setting8021x
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetNumAltsubjectMatchesMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetNumAltsubjectMatchesMethodInfo a signature where
    overloadedMethod = setting8021xGetNumAltsubjectMatches

instance O.OverloadedMethodInfo Setting8021xGetNumAltsubjectMatchesMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetNumAltsubjectMatches",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetNumAltsubjectMatches"
        })


#endif

-- method Setting8021x::get_num_eap_methods
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt32)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_num_eap_methods" nm_setting_802_1x_get_num_eap_methods :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO Word32

-- | Returns the number of eap methods allowed for use when connecting to the
-- network.  Generally only one EAP method is used.  Use the functions
-- 'GI.NM.Objects.Setting8021x.setting8021xGetEapMethod', 'GI.NM.Objects.Setting8021x.setting8021xAddEapMethod',
-- and 'GI.NM.Objects.Setting8021x.setting8021xRemoveEapMethod' for adding, removing, and retrieving
-- allowed EAP methods.
setting8021xGetNumEapMethods ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m Word32
    -- ^ __Returns:__ the number of allowed EAP methods
setting8021xGetNumEapMethods :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Word32
setting8021xGetNumEapMethods a
setting = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr Setting8021x -> IO Word32
nm_setting_802_1x_get_num_eap_methods Ptr Setting8021x
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetNumEapMethodsMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetNumEapMethodsMethodInfo a signature where
    overloadedMethod = setting8021xGetNumEapMethods

instance O.OverloadedMethodInfo Setting8021xGetNumEapMethodsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetNumEapMethods",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetNumEapMethods"
        })


#endif

-- method Setting8021x::get_num_phase2_altsubject_matches
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt32)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_num_phase2_altsubject_matches" nm_setting_802_1x_get_num_phase2_altsubject_matches :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO Word32

-- | Returns the number of entries in the
-- [Setting8021x:phase2AltsubjectMatches]("GI.NM.Objects.Setting8021x#g:attr:phase2AltsubjectMatches") property of this setting.
setting8021xGetNumPhase2AltsubjectMatches ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m Word32
    -- ^ __Returns:__ the number of phase2-altsubject-matches entries.
setting8021xGetNumPhase2AltsubjectMatches :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Word32
setting8021xGetNumPhase2AltsubjectMatches a
setting = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr Setting8021x -> IO Word32
nm_setting_802_1x_get_num_phase2_altsubject_matches Ptr Setting8021x
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetNumPhase2AltsubjectMatchesMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetNumPhase2AltsubjectMatchesMethodInfo a signature where
    overloadedMethod = setting8021xGetNumPhase2AltsubjectMatches

instance O.OverloadedMethodInfo Setting8021xGetNumPhase2AltsubjectMatchesMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetNumPhase2AltsubjectMatches",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetNumPhase2AltsubjectMatches"
        })


#endif

-- method Setting8021x::get_openssl_ciphers
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_openssl_ciphers" nm_setting_802_1x_get_openssl_ciphers :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the openssl_ciphers configuration for wpa_supplicant.
-- 
-- /Since: 1.48/
setting8021xGetOpensslCiphers ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ cipher string for tls setup in wpa_supplicant.
setting8021xGetOpensslCiphers :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetOpensslCiphers a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_openssl_ciphers Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetOpensslCiphers" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetOpensslCiphersMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetOpensslCiphersMethodInfo a signature where
    overloadedMethod = setting8021xGetOpensslCiphers

instance O.OverloadedMethodInfo Setting8021xGetOpensslCiphersMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetOpensslCiphers",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetOpensslCiphers"
        })


#endif

-- method Setting8021x::get_optional
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_optional" nm_setting_802_1x_get_optional :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CInt

-- | Returns the value contained in the [Setting8021x:optional]("GI.NM.Objects.Setting8021x#g:attr:optional") property.
-- 
-- /Since: 1.22/
setting8021xGetOptional ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the activation should proceed even when the 802.1X
    --     authentication fails; 'P.False' otherwise
setting8021xGetOptional :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Bool
setting8021xGetOptional a
setting = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr Setting8021x -> IO CInt
nm_setting_802_1x_get_optional Ptr Setting8021x
setting'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetOptionalMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetOptionalMethodInfo a signature where
    overloadedMethod = setting8021xGetOptional

instance O.OverloadedMethodInfo Setting8021xGetOptionalMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetOptional",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetOptional"
        })


#endif

-- method Setting8021x::get_pac_file
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_pac_file" nm_setting_802_1x_get_pac_file :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the file containing PAC credentials used by EAP-FAST method.
setting8021xGetPacFile ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the PAC file
setting8021xGetPacFile :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPacFile a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_pac_file Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPacFile" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPacFileMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPacFileMethodInfo a signature where
    overloadedMethod = setting8021xGetPacFile

instance O.OverloadedMethodInfo Setting8021xGetPacFileMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPacFile",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPacFile"
        })


#endif

-- method Setting8021x::get_password
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_password" nm_setting_802_1x_get_password :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPassword ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the password used by the authentication method, if any, as specified
    --   by the [Setting8021x:password]("GI.NM.Objects.Setting8021x#g:attr:password") property
setting8021xGetPassword :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPassword a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_password Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPassword" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPasswordMethodInfo a signature where
    overloadedMethod = setting8021xGetPassword

instance O.OverloadedMethodInfo Setting8021xGetPasswordMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPassword",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPassword"
        })


#endif

-- method Setting8021x::get_password_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "SettingSecretFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_password_flags" nm_setting_802_1x_get_password_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
setting8021xGetPasswordFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the [Setting8021x:password]("GI.NM.Objects.Setting8021x#g:attr:password")
setting8021xGetPasswordFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [SettingSecretFlags]
setting8021xGetPasswordFlags a
setting = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_password_flags Ptr Setting8021x
setting'
    let result' :: [SettingSecretFlags]
result' = CUInt -> [SettingSecretFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [SettingSecretFlags] -> IO [SettingSecretFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingSecretFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPasswordFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPasswordFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetPasswordFlags

instance O.OverloadedMethodInfo Setting8021xGetPasswordFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPasswordFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPasswordFlags"
        })


#endif

-- method Setting8021x::get_password_raw
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "GLib" , name = "Bytes" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_password_raw" nm_setting_802_1x_get_password_raw :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO (Ptr GLib.Bytes.Bytes)

-- | /No description available in the introspection data./
setting8021xGetPasswordRaw ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m GLib.Bytes.Bytes
    -- ^ __Returns:__ the password used by the authentication method as a
    -- UTF-8-encoded array of bytes, as specified by the
    -- [Setting8021x:passwordRaw]("GI.NM.Objects.Setting8021x#g:attr:passwordRaw") property
setting8021xGetPasswordRaw :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Bytes
setting8021xGetPasswordRaw a
setting = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Bytes
result <- Ptr Setting8021x -> IO (Ptr Bytes)
nm_setting_802_1x_get_password_raw Ptr Setting8021x
setting'
    Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPasswordRaw" Ptr Bytes
result
    Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bytes -> IO Bytes
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPasswordRawMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPasswordRawMethodInfo a signature where
    overloadedMethod = setting8021xGetPasswordRaw

instance O.OverloadedMethodInfo Setting8021xGetPasswordRawMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPasswordRaw",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPasswordRaw"
        })


#endif

-- method Setting8021x::get_password_raw_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "SettingSecretFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_password_raw_flags" nm_setting_802_1x_get_password_raw_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
setting8021xGetPasswordRawFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    --   [Setting8021x:passwordRaw]("GI.NM.Objects.Setting8021x#g:attr:passwordRaw")
setting8021xGetPasswordRawFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [SettingSecretFlags]
setting8021xGetPasswordRawFlags a
setting = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_password_raw_flags Ptr Setting8021x
setting'
    let result' :: [SettingSecretFlags]
result' = CUInt -> [SettingSecretFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [SettingSecretFlags] -> IO [SettingSecretFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingSecretFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPasswordRawFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPasswordRawFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetPasswordRawFlags

instance O.OverloadedMethodInfo Setting8021xGetPasswordRawFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPasswordRawFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPasswordRawFlags"
        })


#endif

-- method Setting8021x::get_phase1_auth_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xAuthFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase1_auth_flags" nm_setting_802_1x_get_phase1_auth_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
-- 
-- /Since: 1.8/
setting8021xGetPhase1AuthFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.Setting8021xAuthFlags]
    -- ^ __Returns:__ the authentication flags for \"phase 1\".
setting8021xGetPhase1AuthFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [Setting8021xAuthFlags]
setting8021xGetPhase1AuthFlags a
setting = IO [Setting8021xAuthFlags] -> m [Setting8021xAuthFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Setting8021xAuthFlags] -> m [Setting8021xAuthFlags])
-> IO [Setting8021xAuthFlags] -> m [Setting8021xAuthFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_phase1_auth_flags Ptr Setting8021x
setting'
    let result' :: [Setting8021xAuthFlags]
result' = CUInt -> [Setting8021xAuthFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [Setting8021xAuthFlags] -> IO [Setting8021xAuthFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [Setting8021xAuthFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase1AuthFlagsMethodInfo
instance (signature ~ (m [NM.Flags.Setting8021xAuthFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase1AuthFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase1AuthFlags

instance O.OverloadedMethodInfo Setting8021xGetPhase1AuthFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase1AuthFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase1AuthFlags"
        })


#endif

-- method Setting8021x::get_phase1_fast_provisioning
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase1_fast_provisioning" nm_setting_802_1x_get_phase1_fast_provisioning :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPhase1FastProvisioning ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ whether \"phase 1\" PEAP fast provisioning should be used, as specified
    --  by the [Setting8021x:phase1FastProvisioning]("GI.NM.Objects.Setting8021x#g:attr:phase1FastProvisioning") property.  See the
    --  wpa_supplicant documentation for more details.
setting8021xGetPhase1FastProvisioning :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase1FastProvisioning a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase1_fast_provisioning Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase1FastProvisioning" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase1FastProvisioningMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase1FastProvisioningMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase1FastProvisioning

instance O.OverloadedMethodInfo Setting8021xGetPhase1FastProvisioningMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase1FastProvisioning",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase1FastProvisioning"
        })


#endif

-- method Setting8021x::get_phase1_peaplabel
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase1_peaplabel" nm_setting_802_1x_get_phase1_peaplabel :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPhase1Peaplabel ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ whether the \"phase 1\" PEAP label is new-style or old-style, to be
    --  used when authenticating with EAP-PEAP, as contained in the
    --  [Setting8021x:phase1Peaplabel]("GI.NM.Objects.Setting8021x#g:attr:phase1Peaplabel") property.  Valid values are 'P.Nothing' (unset),
    --  \"0\" (use old-style label), and \"1\" (use new-style label).  See the
    --  wpa_supplicant documentation for more details.
setting8021xGetPhase1Peaplabel :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase1Peaplabel a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase1_peaplabel Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase1Peaplabel" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase1PeaplabelMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase1PeaplabelMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase1Peaplabel

instance O.OverloadedMethodInfo Setting8021xGetPhase1PeaplabelMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase1Peaplabel",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase1Peaplabel"
        })


#endif

-- method Setting8021x::get_phase1_peapver
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase1_peapver" nm_setting_802_1x_get_phase1_peapver :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPhase1Peapver ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the \"phase 1\" PEAP version to be used when authenticating with
    --  EAP-PEAP as contained in the [Setting8021x:phase1Peapver]("GI.NM.Objects.Setting8021x#g:attr:phase1Peapver") property.  Valid
    --  values are 'P.Nothing' (unset), \"0\" (PEAP version 0), and \"1\" (PEAP version 1).
setting8021xGetPhase1Peapver :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase1Peapver a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase1_peapver Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase1Peapver" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase1PeapverMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase1PeapverMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase1Peapver

instance O.OverloadedMethodInfo Setting8021xGetPhase1PeapverMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase1Peapver",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase1Peapver"
        })


#endif

-- method Setting8021x::get_phase2_altsubject_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "i"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the zero-based index of the array of \"phase 2\" altSubjectName matches"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_altsubject_match" nm_setting_802_1x_get_phase2_altsubject_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO CString

-- | Returns the \"phase 2\" altSubjectName match at index /@i@/.
setting8021xGetPhase2AltsubjectMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> Word32
    -- ^ /@i@/: the zero-based index of the array of \"phase 2\" altSubjectName matches
    -> m T.Text
    -- ^ __Returns:__ the \"phase 2\" altSubjectName match at index /@i@/
setting8021xGetPhase2AltsubjectMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Word32 -> m Text
setting8021xGetPhase2AltsubjectMatch a
setting Word32
i = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> Word32 -> IO CString
nm_setting_802_1x_get_phase2_altsubject_match Ptr Setting8021x
setting' Word32
i
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2AltsubjectMatch" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2AltsubjectMatchMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2AltsubjectMatchMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2AltsubjectMatch

instance O.OverloadedMethodInfo Setting8021xGetPhase2AltsubjectMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2AltsubjectMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2AltsubjectMatch"
        })


#endif

-- method Setting8021x::get_phase2_auth
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_auth" nm_setting_802_1x_get_phase2_auth :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPhase2Auth ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the \"phase 2\" non-EAP (ex MD5) allowed authentication method as
    --   specified by the [Setting8021x:phase2Auth]("GI.NM.Objects.Setting8021x#g:attr:phase2Auth") property.
setting8021xGetPhase2Auth :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2Auth a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_auth Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2Auth" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2AuthMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2AuthMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2Auth

instance O.OverloadedMethodInfo Setting8021xGetPhase2AuthMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2Auth",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2Auth"
        })


#endif

-- method Setting8021x::get_phase2_autheap
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_autheap" nm_setting_802_1x_get_phase2_autheap :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPhase2Autheap ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the \"phase 2\" EAP-based (ex TLS) allowed authentication method as
    --   specified by the [Setting8021x:phase2Autheap]("GI.NM.Objects.Setting8021x#g:attr:phase2Autheap") property.
setting8021xGetPhase2Autheap :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2Autheap a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_autheap Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2Autheap" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2AutheapMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2AutheapMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2Autheap

instance O.OverloadedMethodInfo Setting8021xGetPhase2AutheapMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2Autheap",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2Autheap"
        })


#endif

-- method Setting8021x::get_phase2_ca_cert_blob
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "GLib" , name = "Bytes" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_ca_cert_blob" nm_setting_802_1x_get_phase2_ca_cert_blob :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO (Ptr GLib.Bytes.Bytes)

-- | Returns the \"phase 2\" CA certificate blob if the CA certificate is stored
-- using the 'GI.NM.Enums.Setting8021xCKSchemeBlob' scheme.  Not all EAP methods use
-- a CA certificate (LEAP for example), and those that can take advantage of the
-- CA certificate allow it to be unset.  Note that lack of a CA certificate
-- reduces security by allowing man-in-the-middle attacks, because the identity
-- of the network cannot be confirmed by the client.
setting8021xGetPhase2CaCertBlob ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m GLib.Bytes.Bytes
    -- ^ __Returns:__ the \"phase 2\" CA certificate data
setting8021xGetPhase2CaCertBlob :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Bytes
setting8021xGetPhase2CaCertBlob a
setting = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Bytes
result <- Ptr Setting8021x -> IO (Ptr Bytes)
nm_setting_802_1x_get_phase2_ca_cert_blob Ptr Setting8021x
setting'
    Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2CaCertBlob" Ptr Bytes
result
    Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bytes -> IO Bytes
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2CaCertBlobMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2CaCertBlobMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2CaCertBlob

instance O.OverloadedMethodInfo Setting8021xGetPhase2CaCertBlobMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertBlob",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2CaCertBlob"
        })


#endif

-- method Setting8021x::get_phase2_ca_cert_password
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_ca_cert_password" nm_setting_802_1x_get_phase2_ca_cert_password :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
-- 
-- /Since: 1.8/
setting8021xGetPhase2CaCertPassword ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the password used to access the \"phase2\" CA certificate stored in
    -- [Setting8021x:phase2CaCert]("GI.NM.Objects.Setting8021x#g:attr:phase2CaCert") property. Only makes sense if the certificate
    -- is stored on a PKCS#\<!-- -->11 token that requires a login.
setting8021xGetPhase2CaCertPassword :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2CaCertPassword a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_ca_cert_password Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2CaCertPassword" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2CaCertPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2CaCertPasswordMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2CaCertPassword

instance O.OverloadedMethodInfo Setting8021xGetPhase2CaCertPasswordMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertPassword",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2CaCertPassword"
        })


#endif

-- method Setting8021x::get_phase2_ca_cert_password_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "SettingSecretFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_ca_cert_password_flags" nm_setting_802_1x_get_phase2_ca_cert_password_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
-- 
-- /Since: 1.8/
setting8021xGetPhase2CaCertPasswordFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    -- [Setting8021x:phase2PrivateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKeyPassword")
setting8021xGetPhase2CaCertPasswordFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [SettingSecretFlags]
setting8021xGetPhase2CaCertPasswordFlags a
setting = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_phase2_ca_cert_password_flags Ptr Setting8021x
setting'
    let result' :: [SettingSecretFlags]
result' = CUInt -> [SettingSecretFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [SettingSecretFlags] -> IO [SettingSecretFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingSecretFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2CaCertPasswordFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2CaCertPasswordFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2CaCertPasswordFlags

instance O.OverloadedMethodInfo Setting8021xGetPhase2CaCertPasswordFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertPasswordFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2CaCertPasswordFlags"
        })


#endif

-- method Setting8021x::get_phase2_ca_cert_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_ca_cert_path" nm_setting_802_1x_get_phase2_ca_cert_path :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the \"phase 2\" CA certificate path if the CA certificate is stored
-- using the 'GI.NM.Enums.Setting8021xCKSchemePath' scheme.  Not all EAP methods use
-- a CA certificate (LEAP for example), and those that can take advantage of the
-- CA certificate allow it to be unset.  Note that lack of a CA certificate
-- reduces security by allowing man-in-the-middle attacks, because the identity
-- of the network cannot be confirmed by the client.
setting8021xGetPhase2CaCertPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ path to the \"phase 2\" CA certificate file
setting8021xGetPhase2CaCertPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2CaCertPath a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_ca_cert_path Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2CaCertPath" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2CaCertPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2CaCertPathMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2CaCertPath

instance O.OverloadedMethodInfo Setting8021xGetPhase2CaCertPathMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertPath",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2CaCertPath"
        })


#endif

-- method Setting8021x::get_phase2_ca_cert_scheme
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xCKScheme" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_ca_cert_scheme" nm_setting_802_1x_get_phase2_ca_cert_scheme :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | Returns the scheme used to store the \"phase 2\" CA certificate.  If the
-- returned scheme is 'GI.NM.Enums.Setting8021xCKSchemeBlob', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetCaCertBlob'; if 'GI.NM.Enums.Setting8021xCKSchemePath',
-- use 'GI.NM.Objects.Setting8021x.setting8021xGetCaCertPath'; if 'GI.NM.Enums.Setting8021xCKSchemePkcs11',
-- use 'GI.NM.Objects.Setting8021x.setting8021xGetCaCertUri'.
setting8021xGetPhase2CaCertScheme ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m NM.Enums.Setting8021xCKScheme
    -- ^ __Returns:__ scheme used to store the \"phase 2\" CA certificate (blob or path)
setting8021xGetPhase2CaCertScheme :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Setting8021xCKScheme
setting8021xGetPhase2CaCertScheme a
setting = IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021xCKScheme -> m Setting8021xCKScheme)
-> IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_phase2_ca_cert_scheme Ptr Setting8021x
setting'
    let result' :: Setting8021xCKScheme
result' = (Int -> Setting8021xCKScheme
forall a. Enum a => Int -> a
toEnum (Int -> Setting8021xCKScheme)
-> (CUInt -> Int) -> CUInt -> Setting8021xCKScheme
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Setting8021xCKScheme -> IO Setting8021xCKScheme
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021xCKScheme
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2CaCertSchemeMethodInfo
instance (signature ~ (m NM.Enums.Setting8021xCKScheme), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2CaCertSchemeMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2CaCertScheme

instance O.OverloadedMethodInfo Setting8021xGetPhase2CaCertSchemeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertScheme",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2CaCertScheme"
        })


#endif

-- method Setting8021x::get_phase2_ca_cert_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_ca_cert_uri" nm_setting_802_1x_get_phase2_ca_cert_uri :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the \"phase 2\" CA certificate URI analogously to
-- 'GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertBlob' and
-- 'GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertPath'.
-- 
-- Currently, it\'s limited to PKCS#\<!-- -->11 URIs (\'pkcs11\' scheme as defined by RFC
-- 7512), but may be extended to other schemes in future (such as \'file\' URIs
-- for local files and \'data\' URIs for inline certificate data).
-- 
-- /Since: 1.6/
setting8021xGetPhase2CaCertUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the URI string
setting8021xGetPhase2CaCertUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2CaCertUri a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_ca_cert_uri Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2CaCertUri" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2CaCertUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2CaCertUriMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2CaCertUri

instance O.OverloadedMethodInfo Setting8021xGetPhase2CaCertUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2CaCertUri"
        })


#endif

-- method Setting8021x::get_phase2_ca_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_ca_path" nm_setting_802_1x_get_phase2_ca_path :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the path of the \"phase 2\" CA certificate directory if previously set.
-- Systems will often have a directory that contains multiple individual CA
-- certificates which the supplicant can then add to the verification chain.
-- This may be used in addition to the [Setting8021x:phase2CaCert]("GI.NM.Objects.Setting8021x#g:attr:phase2CaCert") property
-- to add more CA certificates for verifying the network to client.
setting8021xGetPhase2CaPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the \"phase 2\" CA certificate directory path
setting8021xGetPhase2CaPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2CaPath a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_ca_path Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2CaPath" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2CaPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2CaPathMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2CaPath

instance O.OverloadedMethodInfo Setting8021xGetPhase2CaPathMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaPath",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2CaPath"
        })


#endif

-- method Setting8021x::get_phase2_client_cert_blob
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "GLib" , name = "Bytes" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_client_cert_blob" nm_setting_802_1x_get_phase2_client_cert_blob :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO (Ptr GLib.Bytes.Bytes)

-- | Client certificates are used to identify the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
setting8021xGetPhase2ClientCertBlob ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m GLib.Bytes.Bytes
    -- ^ __Returns:__ the \"phase 2\" client certificate data
setting8021xGetPhase2ClientCertBlob :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Bytes
setting8021xGetPhase2ClientCertBlob a
setting = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Bytes
result <- Ptr Setting8021x -> IO (Ptr Bytes)
nm_setting_802_1x_get_phase2_client_cert_blob Ptr Setting8021x
setting'
    Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2ClientCertBlob" Ptr Bytes
result
    Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bytes -> IO Bytes
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2ClientCertBlobMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2ClientCertBlobMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2ClientCertBlob

instance O.OverloadedMethodInfo Setting8021xGetPhase2ClientCertBlobMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2ClientCertBlob",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2ClientCertBlob"
        })


#endif

-- method Setting8021x::get_phase2_client_cert_password
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_client_cert_password" nm_setting_802_1x_get_phase2_client_cert_password :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
-- 
-- /Since: 1.8/
setting8021xGetPhase2ClientCertPassword ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the password used to access the \"phase2\" client certificate stored in
    -- [Setting8021x:phase2ClientCert]("GI.NM.Objects.Setting8021x#g:attr:phase2ClientCert") property. Only makes sense if the certificate
    -- is stored on a PKCS#\<!-- -->11 token that requires a login.
setting8021xGetPhase2ClientCertPassword :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2ClientCertPassword a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_client_cert_password Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2ClientCertPassword" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2ClientCertPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2ClientCertPasswordMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2ClientCertPassword

instance O.OverloadedMethodInfo Setting8021xGetPhase2ClientCertPasswordMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2ClientCertPassword",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2ClientCertPassword"
        })


#endif

-- method Setting8021x::get_phase2_client_cert_password_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "SettingSecretFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_client_cert_password_flags" nm_setting_802_1x_get_phase2_client_cert_password_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
-- 
-- /Since: 1.8/
setting8021xGetPhase2ClientCertPasswordFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    -- [Setting8021x:phase2ClientCertPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2ClientCertPassword")
setting8021xGetPhase2ClientCertPasswordFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [SettingSecretFlags]
setting8021xGetPhase2ClientCertPasswordFlags a
setting = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_phase2_client_cert_password_flags Ptr Setting8021x
setting'
    let result' :: [SettingSecretFlags]
result' = CUInt -> [SettingSecretFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [SettingSecretFlags] -> IO [SettingSecretFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingSecretFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2ClientCertPasswordFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2ClientCertPasswordFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2ClientCertPasswordFlags

instance O.OverloadedMethodInfo Setting8021xGetPhase2ClientCertPasswordFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2ClientCertPasswordFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2ClientCertPasswordFlags"
        })


#endif

-- method Setting8021x::get_phase2_client_cert_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_client_cert_path" nm_setting_802_1x_get_phase2_client_cert_path :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Client certificates are used to identify the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
setting8021xGetPhase2ClientCertPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ path to the \"phase 2\" client certificate file
setting8021xGetPhase2ClientCertPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2ClientCertPath a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_client_cert_path Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2ClientCertPath" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2ClientCertPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2ClientCertPathMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2ClientCertPath

instance O.OverloadedMethodInfo Setting8021xGetPhase2ClientCertPathMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2ClientCertPath",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2ClientCertPath"
        })


#endif

-- method Setting8021x::get_phase2_client_cert_scheme
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xCKScheme" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_client_cert_scheme" nm_setting_802_1x_get_phase2_client_cert_scheme :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | Returns the scheme used to store the \"phase 2\" client certificate.  If the
-- returned scheme is 'GI.NM.Enums.Setting8021xCKSchemeBlob', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertBlob'; if
-- 'GI.NM.Enums.Setting8021xCKSchemePath', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertPath'; if
-- 'GI.NM.Enums.Setting8021xCKSchemePkcs11', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertUri'.
setting8021xGetPhase2ClientCertScheme ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m NM.Enums.Setting8021xCKScheme
    -- ^ __Returns:__ scheme used to store the \"phase 2\" client certificate (blob or path)
setting8021xGetPhase2ClientCertScheme :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Setting8021xCKScheme
setting8021xGetPhase2ClientCertScheme a
setting = IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021xCKScheme -> m Setting8021xCKScheme)
-> IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_phase2_client_cert_scheme Ptr Setting8021x
setting'
    let result' :: Setting8021xCKScheme
result' = (Int -> Setting8021xCKScheme
forall a. Enum a => Int -> a
toEnum (Int -> Setting8021xCKScheme)
-> (CUInt -> Int) -> CUInt -> Setting8021xCKScheme
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Setting8021xCKScheme -> IO Setting8021xCKScheme
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021xCKScheme
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2ClientCertSchemeMethodInfo
instance (signature ~ (m NM.Enums.Setting8021xCKScheme), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2ClientCertSchemeMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2ClientCertScheme

instance O.OverloadedMethodInfo Setting8021xGetPhase2ClientCertSchemeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2ClientCertScheme",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2ClientCertScheme"
        })


#endif

-- method Setting8021x::get_phase2_client_cert_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_client_cert_uri" nm_setting_802_1x_get_phase2_client_cert_uri :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the \"phase 2\" client certificate URI analogously to
-- 'GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertBlob' and
-- 'GI.NM.Objects.Setting8021x.setting8021xGetPhase2CaCertPath'.
-- 
-- Currently, it\'s limited to PKCS#\<!-- -->11 URIs (\'pkcs11\' scheme as defined by RFC
-- 7512), but may be extended to other schemes in future (such as \'file\' URIs
-- for local files and \'data\' URIs for inline certificate data).
-- 
-- /Since: 1.6/
setting8021xGetPhase2ClientCertUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the URI string
setting8021xGetPhase2ClientCertUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2ClientCertUri a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_client_cert_uri Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2ClientCertUri" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2ClientCertUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2ClientCertUriMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2ClientCertUri

instance O.OverloadedMethodInfo Setting8021xGetPhase2ClientCertUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2ClientCertUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2ClientCertUri"
        })


#endif

-- method Setting8021x::get_phase2_domain_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_domain_match" nm_setting_802_1x_get_phase2_domain_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
-- 
-- /Since: 1.24/
setting8021xGetPhase2DomainMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the [Setting8021x:phase2DomainMatch]("GI.NM.Objects.Setting8021x#g:attr:phase2DomainMatch") property.
setting8021xGetPhase2DomainMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2DomainMatch a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_domain_match Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2DomainMatch" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2DomainMatchMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2DomainMatchMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2DomainMatch

instance O.OverloadedMethodInfo Setting8021xGetPhase2DomainMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2DomainMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2DomainMatch"
        })


#endif

-- method Setting8021x::get_phase2_domain_suffix_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_domain_suffix_match" nm_setting_802_1x_get_phase2_domain_suffix_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
-- 
-- /Since: 1.2/
setting8021xGetPhase2DomainSuffixMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the [Setting8021x:phase2DomainSuffixMatch]("GI.NM.Objects.Setting8021x#g:attr:phase2DomainSuffixMatch") property.
setting8021xGetPhase2DomainSuffixMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2DomainSuffixMatch a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_domain_suffix_match Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2DomainSuffixMatch" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2DomainSuffixMatchMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2DomainSuffixMatchMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2DomainSuffixMatch

instance O.OverloadedMethodInfo Setting8021xGetPhase2DomainSuffixMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2DomainSuffixMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2DomainSuffixMatch"
        })


#endif

-- method Setting8021x::get_phase2_private_key_blob
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "GLib" , name = "Bytes" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_private_key_blob" nm_setting_802_1x_get_phase2_private_key_blob :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO (Ptr GLib.Bytes.Bytes)

-- | Private keys are used to authenticate the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
-- 
-- WARNING: the phase2 private key property is not a \"secret\" property, and thus
-- unencrypted private key data may be readable by unprivileged users.  Private
-- keys should always be encrypted with a private key password.
setting8021xGetPhase2PrivateKeyBlob ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m GLib.Bytes.Bytes
    -- ^ __Returns:__ the \"phase 2\" private key data
setting8021xGetPhase2PrivateKeyBlob :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Bytes
setting8021xGetPhase2PrivateKeyBlob a
setting = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Bytes
result <- Ptr Setting8021x -> IO (Ptr Bytes)
nm_setting_802_1x_get_phase2_private_key_blob Ptr Setting8021x
setting'
    Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2PrivateKeyBlob" Ptr Bytes
result
    Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bytes -> IO Bytes
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2PrivateKeyBlobMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2PrivateKeyBlobMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2PrivateKeyBlob

instance O.OverloadedMethodInfo Setting8021xGetPhase2PrivateKeyBlobMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2PrivateKeyBlob",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2PrivateKeyBlob"
        })


#endif

-- method Setting8021x::get_phase2_private_key_format
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xCKFormat" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_private_key_format" nm_setting_802_1x_get_phase2_private_key_format :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
setting8021xGetPhase2PrivateKeyFormat ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m NM.Enums.Setting8021xCKFormat
    -- ^ __Returns:__ the data format of the \"phase 2\" private key data stored in the
    --   [Setting8021x:phase2PrivateKey]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKey") property
setting8021xGetPhase2PrivateKeyFormat :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Setting8021xCKFormat
setting8021xGetPhase2PrivateKeyFormat a
setting = IO Setting8021xCKFormat -> m Setting8021xCKFormat
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021xCKFormat -> m Setting8021xCKFormat)
-> IO Setting8021xCKFormat -> m Setting8021xCKFormat
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_phase2_private_key_format Ptr Setting8021x
setting'
    let result' :: Setting8021xCKFormat
result' = (Int -> Setting8021xCKFormat
forall a. Enum a => Int -> a
toEnum (Int -> Setting8021xCKFormat)
-> (CUInt -> Int) -> CUInt -> Setting8021xCKFormat
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Setting8021xCKFormat -> IO Setting8021xCKFormat
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021xCKFormat
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2PrivateKeyFormatMethodInfo
instance (signature ~ (m NM.Enums.Setting8021xCKFormat), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2PrivateKeyFormatMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2PrivateKeyFormat

instance O.OverloadedMethodInfo Setting8021xGetPhase2PrivateKeyFormatMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2PrivateKeyFormat",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2PrivateKeyFormat"
        })


#endif

-- method Setting8021x::get_phase2_private_key_password
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_private_key_password" nm_setting_802_1x_get_phase2_private_key_password :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPhase2PrivateKeyPassword ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the private key password used to decrypt the private key if
    --  previously set with 'GI.NM.Objects.Setting8021x.setting8021xSetPhase2PrivateKey' or the
    --  [Setting8021x:phase2PrivateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKeyPassword") property.
setting8021xGetPhase2PrivateKeyPassword :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2PrivateKeyPassword a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_private_key_password Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2PrivateKeyPassword" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2PrivateKeyPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2PrivateKeyPasswordMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2PrivateKeyPassword

instance O.OverloadedMethodInfo Setting8021xGetPhase2PrivateKeyPasswordMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2PrivateKeyPassword",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2PrivateKeyPassword"
        })


#endif

-- method Setting8021x::get_phase2_private_key_password_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "SettingSecretFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_private_key_password_flags" nm_setting_802_1x_get_phase2_private_key_password_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
setting8021xGetPhase2PrivateKeyPasswordFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    -- [Setting8021x:phase2PrivateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKeyPassword")
setting8021xGetPhase2PrivateKeyPasswordFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [SettingSecretFlags]
setting8021xGetPhase2PrivateKeyPasswordFlags a
setting = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_phase2_private_key_password_flags Ptr Setting8021x
setting'
    let result' :: [SettingSecretFlags]
result' = CUInt -> [SettingSecretFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [SettingSecretFlags] -> IO [SettingSecretFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingSecretFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2PrivateKeyPasswordFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2PrivateKeyPasswordFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2PrivateKeyPasswordFlags

instance O.OverloadedMethodInfo Setting8021xGetPhase2PrivateKeyPasswordFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2PrivateKeyPasswordFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2PrivateKeyPasswordFlags"
        })


#endif

-- method Setting8021x::get_phase2_private_key_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_private_key_path" nm_setting_802_1x_get_phase2_private_key_path :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Private keys are used to authenticate the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
setting8021xGetPhase2PrivateKeyPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ path to the \"phase 2\" private key file
setting8021xGetPhase2PrivateKeyPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2PrivateKeyPath a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_private_key_path Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2PrivateKeyPath" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2PrivateKeyPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2PrivateKeyPathMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2PrivateKeyPath

instance O.OverloadedMethodInfo Setting8021xGetPhase2PrivateKeyPathMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2PrivateKeyPath",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2PrivateKeyPath"
        })


#endif

-- method Setting8021x::get_phase2_private_key_scheme
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xCKScheme" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_private_key_scheme" nm_setting_802_1x_get_phase2_private_key_scheme :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | Returns the scheme used to store the \"phase 2\" private key.  If the returned
-- scheme is 'GI.NM.Enums.Setting8021xCKSchemeBlob', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertBlob'; if
-- 'GI.NM.Enums.Setting8021xCKSchemePath', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertPath'; if
-- 'GI.NM.Enums.Setting8021xCKSchemePkcs11', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertUri'.
setting8021xGetPhase2PrivateKeyScheme ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m NM.Enums.Setting8021xCKScheme
    -- ^ __Returns:__ scheme used to store the \"phase 2\" private key (blob or path)
setting8021xGetPhase2PrivateKeyScheme :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Setting8021xCKScheme
setting8021xGetPhase2PrivateKeyScheme a
setting = IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021xCKScheme -> m Setting8021xCKScheme)
-> IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_phase2_private_key_scheme Ptr Setting8021x
setting'
    let result' :: Setting8021xCKScheme
result' = (Int -> Setting8021xCKScheme
forall a. Enum a => Int -> a
toEnum (Int -> Setting8021xCKScheme)
-> (CUInt -> Int) -> CUInt -> Setting8021xCKScheme
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Setting8021xCKScheme -> IO Setting8021xCKScheme
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021xCKScheme
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2PrivateKeySchemeMethodInfo
instance (signature ~ (m NM.Enums.Setting8021xCKScheme), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2PrivateKeySchemeMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2PrivateKeyScheme

instance O.OverloadedMethodInfo Setting8021xGetPhase2PrivateKeySchemeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2PrivateKeyScheme",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2PrivateKeyScheme"
        })


#endif

-- method Setting8021x::get_phase2_private_key_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_private_key_uri" nm_setting_802_1x_get_phase2_private_key_uri :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the \"phase 2\" private key URI analogously to
-- 'GI.NM.Objects.Setting8021x.setting8021xGetPhase2PrivateKeyBlob' and
-- 'GI.NM.Objects.Setting8021x.setting8021xGetPhase2PrivateKeyPath'.
-- 
-- Currently, it\'s limited to PKCS#\<!-- -->11 URIs (\'pkcs11\' scheme as defined by RFC
-- 7512), but may be extended to other schemes in future (such as \'file\' URIs
-- for local files and \'data\' URIs for inline certificate data).
-- 
-- /Since: 1.6/
setting8021xGetPhase2PrivateKeyUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the URI string
setting8021xGetPhase2PrivateKeyUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2PrivateKeyUri a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_private_key_uri Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2PrivateKeyUri" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2PrivateKeyUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2PrivateKeyUriMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2PrivateKeyUri

instance O.OverloadedMethodInfo Setting8021xGetPhase2PrivateKeyUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2PrivateKeyUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2PrivateKeyUri"
        })


#endif

-- method Setting8021x::get_phase2_subject_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_phase2_subject_match" nm_setting_802_1x_get_phase2_subject_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPhase2SubjectMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the [Setting8021x:phase2SubjectMatch]("GI.NM.Objects.Setting8021x#g:attr:phase2SubjectMatch") property. This is
    -- the substring to be matched against the subject of the \"phase 2\"
    -- authentication server certificate, or 'P.Nothing' no subject verification
    -- is to be performed.
setting8021xGetPhase2SubjectMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPhase2SubjectMatch a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_phase2_subject_match Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPhase2SubjectMatch" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPhase2SubjectMatchMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPhase2SubjectMatchMethodInfo a signature where
    overloadedMethod = setting8021xGetPhase2SubjectMatch

instance O.OverloadedMethodInfo Setting8021xGetPhase2SubjectMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPhase2SubjectMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPhase2SubjectMatch"
        })


#endif

-- method Setting8021x::get_pin
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_pin" nm_setting_802_1x_get_pin :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPin ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the PIN used by the authentication method, if any, as specified
    --   by the [Setting8021x:pin]("GI.NM.Objects.Setting8021x#g:attr:pin") property
setting8021xGetPin :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPin a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_pin Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPin" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPinMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPinMethodInfo a signature where
    overloadedMethod = setting8021xGetPin

instance O.OverloadedMethodInfo Setting8021xGetPinMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPin",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPin"
        })


#endif

-- method Setting8021x::get_pin_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "SettingSecretFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_pin_flags" nm_setting_802_1x_get_pin_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
setting8021xGetPinFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    -- [Setting8021x:pin]("GI.NM.Objects.Setting8021x#g:attr:pin")
setting8021xGetPinFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [SettingSecretFlags]
setting8021xGetPinFlags a
setting = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_pin_flags Ptr Setting8021x
setting'
    let result' :: [SettingSecretFlags]
result' = CUInt -> [SettingSecretFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [SettingSecretFlags] -> IO [SettingSecretFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingSecretFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPinFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPinFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetPinFlags

instance O.OverloadedMethodInfo Setting8021xGetPinFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPinFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPinFlags"
        })


#endif

-- method Setting8021x::get_private_key_blob
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "GLib" , name = "Bytes" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_private_key_blob" nm_setting_802_1x_get_private_key_blob :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO (Ptr GLib.Bytes.Bytes)

-- | Private keys are used to authenticate the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
-- 
-- WARNING: the private key property is not a \"secret\" property, and thus
-- unencrypted private key data may be readable by unprivileged users.  Private
-- keys should always be encrypted with a private key password.
setting8021xGetPrivateKeyBlob ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m GLib.Bytes.Bytes
    -- ^ __Returns:__ the private key data
setting8021xGetPrivateKeyBlob :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Bytes
setting8021xGetPrivateKeyBlob a
setting = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Bytes
result <- Ptr Setting8021x -> IO (Ptr Bytes)
nm_setting_802_1x_get_private_key_blob Ptr Setting8021x
setting'
    Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPrivateKeyBlob" Ptr Bytes
result
    Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bytes -> IO Bytes
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPrivateKeyBlobMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPrivateKeyBlobMethodInfo a signature where
    overloadedMethod = setting8021xGetPrivateKeyBlob

instance O.OverloadedMethodInfo Setting8021xGetPrivateKeyBlobMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPrivateKeyBlob",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPrivateKeyBlob"
        })


#endif

-- method Setting8021x::get_private_key_format
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xCKFormat" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_private_key_format" nm_setting_802_1x_get_private_key_format :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
setting8021xGetPrivateKeyFormat ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m NM.Enums.Setting8021xCKFormat
    -- ^ __Returns:__ the data format of the private key data stored in the
    --   [Setting8021x:privateKey]("GI.NM.Objects.Setting8021x#g:attr:privateKey") property
setting8021xGetPrivateKeyFormat :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Setting8021xCKFormat
setting8021xGetPrivateKeyFormat a
setting = IO Setting8021xCKFormat -> m Setting8021xCKFormat
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021xCKFormat -> m Setting8021xCKFormat)
-> IO Setting8021xCKFormat -> m Setting8021xCKFormat
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_private_key_format Ptr Setting8021x
setting'
    let result' :: Setting8021xCKFormat
result' = (Int -> Setting8021xCKFormat
forall a. Enum a => Int -> a
toEnum (Int -> Setting8021xCKFormat)
-> (CUInt -> Int) -> CUInt -> Setting8021xCKFormat
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Setting8021xCKFormat -> IO Setting8021xCKFormat
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021xCKFormat
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPrivateKeyFormatMethodInfo
instance (signature ~ (m NM.Enums.Setting8021xCKFormat), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPrivateKeyFormatMethodInfo a signature where
    overloadedMethod = setting8021xGetPrivateKeyFormat

instance O.OverloadedMethodInfo Setting8021xGetPrivateKeyFormatMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPrivateKeyFormat",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPrivateKeyFormat"
        })


#endif

-- method Setting8021x::get_private_key_password
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_private_key_password" nm_setting_802_1x_get_private_key_password :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetPrivateKeyPassword ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the private key password used to decrypt the private key if
    --  previously set with 'GI.NM.Objects.Setting8021x.setting8021xSetPrivateKey', or the
    --  [Setting8021x:privateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:privateKeyPassword") property.
setting8021xGetPrivateKeyPassword :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPrivateKeyPassword a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_private_key_password Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPrivateKeyPassword" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPrivateKeyPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPrivateKeyPasswordMethodInfo a signature where
    overloadedMethod = setting8021xGetPrivateKeyPassword

instance O.OverloadedMethodInfo Setting8021xGetPrivateKeyPasswordMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPrivateKeyPassword",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPrivateKeyPassword"
        })


#endif

-- method Setting8021x::get_private_key_password_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "SettingSecretFlags" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_private_key_password_flags" nm_setting_802_1x_get_private_key_password_flags :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | /No description available in the introspection data./
setting8021xGetPrivateKeyPasswordFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    -- [Setting8021x:privateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:privateKeyPassword")
setting8021xGetPrivateKeyPasswordFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m [SettingSecretFlags]
setting8021xGetPrivateKeyPasswordFlags a
setting = IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingSecretFlags] -> m [SettingSecretFlags])
-> IO [SettingSecretFlags] -> m [SettingSecretFlags]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_private_key_password_flags Ptr Setting8021x
setting'
    let result' :: [SettingSecretFlags]
result' = CUInt -> [SettingSecretFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    [SettingSecretFlags] -> IO [SettingSecretFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingSecretFlags]
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPrivateKeyPasswordFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPrivateKeyPasswordFlagsMethodInfo a signature where
    overloadedMethod = setting8021xGetPrivateKeyPasswordFlags

instance O.OverloadedMethodInfo Setting8021xGetPrivateKeyPasswordFlagsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPrivateKeyPasswordFlags",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPrivateKeyPasswordFlags"
        })


#endif

-- method Setting8021x::get_private_key_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_private_key_path" nm_setting_802_1x_get_private_key_path :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Private keys are used to authenticate the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
setting8021xGetPrivateKeyPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ path to the private key file
setting8021xGetPrivateKeyPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPrivateKeyPath a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_private_key_path Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPrivateKeyPath" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPrivateKeyPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPrivateKeyPathMethodInfo a signature where
    overloadedMethod = setting8021xGetPrivateKeyPath

instance O.OverloadedMethodInfo Setting8021xGetPrivateKeyPathMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPrivateKeyPath",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPrivateKeyPath"
        })


#endif

-- method Setting8021x::get_private_key_scheme
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xCKScheme" })
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_private_key_scheme" nm_setting_802_1x_get_private_key_scheme :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CUInt

-- | Returns the scheme used to store the private key.  If the returned scheme is
-- 'GI.NM.Enums.Setting8021xCKSchemeBlob', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertBlob'; if
-- 'GI.NM.Enums.Setting8021xCKSchemePath', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertPath'; if
-- 'GI.NM.Enums.Setting8021xCKSchemePkcs11', use
-- 'GI.NM.Objects.Setting8021x.setting8021xGetClientCertUri'.
setting8021xGetPrivateKeyScheme ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m NM.Enums.Setting8021xCKScheme
    -- ^ __Returns:__ scheme used to store the private key (blob or path)
setting8021xGetPrivateKeyScheme :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Setting8021xCKScheme
setting8021xGetPrivateKeyScheme a
setting = IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021xCKScheme -> m Setting8021xCKScheme)
-> IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr Setting8021x -> IO CUInt
nm_setting_802_1x_get_private_key_scheme Ptr Setting8021x
setting'
    let result' :: Setting8021xCKScheme
result' = (Int -> Setting8021xCKScheme
forall a. Enum a => Int -> a
toEnum (Int -> Setting8021xCKScheme)
-> (CUInt -> Int) -> CUInt -> Setting8021xCKScheme
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Setting8021xCKScheme -> IO Setting8021xCKScheme
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021xCKScheme
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPrivateKeySchemeMethodInfo
instance (signature ~ (m NM.Enums.Setting8021xCKScheme), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPrivateKeySchemeMethodInfo a signature where
    overloadedMethod = setting8021xGetPrivateKeyScheme

instance O.OverloadedMethodInfo Setting8021xGetPrivateKeySchemeMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPrivateKeyScheme",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPrivateKeyScheme"
        })


#endif

-- method Setting8021x::get_private_key_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_private_key_uri" nm_setting_802_1x_get_private_key_uri :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | Returns the private key URI analogously to
-- 'GI.NM.Objects.Setting8021x.setting8021xGetPrivateKeyBlob' and
-- 'GI.NM.Objects.Setting8021x.setting8021xGetPrivateKeyPath'.
-- 
-- Currently, it\'s limited to PKCS#\<!-- -->11 URIs (\'pkcs11\' scheme as defined by RFC
-- 7512), but may be extended to other schemes in future (such as \'file\' URIs
-- for local files and \'data\' URIs for inline certificate data).
-- 
-- /Since: 1.6/
setting8021xGetPrivateKeyUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the URI string
setting8021xGetPrivateKeyUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetPrivateKeyUri a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_private_key_uri Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetPrivateKeyUri" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetPrivateKeyUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetPrivateKeyUriMethodInfo a signature where
    overloadedMethod = setting8021xGetPrivateKeyUri

instance O.OverloadedMethodInfo Setting8021xGetPrivateKeyUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetPrivateKeyUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetPrivateKeyUri"
        })


#endif

-- method Setting8021x::get_subject_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_subject_match" nm_setting_802_1x_get_subject_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CString

-- | /No description available in the introspection data./
setting8021xGetSubjectMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m T.Text
    -- ^ __Returns:__ the [Setting8021x:subjectMatch]("GI.NM.Objects.Setting8021x#g:attr:subjectMatch") property. This is the
    -- substring to be matched against the subject of the authentication
    -- server certificate, or 'P.Nothing' no subject verification is to be
    -- performed.
setting8021xGetSubjectMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Text
setting8021xGetSubjectMatch a
setting = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr Setting8021x -> IO CString
nm_setting_802_1x_get_subject_match Ptr Setting8021x
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"setting8021xGetSubjectMatch" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetSubjectMatchMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetSubjectMatchMethodInfo a signature where
    overloadedMethod = setting8021xGetSubjectMatch

instance O.OverloadedMethodInfo Setting8021xGetSubjectMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetSubjectMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetSubjectMatch"
        })


#endif

-- method Setting8021x::get_system_ca_certs
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_get_system_ca_certs" nm_setting_802_1x_get_system_ca_certs :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    IO CInt

-- | Sets the [Setting8021x:systemCaCerts]("GI.NM.Objects.Setting8021x#g:attr:systemCaCerts") property. The
-- [Setting8021x:caPath]("GI.NM.Objects.Setting8021x#g:attr:caPath") and [Setting8021x:phase2CaPath]("GI.NM.Objects.Setting8021x#g:attr:phase2CaPath")
-- properties are ignored if the [Setting8021x:systemCaCerts]("GI.NM.Objects.Setting8021x#g:attr:systemCaCerts") property is
-- 'P.True', in which case a system-wide CA certificate directory specified at
-- compile time (using the --system-ca-path configure option) is used in place
-- of these properties.
setting8021xGetSystemCaCerts ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if a system CA certificate path should be used, 'P.False' if not
setting8021xGetSystemCaCerts :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> m Bool
setting8021xGetSystemCaCerts a
setting = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr Setting8021x -> IO CInt
nm_setting_802_1x_get_system_ca_certs Ptr Setting8021x
setting'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xGetSystemCaCertsMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xGetSystemCaCertsMethodInfo a signature where
    overloadedMethod = setting8021xGetSystemCaCerts

instance O.OverloadedMethodInfo Setting8021xGetSystemCaCertsMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xGetSystemCaCerts",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xGetSystemCaCerts"
        })


#endif

-- method Setting8021x::remove_altsubject_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "i"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the index of the altSubjectName match to remove"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_remove_altsubject_match" nm_setting_802_1x_remove_altsubject_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO ()

-- | Removes the allowed altSubjectName at the specified index.
setting8021xRemoveAltsubjectMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> Word32
    -- ^ /@i@/: the index of the altSubjectName match to remove
    -> m ()
setting8021xRemoveAltsubjectMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Word32 -> m ()
setting8021xRemoveAltsubjectMatch a
setting Word32
i = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Setting8021x -> Word32 -> IO ()
nm_setting_802_1x_remove_altsubject_match Ptr Setting8021x
setting' Word32
i
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data Setting8021xRemoveAltsubjectMatchMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xRemoveAltsubjectMatchMethodInfo a signature where
    overloadedMethod = setting8021xRemoveAltsubjectMatch

instance O.OverloadedMethodInfo Setting8021xRemoveAltsubjectMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xRemoveAltsubjectMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xRemoveAltsubjectMatch"
        })


#endif

-- method Setting8021x::remove_altsubject_match_by_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "altsubject_match"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the altSubjectName to remove"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_remove_altsubject_match_by_value" nm_setting_802_1x_remove_altsubject_match_by_value :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- altsubject_match : TBasicType TUTF8
    IO CInt

-- | Removes the allowed altSubjectName /@altsubjectMatch@/.
setting8021xRemoveAltsubjectMatchByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@altsubjectMatch@/: the altSubjectName to remove
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the alternative subject name match was found and removed,
    --          'P.False' if it was not.
setting8021xRemoveAltsubjectMatchByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> m Bool
setting8021xRemoveAltsubjectMatchByValue a
setting Text
altsubjectMatch = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
altsubjectMatch' <- Text -> IO CString
textToCString Text
altsubjectMatch
    CInt
result <- Ptr Setting8021x -> CString -> IO CInt
nm_setting_802_1x_remove_altsubject_match_by_value Ptr Setting8021x
setting' CString
altsubjectMatch'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
altsubjectMatch'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xRemoveAltsubjectMatchByValueMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xRemoveAltsubjectMatchByValueMethodInfo a signature where
    overloadedMethod = setting8021xRemoveAltsubjectMatchByValue

instance O.OverloadedMethodInfo Setting8021xRemoveAltsubjectMatchByValueMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xRemoveAltsubjectMatchByValue",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xRemoveAltsubjectMatchByValue"
        })


#endif

-- method Setting8021x::remove_eap_method
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "i"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the index of the EAP method to remove"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_remove_eap_method" nm_setting_802_1x_remove_eap_method :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO ()

-- | Removes the allowed EAP method at the specified index.
setting8021xRemoveEapMethod ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> Word32
    -- ^ /@i@/: the index of the EAP method to remove
    -> m ()
setting8021xRemoveEapMethod :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Word32 -> m ()
setting8021xRemoveEapMethod a
setting Word32
i = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Setting8021x -> Word32 -> IO ()
nm_setting_802_1x_remove_eap_method Ptr Setting8021x
setting' Word32
i
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data Setting8021xRemoveEapMethodMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xRemoveEapMethodMethodInfo a signature where
    overloadedMethod = setting8021xRemoveEapMethod

instance O.OverloadedMethodInfo Setting8021xRemoveEapMethodMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xRemoveEapMethod",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xRemoveEapMethod"
        })


#endif

-- method Setting8021x::remove_eap_method_by_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "eap"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the name of the EAP method to remove"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_remove_eap_method_by_value" nm_setting_802_1x_remove_eap_method_by_value :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- eap : TBasicType TUTF8
    IO CInt

-- | Removes the allowed EAP method /@method@/.
setting8021xRemoveEapMethodByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@eap@/: the name of the EAP method to remove
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the EAP method was founs and removed, 'P.False' if it was not.
setting8021xRemoveEapMethodByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> m Bool
setting8021xRemoveEapMethodByValue a
setting Text
eap = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
eap' <- Text -> IO CString
textToCString Text
eap
    CInt
result <- Ptr Setting8021x -> CString -> IO CInt
nm_setting_802_1x_remove_eap_method_by_value Ptr Setting8021x
setting' CString
eap'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
eap'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xRemoveEapMethodByValueMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xRemoveEapMethodByValueMethodInfo a signature where
    overloadedMethod = setting8021xRemoveEapMethodByValue

instance O.OverloadedMethodInfo Setting8021xRemoveEapMethodByValueMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xRemoveEapMethodByValue",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xRemoveEapMethodByValue"
        })


#endif

-- method Setting8021x::remove_phase2_altsubject_match
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "i"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the index of the \"phase 2\" altSubjectName match to remove"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_remove_phase2_altsubject_match" nm_setting_802_1x_remove_phase2_altsubject_match :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO ()

-- | Removes the allowed \"phase 2\" altSubjectName at the specified index.
setting8021xRemovePhase2AltsubjectMatch ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> Word32
    -- ^ /@i@/: the index of the \"phase 2\" altSubjectName match to remove
    -> m ()
setting8021xRemovePhase2AltsubjectMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Word32 -> m ()
setting8021xRemovePhase2AltsubjectMatch a
setting Word32
i = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Setting8021x -> Word32 -> IO ()
nm_setting_802_1x_remove_phase2_altsubject_match Ptr Setting8021x
setting' Word32
i
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data Setting8021xRemovePhase2AltsubjectMatchMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xRemovePhase2AltsubjectMatchMethodInfo a signature where
    overloadedMethod = setting8021xRemovePhase2AltsubjectMatch

instance O.OverloadedMethodInfo Setting8021xRemovePhase2AltsubjectMatchMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xRemovePhase2AltsubjectMatch",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xRemovePhase2AltsubjectMatch"
        })


#endif

-- method Setting8021x::remove_phase2_altsubject_match_by_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "phase2_altsubject_match"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the \"phase 2\" altSubjectName to remove"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_802_1x_remove_phase2_altsubject_match_by_value" nm_setting_802_1x_remove_phase2_altsubject_match_by_value :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- phase2_altsubject_match : TBasicType TUTF8
    IO CInt

-- | Removes the allowed \"phase 2\" altSubjectName /@phase2AltsubjectMatch@/.
setting8021xRemovePhase2AltsubjectMatchByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@phase2AltsubjectMatch@/: the \"phase 2\" altSubjectName to remove
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the alternative subject name match for \"phase 2\" was found and removed,
    --          'P.False' if it was not.
setting8021xRemovePhase2AltsubjectMatchByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> m Bool
setting8021xRemovePhase2AltsubjectMatchByValue a
setting Text
phase2AltsubjectMatch = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
phase2AltsubjectMatch' <- Text -> IO CString
textToCString Text
phase2AltsubjectMatch
    CInt
result <- Ptr Setting8021x -> CString -> IO CInt
nm_setting_802_1x_remove_phase2_altsubject_match_by_value Ptr Setting8021x
setting' CString
phase2AltsubjectMatch'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
phase2AltsubjectMatch'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data Setting8021xRemovePhase2AltsubjectMatchByValueMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xRemovePhase2AltsubjectMatchByValueMethodInfo a signature where
    overloadedMethod = setting8021xRemovePhase2AltsubjectMatchByValue

instance O.OverloadedMethodInfo Setting8021xRemovePhase2AltsubjectMatchByValueMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xRemovePhase2AltsubjectMatchByValue",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xRemovePhase2AltsubjectMatchByValue"
        })


#endif

-- method Setting8021x::set_ca_cert
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "value"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "when @scheme is set to either %NM_SETTING_802_1X_CK_SCHEME_PATH\n  or %NM_SETTING_802_1X_CK_SCHEME_BLOB, pass the path of the CA certificate\n  file (PEM or DER format).  The path must be UTF-8 encoded; use\n  g_filename_to_utf8() to convert if needed.  Passing %NULL with any @scheme\n  clears the CA certificate."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "scheme"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKScheme" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "desired storage scheme for the certificate"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "out_format"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKFormat" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "on successful return, the type of the certificate added"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : True
-- Skip return : False

foreign import ccall "nm_setting_802_1x_set_ca_cert" nm_setting_802_1x_set_ca_cert :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- value : TBasicType TUTF8
    CUInt ->                                -- scheme : TInterface (Name {namespace = "NM", name = "Setting8021xCKScheme"})
    CUInt ->                                -- out_format : TInterface (Name {namespace = "NM", name = "Setting8021xCKFormat"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

-- | Reads a certificate from disk and sets the [Setting8021x:caCert]("GI.NM.Objects.Setting8021x#g:attr:caCert") property
-- with the raw certificate data if using the 'GI.NM.Enums.Setting8021xCKSchemeBlob'
-- scheme, or with the path to the certificate file if using the
-- 'GI.NM.Enums.Setting8021xCKSchemePath' scheme.
setting8021xSetCaCert ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@value@/: when /@scheme@/ is set to either 'GI.NM.Enums.Setting8021xCKSchemePath'
    --   or 'GI.NM.Enums.Setting8021xCKSchemeBlob', pass the path of the CA certificate
    --   file (PEM or DER format).  The path must be UTF-8 encoded; use
    --   'GI.GLib.Functions.filenameToUtf8' to convert if needed.  Passing 'P.Nothing' with any /@scheme@/
    --   clears the CA certificate.
    -> NM.Enums.Setting8021xCKScheme
    -- ^ /@scheme@/: desired storage scheme for the certificate
    -> NM.Enums.Setting8021xCKFormat
    -- ^ /@outFormat@/: on successful return, the type of the certificate added
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
setting8021xSetCaCert :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> Setting8021xCKScheme -> Setting8021xCKFormat -> m ()
setting8021xSetCaCert a
setting Text
value Setting8021xCKScheme
scheme Setting8021xCKFormat
outFormat = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
value' <- Text -> IO CString
textToCString Text
value
    let scheme' :: CUInt
scheme' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKScheme -> Int) -> Setting8021xCKScheme -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKScheme -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKScheme
scheme
    let outFormat' :: CUInt
outFormat' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKFormat -> Int) -> Setting8021xCKFormat -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKFormat -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKFormat
outFormat
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Setting8021x
-> CString -> CUInt -> CUInt -> Ptr (Ptr GError) -> IO CInt
nm_setting_802_1x_set_ca_cert Ptr Setting8021x
setting' CString
value' CUInt
scheme' CUInt
outFormat'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
     )

#if defined(ENABLE_OVERLOADING)
data Setting8021xSetCaCertMethodInfo
instance (signature ~ (T.Text -> NM.Enums.Setting8021xCKScheme -> NM.Enums.Setting8021xCKFormat -> m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xSetCaCertMethodInfo a signature where
    overloadedMethod = setting8021xSetCaCert

instance O.OverloadedMethodInfo Setting8021xSetCaCertMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xSetCaCert",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xSetCaCert"
        })


#endif

-- method Setting8021x::set_client_cert
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "value"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "when @scheme is set to either %NM_SETTING_802_1X_CK_SCHEME_PATH\n  or %NM_SETTING_802_1X_CK_SCHEME_BLOB, pass the path of the client\n  certificate file (PEM, DER, or PKCS#<!-- -->12 format).  The path must be UTF-8\n  encoded; use g_filename_to_utf8() to convert if needed.  Passing %NULL with\n  any @scheme clears the client certificate."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "scheme"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKScheme" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "desired storage scheme for the certificate"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "out_format"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKFormat" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "on successful return, the type of the certificate added"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : True
-- Skip return : False

foreign import ccall "nm_setting_802_1x_set_client_cert" nm_setting_802_1x_set_client_cert :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- value : TBasicType TUTF8
    CUInt ->                                -- scheme : TInterface (Name {namespace = "NM", name = "Setting8021xCKScheme"})
    CUInt ->                                -- out_format : TInterface (Name {namespace = "NM", name = "Setting8021xCKFormat"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

-- | Reads a certificate from disk and sets the [Setting8021x:clientCert]("GI.NM.Objects.Setting8021x#g:attr:clientCert")
-- property with the raw certificate data if using the
-- 'GI.NM.Enums.Setting8021xCKSchemeBlob' scheme, or with the path to the certificate
-- file if using the 'GI.NM.Enums.Setting8021xCKSchemePath' scheme.
-- 
-- Client certificates are used to identify the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
setting8021xSetClientCert ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@value@/: when /@scheme@/ is set to either 'GI.NM.Enums.Setting8021xCKSchemePath'
    --   or 'GI.NM.Enums.Setting8021xCKSchemeBlob', pass the path of the client
    --   certificate file (PEM, DER, or PKCS#\<!-- -->12 format).  The path must be UTF-8
    --   encoded; use 'GI.GLib.Functions.filenameToUtf8' to convert if needed.  Passing 'P.Nothing' with
    --   any /@scheme@/ clears the client certificate.
    -> NM.Enums.Setting8021xCKScheme
    -- ^ /@scheme@/: desired storage scheme for the certificate
    -> NM.Enums.Setting8021xCKFormat
    -- ^ /@outFormat@/: on successful return, the type of the certificate added
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
setting8021xSetClientCert :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> Setting8021xCKScheme -> Setting8021xCKFormat -> m ()
setting8021xSetClientCert a
setting Text
value Setting8021xCKScheme
scheme Setting8021xCKFormat
outFormat = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
value' <- Text -> IO CString
textToCString Text
value
    let scheme' :: CUInt
scheme' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKScheme -> Int) -> Setting8021xCKScheme -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKScheme -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKScheme
scheme
    let outFormat' :: CUInt
outFormat' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKFormat -> Int) -> Setting8021xCKFormat -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKFormat -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKFormat
outFormat
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Setting8021x
-> CString -> CUInt -> CUInt -> Ptr (Ptr GError) -> IO CInt
nm_setting_802_1x_set_client_cert Ptr Setting8021x
setting' CString
value' CUInt
scheme' CUInt
outFormat'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
     )

#if defined(ENABLE_OVERLOADING)
data Setting8021xSetClientCertMethodInfo
instance (signature ~ (T.Text -> NM.Enums.Setting8021xCKScheme -> NM.Enums.Setting8021xCKFormat -> m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xSetClientCertMethodInfo a signature where
    overloadedMethod = setting8021xSetClientCert

instance O.OverloadedMethodInfo Setting8021xSetClientCertMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xSetClientCert",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xSetClientCert"
        })


#endif

-- method Setting8021x::set_phase2_ca_cert
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "value"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "when @scheme is set to either %NM_SETTING_802_1X_CK_SCHEME_PATH\n  or %NM_SETTING_802_1X_CK_SCHEME_BLOB, pass the path of the \"phase2\" CA\n  certificate file (PEM or DER format).  The path must be UTF-8 encoded; use\n  g_filename_to_utf8() to convert if needed.  Passing %NULL with any @scheme\n  clears the \"phase2\" CA certificate."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "scheme"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKScheme" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "desired storage scheme for the certificate"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "out_format"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKFormat" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "on successful return, the type of the certificate added"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : True
-- Skip return : False

foreign import ccall "nm_setting_802_1x_set_phase2_ca_cert" nm_setting_802_1x_set_phase2_ca_cert :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- value : TBasicType TUTF8
    CUInt ->                                -- scheme : TInterface (Name {namespace = "NM", name = "Setting8021xCKScheme"})
    CUInt ->                                -- out_format : TInterface (Name {namespace = "NM", name = "Setting8021xCKFormat"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

-- | Reads a certificate from disk and sets the [Setting8021x:phase2CaCert]("GI.NM.Objects.Setting8021x#g:attr:phase2CaCert")
-- property with the raw certificate data if using the
-- 'GI.NM.Enums.Setting8021xCKSchemeBlob' scheme, or with the path to the certificate
-- file if using the 'GI.NM.Enums.Setting8021xCKSchemePath' scheme.
setting8021xSetPhase2CaCert ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@value@/: when /@scheme@/ is set to either 'GI.NM.Enums.Setting8021xCKSchemePath'
    --   or 'GI.NM.Enums.Setting8021xCKSchemeBlob', pass the path of the \"phase2\" CA
    --   certificate file (PEM or DER format).  The path must be UTF-8 encoded; use
    --   'GI.GLib.Functions.filenameToUtf8' to convert if needed.  Passing 'P.Nothing' with any /@scheme@/
    --   clears the \"phase2\" CA certificate.
    -> NM.Enums.Setting8021xCKScheme
    -- ^ /@scheme@/: desired storage scheme for the certificate
    -> NM.Enums.Setting8021xCKFormat
    -- ^ /@outFormat@/: on successful return, the type of the certificate added
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
setting8021xSetPhase2CaCert :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> Setting8021xCKScheme -> Setting8021xCKFormat -> m ()
setting8021xSetPhase2CaCert a
setting Text
value Setting8021xCKScheme
scheme Setting8021xCKFormat
outFormat = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
value' <- Text -> IO CString
textToCString Text
value
    let scheme' :: CUInt
scheme' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKScheme -> Int) -> Setting8021xCKScheme -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKScheme -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKScheme
scheme
    let outFormat' :: CUInt
outFormat' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKFormat -> Int) -> Setting8021xCKFormat -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKFormat -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKFormat
outFormat
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Setting8021x
-> CString -> CUInt -> CUInt -> Ptr (Ptr GError) -> IO CInt
nm_setting_802_1x_set_phase2_ca_cert Ptr Setting8021x
setting' CString
value' CUInt
scheme' CUInt
outFormat'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
     )

#if defined(ENABLE_OVERLOADING)
data Setting8021xSetPhase2CaCertMethodInfo
instance (signature ~ (T.Text -> NM.Enums.Setting8021xCKScheme -> NM.Enums.Setting8021xCKFormat -> m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xSetPhase2CaCertMethodInfo a signature where
    overloadedMethod = setting8021xSetPhase2CaCert

instance O.OverloadedMethodInfo Setting8021xSetPhase2CaCertMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xSetPhase2CaCert",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xSetPhase2CaCert"
        })


#endif

-- method Setting8021x::set_phase2_client_cert
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "value"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "when @scheme is set to either %NM_SETTING_802_1X_CK_SCHEME_PATH\n  or %NM_SETTING_802_1X_CK_SCHEME_BLOB, pass the path of the \"phase2\" client\n  certificate file (PEM, DER, or PKCS#<!-- -->12 format).  The path must be UTF-8\n  encoded; use g_filename_to_utf8() to convert if needed.  Passing %NULL with\n  any @scheme clears the \"phase2\" client certificate."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "scheme"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKScheme" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "desired storage scheme for the certificate"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "out_format"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKFormat" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "on successful return, the type of the certificate added"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : True
-- Skip return : False

foreign import ccall "nm_setting_802_1x_set_phase2_client_cert" nm_setting_802_1x_set_phase2_client_cert :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- value : TBasicType TUTF8
    CUInt ->                                -- scheme : TInterface (Name {namespace = "NM", name = "Setting8021xCKScheme"})
    CUInt ->                                -- out_format : TInterface (Name {namespace = "NM", name = "Setting8021xCKFormat"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

-- | Reads a certificate from disk and sets the [Setting8021x:phase2ClientCert]("GI.NM.Objects.Setting8021x#g:attr:phase2ClientCert")
-- property with the raw certificate data if using the
-- 'GI.NM.Enums.Setting8021xCKSchemeBlob' scheme, or with the path to the certificate
-- file if using the 'GI.NM.Enums.Setting8021xCKSchemePath' scheme.
-- 
-- Client certificates are used to identify the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
setting8021xSetPhase2ClientCert ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@value@/: when /@scheme@/ is set to either 'GI.NM.Enums.Setting8021xCKSchemePath'
    --   or 'GI.NM.Enums.Setting8021xCKSchemeBlob', pass the path of the \"phase2\" client
    --   certificate file (PEM, DER, or PKCS#\<!-- -->12 format).  The path must be UTF-8
    --   encoded; use 'GI.GLib.Functions.filenameToUtf8' to convert if needed.  Passing 'P.Nothing' with
    --   any /@scheme@/ clears the \"phase2\" client certificate.
    -> NM.Enums.Setting8021xCKScheme
    -- ^ /@scheme@/: desired storage scheme for the certificate
    -> NM.Enums.Setting8021xCKFormat
    -- ^ /@outFormat@/: on successful return, the type of the certificate added
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
setting8021xSetPhase2ClientCert :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a -> Text -> Setting8021xCKScheme -> Setting8021xCKFormat -> m ()
setting8021xSetPhase2ClientCert a
setting Text
value Setting8021xCKScheme
scheme Setting8021xCKFormat
outFormat = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
value' <- Text -> IO CString
textToCString Text
value
    let scheme' :: CUInt
scheme' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKScheme -> Int) -> Setting8021xCKScheme -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKScheme -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKScheme
scheme
    let outFormat' :: CUInt
outFormat' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKFormat -> Int) -> Setting8021xCKFormat -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKFormat -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKFormat
outFormat
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Setting8021x
-> CString -> CUInt -> CUInt -> Ptr (Ptr GError) -> IO CInt
nm_setting_802_1x_set_phase2_client_cert Ptr Setting8021x
setting' CString
value' CUInt
scheme' CUInt
outFormat'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
     )

#if defined(ENABLE_OVERLOADING)
data Setting8021xSetPhase2ClientCertMethodInfo
instance (signature ~ (T.Text -> NM.Enums.Setting8021xCKScheme -> NM.Enums.Setting8021xCKFormat -> m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xSetPhase2ClientCertMethodInfo a signature where
    overloadedMethod = setting8021xSetPhase2ClientCert

instance O.OverloadedMethodInfo Setting8021xSetPhase2ClientCertMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xSetPhase2ClientCert",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xSetPhase2ClientCert"
        })


#endif

-- method Setting8021x::set_phase2_private_key
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "value"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "when @scheme is set to either %NM_SETTING_802_1X_CK_SCHEME_PATH or\n  %NM_SETTING_802_1X_CK_SCHEME_BLOB, pass the path of the \"phase2\" private\n  key file (PEM, DER, or PKCS#<!-- -->12 format).  The path must be UTF-8 encoded;\n  use g_filename_to_utf8() to convert if needed.  Passing %NULL with any\n  @scheme clears the private key."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "password"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "password used to decrypt the private key, or %NULL if the password\n  is unknown.  If the password is given but fails to decrypt the private key,\n  an error is returned."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "scheme"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKScheme" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "desired storage scheme for the private key"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "out_format"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKFormat" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "on successful return, the type of the private key added"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : True
-- Skip return : False

foreign import ccall "nm_setting_802_1x_set_phase2_private_key" nm_setting_802_1x_set_phase2_private_key :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- value : TBasicType TUTF8
    CString ->                              -- password : TBasicType TUTF8
    CUInt ->                                -- scheme : TInterface (Name {namespace = "NM", name = "Setting8021xCKScheme"})
    CUInt ->                                -- out_format : TInterface (Name {namespace = "NM", name = "Setting8021xCKFormat"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

-- | Private keys are used to authenticate the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
-- 
-- This function reads a private key from disk and sets the
-- [Setting8021x:phase2PrivateKey]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKey") property with the private key file data if
-- using the 'GI.NM.Enums.Setting8021xCKSchemeBlob' scheme, or with the path to the
-- private key file if using the 'GI.NM.Enums.Setting8021xCKSchemePath' scheme.
-- 
-- If /@password@/ is given, this function attempts to decrypt the private key to
-- verify that /@password@/ is correct, and if it is, updates the
-- [Setting8021x:phase2PrivateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:phase2PrivateKeyPassword") property with the given
-- /@password@/.  If the decryption is unsuccessful, 'P.False' is returned, /@error@/ is
-- set, and no internal data is changed.  If no /@password@/ is given, the private
-- key is assumed to be valid, no decryption is performed, and the password may
-- be set at a later time.
-- 
-- WARNING: the \"phase2\" private key property is not a \"secret\" property, and
-- thus unencrypted private key data using the BLOB scheme may be readable by
-- unprivileged users.  Private keys should always be encrypted with a private
-- key password to prevent unauthorized access to unencrypted private key data.
setting8021xSetPhase2PrivateKey ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@value@/: when /@scheme@/ is set to either 'GI.NM.Enums.Setting8021xCKSchemePath' or
    --   'GI.NM.Enums.Setting8021xCKSchemeBlob', pass the path of the \"phase2\" private
    --   key file (PEM, DER, or PKCS#\<!-- -->12 format).  The path must be UTF-8 encoded;
    --   use 'GI.GLib.Functions.filenameToUtf8' to convert if needed.  Passing 'P.Nothing' with any
    --   /@scheme@/ clears the private key.
    -> T.Text
    -- ^ /@password@/: password used to decrypt the private key, or 'P.Nothing' if the password
    --   is unknown.  If the password is given but fails to decrypt the private key,
    --   an error is returned.
    -> NM.Enums.Setting8021xCKScheme
    -- ^ /@scheme@/: desired storage scheme for the private key
    -> NM.Enums.Setting8021xCKFormat
    -- ^ /@outFormat@/: on successful return, the type of the private key added
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
setting8021xSetPhase2PrivateKey :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a
-> Text
-> Text
-> Setting8021xCKScheme
-> Setting8021xCKFormat
-> m ()
setting8021xSetPhase2PrivateKey a
setting Text
value Text
password Setting8021xCKScheme
scheme Setting8021xCKFormat
outFormat = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
value' <- Text -> IO CString
textToCString Text
value
    CString
password' <- Text -> IO CString
textToCString Text
password
    let scheme' :: CUInt
scheme' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKScheme -> Int) -> Setting8021xCKScheme -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKScheme -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKScheme
scheme
    let outFormat' :: CUInt
outFormat' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKFormat -> Int) -> Setting8021xCKFormat -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKFormat -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKFormat
outFormat
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Setting8021x
-> CString
-> CString
-> CUInt
-> CUInt
-> Ptr (Ptr GError)
-> IO CInt
nm_setting_802_1x_set_phase2_private_key Ptr Setting8021x
setting' CString
value' CString
password' CUInt
scheme' CUInt
outFormat'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
password'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
password'
     )

#if defined(ENABLE_OVERLOADING)
data Setting8021xSetPhase2PrivateKeyMethodInfo
instance (signature ~ (T.Text -> T.Text -> NM.Enums.Setting8021xCKScheme -> NM.Enums.Setting8021xCKFormat -> m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xSetPhase2PrivateKeyMethodInfo a signature where
    overloadedMethod = setting8021xSetPhase2PrivateKey

instance O.OverloadedMethodInfo Setting8021xSetPhase2PrivateKeyMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xSetPhase2PrivateKey",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xSetPhase2PrivateKey"
        })


#endif

-- method Setting8021x::set_private_key
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "Setting8021x" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSetting8021x"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "value"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "when @scheme is set to either %NM_SETTING_802_1X_CK_SCHEME_PATH or\n  %NM_SETTING_802_1X_CK_SCHEME_BLOB, pass the path of the private key file\n  (PEM, DER, or PKCS#<!-- -->12 format).  The path must be UTF-8 encoded; use\n  g_filename_to_utf8() to convert if needed.  Passing %NULL with any @scheme\n  clears the private key."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "password"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "password used to decrypt the private key, or %NULL if the password\n  is unknown.  If the password is given but fails to decrypt the private key,\n  an error is returned."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "scheme"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKScheme" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "desired storage scheme for the private key"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "out_format"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "Setting8021xCKFormat" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "on successful return, the type of the private key added"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : True
-- Skip return : False

foreign import ccall "nm_setting_802_1x_set_private_key" nm_setting_802_1x_set_private_key :: 
    Ptr Setting8021x ->                     -- setting : TInterface (Name {namespace = "NM", name = "Setting8021x"})
    CString ->                              -- value : TBasicType TUTF8
    CString ->                              -- password : TBasicType TUTF8
    CUInt ->                                -- scheme : TInterface (Name {namespace = "NM", name = "Setting8021xCKScheme"})
    CUInt ->                                -- out_format : TInterface (Name {namespace = "NM", name = "Setting8021xCKFormat"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

-- | Private keys are used to authenticate the connecting client to the network
-- when EAP-TLS is used as either the \"phase 1\" or \"phase 2\" 802.1x
-- authentication method.
-- 
-- This function reads a private key from disk and sets the
-- [Setting8021x:privateKey]("GI.NM.Objects.Setting8021x#g:attr:privateKey") property with the private key file data if using
-- the 'GI.NM.Enums.Setting8021xCKSchemeBlob' scheme, or with the path to the private
-- key file if using the 'GI.NM.Enums.Setting8021xCKSchemePath' scheme.
-- 
-- If /@password@/ is given, this function attempts to decrypt the private key to
-- verify that /@password@/ is correct, and if it is, updates the
-- [Setting8021x:privateKeyPassword]("GI.NM.Objects.Setting8021x#g:attr:privateKeyPassword") property with the given /@password@/.  If
-- the decryption is unsuccessful, 'P.False' is returned, /@error@/ is set, and no
-- internal data is changed.  If no /@password@/ is given, the private key is
-- assumed to be valid, no decryption is performed, and the password may be set
-- at a later time.
-- 
-- WARNING: the private key property is not a \"secret\" property, and thus
-- unencrypted private key data using the BLOB scheme may be readable by
-- unprivileged users.  Private keys should always be encrypted with a private
-- key password to prevent unauthorized access to unencrypted private key data.
setting8021xSetPrivateKey ::
    (B.CallStack.HasCallStack, MonadIO m, IsSetting8021x a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.Setting8021x.Setting8021x'
    -> T.Text
    -- ^ /@value@/: when /@scheme@/ is set to either 'GI.NM.Enums.Setting8021xCKSchemePath' or
    --   'GI.NM.Enums.Setting8021xCKSchemeBlob', pass the path of the private key file
    --   (PEM, DER, or PKCS#\<!-- -->12 format).  The path must be UTF-8 encoded; use
    --   'GI.GLib.Functions.filenameToUtf8' to convert if needed.  Passing 'P.Nothing' with any /@scheme@/
    --   clears the private key.
    -> T.Text
    -- ^ /@password@/: password used to decrypt the private key, or 'P.Nothing' if the password
    --   is unknown.  If the password is given but fails to decrypt the private key,
    --   an error is returned.
    -> NM.Enums.Setting8021xCKScheme
    -- ^ /@scheme@/: desired storage scheme for the private key
    -> NM.Enums.Setting8021xCKFormat
    -- ^ /@outFormat@/: on successful return, the type of the private key added
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
setting8021xSetPrivateKey :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSetting8021x a) =>
a
-> Text
-> Text
-> Setting8021xCKScheme
-> Setting8021xCKFormat
-> m ()
setting8021xSetPrivateKey a
setting Text
value Text
password Setting8021xCKScheme
scheme Setting8021xCKFormat
outFormat = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Setting8021x
setting' <- a -> IO (Ptr Setting8021x)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
value' <- Text -> IO CString
textToCString Text
value
    CString
password' <- Text -> IO CString
textToCString Text
password
    let scheme' :: CUInt
scheme' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKScheme -> Int) -> Setting8021xCKScheme -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKScheme -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKScheme
scheme
    let outFormat' :: CUInt
outFormat' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (Setting8021xCKFormat -> Int) -> Setting8021xCKFormat -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Setting8021xCKFormat -> Int
forall a. Enum a => a -> Int
fromEnum) Setting8021xCKFormat
outFormat
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Setting8021x
-> CString
-> CString
-> CUInt
-> CUInt
-> Ptr (Ptr GError)
-> IO CInt
nm_setting_802_1x_set_private_key Ptr Setting8021x
setting' CString
value' CString
password' CUInt
scheme' CUInt
outFormat'
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
password'
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
password'
     )

#if defined(ENABLE_OVERLOADING)
data Setting8021xSetPrivateKeyMethodInfo
instance (signature ~ (T.Text -> T.Text -> NM.Enums.Setting8021xCKScheme -> NM.Enums.Setting8021xCKFormat -> m ()), MonadIO m, IsSetting8021x a) => O.OverloadedMethod Setting8021xSetPrivateKeyMethodInfo a signature where
    overloadedMethod = setting8021xSetPrivateKey

instance O.OverloadedMethodInfo Setting8021xSetPrivateKeyMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.Setting8021x.setting8021xSetPrivateKey",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-Setting8021x.html#v:setting8021xSetPrivateKey"
        })


#endif

-- method Setting8021x::check_cert_scheme
-- method type : MemberFunction
-- Args: [ Arg
--           { argCName = "pdata"
--           , argType = TBasicType TPtr
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the data pointer" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "length"
--           , argType = TBasicType TSize
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the length of the data"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "NM" , name = "Setting8021xCKScheme" })
-- throws : True
-- Skip return : False

foreign import ccall "nm_setting_802_1x_check_cert_scheme" nm_setting_802_1x_check_cert_scheme :: 
    Ptr () ->                               -- pdata : TBasicType TPtr
    FCT.CSize ->                            -- length : TBasicType TSize
    Ptr (Ptr GError) ->                     -- error
    IO CUInt

-- | Determines and verifies the blob type.
-- When setting certificate properties of NMSetting8021x
-- the blob must be not UNKNOWN (or NULL).
-- 
-- /Since: 1.2/
setting8021xCheckCertScheme ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    Ptr ()
    -- ^ /@pdata@/: the data pointer
    -> FCT.CSize
    -- ^ /@length@/: the length of the data
    -> m NM.Enums.Setting8021xCKScheme
    -- ^ __Returns:__ the scheme of the blob or 'GI.NM.Enums.Setting8021xCKSchemeUnknown'.
    -- For NULL it also returns NM_SETTING_802_1X_CK_SCHEME_UNKNOWN. /(Can throw 'Data.GI.Base.GError.GError')/
setting8021xCheckCertScheme :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Ptr () -> CSize -> m Setting8021xCKScheme
setting8021xCheckCertScheme Ptr ()
pdata CSize
length_ = IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Setting8021xCKScheme -> m Setting8021xCKScheme)
-> IO Setting8021xCKScheme -> m Setting8021xCKScheme
forall a b. (a -> b) -> a -> b
$ do
    IO Setting8021xCKScheme -> IO () -> IO Setting8021xCKScheme
forall a b. IO a -> IO b -> IO a
onException (do
        CUInt
result <- (Ptr (Ptr GError) -> IO CUInt) -> IO CUInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CUInt) -> IO CUInt)
-> (Ptr (Ptr GError) -> IO CUInt) -> IO CUInt
forall a b. (a -> b) -> a -> b
$ Ptr () -> CSize -> Ptr (Ptr GError) -> IO CUInt
nm_setting_802_1x_check_cert_scheme Ptr ()
pdata CSize
length_
        let result' :: Setting8021xCKScheme
result' = (Int -> Setting8021xCKScheme
forall a. Enum a => Int -> a
toEnum (Int -> Setting8021xCKScheme)
-> (CUInt -> Int) -> CUInt -> Setting8021xCKScheme
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
        Setting8021xCKScheme -> IO Setting8021xCKScheme
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Setting8021xCKScheme
result'
     ) (do
        () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
#endif