{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- Wi-Fi Security Settings

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

module GI.NM.Objects.SettingWirelessSecurity
    ( 

-- * Exported types
    SettingWirelessSecurity(..)             ,
    IsSettingWirelessSecurity               ,
    toSettingWirelessSecurity               ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [addGroup]("GI.NM.Objects.SettingWirelessSecurity#g:method:addGroup"), [addPairwise]("GI.NM.Objects.SettingWirelessSecurity#g:method:addPairwise"), [addProto]("GI.NM.Objects.SettingWirelessSecurity#g:method:addProto"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [clearGroups]("GI.NM.Objects.SettingWirelessSecurity#g:method:clearGroups"), [clearPairwise]("GI.NM.Objects.SettingWirelessSecurity#g:method:clearPairwise"), [clearProtos]("GI.NM.Objects.SettingWirelessSecurity#g:method:clearProtos"), [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"), [removeGroup]("GI.NM.Objects.SettingWirelessSecurity#g:method:removeGroup"), [removeGroupByValue]("GI.NM.Objects.SettingWirelessSecurity#g:method:removeGroupByValue"), [removePairwise]("GI.NM.Objects.SettingWirelessSecurity#g:method:removePairwise"), [removePairwiseByValue]("GI.NM.Objects.SettingWirelessSecurity#g:method:removePairwiseByValue"), [removeProto]("GI.NM.Objects.SettingWirelessSecurity#g:method:removeProto"), [removeProtoByValue]("GI.NM.Objects.SettingWirelessSecurity#g:method:removeProtoByValue"), [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
-- [getAuthAlg]("GI.NM.Objects.SettingWirelessSecurity#g:method:getAuthAlg"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDbusPropertyType]("GI.NM.Objects.Setting#g:method:getDbusPropertyType"), [getFils]("GI.NM.Objects.SettingWirelessSecurity#g:method:getFils"), [getGroup]("GI.NM.Objects.SettingWirelessSecurity#g:method:getGroup"), [getKeyMgmt]("GI.NM.Objects.SettingWirelessSecurity#g:method:getKeyMgmt"), [getLeapPassword]("GI.NM.Objects.SettingWirelessSecurity#g:method:getLeapPassword"), [getLeapPasswordFlags]("GI.NM.Objects.SettingWirelessSecurity#g:method:getLeapPasswordFlags"), [getLeapUsername]("GI.NM.Objects.SettingWirelessSecurity#g:method:getLeapUsername"), [getName]("GI.NM.Objects.Setting#g:method:getName"), [getNumGroups]("GI.NM.Objects.SettingWirelessSecurity#g:method:getNumGroups"), [getNumPairwise]("GI.NM.Objects.SettingWirelessSecurity#g:method:getNumPairwise"), [getNumProtos]("GI.NM.Objects.SettingWirelessSecurity#g:method:getNumProtos"), [getPairwise]("GI.NM.Objects.SettingWirelessSecurity#g:method:getPairwise"), [getPmf]("GI.NM.Objects.SettingWirelessSecurity#g:method:getPmf"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getProto]("GI.NM.Objects.SettingWirelessSecurity#g:method:getProto"), [getPsk]("GI.NM.Objects.SettingWirelessSecurity#g:method:getPsk"), [getPskFlags]("GI.NM.Objects.SettingWirelessSecurity#g:method:getPskFlags"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getSecretFlags]("GI.NM.Objects.Setting#g:method:getSecretFlags"), [getWepKey]("GI.NM.Objects.SettingWirelessSecurity#g:method:getWepKey"), [getWepKeyFlags]("GI.NM.Objects.SettingWirelessSecurity#g:method:getWepKeyFlags"), [getWepKeyType]("GI.NM.Objects.SettingWirelessSecurity#g:method:getWepKeyType"), [getWepTxKeyidx]("GI.NM.Objects.SettingWirelessSecurity#g:method:getWepTxKeyidx"), [getWpsMethod]("GI.NM.Objects.SettingWirelessSecurity#g:method:getWpsMethod").
-- 
-- ==== Setters
-- [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setSecretFlags]("GI.NM.Objects.Setting#g:method:setSecretFlags"), [setWepKey]("GI.NM.Objects.SettingWirelessSecurity#g:method:setWepKey").

#if defined(ENABLE_OVERLOADING)
    ResolveSettingWirelessSecurityMethod    ,
#endif

-- ** addGroup #method:addGroup#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityAddGroupMethodInfo,
#endif
    settingWirelessSecurityAddGroup         ,


-- ** addPairwise #method:addPairwise#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityAddPairwiseMethodInfo,
#endif
    settingWirelessSecurityAddPairwise      ,


-- ** addProto #method:addProto#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityAddProtoMethodInfo,
#endif
    settingWirelessSecurityAddProto         ,


-- ** clearGroups #method:clearGroups#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityClearGroupsMethodInfo,
#endif
    settingWirelessSecurityClearGroups      ,


-- ** clearPairwise #method:clearPairwise#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityClearPairwiseMethodInfo,
#endif
    settingWirelessSecurityClearPairwise    ,


-- ** clearProtos #method:clearProtos#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityClearProtosMethodInfo,
#endif
    settingWirelessSecurityClearProtos      ,


-- ** getAuthAlg #method:getAuthAlg#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetAuthAlgMethodInfo,
#endif
    settingWirelessSecurityGetAuthAlg       ,


-- ** getFils #method:getFils#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetFilsMethodInfo,
#endif
    settingWirelessSecurityGetFils          ,


-- ** getGroup #method:getGroup#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetGroupMethodInfo,
#endif
    settingWirelessSecurityGetGroup         ,


-- ** getKeyMgmt #method:getKeyMgmt#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetKeyMgmtMethodInfo,
#endif
    settingWirelessSecurityGetKeyMgmt       ,


-- ** getLeapPassword #method:getLeapPassword#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetLeapPasswordMethodInfo,
#endif
    settingWirelessSecurityGetLeapPassword  ,


-- ** getLeapPasswordFlags #method:getLeapPasswordFlags#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetLeapPasswordFlagsMethodInfo,
#endif
    settingWirelessSecurityGetLeapPasswordFlags,


-- ** getLeapUsername #method:getLeapUsername#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetLeapUsernameMethodInfo,
#endif
    settingWirelessSecurityGetLeapUsername  ,


-- ** getNumGroups #method:getNumGroups#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetNumGroupsMethodInfo,
#endif
    settingWirelessSecurityGetNumGroups     ,


-- ** getNumPairwise #method:getNumPairwise#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetNumPairwiseMethodInfo,
#endif
    settingWirelessSecurityGetNumPairwise   ,


-- ** getNumProtos #method:getNumProtos#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetNumProtosMethodInfo,
#endif
    settingWirelessSecurityGetNumProtos     ,


-- ** getPairwise #method:getPairwise#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetPairwiseMethodInfo,
#endif
    settingWirelessSecurityGetPairwise      ,


-- ** getPmf #method:getPmf#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetPmfMethodInfo ,
#endif
    settingWirelessSecurityGetPmf           ,


-- ** getProto #method:getProto#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetProtoMethodInfo,
#endif
    settingWirelessSecurityGetProto         ,


-- ** getPsk #method:getPsk#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetPskMethodInfo ,
#endif
    settingWirelessSecurityGetPsk           ,


-- ** getPskFlags #method:getPskFlags#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetPskFlagsMethodInfo,
#endif
    settingWirelessSecurityGetPskFlags      ,


-- ** getWepKey #method:getWepKey#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetWepKeyMethodInfo,
#endif
    settingWirelessSecurityGetWepKey        ,


-- ** getWepKeyFlags #method:getWepKeyFlags#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetWepKeyFlagsMethodInfo,
#endif
    settingWirelessSecurityGetWepKeyFlags   ,


-- ** getWepKeyType #method:getWepKeyType#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetWepKeyTypeMethodInfo,
#endif
    settingWirelessSecurityGetWepKeyType    ,


-- ** getWepTxKeyidx #method:getWepTxKeyidx#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetWepTxKeyidxMethodInfo,
#endif
    settingWirelessSecurityGetWepTxKeyidx   ,


-- ** getWpsMethod #method:getWpsMethod#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGetWpsMethodMethodInfo,
#endif
    settingWirelessSecurityGetWpsMethod     ,


-- ** new #method:new#

    settingWirelessSecurityNew              ,


-- ** removeGroup #method:removeGroup#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityRemoveGroupMethodInfo,
#endif
    settingWirelessSecurityRemoveGroup      ,


-- ** removeGroupByValue #method:removeGroupByValue#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityRemoveGroupByValueMethodInfo,
#endif
    settingWirelessSecurityRemoveGroupByValue,


-- ** removePairwise #method:removePairwise#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityRemovePairwiseMethodInfo,
#endif
    settingWirelessSecurityRemovePairwise   ,


-- ** removePairwiseByValue #method:removePairwiseByValue#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityRemovePairwiseByValueMethodInfo,
#endif
    settingWirelessSecurityRemovePairwiseByValue,


-- ** removeProto #method:removeProto#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityRemoveProtoMethodInfo,
#endif
    settingWirelessSecurityRemoveProto      ,


-- ** removeProtoByValue #method:removeProtoByValue#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityRemoveProtoByValueMethodInfo,
#endif
    settingWirelessSecurityRemoveProtoByValue,


-- ** setWepKey #method:setWepKey#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecuritySetWepKeyMethodInfo,
#endif
    settingWirelessSecuritySetWepKey        ,




 -- * Properties


-- ** authAlg #attr:authAlg#
-- | When WEP is used (ie, key-mgmt = \"none\" or \"ieee8021x\") indicate the
-- 802.11 authentication algorithm required by the AP here.  One of \"open\"
-- for Open System, \"shared\" for Shared Key, or \"leap\" for Cisco LEAP.  When
-- using Cisco LEAP (ie, key-mgmt = \"ieee8021x\" and auth-alg = \"leap\") the
-- \"leap-username\" and \"leap-password\" properties must be specified.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityAuthAlgPropertyInfo,
#endif
    clearSettingWirelessSecurityAuthAlg     ,
    constructSettingWirelessSecurityAuthAlg ,
    getSettingWirelessSecurityAuthAlg       ,
    setSettingWirelessSecurityAuthAlg       ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityAuthAlg          ,
#endif


-- ** fils #attr:fils#
-- | Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for
-- the connection.  One of 'GI.NM.Enums.SettingWirelessSecurityFilsDefault' (use
-- global default value), 'GI.NM.Enums.SettingWirelessSecurityFilsDisable'
-- (disable FILS), 'GI.NM.Enums.SettingWirelessSecurityFilsOptional' (enable FILS
-- if the supplicant and the access point support it) or
-- 'GI.NM.Enums.SettingWirelessSecurityFilsRequired' (enable FILS and fail if not
-- supported).  When set to 'GI.NM.Enums.SettingWirelessSecurityFilsDefault' and
-- no global default is set, FILS will be optionally enabled.
-- 
-- /Since: 1.12/

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityFilsPropertyInfo ,
#endif
    constructSettingWirelessSecurityFils    ,
    getSettingWirelessSecurityFils          ,
    setSettingWirelessSecurityFils          ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityFils             ,
#endif


-- ** group #attr:group#
-- | A list of group\/broadcast encryption algorithms which prevents
-- connections to Wi-Fi networks that do not utilize one of the algorithms
-- in the list.  For maximum compatibility leave this property empty.  Each
-- list element may be one of \"wep40\", \"wep104\", \"tkip\", or \"ccmp\".

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityGroupPropertyInfo,
#endif
    clearSettingWirelessSecurityGroup       ,
    constructSettingWirelessSecurityGroup   ,
    getSettingWirelessSecurityGroup         ,
    setSettingWirelessSecurityGroup         ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityGroup            ,
#endif


-- ** keyMgmt #attr:keyMgmt#
-- | Key management used for the connection. One of \"none\" (WEP or no
-- password protection), \"ieee8021x\" (Dynamic WEP), \"owe\" (Opportunistic
-- Wireless Encryption), \"wpa-psk\" (WPA2 + WPA3 personal), \"sae\" (WPA3
-- personal only), \"wpa-eap\" (WPA2 + WPA3 enterprise) or
-- \"wpa-eap-suite-b-192\" (WPA3 enterprise only).
-- 
-- This property must be set for any Wi-Fi connection that uses security.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityKeyMgmtPropertyInfo,
#endif
    clearSettingWirelessSecurityKeyMgmt     ,
    constructSettingWirelessSecurityKeyMgmt ,
    getSettingWirelessSecurityKeyMgmt       ,
    setSettingWirelessSecurityKeyMgmt       ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityKeyMgmt          ,
#endif


-- ** leapPassword #attr:leapPassword#
-- | The login password for legacy LEAP connections (ie, key-mgmt =
-- \"ieee8021x\" and auth-alg = \"leap\").

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityLeapPasswordPropertyInfo,
#endif
    clearSettingWirelessSecurityLeapPassword,
    constructSettingWirelessSecurityLeapPassword,
    getSettingWirelessSecurityLeapPassword  ,
    setSettingWirelessSecurityLeapPassword  ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityLeapPassword     ,
#endif


-- ** leapPasswordFlags #attr:leapPasswordFlags#
-- | Flags indicating how to handle the
-- [SettingWirelessSecurity:leapPassword]("GI.NM.Objects.SettingWirelessSecurity#g:attr:leapPassword") property.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityLeapPasswordFlagsPropertyInfo,
#endif
    constructSettingWirelessSecurityLeapPasswordFlags,
    getSettingWirelessSecurityLeapPasswordFlags,
    setSettingWirelessSecurityLeapPasswordFlags,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityLeapPasswordFlags,
#endif


-- ** leapUsername #attr:leapUsername#
-- | The login username for legacy LEAP connections (ie, key-mgmt =
-- \"ieee8021x\" and auth-alg = \"leap\").

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityLeapUsernamePropertyInfo,
#endif
    clearSettingWirelessSecurityLeapUsername,
    constructSettingWirelessSecurityLeapUsername,
    getSettingWirelessSecurityLeapUsername  ,
    setSettingWirelessSecurityLeapUsername  ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityLeapUsername     ,
#endif


-- ** pairwise #attr:pairwise#
-- | A list of pairwise encryption algorithms which prevents connections to
-- Wi-Fi networks that do not utilize one of the algorithms in the list.
-- For maximum compatibility leave this property empty.  Each list element
-- may be one of \"tkip\" or \"ccmp\".

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityPairwisePropertyInfo,
#endif
    clearSettingWirelessSecurityPairwise    ,
    constructSettingWirelessSecurityPairwise,
    getSettingWirelessSecurityPairwise      ,
    setSettingWirelessSecurityPairwise      ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityPairwise         ,
#endif


-- ** pmf #attr:pmf#
-- | Indicates whether Protected Management Frames (802.11w) must be enabled
-- for the connection.  One of 'GI.NM.Enums.SettingWirelessSecurityPmfDefault'
-- (use global default value), 'GI.NM.Enums.SettingWirelessSecurityPmfDisable'
-- (disable PMF), 'GI.NM.Enums.SettingWirelessSecurityPmfOptional' (enable PMF if
-- the supplicant and the access point support it) or
-- 'GI.NM.Enums.SettingWirelessSecurityPmfRequired' (enable PMF and fail if not
-- supported).  When set to 'GI.NM.Enums.SettingWirelessSecurityPmfDefault' and no
-- global default is set, PMF will be optionally enabled.
-- 
-- /Since: 1.10/

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityPmfPropertyInfo  ,
#endif
    constructSettingWirelessSecurityPmf     ,
    getSettingWirelessSecurityPmf           ,
    setSettingWirelessSecurityPmf           ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityPmf              ,
#endif


-- ** proto #attr:proto#
-- | List of strings specifying the allowed WPA protocol versions to use.
-- Each element may be one \"wpa\" (allow WPA) or \"rsn\" (allow WPA2\/RSN).  If
-- not specified, both WPA and RSN connections are allowed.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityProtoPropertyInfo,
#endif
    clearSettingWirelessSecurityProto       ,
    constructSettingWirelessSecurityProto   ,
    getSettingWirelessSecurityProto         ,
    setSettingWirelessSecurityProto         ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityProto            ,
#endif


-- ** psk #attr:psk#
-- | Pre-Shared-Key for WPA networks. For WPA-PSK, it\'s either an ASCII
-- passphrase of 8 to 63 characters that is (as specified in the 802.11i
-- standard) hashed to derive the actual key, or the key in form of 64
-- hexadecimal character. The WPA3-Personal networks use a passphrase
-- of any length for SAE authentication.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityPskPropertyInfo  ,
#endif
    clearSettingWirelessSecurityPsk         ,
    constructSettingWirelessSecurityPsk     ,
    getSettingWirelessSecurityPsk           ,
    setSettingWirelessSecurityPsk           ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityPsk              ,
#endif


-- ** pskFlags #attr:pskFlags#
-- | Flags indicating how to handle the [SettingWirelessSecurity:psk]("GI.NM.Objects.SettingWirelessSecurity#g:attr:psk")
-- property.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityPskFlagsPropertyInfo,
#endif
    constructSettingWirelessSecurityPskFlags,
    getSettingWirelessSecurityPskFlags      ,
    setSettingWirelessSecurityPskFlags      ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityPskFlags         ,
#endif


-- ** wepKey0 #attr:wepKey0#
-- | Index 0 WEP key.  This is the WEP key used in most networks.  See the
-- \"wep-key-type\" property for a description of how this key is interpreted.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityWepKey0PropertyInfo,
#endif
    clearSettingWirelessSecurityWepKey0     ,
    constructSettingWirelessSecurityWepKey0 ,
    getSettingWirelessSecurityWepKey0       ,
    setSettingWirelessSecurityWepKey0       ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityWepKey0          ,
#endif


-- ** wepKey1 #attr:wepKey1#
-- | Index 1 WEP key.  This WEP index is not used by most networks.  See the
-- \"wep-key-type\" property for a description of how this key is interpreted.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityWepKey1PropertyInfo,
#endif
    clearSettingWirelessSecurityWepKey1     ,
    constructSettingWirelessSecurityWepKey1 ,
    getSettingWirelessSecurityWepKey1       ,
    setSettingWirelessSecurityWepKey1       ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityWepKey1          ,
#endif


-- ** wepKey2 #attr:wepKey2#
-- | Index 2 WEP key.  This WEP index is not used by most networks.  See the
-- \"wep-key-type\" property for a description of how this key is interpreted.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityWepKey2PropertyInfo,
#endif
    clearSettingWirelessSecurityWepKey2     ,
    constructSettingWirelessSecurityWepKey2 ,
    getSettingWirelessSecurityWepKey2       ,
    setSettingWirelessSecurityWepKey2       ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityWepKey2          ,
#endif


-- ** wepKey3 #attr:wepKey3#
-- | Index 3 WEP key.  This WEP index is not used by most networks.  See the
-- \"wep-key-type\" property for a description of how this key is interpreted.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityWepKey3PropertyInfo,
#endif
    clearSettingWirelessSecurityWepKey3     ,
    constructSettingWirelessSecurityWepKey3 ,
    getSettingWirelessSecurityWepKey3       ,
    setSettingWirelessSecurityWepKey3       ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityWepKey3          ,
#endif


-- ** wepKeyFlags #attr:wepKeyFlags#
-- | Flags indicating how to handle the [SettingWirelessSecurity:wepKey0]("GI.NM.Objects.SettingWirelessSecurity#g:attr:wepKey0"),
-- [SettingWirelessSecurity:wepKey1]("GI.NM.Objects.SettingWirelessSecurity#g:attr:wepKey1"), [SettingWirelessSecurity:wepKey2]("GI.NM.Objects.SettingWirelessSecurity#g:attr:wepKey2"),
-- and [SettingWirelessSecurity:wepKey3]("GI.NM.Objects.SettingWirelessSecurity#g:attr:wepKey3") properties.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityWepKeyFlagsPropertyInfo,
#endif
    constructSettingWirelessSecurityWepKeyFlags,
    getSettingWirelessSecurityWepKeyFlags   ,
    setSettingWirelessSecurityWepKeyFlags   ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityWepKeyFlags      ,
#endif


-- ** wepKeyType #attr:wepKeyType#
-- | Controls the interpretation of WEP keys.  Allowed values are
-- 'GI.NM.Enums.WepKeyTypeKey', in which case the key is either a 10- or
-- 26-character hexadecimal string, or a 5- or 13-character ASCII password;
-- or 'GI.NM.Enums.WepKeyTypePassphrase', in which case the passphrase is provided
-- as a string and will be hashed using the de-facto MD5 method to derive
-- the actual WEP key.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityWepKeyTypePropertyInfo,
#endif
    constructSettingWirelessSecurityWepKeyType,
    getSettingWirelessSecurityWepKeyType    ,
    setSettingWirelessSecurityWepKeyType    ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityWepKeyType       ,
#endif


-- ** wepTxKeyidx #attr:wepTxKeyidx#
-- | When static WEP is used (ie, key-mgmt = \"none\") and a non-default WEP key
-- index is used by the AP, put that WEP key index here.  Valid values are 0
-- (default key) through 3.  Note that some consumer access points (like the
-- Linksys WRT54G) number the keys 1 - 4.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityWepTxKeyidxPropertyInfo,
#endif
    constructSettingWirelessSecurityWepTxKeyidx,
    getSettingWirelessSecurityWepTxKeyidx   ,
    setSettingWirelessSecurityWepTxKeyidx   ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityWepTxKeyidx      ,
#endif


-- ** wpsMethod #attr:wpsMethod#
-- | Flags indicating which mode of WPS is to be used if any.
-- 
-- There\'s little point in changing the default setting as NetworkManager will
-- automatically determine whether it\'s feasible to start WPS enrollment from
-- the Access Point capabilities.
-- 
-- WPS can be disabled by setting this property to a value of 1.
-- 
-- /Since: 1.10/

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSecurityWpsMethodPropertyInfo,
#endif
    constructSettingWirelessSecurityWpsMethod,
    getSettingWirelessSecurityWpsMethod     ,
    setSettingWirelessSecurityWpsMethod     ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSecurityWpsMethod        ,
#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.Setting8021x as NM.Setting8021x
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.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.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 SettingWirelessSecurity = SettingWirelessSecurity (SP.ManagedPtr SettingWirelessSecurity)
    deriving (SettingWirelessSecurity -> SettingWirelessSecurity -> Bool
(SettingWirelessSecurity -> SettingWirelessSecurity -> Bool)
-> (SettingWirelessSecurity -> SettingWirelessSecurity -> Bool)
-> Eq SettingWirelessSecurity
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SettingWirelessSecurity -> SettingWirelessSecurity -> Bool
== :: SettingWirelessSecurity -> SettingWirelessSecurity -> Bool
$c/= :: SettingWirelessSecurity -> SettingWirelessSecurity -> Bool
/= :: SettingWirelessSecurity -> SettingWirelessSecurity -> Bool
Eq)

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

foreign import ccall "nm_setting_wireless_security_get_type"
    c_nm_setting_wireless_security_get_type :: IO B.Types.GType

instance B.Types.TypedObject SettingWirelessSecurity where
    glibType :: IO GType
glibType = IO GType
c_nm_setting_wireless_security_get_type

instance B.Types.GObject SettingWirelessSecurity

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

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

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

-- | Convert t'SettingWirelessSecurity' 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 SettingWirelessSecurity) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_nm_setting_wireless_security_get_type
    gvalueSet_ :: Ptr GValue -> Maybe SettingWirelessSecurity -> IO ()
gvalueSet_ Ptr GValue
gv Maybe SettingWirelessSecurity
P.Nothing = Ptr GValue -> Ptr SettingWirelessSecurity -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr SettingWirelessSecurity
forall a. Ptr a
FP.nullPtr :: FP.Ptr SettingWirelessSecurity)
    gvalueSet_ Ptr GValue
gv (P.Just SettingWirelessSecurity
obj) = SettingWirelessSecurity
-> (Ptr SettingWirelessSecurity -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr SettingWirelessSecurity
obj (Ptr GValue -> Ptr SettingWirelessSecurity -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe SettingWirelessSecurity)
gvalueGet_ Ptr GValue
gv = do
        Ptr SettingWirelessSecurity
ptr <- Ptr GValue -> IO (Ptr SettingWirelessSecurity)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr SettingWirelessSecurity)
        if Ptr SettingWirelessSecurity
ptr Ptr SettingWirelessSecurity -> Ptr SettingWirelessSecurity -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr SettingWirelessSecurity
forall a. Ptr a
FP.nullPtr
        then SettingWirelessSecurity -> Maybe SettingWirelessSecurity
forall a. a -> Maybe a
P.Just (SettingWirelessSecurity -> Maybe SettingWirelessSecurity)
-> IO SettingWirelessSecurity -> IO (Maybe SettingWirelessSecurity)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr SettingWirelessSecurity -> SettingWirelessSecurity)
-> Ptr SettingWirelessSecurity -> IO SettingWirelessSecurity
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr SettingWirelessSecurity -> SettingWirelessSecurity
SettingWirelessSecurity Ptr SettingWirelessSecurity
ptr
        else Maybe SettingWirelessSecurity -> IO (Maybe SettingWirelessSecurity)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe SettingWirelessSecurity
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveSettingWirelessSecurityMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveSettingWirelessSecurityMethod "addGroup" o = SettingWirelessSecurityAddGroupMethodInfo
    ResolveSettingWirelessSecurityMethod "addPairwise" o = SettingWirelessSecurityAddPairwiseMethodInfo
    ResolveSettingWirelessSecurityMethod "addProto" o = SettingWirelessSecurityAddProtoMethodInfo
    ResolveSettingWirelessSecurityMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveSettingWirelessSecurityMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveSettingWirelessSecurityMethod "clearGroups" o = SettingWirelessSecurityClearGroupsMethodInfo
    ResolveSettingWirelessSecurityMethod "clearPairwise" o = SettingWirelessSecurityClearPairwiseMethodInfo
    ResolveSettingWirelessSecurityMethod "clearProtos" o = SettingWirelessSecurityClearProtosMethodInfo
    ResolveSettingWirelessSecurityMethod "compare" o = NM.Setting.SettingCompareMethodInfo
    ResolveSettingWirelessSecurityMethod "diff" o = NM.Setting.SettingDiffMethodInfo
    ResolveSettingWirelessSecurityMethod "duplicate" o = NM.Setting.SettingDuplicateMethodInfo
    ResolveSettingWirelessSecurityMethod "enumerateValues" o = NM.Setting.SettingEnumerateValuesMethodInfo
    ResolveSettingWirelessSecurityMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveSettingWirelessSecurityMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveSettingWirelessSecurityMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveSettingWirelessSecurityMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveSettingWirelessSecurityMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveSettingWirelessSecurityMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveSettingWirelessSecurityMethod "optionClearByName" o = NM.Setting.SettingOptionClearByNameMethodInfo
    ResolveSettingWirelessSecurityMethod "optionGet" o = NM.Setting.SettingOptionGetMethodInfo
    ResolveSettingWirelessSecurityMethod "optionGetAllNames" o = NM.Setting.SettingOptionGetAllNamesMethodInfo
    ResolveSettingWirelessSecurityMethod "optionGetBoolean" o = NM.Setting.SettingOptionGetBooleanMethodInfo
    ResolveSettingWirelessSecurityMethod "optionGetUint32" o = NM.Setting.SettingOptionGetUint32MethodInfo
    ResolveSettingWirelessSecurityMethod "optionSet" o = NM.Setting.SettingOptionSetMethodInfo
    ResolveSettingWirelessSecurityMethod "optionSetBoolean" o = NM.Setting.SettingOptionSetBooleanMethodInfo
    ResolveSettingWirelessSecurityMethod "optionSetUint32" o = NM.Setting.SettingOptionSetUint32MethodInfo
    ResolveSettingWirelessSecurityMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveSettingWirelessSecurityMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveSettingWirelessSecurityMethod "removeGroup" o = SettingWirelessSecurityRemoveGroupMethodInfo
    ResolveSettingWirelessSecurityMethod "removeGroupByValue" o = SettingWirelessSecurityRemoveGroupByValueMethodInfo
    ResolveSettingWirelessSecurityMethod "removePairwise" o = SettingWirelessSecurityRemovePairwiseMethodInfo
    ResolveSettingWirelessSecurityMethod "removePairwiseByValue" o = SettingWirelessSecurityRemovePairwiseByValueMethodInfo
    ResolveSettingWirelessSecurityMethod "removeProto" o = SettingWirelessSecurityRemoveProtoMethodInfo
    ResolveSettingWirelessSecurityMethod "removeProtoByValue" o = SettingWirelessSecurityRemoveProtoByValueMethodInfo
    ResolveSettingWirelessSecurityMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveSettingWirelessSecurityMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveSettingWirelessSecurityMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveSettingWirelessSecurityMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveSettingWirelessSecurityMethod "toString" o = NM.Setting.SettingToStringMethodInfo
    ResolveSettingWirelessSecurityMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveSettingWirelessSecurityMethod "verify" o = NM.Setting.SettingVerifyMethodInfo
    ResolveSettingWirelessSecurityMethod "verifySecrets" o = NM.Setting.SettingVerifySecretsMethodInfo
    ResolveSettingWirelessSecurityMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveSettingWirelessSecurityMethod "getAuthAlg" o = SettingWirelessSecurityGetAuthAlgMethodInfo
    ResolveSettingWirelessSecurityMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveSettingWirelessSecurityMethod "getDbusPropertyType" o = NM.Setting.SettingGetDbusPropertyTypeMethodInfo
    ResolveSettingWirelessSecurityMethod "getFils" o = SettingWirelessSecurityGetFilsMethodInfo
    ResolveSettingWirelessSecurityMethod "getGroup" o = SettingWirelessSecurityGetGroupMethodInfo
    ResolveSettingWirelessSecurityMethod "getKeyMgmt" o = SettingWirelessSecurityGetKeyMgmtMethodInfo
    ResolveSettingWirelessSecurityMethod "getLeapPassword" o = SettingWirelessSecurityGetLeapPasswordMethodInfo
    ResolveSettingWirelessSecurityMethod "getLeapPasswordFlags" o = SettingWirelessSecurityGetLeapPasswordFlagsMethodInfo
    ResolveSettingWirelessSecurityMethod "getLeapUsername" o = SettingWirelessSecurityGetLeapUsernameMethodInfo
    ResolveSettingWirelessSecurityMethod "getName" o = NM.Setting.SettingGetNameMethodInfo
    ResolveSettingWirelessSecurityMethod "getNumGroups" o = SettingWirelessSecurityGetNumGroupsMethodInfo
    ResolveSettingWirelessSecurityMethod "getNumPairwise" o = SettingWirelessSecurityGetNumPairwiseMethodInfo
    ResolveSettingWirelessSecurityMethod "getNumProtos" o = SettingWirelessSecurityGetNumProtosMethodInfo
    ResolveSettingWirelessSecurityMethod "getPairwise" o = SettingWirelessSecurityGetPairwiseMethodInfo
    ResolveSettingWirelessSecurityMethod "getPmf" o = SettingWirelessSecurityGetPmfMethodInfo
    ResolveSettingWirelessSecurityMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveSettingWirelessSecurityMethod "getProto" o = SettingWirelessSecurityGetProtoMethodInfo
    ResolveSettingWirelessSecurityMethod "getPsk" o = SettingWirelessSecurityGetPskMethodInfo
    ResolveSettingWirelessSecurityMethod "getPskFlags" o = SettingWirelessSecurityGetPskFlagsMethodInfo
    ResolveSettingWirelessSecurityMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveSettingWirelessSecurityMethod "getSecretFlags" o = NM.Setting.SettingGetSecretFlagsMethodInfo
    ResolveSettingWirelessSecurityMethod "getWepKey" o = SettingWirelessSecurityGetWepKeyMethodInfo
    ResolveSettingWirelessSecurityMethod "getWepKeyFlags" o = SettingWirelessSecurityGetWepKeyFlagsMethodInfo
    ResolveSettingWirelessSecurityMethod "getWepKeyType" o = SettingWirelessSecurityGetWepKeyTypeMethodInfo
    ResolveSettingWirelessSecurityMethod "getWepTxKeyidx" o = SettingWirelessSecurityGetWepTxKeyidxMethodInfo
    ResolveSettingWirelessSecurityMethod "getWpsMethod" o = SettingWirelessSecurityGetWpsMethodMethodInfo
    ResolveSettingWirelessSecurityMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveSettingWirelessSecurityMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveSettingWirelessSecurityMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveSettingWirelessSecurityMethod "setSecretFlags" o = NM.Setting.SettingSetSecretFlagsMethodInfo
    ResolveSettingWirelessSecurityMethod "setWepKey" o = SettingWirelessSecuritySetWepKeyMethodInfo
    ResolveSettingWirelessSecurityMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveSettingWirelessSecurityMethod t SettingWirelessSecurity, O.OverloadedMethod info SettingWirelessSecurity p) => OL.IsLabel t (SettingWirelessSecurity -> 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 ~ ResolveSettingWirelessSecurityMethod t SettingWirelessSecurity, O.OverloadedMethod info SettingWirelessSecurity p, R.HasField t SettingWirelessSecurity p) => R.HasField t SettingWirelessSecurity p where
    getField = O.overloadedMethod @info

#endif

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

#endif

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

-- | Get the value of the “@auth-alg@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #authAlg
-- @
getSettingWirelessSecurityAuthAlg :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m T.Text
getSettingWirelessSecurityAuthAlg :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m Text
getSettingWirelessSecurityAuthAlg 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
"getSettingWirelessSecurityAuthAlg" (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
"auth-alg"

-- | Set the value of the “@auth-alg@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #authAlg 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityAuthAlg :: (MonadIO m, IsSettingWirelessSecurity o) => o -> T.Text -> m ()
setSettingWirelessSecurityAuthAlg :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Text -> m ()
setSettingWirelessSecurityAuthAlg 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
"auth-alg" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@auth-alg@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityAuthAlg :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingWirelessSecurityAuthAlg :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSettingWirelessSecurityAuthAlg 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
"auth-alg" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@auth-alg@” 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' #authAlg
-- @
clearSettingWirelessSecurityAuthAlg :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityAuthAlg :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityAuthAlg 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
"auth-alg" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityAuthAlgPropertyInfo
instance AttrInfo SettingWirelessSecurityAuthAlgPropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityAuthAlgPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessSecurityAuthAlgPropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityAuthAlgPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessSecurityAuthAlgPropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessSecurityAuthAlgPropertyInfo = T.Text
    type AttrGetType SettingWirelessSecurityAuthAlgPropertyInfo = T.Text
    type AttrLabel SettingWirelessSecurityAuthAlgPropertyInfo = "auth-alg"
    type AttrOrigin SettingWirelessSecurityAuthAlgPropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityAuthAlg
    attrSet = setSettingWirelessSecurityAuthAlg
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityAuthAlg
    attrClear = clearSettingWirelessSecurityAuthAlg
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.authAlg"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:authAlg"
        })
#endif

-- VVV Prop "fils"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@fils@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #fils
-- @
getSettingWirelessSecurityFils :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m Int32
getSettingWirelessSecurityFils :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m Int32
getSettingWirelessSecurityFils 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
"fils"

-- | Set the value of the “@fils@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #fils 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityFils :: (MonadIO m, IsSettingWirelessSecurity o) => o -> Int32 -> m ()
setSettingWirelessSecurityFils :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Int32 -> m ()
setSettingWirelessSecurityFils 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
"fils" Int32
val

-- | Construct a t'GValueConstruct' with valid value for the “@fils@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityFils :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => Int32 -> m (GValueConstruct o)
constructSettingWirelessSecurityFils :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Int32 -> m (GValueConstruct o)
constructSettingWirelessSecurityFils 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
"fils" Int32
val

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

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

-- | Get the value of the “@group@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #group
-- @
getSettingWirelessSecurityGroup :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m (Maybe [T.Text])
getSettingWirelessSecurityGroup :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m (Maybe [Text])
getSettingWirelessSecurityGroup 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
"group"

-- | Set the value of the “@group@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #group 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityGroup :: (MonadIO m, IsSettingWirelessSecurity o) => o -> [T.Text] -> m ()
setSettingWirelessSecurityGroup :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> [Text] -> m ()
setSettingWirelessSecurityGroup 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
"group" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
Just [Text]
val)

-- | Construct a t'GValueConstruct' with valid value for the “@group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityGroup :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => [T.Text] -> m (GValueConstruct o)
constructSettingWirelessSecurityGroup :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
[Text] -> m (GValueConstruct o)
constructSettingWirelessSecurityGroup [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
"group" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
P.Just [Text]
val)

-- | Set the value of the “@group@” 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' #group
-- @
clearSettingWirelessSecurityGroup :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityGroup :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityGroup 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
"group" (Maybe [Text]
forall a. Maybe a
Nothing :: Maybe [T.Text])

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

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

-- | Get the value of the “@key-mgmt@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #keyMgmt
-- @
getSettingWirelessSecurityKeyMgmt :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m T.Text
getSettingWirelessSecurityKeyMgmt :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m Text
getSettingWirelessSecurityKeyMgmt 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
"getSettingWirelessSecurityKeyMgmt" (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
"key-mgmt"

-- | Set the value of the “@key-mgmt@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #keyMgmt 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityKeyMgmt :: (MonadIO m, IsSettingWirelessSecurity o) => o -> T.Text -> m ()
setSettingWirelessSecurityKeyMgmt :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Text -> m ()
setSettingWirelessSecurityKeyMgmt 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
"key-mgmt" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@key-mgmt@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityKeyMgmt :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingWirelessSecurityKeyMgmt :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSettingWirelessSecurityKeyMgmt 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
"key-mgmt" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@key-mgmt@” 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' #keyMgmt
-- @
clearSettingWirelessSecurityKeyMgmt :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityKeyMgmt :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityKeyMgmt 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
"key-mgmt" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityKeyMgmtPropertyInfo
instance AttrInfo SettingWirelessSecurityKeyMgmtPropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityKeyMgmtPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessSecurityKeyMgmtPropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityKeyMgmtPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessSecurityKeyMgmtPropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessSecurityKeyMgmtPropertyInfo = T.Text
    type AttrGetType SettingWirelessSecurityKeyMgmtPropertyInfo = T.Text
    type AttrLabel SettingWirelessSecurityKeyMgmtPropertyInfo = "key-mgmt"
    type AttrOrigin SettingWirelessSecurityKeyMgmtPropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityKeyMgmt
    attrSet = setSettingWirelessSecurityKeyMgmt
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityKeyMgmt
    attrClear = clearSettingWirelessSecurityKeyMgmt
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.keyMgmt"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:keyMgmt"
        })
#endif

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

-- | Get the value of the “@leap-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #leapPassword
-- @
getSettingWirelessSecurityLeapPassword :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m T.Text
getSettingWirelessSecurityLeapPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m Text
getSettingWirelessSecurityLeapPassword 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
"getSettingWirelessSecurityLeapPassword" (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
"leap-password"

-- | Set the value of the “@leap-password@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #leapPassword 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityLeapPassword :: (MonadIO m, IsSettingWirelessSecurity o) => o -> T.Text -> m ()
setSettingWirelessSecurityLeapPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Text -> m ()
setSettingWirelessSecurityLeapPassword 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
"leap-password" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@leap-password@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityLeapPassword :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingWirelessSecurityLeapPassword :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSettingWirelessSecurityLeapPassword 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
"leap-password" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@leap-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' #leapPassword
-- @
clearSettingWirelessSecurityLeapPassword :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityLeapPassword :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityLeapPassword 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
"leap-password" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

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

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

-- | Get the value of the “@leap-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' settingWirelessSecurity #leapPasswordFlags
-- @
getSettingWirelessSecurityLeapPasswordFlags :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m [NM.Flags.SettingSecretFlags]
getSettingWirelessSecurityLeapPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m [SettingSecretFlags]
getSettingWirelessSecurityLeapPasswordFlags 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
"leap-password-flags"

-- | Set the value of the “@leap-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' settingWirelessSecurity [ #leapPasswordFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityLeapPasswordFlags :: (MonadIO m, IsSettingWirelessSecurity o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSettingWirelessSecurityLeapPasswordFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> [SettingSecretFlags] -> m ()
setSettingWirelessSecurityLeapPasswordFlags 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
"leap-password-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@leap-password-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityLeapPasswordFlags :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSettingWirelessSecurityLeapPasswordFlags :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSettingWirelessSecurityLeapPasswordFlags [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
"leap-password-flags" [SettingSecretFlags]
val

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

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

-- | Get the value of the “@leap-username@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #leapUsername
-- @
getSettingWirelessSecurityLeapUsername :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m T.Text
getSettingWirelessSecurityLeapUsername :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m Text
getSettingWirelessSecurityLeapUsername 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
"getSettingWirelessSecurityLeapUsername" (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
"leap-username"

-- | Set the value of the “@leap-username@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #leapUsername 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityLeapUsername :: (MonadIO m, IsSettingWirelessSecurity o) => o -> T.Text -> m ()
setSettingWirelessSecurityLeapUsername :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Text -> m ()
setSettingWirelessSecurityLeapUsername 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
"leap-username" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@leap-username@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityLeapUsername :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingWirelessSecurityLeapUsername :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSettingWirelessSecurityLeapUsername 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
"leap-username" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@leap-username@” 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' #leapUsername
-- @
clearSettingWirelessSecurityLeapUsername :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityLeapUsername :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityLeapUsername 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
"leap-username" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityLeapUsernamePropertyInfo
instance AttrInfo SettingWirelessSecurityLeapUsernamePropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityLeapUsernamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessSecurityLeapUsernamePropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityLeapUsernamePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessSecurityLeapUsernamePropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessSecurityLeapUsernamePropertyInfo = T.Text
    type AttrGetType SettingWirelessSecurityLeapUsernamePropertyInfo = T.Text
    type AttrLabel SettingWirelessSecurityLeapUsernamePropertyInfo = "leap-username"
    type AttrOrigin SettingWirelessSecurityLeapUsernamePropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityLeapUsername
    attrSet = setSettingWirelessSecurityLeapUsername
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityLeapUsername
    attrClear = clearSettingWirelessSecurityLeapUsername
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.leapUsername"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:leapUsername"
        })
#endif

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

-- | Get the value of the “@pairwise@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #pairwise
-- @
getSettingWirelessSecurityPairwise :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m (Maybe [T.Text])
getSettingWirelessSecurityPairwise :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m (Maybe [Text])
getSettingWirelessSecurityPairwise 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
"pairwise"

-- | Set the value of the “@pairwise@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #pairwise 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityPairwise :: (MonadIO m, IsSettingWirelessSecurity o) => o -> [T.Text] -> m ()
setSettingWirelessSecurityPairwise :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> [Text] -> m ()
setSettingWirelessSecurityPairwise 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
"pairwise" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
Just [Text]
val)

-- | Construct a t'GValueConstruct' with valid value for the “@pairwise@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityPairwise :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => [T.Text] -> m (GValueConstruct o)
constructSettingWirelessSecurityPairwise :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
[Text] -> m (GValueConstruct o)
constructSettingWirelessSecurityPairwise [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
"pairwise" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
P.Just [Text]
val)

-- | Set the value of the “@pairwise@” 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' #pairwise
-- @
clearSettingWirelessSecurityPairwise :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityPairwise :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityPairwise 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
"pairwise" (Maybe [Text]
forall a. Maybe a
Nothing :: Maybe [T.Text])

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

-- VVV Prop "pmf"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@pmf@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #pmf
-- @
getSettingWirelessSecurityPmf :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m Int32
getSettingWirelessSecurityPmf :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m Int32
getSettingWirelessSecurityPmf 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
"pmf"

-- | Set the value of the “@pmf@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #pmf 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityPmf :: (MonadIO m, IsSettingWirelessSecurity o) => o -> Int32 -> m ()
setSettingWirelessSecurityPmf :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Int32 -> m ()
setSettingWirelessSecurityPmf 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
"pmf" Int32
val

-- | Construct a t'GValueConstruct' with valid value for the “@pmf@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityPmf :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => Int32 -> m (GValueConstruct o)
constructSettingWirelessSecurityPmf :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Int32 -> m (GValueConstruct o)
constructSettingWirelessSecurityPmf 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
"pmf" Int32
val

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

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

-- | Get the value of the “@proto@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #proto
-- @
getSettingWirelessSecurityProto :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m (Maybe [T.Text])
getSettingWirelessSecurityProto :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m (Maybe [Text])
getSettingWirelessSecurityProto 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
"proto"

-- | Set the value of the “@proto@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #proto 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityProto :: (MonadIO m, IsSettingWirelessSecurity o) => o -> [T.Text] -> m ()
setSettingWirelessSecurityProto :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> [Text] -> m ()
setSettingWirelessSecurityProto 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
"proto" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
Just [Text]
val)

-- | Construct a t'GValueConstruct' with valid value for the “@proto@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityProto :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => [T.Text] -> m (GValueConstruct o)
constructSettingWirelessSecurityProto :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
[Text] -> m (GValueConstruct o)
constructSettingWirelessSecurityProto [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
"proto" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
P.Just [Text]
val)

-- | Set the value of the “@proto@” 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' #proto
-- @
clearSettingWirelessSecurityProto :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityProto :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityProto 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
"proto" (Maybe [Text]
forall a. Maybe a
Nothing :: Maybe [T.Text])

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

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

-- | Get the value of the “@psk@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #psk
-- @
getSettingWirelessSecurityPsk :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m T.Text
getSettingWirelessSecurityPsk :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m Text
getSettingWirelessSecurityPsk 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
"getSettingWirelessSecurityPsk" (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
"psk"

-- | Set the value of the “@psk@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #psk 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityPsk :: (MonadIO m, IsSettingWirelessSecurity o) => o -> T.Text -> m ()
setSettingWirelessSecurityPsk :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Text -> m ()
setSettingWirelessSecurityPsk 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
"psk" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@psk@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityPsk :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingWirelessSecurityPsk :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSettingWirelessSecurityPsk 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
"psk" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@psk@” 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' #psk
-- @
clearSettingWirelessSecurityPsk :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityPsk :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityPsk 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
"psk" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

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

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

-- | Get the value of the “@psk-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #pskFlags
-- @
getSettingWirelessSecurityPskFlags :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m [NM.Flags.SettingSecretFlags]
getSettingWirelessSecurityPskFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m [SettingSecretFlags]
getSettingWirelessSecurityPskFlags 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
"psk-flags"

-- | Set the value of the “@psk-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #pskFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityPskFlags :: (MonadIO m, IsSettingWirelessSecurity o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSettingWirelessSecurityPskFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> [SettingSecretFlags] -> m ()
setSettingWirelessSecurityPskFlags 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
"psk-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@psk-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityPskFlags :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSettingWirelessSecurityPskFlags :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSettingWirelessSecurityPskFlags [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
"psk-flags" [SettingSecretFlags]
val

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

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

-- | Get the value of the “@wep-key-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #wepKeyFlags
-- @
getSettingWirelessSecurityWepKeyFlags :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m [NM.Flags.SettingSecretFlags]
getSettingWirelessSecurityWepKeyFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m [SettingSecretFlags]
getSettingWirelessSecurityWepKeyFlags 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
"wep-key-flags"

-- | Set the value of the “@wep-key-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #wepKeyFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityWepKeyFlags :: (MonadIO m, IsSettingWirelessSecurity o) => o -> [NM.Flags.SettingSecretFlags] -> m ()
setSettingWirelessSecurityWepKeyFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> [SettingSecretFlags] -> m ()
setSettingWirelessSecurityWepKeyFlags 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
"wep-key-flags" [SettingSecretFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@wep-key-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityWepKeyFlags :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => [NM.Flags.SettingSecretFlags] -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKeyFlags :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
[SettingSecretFlags] -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKeyFlags [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
"wep-key-flags" [SettingSecretFlags]
val

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

-- VVV Prop "wep-key-type"
   -- Type: TInterface (Name {namespace = "NM", name = "WepKeyType"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@wep-key-type@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #wepKeyType
-- @
getSettingWirelessSecurityWepKeyType :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m NM.Enums.WepKeyType
getSettingWirelessSecurityWepKeyType :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m WepKeyType
getSettingWirelessSecurityWepKeyType o
obj = IO WepKeyType -> m WepKeyType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO WepKeyType -> m WepKeyType) -> IO WepKeyType -> m WepKeyType
forall a b. (a -> b) -> a -> b
$ o -> String -> IO WepKeyType
forall a b. (GObject a, Enum b, BoxedEnum b) => a -> String -> IO b
B.Properties.getObjectPropertyEnum o
obj String
"wep-key-type"

-- | Set the value of the “@wep-key-type@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #wepKeyType 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityWepKeyType :: (MonadIO m, IsSettingWirelessSecurity o) => o -> NM.Enums.WepKeyType -> m ()
setSettingWirelessSecurityWepKeyType :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> WepKeyType -> m ()
setSettingWirelessSecurityWepKeyType o
obj WepKeyType
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 -> WepKeyType -> IO ()
forall a b.
(GObject a, Enum b, BoxedEnum b) =>
a -> String -> b -> IO ()
B.Properties.setObjectPropertyEnum o
obj String
"wep-key-type" WepKeyType
val

-- | Construct a t'GValueConstruct' with valid value for the “@wep-key-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityWepKeyType :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => NM.Enums.WepKeyType -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKeyType :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
WepKeyType -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKeyType WepKeyType
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 -> WepKeyType -> IO (GValueConstruct o)
forall a o.
(Enum a, BoxedEnum a) =>
String -> a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyEnum String
"wep-key-type" WepKeyType
val

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityWepKeyTypePropertyInfo
instance AttrInfo SettingWirelessSecurityWepKeyTypePropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityWepKeyTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingWirelessSecurityWepKeyTypePropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityWepKeyTypePropertyInfo = (~) NM.Enums.WepKeyType
    type AttrTransferTypeConstraint SettingWirelessSecurityWepKeyTypePropertyInfo = (~) NM.Enums.WepKeyType
    type AttrTransferType SettingWirelessSecurityWepKeyTypePropertyInfo = NM.Enums.WepKeyType
    type AttrGetType SettingWirelessSecurityWepKeyTypePropertyInfo = NM.Enums.WepKeyType
    type AttrLabel SettingWirelessSecurityWepKeyTypePropertyInfo = "wep-key-type"
    type AttrOrigin SettingWirelessSecurityWepKeyTypePropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityWepKeyType
    attrSet = setSettingWirelessSecurityWepKeyType
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityWepKeyType
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.wepKeyType"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:wepKeyType"
        })
#endif

-- VVV Prop "wep-key0"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@wep-key0@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #wepKey0
-- @
getSettingWirelessSecurityWepKey0 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m (Maybe T.Text)
getSettingWirelessSecurityWepKey0 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m (Maybe Text)
getSettingWirelessSecurityWepKey0 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.getObjectPropertyString o
obj String
"wep-key0"

-- | Set the value of the “@wep-key0@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #wepKey0 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityWepKey0 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> T.Text -> m ()
setSettingWirelessSecurityWepKey0 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Text -> m ()
setSettingWirelessSecurityWepKey0 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
"wep-key0" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@wep-key0@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityWepKey0 :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKey0 :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKey0 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
"wep-key0" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@wep-key0@” 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' #wepKey0
-- @
clearSettingWirelessSecurityWepKey0 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityWepKey0 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityWepKey0 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
"wep-key0" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityWepKey0PropertyInfo
instance AttrInfo SettingWirelessSecurityWepKey0PropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityWepKey0PropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessSecurityWepKey0PropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityWepKey0PropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessSecurityWepKey0PropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessSecurityWepKey0PropertyInfo = T.Text
    type AttrGetType SettingWirelessSecurityWepKey0PropertyInfo = (Maybe T.Text)
    type AttrLabel SettingWirelessSecurityWepKey0PropertyInfo = "wep-key0"
    type AttrOrigin SettingWirelessSecurityWepKey0PropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityWepKey0
    attrSet = setSettingWirelessSecurityWepKey0
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityWepKey0
    attrClear = clearSettingWirelessSecurityWepKey0
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.wepKey0"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:wepKey0"
        })
#endif

-- VVV Prop "wep-key1"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@wep-key1@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #wepKey1
-- @
getSettingWirelessSecurityWepKey1 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m (Maybe T.Text)
getSettingWirelessSecurityWepKey1 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m (Maybe Text)
getSettingWirelessSecurityWepKey1 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.getObjectPropertyString o
obj String
"wep-key1"

-- | Set the value of the “@wep-key1@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #wepKey1 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityWepKey1 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> T.Text -> m ()
setSettingWirelessSecurityWepKey1 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Text -> m ()
setSettingWirelessSecurityWepKey1 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
"wep-key1" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@wep-key1@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityWepKey1 :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKey1 :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKey1 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
"wep-key1" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@wep-key1@” 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' #wepKey1
-- @
clearSettingWirelessSecurityWepKey1 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityWepKey1 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityWepKey1 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
"wep-key1" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityWepKey1PropertyInfo
instance AttrInfo SettingWirelessSecurityWepKey1PropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityWepKey1PropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessSecurityWepKey1PropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityWepKey1PropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessSecurityWepKey1PropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessSecurityWepKey1PropertyInfo = T.Text
    type AttrGetType SettingWirelessSecurityWepKey1PropertyInfo = (Maybe T.Text)
    type AttrLabel SettingWirelessSecurityWepKey1PropertyInfo = "wep-key1"
    type AttrOrigin SettingWirelessSecurityWepKey1PropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityWepKey1
    attrSet = setSettingWirelessSecurityWepKey1
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityWepKey1
    attrClear = clearSettingWirelessSecurityWepKey1
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.wepKey1"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:wepKey1"
        })
#endif

-- VVV Prop "wep-key2"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@wep-key2@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #wepKey2
-- @
getSettingWirelessSecurityWepKey2 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m (Maybe T.Text)
getSettingWirelessSecurityWepKey2 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m (Maybe Text)
getSettingWirelessSecurityWepKey2 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.getObjectPropertyString o
obj String
"wep-key2"

-- | Set the value of the “@wep-key2@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #wepKey2 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityWepKey2 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> T.Text -> m ()
setSettingWirelessSecurityWepKey2 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Text -> m ()
setSettingWirelessSecurityWepKey2 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
"wep-key2" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@wep-key2@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityWepKey2 :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKey2 :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKey2 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
"wep-key2" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@wep-key2@” 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' #wepKey2
-- @
clearSettingWirelessSecurityWepKey2 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityWepKey2 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityWepKey2 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
"wep-key2" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityWepKey2PropertyInfo
instance AttrInfo SettingWirelessSecurityWepKey2PropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityWepKey2PropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessSecurityWepKey2PropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityWepKey2PropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessSecurityWepKey2PropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessSecurityWepKey2PropertyInfo = T.Text
    type AttrGetType SettingWirelessSecurityWepKey2PropertyInfo = (Maybe T.Text)
    type AttrLabel SettingWirelessSecurityWepKey2PropertyInfo = "wep-key2"
    type AttrOrigin SettingWirelessSecurityWepKey2PropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityWepKey2
    attrSet = setSettingWirelessSecurityWepKey2
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityWepKey2
    attrClear = clearSettingWirelessSecurityWepKey2
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.wepKey2"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:wepKey2"
        })
#endif

-- VVV Prop "wep-key3"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@wep-key3@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #wepKey3
-- @
getSettingWirelessSecurityWepKey3 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m (Maybe T.Text)
getSettingWirelessSecurityWepKey3 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m (Maybe Text)
getSettingWirelessSecurityWepKey3 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.getObjectPropertyString o
obj String
"wep-key3"

-- | Set the value of the “@wep-key3@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #wepKey3 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityWepKey3 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> T.Text -> m ()
setSettingWirelessSecurityWepKey3 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Text -> m ()
setSettingWirelessSecurityWepKey3 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
"wep-key3" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)

-- | Construct a t'GValueConstruct' with valid value for the “@wep-key3@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityWepKey3 :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKey3 :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructSettingWirelessSecurityWepKey3 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
"wep-key3" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

-- | Set the value of the “@wep-key3@” 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' #wepKey3
-- @
clearSettingWirelessSecurityWepKey3 :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m ()
clearSettingWirelessSecurityWepKey3 :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m ()
clearSettingWirelessSecurityWepKey3 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
"wep-key3" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityWepKey3PropertyInfo
instance AttrInfo SettingWirelessSecurityWepKey3PropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityWepKey3PropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessSecurityWepKey3PropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityWepKey3PropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessSecurityWepKey3PropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessSecurityWepKey3PropertyInfo = T.Text
    type AttrGetType SettingWirelessSecurityWepKey3PropertyInfo = (Maybe T.Text)
    type AttrLabel SettingWirelessSecurityWepKey3PropertyInfo = "wep-key3"
    type AttrOrigin SettingWirelessSecurityWepKey3PropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityWepKey3
    attrSet = setSettingWirelessSecurityWepKey3
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityWepKey3
    attrClear = clearSettingWirelessSecurityWepKey3
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.wepKey3"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:wepKey3"
        })
#endif

-- VVV Prop "wep-tx-keyidx"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@wep-tx-keyidx@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #wepTxKeyidx
-- @
getSettingWirelessSecurityWepTxKeyidx :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m Word32
getSettingWirelessSecurityWepTxKeyidx :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m Word32
getSettingWirelessSecurityWepTxKeyidx 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
"wep-tx-keyidx"

-- | Set the value of the “@wep-tx-keyidx@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #wepTxKeyidx 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityWepTxKeyidx :: (MonadIO m, IsSettingWirelessSecurity o) => o -> Word32 -> m ()
setSettingWirelessSecurityWepTxKeyidx :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Word32 -> m ()
setSettingWirelessSecurityWepTxKeyidx 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
"wep-tx-keyidx" Word32
val

-- | Construct a t'GValueConstruct' with valid value for the “@wep-tx-keyidx@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityWepTxKeyidx :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => Word32 -> m (GValueConstruct o)
constructSettingWirelessSecurityWepTxKeyidx :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Word32 -> m (GValueConstruct o)
constructSettingWirelessSecurityWepTxKeyidx 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
"wep-tx-keyidx" Word32
val

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityWepTxKeyidxPropertyInfo
instance AttrInfo SettingWirelessSecurityWepTxKeyidxPropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityWepTxKeyidxPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingWirelessSecurityWepTxKeyidxPropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityWepTxKeyidxPropertyInfo = (~) Word32
    type AttrTransferTypeConstraint SettingWirelessSecurityWepTxKeyidxPropertyInfo = (~) Word32
    type AttrTransferType SettingWirelessSecurityWepTxKeyidxPropertyInfo = Word32
    type AttrGetType SettingWirelessSecurityWepTxKeyidxPropertyInfo = Word32
    type AttrLabel SettingWirelessSecurityWepTxKeyidxPropertyInfo = "wep-tx-keyidx"
    type AttrOrigin SettingWirelessSecurityWepTxKeyidxPropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityWepTxKeyidx
    attrSet = setSettingWirelessSecurityWepTxKeyidx
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityWepTxKeyidx
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.wepTxKeyidx"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:wepTxKeyidx"
        })
#endif

-- VVV Prop "wps-method"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@wps-method@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWirelessSecurity #wpsMethod
-- @
getSettingWirelessSecurityWpsMethod :: (MonadIO m, IsSettingWirelessSecurity o) => o -> m Word32
getSettingWirelessSecurityWpsMethod :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> m Word32
getSettingWirelessSecurityWpsMethod 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
"wps-method"

-- | Set the value of the “@wps-method@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingWirelessSecurity [ #wpsMethod 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingWirelessSecurityWpsMethod :: (MonadIO m, IsSettingWirelessSecurity o) => o -> Word32 -> m ()
setSettingWirelessSecurityWpsMethod :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWirelessSecurity o) =>
o -> Word32 -> m ()
setSettingWirelessSecurityWpsMethod 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
"wps-method" Word32
val

-- | Construct a t'GValueConstruct' with valid value for the “@wps-method@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingWirelessSecurityWpsMethod :: (IsSettingWirelessSecurity o, MIO.MonadIO m) => Word32 -> m (GValueConstruct o)
constructSettingWirelessSecurityWpsMethod :: forall o (m :: * -> *).
(IsSettingWirelessSecurity o, MonadIO m) =>
Word32 -> m (GValueConstruct o)
constructSettingWirelessSecurityWpsMethod 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
"wps-method" Word32
val

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityWpsMethodPropertyInfo
instance AttrInfo SettingWirelessSecurityWpsMethodPropertyInfo where
    type AttrAllowedOps SettingWirelessSecurityWpsMethodPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingWirelessSecurityWpsMethodPropertyInfo = IsSettingWirelessSecurity
    type AttrSetTypeConstraint SettingWirelessSecurityWpsMethodPropertyInfo = (~) Word32
    type AttrTransferTypeConstraint SettingWirelessSecurityWpsMethodPropertyInfo = (~) Word32
    type AttrTransferType SettingWirelessSecurityWpsMethodPropertyInfo = Word32
    type AttrGetType SettingWirelessSecurityWpsMethodPropertyInfo = Word32
    type AttrLabel SettingWirelessSecurityWpsMethodPropertyInfo = "wps-method"
    type AttrOrigin SettingWirelessSecurityWpsMethodPropertyInfo = SettingWirelessSecurity
    attrGet = getSettingWirelessSecurityWpsMethod
    attrSet = setSettingWirelessSecurityWpsMethod
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSecurityWpsMethod
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWirelessSecurity.wpsMethod"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWirelessSecurity.html#g:attr:wpsMethod"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList SettingWirelessSecurity
type instance O.AttributeList SettingWirelessSecurity = SettingWirelessSecurityAttributeList
type SettingWirelessSecurityAttributeList = ('[ '("authAlg", SettingWirelessSecurityAuthAlgPropertyInfo), '("fils", SettingWirelessSecurityFilsPropertyInfo), '("group", SettingWirelessSecurityGroupPropertyInfo), '("keyMgmt", SettingWirelessSecurityKeyMgmtPropertyInfo), '("leapPassword", SettingWirelessSecurityLeapPasswordPropertyInfo), '("leapPasswordFlags", SettingWirelessSecurityLeapPasswordFlagsPropertyInfo), '("leapUsername", SettingWirelessSecurityLeapUsernamePropertyInfo), '("name", NM.Setting.SettingNamePropertyInfo), '("pairwise", SettingWirelessSecurityPairwisePropertyInfo), '("pmf", SettingWirelessSecurityPmfPropertyInfo), '("proto", SettingWirelessSecurityProtoPropertyInfo), '("psk", SettingWirelessSecurityPskPropertyInfo), '("pskFlags", SettingWirelessSecurityPskFlagsPropertyInfo), '("wepKeyFlags", SettingWirelessSecurityWepKeyFlagsPropertyInfo), '("wepKeyType", SettingWirelessSecurityWepKeyTypePropertyInfo), '("wepKey0", SettingWirelessSecurityWepKey0PropertyInfo), '("wepKey1", SettingWirelessSecurityWepKey1PropertyInfo), '("wepKey2", SettingWirelessSecurityWepKey2PropertyInfo), '("wepKey3", SettingWirelessSecurityWepKey3PropertyInfo), '("wepTxKeyidx", SettingWirelessSecurityWepTxKeyidxPropertyInfo), '("wpsMethod", SettingWirelessSecurityWpsMethodPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
settingWirelessSecurityAuthAlg :: AttrLabelProxy "authAlg"
settingWirelessSecurityAuthAlg = AttrLabelProxy

settingWirelessSecurityFils :: AttrLabelProxy "fils"
settingWirelessSecurityFils = AttrLabelProxy

settingWirelessSecurityGroup :: AttrLabelProxy "group"
settingWirelessSecurityGroup = AttrLabelProxy

settingWirelessSecurityKeyMgmt :: AttrLabelProxy "keyMgmt"
settingWirelessSecurityKeyMgmt = AttrLabelProxy

settingWirelessSecurityLeapPassword :: AttrLabelProxy "leapPassword"
settingWirelessSecurityLeapPassword = AttrLabelProxy

settingWirelessSecurityLeapPasswordFlags :: AttrLabelProxy "leapPasswordFlags"
settingWirelessSecurityLeapPasswordFlags = AttrLabelProxy

settingWirelessSecurityLeapUsername :: AttrLabelProxy "leapUsername"
settingWirelessSecurityLeapUsername = AttrLabelProxy

settingWirelessSecurityPairwise :: AttrLabelProxy "pairwise"
settingWirelessSecurityPairwise = AttrLabelProxy

settingWirelessSecurityPmf :: AttrLabelProxy "pmf"
settingWirelessSecurityPmf = AttrLabelProxy

settingWirelessSecurityProto :: AttrLabelProxy "proto"
settingWirelessSecurityProto = AttrLabelProxy

settingWirelessSecurityPsk :: AttrLabelProxy "psk"
settingWirelessSecurityPsk = AttrLabelProxy

settingWirelessSecurityPskFlags :: AttrLabelProxy "pskFlags"
settingWirelessSecurityPskFlags = AttrLabelProxy

settingWirelessSecurityWepKeyFlags :: AttrLabelProxy "wepKeyFlags"
settingWirelessSecurityWepKeyFlags = AttrLabelProxy

settingWirelessSecurityWepKeyType :: AttrLabelProxy "wepKeyType"
settingWirelessSecurityWepKeyType = AttrLabelProxy

settingWirelessSecurityWepKey0 :: AttrLabelProxy "wepKey0"
settingWirelessSecurityWepKey0 = AttrLabelProxy

settingWirelessSecurityWepKey1 :: AttrLabelProxy "wepKey1"
settingWirelessSecurityWepKey1 = AttrLabelProxy

settingWirelessSecurityWepKey2 :: AttrLabelProxy "wepKey2"
settingWirelessSecurityWepKey2 = AttrLabelProxy

settingWirelessSecurityWepKey3 :: AttrLabelProxy "wepKey3"
settingWirelessSecurityWepKey3 = AttrLabelProxy

settingWirelessSecurityWepTxKeyidx :: AttrLabelProxy "wepTxKeyidx"
settingWirelessSecurityWepTxKeyidx = AttrLabelProxy

settingWirelessSecurityWpsMethod :: AttrLabelProxy "wpsMethod"
settingWirelessSecurityWpsMethod = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "nm_setting_wireless_security_new" nm_setting_wireless_security_new :: 
    IO (Ptr SettingWirelessSecurity)

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

#if defined(ENABLE_OVERLOADING)
#endif

-- method SettingWirelessSecurity::add_group
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "group"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the encryption algorithm to add, one of \"wep40\", \"wep104\",\n\"tkip\", or \"ccmp\""
--                 , 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_wireless_security_add_group" nm_setting_wireless_security_add_group :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    CString ->                              -- group : TBasicType TUTF8
    IO CInt

-- | Adds an encryption algorithm to the list of allowed groupwise encryption
-- algorithms.  If the list is not empty, then only access points that support
-- one or more of the encryption algorithms in the list will be considered
-- compatible with this connection.
settingWirelessSecurityAddGroup ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> T.Text
    -- ^ /@group@/: the encryption algorithm to add, one of \"wep40\", \"wep104\",
    -- \"tkip\", or \"ccmp\"
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the algorithm was added to the list, 'P.False' if it was
    -- already in the list
settingWirelessSecurityAddGroup :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Text -> m Bool
settingWirelessSecurityAddGroup a
setting Text
group = 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
group' <- Text -> IO CString
textToCString Text
group
    CInt
result <- Ptr SettingWirelessSecurity -> CString -> IO CInt
nm_setting_wireless_security_add_group Ptr SettingWirelessSecurity
setting' CString
group'
    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
group'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWirelessSecurity::add_pairwise
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "pairwise"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the encryption algorithm to add, one of \"tkip\" or \"ccmp\""
--                 , 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_wireless_security_add_pairwise" nm_setting_wireless_security_add_pairwise :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    CString ->                              -- pairwise : TBasicType TUTF8
    IO CInt

-- | Adds an encryption algorithm to the list of allowed pairwise encryption
-- algorithms.  If the list is not empty, then only access points that support
-- one or more of the encryption algorithms in the list will be considered
-- compatible with this connection.
settingWirelessSecurityAddPairwise ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> T.Text
    -- ^ /@pairwise@/: the encryption algorithm to add, one of \"tkip\" or \"ccmp\"
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the algorithm was added to the list, 'P.False' if it was
    -- already in the list
settingWirelessSecurityAddPairwise :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Text -> m Bool
settingWirelessSecurityAddPairwise a
setting Text
pairwise = 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
pairwise' <- Text -> IO CString
textToCString Text
pairwise
    CInt
result <- Ptr SettingWirelessSecurity -> CString -> IO CInt
nm_setting_wireless_security_add_pairwise Ptr SettingWirelessSecurity
setting' CString
pairwise'
    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
pairwise'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWirelessSecurity::add_proto
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "proto"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the protocol to add, one of \"wpa\" or \"rsn\""
--                 , 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_wireless_security_add_proto" nm_setting_wireless_security_add_proto :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    CString ->                              -- proto : TBasicType TUTF8
    IO CInt

-- | Adds a Wi-Fi security protocol (one of \"wpa\" or \"rsn\") to the allowed list;
-- only protocols in this list will be used when finding and connecting to
-- the Wi-Fi network specified by this connection.  For example, if the
-- protocol list contains only \"wpa\" but the access point for the SSID specified
-- by this connection only supports WPA2\/RSN, the connection cannot be used
-- with the access point.
settingWirelessSecurityAddProto ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> T.Text
    -- ^ /@proto@/: the protocol to add, one of \"wpa\" or \"rsn\"
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the protocol was new and was added to the allowed
    -- protocol list, or 'P.False' if it was already in the list
settingWirelessSecurityAddProto :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Text -> m Bool
settingWirelessSecurityAddProto a
setting Text
proto = 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
proto' <- Text -> IO CString
textToCString Text
proto
    CInt
result <- Ptr SettingWirelessSecurity -> CString -> IO CInt
nm_setting_wireless_security_add_proto Ptr SettingWirelessSecurity
setting' CString
proto'
    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
proto'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWirelessSecurity::clear_groups
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_clear_groups" nm_setting_wireless_security_clear_groups :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO ()

-- | Removes all algorithms from the allowed list.  If there are no algorithms
-- specified then all groupwise encryption algorithms are allowed.
settingWirelessSecurityClearGroups ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m ()
settingWirelessSecurityClearGroups :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m ()
settingWirelessSecurityClearGroups 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWirelessSecurity -> IO ()
nm_setting_wireless_security_clear_groups Ptr SettingWirelessSecurity
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 SettingWirelessSecurityClearGroupsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityClearGroupsMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityClearGroups

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


#endif

-- method SettingWirelessSecurity::clear_pairwise
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_clear_pairwise" nm_setting_wireless_security_clear_pairwise :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO ()

-- | Removes all algorithms from the allowed list.  If there are no algorithms
-- specified then all pairwise encryption algorithms are allowed.
settingWirelessSecurityClearPairwise ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m ()
settingWirelessSecurityClearPairwise :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m ()
settingWirelessSecurityClearPairwise 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWirelessSecurity -> IO ()
nm_setting_wireless_security_clear_pairwise Ptr SettingWirelessSecurity
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 SettingWirelessSecurityClearPairwiseMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityClearPairwiseMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityClearPairwise

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


#endif

-- method SettingWirelessSecurity::clear_protos
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_clear_protos" nm_setting_wireless_security_clear_protos :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO ()

-- | Removes all protocols from the allowed list.  If there are no protocols
-- specified then all protocols are allowed.
settingWirelessSecurityClearProtos ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m ()
settingWirelessSecurityClearProtos :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m ()
settingWirelessSecurityClearProtos 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWirelessSecurity -> IO ()
nm_setting_wireless_security_clear_protos Ptr SettingWirelessSecurity
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 SettingWirelessSecurityClearProtosMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityClearProtosMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityClearProtos

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


#endif

-- method SettingWirelessSecurity::get_auth_alg
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_auth_alg" nm_setting_wireless_security_get_auth_alg :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO CString

-- | /No description available in the introspection data./
settingWirelessSecurityGetAuthAlg ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m T.Text
    -- ^ __Returns:__ the [SettingWirelessSecurity:authAlg]("GI.NM.Objects.SettingWirelessSecurity#g:attr:authAlg") property of the setting
settingWirelessSecurityGetAuthAlg :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m Text
settingWirelessSecurityGetAuthAlg 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWirelessSecurity -> IO CString
nm_setting_wireless_security_get_auth_alg Ptr SettingWirelessSecurity
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessSecurityGetAuthAlg" 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 SettingWirelessSecurityGetAuthAlgMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetAuthAlgMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetAuthAlg

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


#endif

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

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

-- | /No description available in the introspection data./
-- 
-- /Since: 1.12/
settingWirelessSecurityGetFils ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m NM.Enums.SettingWirelessSecurityFils
    -- ^ __Returns:__ the [SettingWirelessSecurity:fils]("GI.NM.Objects.SettingWirelessSecurity#g:attr:fils") property of the setting
settingWirelessSecurityGetFils :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m SettingWirelessSecurityFils
settingWirelessSecurityGetFils a
setting = IO SettingWirelessSecurityFils -> m SettingWirelessSecurityFils
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SettingWirelessSecurityFils -> m SettingWirelessSecurityFils)
-> IO SettingWirelessSecurityFils -> m SettingWirelessSecurityFils
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr SettingWirelessSecurity -> IO CUInt
nm_setting_wireless_security_get_fils Ptr SettingWirelessSecurity
setting'
    let result' :: SettingWirelessSecurityFils
result' = (Int -> SettingWirelessSecurityFils
forall a. Enum a => Int -> a
toEnum (Int -> SettingWirelessSecurityFils)
-> (CUInt -> Int) -> CUInt -> SettingWirelessSecurityFils
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
    SettingWirelessSecurityFils -> IO SettingWirelessSecurityFils
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return SettingWirelessSecurityFils
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityGetFilsMethodInfo
instance (signature ~ (m NM.Enums.SettingWirelessSecurityFils), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetFilsMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetFils

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


#endif

-- method SettingWirelessSecurity::get_group
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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
--                       "index of an item in the allowed groupwise encryption algorithm list"
--                 , 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_wireless_security_get_group" nm_setting_wireless_security_get_group :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO CString

-- | Returns the allowed groupwise encryption algorithm from allowed algorithm
-- list.
settingWirelessSecurityGetGroup ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> Word32
    -- ^ /@i@/: index of an item in the allowed groupwise encryption algorithm list
    -> m T.Text
    -- ^ __Returns:__ the groupwise encryption algorithm at index /@i@/
settingWirelessSecurityGetGroup :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Word32 -> m Text
settingWirelessSecurityGetGroup 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWirelessSecurity -> Word32 -> IO CString
nm_setting_wireless_security_get_group Ptr SettingWirelessSecurity
setting' Word32
i
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessSecurityGetGroup" 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 SettingWirelessSecurityGetGroupMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetGroupMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetGroup

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


#endif

-- method SettingWirelessSecurity::get_key_mgmt
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_key_mgmt" nm_setting_wireless_security_get_key_mgmt :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO CString

-- | /No description available in the introspection data./
settingWirelessSecurityGetKeyMgmt ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m T.Text
    -- ^ __Returns:__ the [SettingWirelessSecurity:keyMgmt]("GI.NM.Objects.SettingWirelessSecurity#g:attr:keyMgmt") property of the setting
settingWirelessSecurityGetKeyMgmt :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m Text
settingWirelessSecurityGetKeyMgmt 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWirelessSecurity -> IO CString
nm_setting_wireless_security_get_key_mgmt Ptr SettingWirelessSecurity
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessSecurityGetKeyMgmt" 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 SettingWirelessSecurityGetKeyMgmtMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetKeyMgmtMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetKeyMgmt

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


#endif

-- method SettingWirelessSecurity::get_leap_password
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_leap_password" nm_setting_wireless_security_get_leap_password :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO CString

-- | /No description available in the introspection data./
settingWirelessSecurityGetLeapPassword ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m T.Text
    -- ^ __Returns:__ the [SettingWirelessSecurity:leapPassword]("GI.NM.Objects.SettingWirelessSecurity#g:attr:leapPassword") property of the setting
settingWirelessSecurityGetLeapPassword :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m Text
settingWirelessSecurityGetLeapPassword 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWirelessSecurity -> IO CString
nm_setting_wireless_security_get_leap_password Ptr SettingWirelessSecurity
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessSecurityGetLeapPassword" 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 SettingWirelessSecurityGetLeapPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetLeapPasswordMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetLeapPassword

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


#endif

-- method SettingWirelessSecurity::get_leap_password_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_leap_password_flags" nm_setting_wireless_security_get_leap_password_flags :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO CUInt

-- | /No description available in the introspection data./
settingWirelessSecurityGetLeapPasswordFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    -- [SettingWirelessSecurity:leapPassword]("GI.NM.Objects.SettingWirelessSecurity#g:attr:leapPassword")
settingWirelessSecurityGetLeapPasswordFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m [SettingSecretFlags]
settingWirelessSecurityGetLeapPasswordFlags 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr SettingWirelessSecurity -> IO CUInt
nm_setting_wireless_security_get_leap_password_flags Ptr SettingWirelessSecurity
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 SettingWirelessSecurityGetLeapPasswordFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetLeapPasswordFlagsMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetLeapPasswordFlags

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


#endif

-- method SettingWirelessSecurity::get_leap_username
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_leap_username" nm_setting_wireless_security_get_leap_username :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO CString

-- | /No description available in the introspection data./
settingWirelessSecurityGetLeapUsername ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m T.Text
    -- ^ __Returns:__ the [SettingWirelessSecurity:leapUsername]("GI.NM.Objects.SettingWirelessSecurity#g:attr:leapUsername") property of the setting
settingWirelessSecurityGetLeapUsername :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m Text
settingWirelessSecurityGetLeapUsername 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWirelessSecurity -> IO CString
nm_setting_wireless_security_get_leap_username Ptr SettingWirelessSecurity
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessSecurityGetLeapUsername" 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 SettingWirelessSecurityGetLeapUsernameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetLeapUsernameMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetLeapUsername

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


#endif

-- method SettingWirelessSecurity::get_num_groups
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_num_groups" nm_setting_wireless_security_get_num_groups :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO Word32

-- | /No description available in the introspection data./
settingWirelessSecurityGetNumGroups ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m Word32
    -- ^ __Returns:__ the number of groupwise encryption algorithms in the allowed list
settingWirelessSecurityGetNumGroups :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m Word32
settingWirelessSecurityGetNumGroups 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingWirelessSecurity -> IO Word32
nm_setting_wireless_security_get_num_groups Ptr SettingWirelessSecurity
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 SettingWirelessSecurityGetNumGroupsMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetNumGroupsMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetNumGroups

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


#endif

-- method SettingWirelessSecurity::get_num_pairwise
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_num_pairwise" nm_setting_wireless_security_get_num_pairwise :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO Word32

-- | /No description available in the introspection data./
settingWirelessSecurityGetNumPairwise ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m Word32
    -- ^ __Returns:__ the number of pairwise encryption algorithms in the allowed list
settingWirelessSecurityGetNumPairwise :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m Word32
settingWirelessSecurityGetNumPairwise 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingWirelessSecurity -> IO Word32
nm_setting_wireless_security_get_num_pairwise Ptr SettingWirelessSecurity
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 SettingWirelessSecurityGetNumPairwiseMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetNumPairwiseMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetNumPairwise

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


#endif

-- method SettingWirelessSecurity::get_num_protos
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_num_protos" nm_setting_wireless_security_get_num_protos :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO Word32

-- | /No description available in the introspection data./
settingWirelessSecurityGetNumProtos ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m Word32
    -- ^ __Returns:__ the number of security protocols this connection allows when
    -- connecting to secure Wi-Fi networks
settingWirelessSecurityGetNumProtos :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m Word32
settingWirelessSecurityGetNumProtos 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingWirelessSecurity -> IO Word32
nm_setting_wireless_security_get_num_protos Ptr SettingWirelessSecurity
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 SettingWirelessSecurityGetNumProtosMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetNumProtosMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetNumProtos

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


#endif

-- method SettingWirelessSecurity::get_pairwise
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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
--                       "index of an item in the allowed pairwise encryption algorithm list"
--                 , 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_wireless_security_get_pairwise" nm_setting_wireless_security_get_pairwise :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO CString

-- | Returns the allowed pairwise encryption algorithm from allowed algorithm
-- list.
settingWirelessSecurityGetPairwise ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> Word32
    -- ^ /@i@/: index of an item in the allowed pairwise encryption algorithm list
    -> m T.Text
    -- ^ __Returns:__ the pairwise encryption algorithm at index /@i@/
settingWirelessSecurityGetPairwise :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Word32 -> m Text
settingWirelessSecurityGetPairwise 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWirelessSecurity -> Word32 -> IO CString
nm_setting_wireless_security_get_pairwise Ptr SettingWirelessSecurity
setting' Word32
i
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessSecurityGetPairwise" 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 SettingWirelessSecurityGetPairwiseMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetPairwiseMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetPairwise

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


#endif

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

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

-- | /No description available in the introspection data./
-- 
-- /Since: 1.10/
settingWirelessSecurityGetPmf ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m NM.Enums.SettingWirelessSecurityPmf
    -- ^ __Returns:__ the [SettingWirelessSecurity:pmf]("GI.NM.Objects.SettingWirelessSecurity#g:attr:pmf") property of the setting
settingWirelessSecurityGetPmf :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m SettingWirelessSecurityPmf
settingWirelessSecurityGetPmf a
setting = IO SettingWirelessSecurityPmf -> m SettingWirelessSecurityPmf
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SettingWirelessSecurityPmf -> m SettingWirelessSecurityPmf)
-> IO SettingWirelessSecurityPmf -> m SettingWirelessSecurityPmf
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr SettingWirelessSecurity -> IO CUInt
nm_setting_wireless_security_get_pmf Ptr SettingWirelessSecurity
setting'
    let result' :: SettingWirelessSecurityPmf
result' = (Int -> SettingWirelessSecurityPmf
forall a. Enum a => Int -> a
toEnum (Int -> SettingWirelessSecurityPmf)
-> (CUInt -> Int) -> CUInt -> SettingWirelessSecurityPmf
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
    SettingWirelessSecurityPmf -> IO SettingWirelessSecurityPmf
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return SettingWirelessSecurityPmf
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityGetPmfMethodInfo
instance (signature ~ (m NM.Enums.SettingWirelessSecurityPmf), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetPmfMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetPmf

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


#endif

-- method SettingWirelessSecurity::get_proto
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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 "an index into the protocol list"
--                 , 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_wireless_security_get_proto" nm_setting_wireless_security_get_proto :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO CString

-- | /No description available in the introspection data./
settingWirelessSecurityGetProto ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> Word32
    -- ^ /@i@/: an index into the protocol list
    -> m T.Text
    -- ^ __Returns:__ the protocol at index /@i@/
settingWirelessSecurityGetProto :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Word32 -> m Text
settingWirelessSecurityGetProto 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWirelessSecurity -> Word32 -> IO CString
nm_setting_wireless_security_get_proto Ptr SettingWirelessSecurity
setting' Word32
i
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessSecurityGetProto" 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 SettingWirelessSecurityGetProtoMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetProtoMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetProto

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


#endif

-- method SettingWirelessSecurity::get_psk
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_psk" nm_setting_wireless_security_get_psk :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO CString

-- | /No description available in the introspection data./
settingWirelessSecurityGetPsk ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m T.Text
    -- ^ __Returns:__ the [SettingWirelessSecurity:psk]("GI.NM.Objects.SettingWirelessSecurity#g:attr:psk") property of the setting
settingWirelessSecurityGetPsk :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m Text
settingWirelessSecurityGetPsk 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWirelessSecurity -> IO CString
nm_setting_wireless_security_get_psk Ptr SettingWirelessSecurity
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessSecurityGetPsk" 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 SettingWirelessSecurityGetPskMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetPskMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetPsk

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


#endif

-- method SettingWirelessSecurity::get_psk_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_psk_flags" nm_setting_wireless_security_get_psk_flags :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO CUInt

-- | /No description available in the introspection data./
settingWirelessSecurityGetPskFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the
    -- [SettingWirelessSecurity:psk]("GI.NM.Objects.SettingWirelessSecurity#g:attr:psk")
settingWirelessSecurityGetPskFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m [SettingSecretFlags]
settingWirelessSecurityGetPskFlags 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr SettingWirelessSecurity -> IO CUInt
nm_setting_wireless_security_get_psk_flags Ptr SettingWirelessSecurity
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 SettingWirelessSecurityGetPskFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetPskFlagsMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetPskFlags

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


#endif

-- method SettingWirelessSecurity::get_wep_key
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "idx"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the WEP key index (0..3 inclusive)"
--                 , 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_wireless_security_get_wep_key" nm_setting_wireless_security_get_wep_key :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    Word32 ->                               -- idx : TBasicType TUInt32
    IO CString

-- | /No description available in the introspection data./
settingWirelessSecurityGetWepKey ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> Word32
    -- ^ /@idx@/: the WEP key index (0..3 inclusive)
    -> m T.Text
    -- ^ __Returns:__ the WEP key at the given index
settingWirelessSecurityGetWepKey :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Word32 -> m Text
settingWirelessSecurityGetWepKey a
setting Word32
idx = 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWirelessSecurity -> Word32 -> IO CString
nm_setting_wireless_security_get_wep_key Ptr SettingWirelessSecurity
setting' Word32
idx
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessSecurityGetWepKey" 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 SettingWirelessSecurityGetWepKeyMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetWepKeyMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetWepKey

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


#endif

-- method SettingWirelessSecurity::get_wep_key_flags
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_wep_key_flags" nm_setting_wireless_security_get_wep_key_flags :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO CUInt

-- | /No description available in the introspection data./
settingWirelessSecurityGetWepKeyFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m [NM.Flags.SettingSecretFlags]
    -- ^ __Returns:__ the t'GI.NM.Flags.SettingSecretFlags' pertaining to the all WEP keys
settingWirelessSecurityGetWepKeyFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m [SettingSecretFlags]
settingWirelessSecurityGetWepKeyFlags 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr SettingWirelessSecurity -> IO CUInt
nm_setting_wireless_security_get_wep_key_flags Ptr SettingWirelessSecurity
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 SettingWirelessSecurityGetWepKeyFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingSecretFlags]), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetWepKeyFlagsMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetWepKeyFlags

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


#endif

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

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

-- | /No description available in the introspection data./
settingWirelessSecurityGetWepKeyType ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m NM.Enums.WepKeyType
    -- ^ __Returns:__ the [SettingWirelessSecurity:wepKeyType]("GI.NM.Objects.SettingWirelessSecurity#g:attr:wepKeyType") property of the setting
settingWirelessSecurityGetWepKeyType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m WepKeyType
settingWirelessSecurityGetWepKeyType a
setting = IO WepKeyType -> m WepKeyType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO WepKeyType -> m WepKeyType) -> IO WepKeyType -> m WepKeyType
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr SettingWirelessSecurity -> IO CUInt
nm_setting_wireless_security_get_wep_key_type Ptr SettingWirelessSecurity
setting'
    let result' :: WepKeyType
result' = (Int -> WepKeyType
forall a. Enum a => Int -> a
toEnum (Int -> WepKeyType) -> (CUInt -> Int) -> CUInt -> WepKeyType
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
    WepKeyType -> IO WepKeyType
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return WepKeyType
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityGetWepKeyTypeMethodInfo
instance (signature ~ (m NM.Enums.WepKeyType), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetWepKeyTypeMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetWepKeyType

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


#endif

-- method SettingWirelessSecurity::get_wep_tx_keyidx
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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_wireless_security_get_wep_tx_keyidx" nm_setting_wireless_security_get_wep_tx_keyidx :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    IO Word32

-- | /No description available in the introspection data./
settingWirelessSecurityGetWepTxKeyidx ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m Word32
    -- ^ __Returns:__ the [SettingWirelessSecurity:wepTxKeyidx]("GI.NM.Objects.SettingWirelessSecurity#g:attr:wepTxKeyidx") property of the setting
settingWirelessSecurityGetWepTxKeyidx :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m Word32
settingWirelessSecurityGetWepTxKeyidx 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingWirelessSecurity -> IO Word32
nm_setting_wireless_security_get_wep_tx_keyidx Ptr SettingWirelessSecurity
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 SettingWirelessSecurityGetWepTxKeyidxMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetWepTxKeyidxMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetWepTxKeyidx

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


#endif

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

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

-- | /No description available in the introspection data./
-- 
-- /Since: 1.10/
settingWirelessSecurityGetWpsMethod ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> m [NM.Flags.SettingWirelessSecurityWpsMethod]
    -- ^ __Returns:__ the [SettingWirelessSecurity:wpsMethod]("GI.NM.Objects.SettingWirelessSecurity#g:attr:wpsMethod") property of the setting
settingWirelessSecurityGetWpsMethod :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> m [SettingWirelessSecurityWpsMethod]
settingWirelessSecurityGetWpsMethod a
setting = IO [SettingWirelessSecurityWpsMethod]
-> m [SettingWirelessSecurityWpsMethod]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingWirelessSecurityWpsMethod]
 -> m [SettingWirelessSecurityWpsMethod])
-> IO [SettingWirelessSecurityWpsMethod]
-> m [SettingWirelessSecurityWpsMethod]
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr SettingWirelessSecurity -> IO CUInt
nm_setting_wireless_security_get_wps_method Ptr SettingWirelessSecurity
setting'
    let result' :: [SettingWirelessSecurityWpsMethod]
result' = CUInt -> [SettingWirelessSecurityWpsMethod]
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
    [SettingWirelessSecurityWpsMethod]
-> IO [SettingWirelessSecurityWpsMethod]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingWirelessSecurityWpsMethod]
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSecurityGetWpsMethodMethodInfo
instance (signature ~ (m [NM.Flags.SettingWirelessSecurityWpsMethod]), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityGetWpsMethodMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityGetWpsMethod

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


#endif

-- method SettingWirelessSecurity::remove_group
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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 an item in the allowed groupwise encryption algorithm list"
--                 , 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_wireless_security_remove_group" nm_setting_wireless_security_remove_group :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO ()

-- | Removes an encryption algorithm from the allowed groupwise encryption
-- algorithm list.
settingWirelessSecurityRemoveGroup ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> Word32
    -- ^ /@i@/: the index of an item in the allowed groupwise encryption algorithm list
    -> m ()
settingWirelessSecurityRemoveGroup :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Word32 -> m ()
settingWirelessSecurityRemoveGroup 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWirelessSecurity -> Word32 -> IO ()
nm_setting_wireless_security_remove_group Ptr SettingWirelessSecurity
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 SettingWirelessSecurityRemoveGroupMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityRemoveGroupMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityRemoveGroup

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


#endif

-- method SettingWirelessSecurity::remove_group_by_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "group"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the encryption algorithm to remove, one of \"wep40\", \"wep104\",\n\"tkip\", or \"ccmp\""
--                 , 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_wireless_security_remove_group_by_value" nm_setting_wireless_security_remove_group_by_value :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    CString ->                              -- group : TBasicType TUTF8
    IO CInt

-- | Removes an encryption algorithm from the allowed groupwise encryption
-- algorithm list.
settingWirelessSecurityRemoveGroupByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> T.Text
    -- ^ /@group@/: the encryption algorithm to remove, one of \"wep40\", \"wep104\",
    -- \"tkip\", or \"ccmp\"
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the algorithm was found and removed; 'P.False' if it was not.
settingWirelessSecurityRemoveGroupByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Text -> m Bool
settingWirelessSecurityRemoveGroupByValue a
setting Text
group = 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
group' <- Text -> IO CString
textToCString Text
group
    CInt
result <- Ptr SettingWirelessSecurity -> CString -> IO CInt
nm_setting_wireless_security_remove_group_by_value Ptr SettingWirelessSecurity
setting' CString
group'
    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
group'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWirelessSecurity::remove_pairwise
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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 an item in the allowed pairwise encryption algorithm list"
--                 , 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_wireless_security_remove_pairwise" nm_setting_wireless_security_remove_pairwise :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO ()

-- | Removes an encryption algorithm from the allowed pairwise encryption
-- algorithm list.
settingWirelessSecurityRemovePairwise ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> Word32
    -- ^ /@i@/: the index of an item in the allowed pairwise encryption algorithm list
    -> m ()
settingWirelessSecurityRemovePairwise :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Word32 -> m ()
settingWirelessSecurityRemovePairwise 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWirelessSecurity -> Word32 -> IO ()
nm_setting_wireless_security_remove_pairwise Ptr SettingWirelessSecurity
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 SettingWirelessSecurityRemovePairwiseMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityRemovePairwiseMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityRemovePairwise

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


#endif

-- method SettingWirelessSecurity::remove_pairwise_by_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "pairwise"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the encryption algorithm to remove, one of \"tkip\" or \"ccmp\""
--                 , 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_wireless_security_remove_pairwise_by_value" nm_setting_wireless_security_remove_pairwise_by_value :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    CString ->                              -- pairwise : TBasicType TUTF8
    IO CInt

-- | Removes an encryption algorithm from the allowed pairwise encryption
-- algorithm list.
settingWirelessSecurityRemovePairwiseByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> T.Text
    -- ^ /@pairwise@/: the encryption algorithm to remove, one of \"tkip\" or \"ccmp\"
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the encryption algorithm was found and removed; 'P.False' if it was not.
settingWirelessSecurityRemovePairwiseByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Text -> m Bool
settingWirelessSecurityRemovePairwiseByValue a
setting Text
pairwise = 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
pairwise' <- Text -> IO CString
textToCString Text
pairwise
    CInt
result <- Ptr SettingWirelessSecurity -> CString -> IO CInt
nm_setting_wireless_security_remove_pairwise_by_value Ptr SettingWirelessSecurity
setting' CString
pairwise'
    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
pairwise'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWirelessSecurity::remove_proto
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , 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 "index of the protocol 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_wireless_security_remove_proto" nm_setting_wireless_security_remove_proto :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO ()

-- | Removes a protocol from the allowed protocol list.
settingWirelessSecurityRemoveProto ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> Word32
    -- ^ /@i@/: index of the protocol to remove
    -> m ()
settingWirelessSecurityRemoveProto :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Word32 -> m ()
settingWirelessSecurityRemoveProto 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWirelessSecurity -> Word32 -> IO ()
nm_setting_wireless_security_remove_proto Ptr SettingWirelessSecurity
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 SettingWirelessSecurityRemoveProtoMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSettingWirelessSecurity a) => O.OverloadedMethod SettingWirelessSecurityRemoveProtoMethodInfo a signature where
    overloadedMethod = settingWirelessSecurityRemoveProto

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


#endif

-- method SettingWirelessSecurity::remove_proto_by_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "proto"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the protocol to remove, one of \"wpa\" or \"rsn\""
--                 , 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_wireless_security_remove_proto_by_value" nm_setting_wireless_security_remove_proto_by_value :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    CString ->                              -- proto : TBasicType TUTF8
    IO CInt

-- | Removes a protocol from the allowed protocol list.
settingWirelessSecurityRemoveProtoByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> T.Text
    -- ^ /@proto@/: the protocol to remove, one of \"wpa\" or \"rsn\"
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the protocol was found and removed; 'P.False' if it was not.
settingWirelessSecurityRemoveProtoByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Text -> m Bool
settingWirelessSecurityRemoveProtoByValue a
setting Text
proto = 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
proto' <- Text -> IO CString
textToCString Text
proto
    CInt
result <- Ptr SettingWirelessSecurity -> CString -> IO CInt
nm_setting_wireless_security_remove_proto_by_value Ptr SettingWirelessSecurity
setting' CString
proto'
    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
proto'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWirelessSecurity::set_wep_key
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWirelessSecurity"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "idx"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the index of the key (0..3 inclusive)"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "key"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the WEP key as a string, in either hexadecimal, ASCII, or passphrase\nform as determined by the value of the #NMSettingWirelessSecurity:wep-key-type\nproperty."
--                 , 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_wireless_security_set_wep_key" nm_setting_wireless_security_set_wep_key :: 
    Ptr SettingWirelessSecurity ->          -- setting : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    Word32 ->                               -- idx : TBasicType TUInt32
    CString ->                              -- key : TBasicType TUTF8
    IO ()

-- | Sets a WEP key in the given index.
settingWirelessSecuritySetWepKey ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity'
    -> Word32
    -- ^ /@idx@/: the index of the key (0..3 inclusive)
    -> T.Text
    -- ^ /@key@/: the WEP key as a string, in either hexadecimal, ASCII, or passphrase
    -- form as determined by the value of the [SettingWirelessSecurity:wepKeyType]("GI.NM.Objects.SettingWirelessSecurity#g:attr:wepKeyType")
    -- property.
    -> m ()
settingWirelessSecuritySetWepKey :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWirelessSecurity a) =>
a -> Word32 -> Text -> m ()
settingWirelessSecuritySetWepKey a
setting Word32
idx Text
key = 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 SettingWirelessSecurity
setting' <- a -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr SettingWirelessSecurity -> Word32 -> CString -> IO ()
nm_setting_wireless_security_set_wep_key Ptr SettingWirelessSecurity
setting' Word32
idx CString
key'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

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

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


#endif