{-# LANGUAGE TypeApplications #-}


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

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

module GI.NM.Objects.SettingWireless
    ( 

-- * Exported types
    SettingWireless(..)                     ,
    IsSettingWireless                       ,
    toSettingWireless                       ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [addMacBlacklistItem]("GI.NM.Objects.SettingWireless#g:method:addMacBlacklistItem"), [addMacDenylistItem]("GI.NM.Objects.SettingWireless#g:method:addMacDenylistItem"), [addSeenBssid]("GI.NM.Objects.SettingWireless#g:method:addSeenBssid"), [apSecurityCompatible]("GI.NM.Objects.SettingWireless#g:method:apSecurityCompatible"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [clearMacBlacklistItems]("GI.NM.Objects.SettingWireless#g:method:clearMacBlacklistItems"), [clearMacDenylistItems]("GI.NM.Objects.SettingWireless#g:method:clearMacDenylistItems"), [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"), [removeMacBlacklistItem]("GI.NM.Objects.SettingWireless#g:method:removeMacBlacklistItem"), [removeMacBlacklistItemByValue]("GI.NM.Objects.SettingWireless#g:method:removeMacBlacklistItemByValue"), [removeMacDenylistItem]("GI.NM.Objects.SettingWireless#g:method:removeMacDenylistItem"), [removeMacDenylistItemByValue]("GI.NM.Objects.SettingWireless#g:method:removeMacDenylistItemByValue"), [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
-- [getApIsolation]("GI.NM.Objects.SettingWireless#g:method:getApIsolation"), [getBand]("GI.NM.Objects.SettingWireless#g:method:getBand"), [getBssid]("GI.NM.Objects.SettingWireless#g:method:getBssid"), [getChannel]("GI.NM.Objects.SettingWireless#g:method:getChannel"), [getChannelWidth]("GI.NM.Objects.SettingWireless#g:method:getChannelWidth"), [getClonedMacAddress]("GI.NM.Objects.SettingWireless#g:method:getClonedMacAddress"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDbusPropertyType]("GI.NM.Objects.Setting#g:method:getDbusPropertyType"), [getGenerateMacAddressMask]("GI.NM.Objects.SettingWireless#g:method:getGenerateMacAddressMask"), [getHidden]("GI.NM.Objects.SettingWireless#g:method:getHidden"), [getMacAddress]("GI.NM.Objects.SettingWireless#g:method:getMacAddress"), [getMacAddressBlacklist]("GI.NM.Objects.SettingWireless#g:method:getMacAddressBlacklist"), [getMacAddressDenylist]("GI.NM.Objects.SettingWireless#g:method:getMacAddressDenylist"), [getMacAddressRandomization]("GI.NM.Objects.SettingWireless#g:method:getMacAddressRandomization"), [getMacBlacklistItem]("GI.NM.Objects.SettingWireless#g:method:getMacBlacklistItem"), [getMacDenylistItem]("GI.NM.Objects.SettingWireless#g:method:getMacDenylistItem"), [getMode]("GI.NM.Objects.SettingWireless#g:method:getMode"), [getMtu]("GI.NM.Objects.SettingWireless#g:method:getMtu"), [getName]("GI.NM.Objects.Setting#g:method:getName"), [getNumMacBlacklistItems]("GI.NM.Objects.SettingWireless#g:method:getNumMacBlacklistItems"), [getNumMacDenylistItems]("GI.NM.Objects.SettingWireless#g:method:getNumMacDenylistItems"), [getNumSeenBssids]("GI.NM.Objects.SettingWireless#g:method:getNumSeenBssids"), [getPowersave]("GI.NM.Objects.SettingWireless#g:method:getPowersave"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getRate]("GI.NM.Objects.SettingWireless#g:method:getRate"), [getSecretFlags]("GI.NM.Objects.Setting#g:method:getSecretFlags"), [getSeenBssid]("GI.NM.Objects.SettingWireless#g:method:getSeenBssid"), [getSsid]("GI.NM.Objects.SettingWireless#g:method:getSsid"), [getTxPower]("GI.NM.Objects.SettingWireless#g:method:getTxPower"), [getWakeOnWlan]("GI.NM.Objects.SettingWireless#g:method:getWakeOnWlan").
-- 
-- ==== 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").

#if defined(ENABLE_OVERLOADING)
    ResolveSettingWirelessMethod            ,
#endif

-- ** addMacBlacklistItem #method:addMacBlacklistItem#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessAddMacBlacklistItemMethodInfo,
#endif
    settingWirelessAddMacBlacklistItem      ,


-- ** addMacDenylistItem #method:addMacDenylistItem#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessAddMacDenylistItemMethodInfo,
#endif
    settingWirelessAddMacDenylistItem       ,


-- ** addSeenBssid #method:addSeenBssid#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessAddSeenBssidMethodInfo   ,
#endif
    settingWirelessAddSeenBssid             ,


-- ** apSecurityCompatible #method:apSecurityCompatible#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessApSecurityCompatibleMethodInfo,
#endif
    settingWirelessApSecurityCompatible     ,


-- ** clearMacBlacklistItems #method:clearMacBlacklistItems#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessClearMacBlacklistItemsMethodInfo,
#endif
    settingWirelessClearMacBlacklistItems   ,


-- ** clearMacDenylistItems #method:clearMacDenylistItems#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessClearMacDenylistItemsMethodInfo,
#endif
    settingWirelessClearMacDenylistItems    ,


-- ** getApIsolation #method:getApIsolation#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetApIsolationMethodInfo ,
#endif
    settingWirelessGetApIsolation           ,


-- ** getBand #method:getBand#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetBandMethodInfo        ,
#endif
    settingWirelessGetBand                  ,


-- ** getBssid #method:getBssid#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetBssidMethodInfo       ,
#endif
    settingWirelessGetBssid                 ,


-- ** getChannel #method:getChannel#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetChannelMethodInfo     ,
#endif
    settingWirelessGetChannel               ,


-- ** getChannelWidth #method:getChannelWidth#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetChannelWidthMethodInfo,
#endif
    settingWirelessGetChannelWidth          ,


-- ** getClonedMacAddress #method:getClonedMacAddress#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetClonedMacAddressMethodInfo,
#endif
    settingWirelessGetClonedMacAddress      ,


-- ** getGenerateMacAddressMask #method:getGenerateMacAddressMask#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetGenerateMacAddressMaskMethodInfo,
#endif
    settingWirelessGetGenerateMacAddressMask,


-- ** getHidden #method:getHidden#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetHiddenMethodInfo      ,
#endif
    settingWirelessGetHidden                ,


-- ** getMacAddress #method:getMacAddress#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetMacAddressMethodInfo  ,
#endif
    settingWirelessGetMacAddress            ,


-- ** getMacAddressBlacklist #method:getMacAddressBlacklist#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetMacAddressBlacklistMethodInfo,
#endif
    settingWirelessGetMacAddressBlacklist   ,


-- ** getMacAddressDenylist #method:getMacAddressDenylist#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetMacAddressDenylistMethodInfo,
#endif
    settingWirelessGetMacAddressDenylist    ,


-- ** getMacAddressRandomization #method:getMacAddressRandomization#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetMacAddressRandomizationMethodInfo,
#endif
    settingWirelessGetMacAddressRandomization,


-- ** getMacBlacklistItem #method:getMacBlacklistItem#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetMacBlacklistItemMethodInfo,
#endif
    settingWirelessGetMacBlacklistItem      ,


-- ** getMacDenylistItem #method:getMacDenylistItem#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetMacDenylistItemMethodInfo,
#endif
    settingWirelessGetMacDenylistItem       ,


-- ** getMode #method:getMode#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetModeMethodInfo        ,
#endif
    settingWirelessGetMode                  ,


-- ** getMtu #method:getMtu#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetMtuMethodInfo         ,
#endif
    settingWirelessGetMtu                   ,


-- ** getNumMacBlacklistItems #method:getNumMacBlacklistItems#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetNumMacBlacklistItemsMethodInfo,
#endif
    settingWirelessGetNumMacBlacklistItems  ,


-- ** getNumMacDenylistItems #method:getNumMacDenylistItems#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetNumMacDenylistItemsMethodInfo,
#endif
    settingWirelessGetNumMacDenylistItems   ,


-- ** getNumSeenBssids #method:getNumSeenBssids#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetNumSeenBssidsMethodInfo,
#endif
    settingWirelessGetNumSeenBssids         ,


-- ** getPowersave #method:getPowersave#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetPowersaveMethodInfo   ,
#endif
    settingWirelessGetPowersave             ,


-- ** getRate #method:getRate#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetRateMethodInfo        ,
#endif
    settingWirelessGetRate                  ,


-- ** getSeenBssid #method:getSeenBssid#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetSeenBssidMethodInfo   ,
#endif
    settingWirelessGetSeenBssid             ,


-- ** getSsid #method:getSsid#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetSsidMethodInfo        ,
#endif
    settingWirelessGetSsid                  ,


-- ** getTxPower #method:getTxPower#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetTxPowerMethodInfo     ,
#endif
    settingWirelessGetTxPower               ,


-- ** getWakeOnWlan #method:getWakeOnWlan#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGetWakeOnWlanMethodInfo  ,
#endif
    settingWirelessGetWakeOnWlan            ,


-- ** new #method:new#

    settingWirelessNew                      ,


-- ** removeMacBlacklistItem #method:removeMacBlacklistItem#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessRemoveMacBlacklistItemMethodInfo,
#endif
    settingWirelessRemoveMacBlacklistItem   ,


-- ** removeMacBlacklistItemByValue #method:removeMacBlacklistItemByValue#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessRemoveMacBlacklistItemByValueMethodInfo,
#endif
    settingWirelessRemoveMacBlacklistItemByValue,


-- ** removeMacDenylistItem #method:removeMacDenylistItem#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessRemoveMacDenylistItemMethodInfo,
#endif
    settingWirelessRemoveMacDenylistItem    ,


-- ** removeMacDenylistItemByValue #method:removeMacDenylistItemByValue#

#if defined(ENABLE_OVERLOADING)
    SettingWirelessRemoveMacDenylistItemByValueMethodInfo,
#endif
    settingWirelessRemoveMacDenylistItemByValue,




 -- * Properties


-- ** apIsolation #attr:apIsolation#
-- | Configures AP isolation, which prevents communication between
-- wireless devices connected to this AP. This property can be set
-- to a value different from 'GI.NM.Enums.TernaryDefault' only when the
-- interface is configured in AP mode.
-- 
-- If set to 'GI.NM.Enums.TernaryTrue', devices are not able to communicate
-- with each other. This increases security because it protects
-- devices against attacks from other clients in the network. At
-- the same time, it prevents devices to access resources on the
-- same wireless networks as file shares, printers, etc.
-- 
-- If set to 'GI.NM.Enums.TernaryFalse', devices can talk to each other.
-- 
-- When set to 'GI.NM.Enums.TernaryDefault', the global default is used; in
-- case the global default is unspecified it is assumed to be
-- 'GI.NM.Enums.TernaryFalse'.
-- 
-- /Since: 1.28/

#if defined(ENABLE_OVERLOADING)
    SettingWirelessApIsolationPropertyInfo  ,
#endif
    constructSettingWirelessApIsolation     ,
    getSettingWirelessApIsolation           ,
    setSettingWirelessApIsolation           ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessApIsolation              ,
#endif


-- ** band #attr:band#
-- | 802.11 frequency band of the network.  One of \"a\" for 5GHz 802.11a or
-- \"bg\" for 2.4GHz 802.11.  This will lock associations to the Wi-Fi network
-- to the specific band, i.e. if \"a\" is specified, the device will not
-- associate with the same network in the 2.4GHz band even if the network\'s
-- settings are compatible.  This setting depends on specific driver
-- capability and may not work with all drivers.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessBandPropertyInfo         ,
#endif
    clearSettingWirelessBand                ,
    constructSettingWirelessBand            ,
    getSettingWirelessBand                  ,
    setSettingWirelessBand                  ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessBand                     ,
#endif


-- ** bssid #attr:bssid#
-- | If specified, directs the device to only associate with the given access
-- point.  This capability is highly driver dependent and not supported by
-- all devices.  Note: this property does not control the BSSID used when
-- creating an Ad-Hoc network and is unlikely to in the future.
-- 
-- Locking a client profile to a certain BSSID will prevent roaming and also
-- disable background scanning. That can be useful, if there is only one access
-- point for the SSID.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessBssidPropertyInfo        ,
#endif
    clearSettingWirelessBssid               ,
    constructSettingWirelessBssid           ,
    getSettingWirelessBssid                 ,
    setSettingWirelessBssid                 ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessBssid                    ,
#endif


-- ** channel #attr:channel#
-- | Wireless channel to use for the Wi-Fi connection.  The device will only
-- join (or create for Ad-Hoc networks) a Wi-Fi network on the specified
-- channel.  Because channel numbers overlap between bands, this property
-- also requires the \"band\" property to be set.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessChannelPropertyInfo      ,
#endif
    constructSettingWirelessChannel         ,
    getSettingWirelessChannel               ,
    setSettingWirelessChannel               ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessChannel                  ,
#endif


-- ** channelWidth #attr:channelWidth#
-- | Specifies width of the wireless channel in Access Point (AP) mode.
-- 
-- When set to 'GI.NM.Enums.SettingWirelessChannelWidthAuto' (the default), the
-- channel width is automatically determined. At the moment, this means that
-- the safest (smallest) width is chosen.
-- 
-- If the value is not 'GI.NM.Enums.SettingWirelessChannelWidthAuto', then the
-- \'channel\' property must also be set. When using the 2.4GHz band, the width
-- can be at most 40MHz.
-- 
-- This property can be set to a value different from
-- 'GI.NM.Enums.SettingWirelessChannelWidthAuto' only when the interface is configured
-- in AP mode.
-- 
-- /Since: 1.50/

#if defined(ENABLE_OVERLOADING)
    SettingWirelessChannelWidthPropertyInfo ,
#endif
    constructSettingWirelessChannelWidth    ,
    getSettingWirelessChannelWidth          ,
    setSettingWirelessChannelWidth          ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessChannelWidth             ,
#endif


-- ** clonedMacAddress #attr:clonedMacAddress#
-- | If specified, request that the device use this MAC address instead.
-- This is known as MAC cloning or spoofing.
-- 
-- Beside explicitly specifying a MAC address, the special values \"preserve\", \"permanent\",
-- \"random\", \"stable\" and \"stable-ssid\" are supported.
-- \"preserve\" means not to touch the MAC address on activation.
-- \"permanent\" means to use the permanent hardware address of the device.
-- \"random\" creates a random MAC address on each connect.
-- \"stable\" creates a hashed MAC address based on connection.stable-id and a
-- machine dependent key.
-- \"stable-ssid\" creates a hashed MAC address based on the SSID, the same as setting the
-- stable-id to \"${NETWORK_SSID}\".
-- 
-- If unspecified, the value can be overwritten via global defaults, see manual
-- of NetworkManager.conf. If still unspecified, it defaults to \"preserve\"
-- (older versions of NetworkManager may use a different default value).
-- 
-- On D-Bus, this field is expressed as \"assigned-mac-address\" or the deprecated
-- \"cloned-mac-address\".

#if defined(ENABLE_OVERLOADING)
    SettingWirelessClonedMacAddressPropertyInfo,
#endif
    clearSettingWirelessClonedMacAddress    ,
    constructSettingWirelessClonedMacAddress,
    getSettingWirelessClonedMacAddress      ,
    setSettingWirelessClonedMacAddress      ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessClonedMacAddress         ,
#endif


-- ** generateMacAddressMask #attr:generateMacAddressMask#
-- | With [SettingWireless:clonedMacAddress]("GI.NM.Objects.SettingWireless#g:attr:clonedMacAddress") setting \"random\" or \"stable\",
-- by default all bits of the MAC address are scrambled and a locally-administered,
-- unicast MAC address is created. This property allows to specify that certain bits
-- are fixed. Note that the least significant bit of the first MAC address will
-- always be unset to create a unicast MAC address.
-- 
-- If the property is 'P.Nothing', it is eligible to be overwritten by a default
-- connection setting. If the value is still 'P.Nothing' or an empty string, the
-- default is to create a locally-administered, unicast MAC address.
-- 
-- If the value contains one MAC address, this address is used as mask. The set
-- bits of the mask are to be filled with the current MAC address of the device,
-- while the unset bits are subject to randomization.
-- Setting \"FE:FF:FF:00:00:00\" means to preserve the OUI of the current MAC address
-- and only randomize the lower 3 bytes using the \"random\" or \"stable\" algorithm.
-- 
-- If the value contains one additional MAC address after the mask,
-- this address is used instead of the current MAC address to fill the bits
-- that shall not be randomized. For example, a value of
-- \"FE:FF:FF:00:00:00 68:F7:28:00:00:00\" will set the OUI of the MAC address
-- to 68:F7:28, while the lower bits are randomized. A value of
-- \"02:00:00:00:00:00 00:00:00:00:00:00\" will create a fully scrambled
-- globally-administered, burned-in MAC address.
-- 
-- If the value contains more than one additional MAC addresses, one of
-- them is chosen randomly. For example, \"02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00\"
-- will create a fully scrambled MAC address, randomly locally or globally
-- administered.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessGenerateMacAddressMaskPropertyInfo,
#endif
    clearSettingWirelessGenerateMacAddressMask,
    constructSettingWirelessGenerateMacAddressMask,
    getSettingWirelessGenerateMacAddressMask,
    setSettingWirelessGenerateMacAddressMask,
#if defined(ENABLE_OVERLOADING)
    settingWirelessGenerateMacAddressMask   ,
#endif


-- ** hidden #attr:hidden#
-- | If 'P.True', indicates that the network is a non-broadcasting network that
-- hides its SSID. This works both in infrastructure and AP mode.
-- 
-- In infrastructure mode, various workarounds are used for a more reliable
-- discovery of hidden networks, such as probe-scanning the SSID.  However,
-- these workarounds expose inherent insecurities with hidden SSID networks,
-- and thus hidden SSID networks should be used with caution.
-- 
-- In AP mode, the created network does not broadcast its SSID.
-- 
-- Note that marking the network as hidden may be a privacy issue for you
-- (in infrastructure mode) or client stations (in AP mode), as the explicit
-- probe-scans are distinctly recognizable on the air.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessHiddenPropertyInfo       ,
#endif
    constructSettingWirelessHidden          ,
    getSettingWirelessHidden                ,
    setSettingWirelessHidden                ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessHidden                   ,
#endif


-- ** macAddress #attr:macAddress#
-- | If specified, this connection will only apply to the Wi-Fi device whose
-- permanent MAC address matches. This property does not change the MAC
-- address of the device (i.e. MAC spoofing).

#if defined(ENABLE_OVERLOADING)
    SettingWirelessMacAddressPropertyInfo   ,
#endif
    clearSettingWirelessMacAddress          ,
    constructSettingWirelessMacAddress      ,
    getSettingWirelessMacAddress            ,
    setSettingWirelessMacAddress            ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessMacAddress               ,
#endif


-- ** macAddressBlacklist #attr:macAddressBlacklist#
-- | A list of permanent MAC addresses of Wi-Fi devices to which this
-- connection should never apply.  Each MAC address should be given in the
-- standard hex-digits-and-colons notation (eg \"00:11:22:33:44:55\").

#if defined(ENABLE_OVERLOADING)
    SettingWirelessMacAddressBlacklistPropertyInfo,
#endif
    clearSettingWirelessMacAddressBlacklist ,
    constructSettingWirelessMacAddressBlacklist,
    getSettingWirelessMacAddressBlacklist   ,
    setSettingWirelessMacAddressBlacklist   ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessMacAddressBlacklist      ,
#endif


-- ** macAddressDenylist #attr:macAddressDenylist#
-- | A list of permanent MAC addresses of Wi-Fi devices to which this
-- connection should never apply.  Each MAC address should be given in the
-- standard hex-digits-and-colons notation (eg \"00:11:22:33:44:55\").

#if defined(ENABLE_OVERLOADING)
    SettingWirelessMacAddressDenylistPropertyInfo,
#endif
    clearSettingWirelessMacAddressDenylist  ,
    constructSettingWirelessMacAddressDenylist,
    getSettingWirelessMacAddressDenylist    ,
    setSettingWirelessMacAddressDenylist    ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessMacAddressDenylist       ,
#endif


-- ** macAddressRandomization #attr:macAddressRandomization#
-- | One of 'GI.NM.Enums.SettingMacRandomizationDefault' (never randomize unless
-- the user has set a global default to randomize and the supplicant
-- supports randomization),  'GI.NM.Enums.SettingMacRandomizationNever' (never
-- randomize the MAC address), or 'GI.NM.Enums.SettingMacRandomizationAlways'
-- (always randomize the MAC address).
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    SettingWirelessMacAddressRandomizationPropertyInfo,
#endif
    constructSettingWirelessMacAddressRandomization,
    getSettingWirelessMacAddressRandomization,
    setSettingWirelessMacAddressRandomization,
#if defined(ENABLE_OVERLOADING)
    settingWirelessMacAddressRandomization  ,
#endif


-- ** mode #attr:mode#
-- | Wi-Fi network mode; one of \"infrastructure\", \"mesh\", \"adhoc\" or \"ap\".  If blank,
-- infrastructure is assumed.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessModePropertyInfo         ,
#endif
    clearSettingWirelessMode                ,
    constructSettingWirelessMode            ,
    getSettingWirelessMode                  ,
    setSettingWirelessMode                  ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessMode                     ,
#endif


-- ** mtu #attr:mtu#
-- | If non-zero, only transmit packets of the specified size or smaller,
-- breaking larger packets up into multiple Ethernet frames.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessMtuPropertyInfo          ,
#endif
    constructSettingWirelessMtu             ,
    getSettingWirelessMtu                   ,
    setSettingWirelessMtu                   ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessMtu                      ,
#endif


-- ** powersave #attr:powersave#
-- | One of 'GI.NM.Enums.SettingWirelessPowersaveDisable' (disable Wi-Fi power
-- saving), 'GI.NM.Enums.SettingWirelessPowersaveEnable' (enable Wi-Fi power
-- saving), 'GI.NM.Enums.SettingWirelessPowersaveIgnore' (don\'t touch currently
-- configure setting) or 'GI.NM.Enums.SettingWirelessPowersaveDefault' (use the
-- globally configured value). All other values are reserved.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    SettingWirelessPowersavePropertyInfo    ,
#endif
    constructSettingWirelessPowersave       ,
    getSettingWirelessPowersave             ,
    setSettingWirelessPowersave             ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessPowersave                ,
#endif


-- ** rate #attr:rate#
-- | This property is not implemented and has no effect.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessRatePropertyInfo         ,
#endif
    constructSettingWirelessRate            ,
    getSettingWirelessRate                  ,
    setSettingWirelessRate                  ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessRate                     ,
#endif


-- ** seenBssids #attr:seenBssids#
-- | A list of BSSIDs (each BSSID formatted as a MAC address like
-- \"00:11:22:33:44:55\") that have been detected as part of the Wi-Fi
-- network.  NetworkManager internally tracks previously seen BSSIDs. The
-- property is only meant for reading and reflects the BSSID list of
-- NetworkManager. The changes you make to this property will not be
-- preserved.
-- 
-- This is not a regular property that the user would configure. Instead,
-- NetworkManager automatically sets the seen BSSIDs and tracks them internally
-- in \"\/var\/lib\/NetworkManager\/seen-bssids\" file.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSeenBssidsPropertyInfo   ,
#endif
    clearSettingWirelessSeenBssids          ,
    constructSettingWirelessSeenBssids      ,
    getSettingWirelessSeenBssids            ,
    setSettingWirelessSeenBssids            ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSeenBssids               ,
#endif


-- ** ssid #attr:ssid#
-- | SSID of the Wi-Fi network. Must be specified.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessSsidPropertyInfo         ,
#endif
    clearSettingWirelessSsid                ,
    constructSettingWirelessSsid            ,
    getSettingWirelessSsid                  ,
    setSettingWirelessSsid                  ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessSsid                     ,
#endif


-- ** txPower #attr:txPower#
-- | This property is not implemented and has no effect.

#if defined(ENABLE_OVERLOADING)
    SettingWirelessTxPowerPropertyInfo      ,
#endif
    constructSettingWirelessTxPower         ,
    getSettingWirelessTxPower               ,
    setSettingWirelessTxPower               ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessTxPower                  ,
#endif


-- ** wakeOnWlan #attr:wakeOnWlan#
-- | The t'GI.NM.Flags.SettingWirelessWakeOnWLan' options to enable. Not all devices support all options.
-- May be any combination of 'GI.NM.Flags.SettingWirelessWakeOnWLanAny',
-- 'GI.NM.Flags.SettingWirelessWakeOnWLanDisconnect',
-- 'GI.NM.Flags.SettingWirelessWakeOnWLanMagic',
-- 'GI.NM.Flags.SettingWirelessWakeOnWLanGtkRekeyFailure',
-- 'GI.NM.Flags.SettingWirelessWakeOnWLanEapIdentityRequest',
-- 'GI.NM.Flags.SettingWirelessWakeOnWLan4wayHandshake',
-- 'GI.NM.Flags.SettingWirelessWakeOnWLanRfkillRelease',
-- 'GI.NM.Flags.SettingWirelessWakeOnWLanTcp' or the special values
-- 'GI.NM.Flags.SettingWirelessWakeOnWLanDefault' (to use global settings) and
-- 'GI.NM.Flags.SettingWirelessWakeOnWLanIgnore' (to disable management of Wake-on-LAN in
-- NetworkManager).
-- 
-- /Since: 1.12/

#if defined(ENABLE_OVERLOADING)
    SettingWirelessWakeOnWlanPropertyInfo   ,
#endif
    constructSettingWirelessWakeOnWlan      ,
    getSettingWirelessWakeOnWlan            ,
    setSettingWirelessWakeOnWlan            ,
#if defined(ENABLE_OVERLOADING)
    settingWirelessWakeOnWlan               ,
#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.SettingWirelessSecurity as NM.SettingWirelessSecurity
import {-# SOURCE #-} qualified GI.NM.Structs.BridgeVlan as NM.BridgeVlan
import {-# SOURCE #-} qualified GI.NM.Structs.IPAddress as NM.IPAddress
import {-# SOURCE #-} qualified GI.NM.Structs.IPRoute as NM.IPRoute
import {-# SOURCE #-} qualified GI.NM.Structs.IPRoutingRule as NM.IPRoutingRule
import {-# SOURCE #-} qualified GI.NM.Structs.Range as NM.Range
import {-# SOURCE #-} qualified GI.NM.Structs.TCAction as NM.TCAction
import {-# SOURCE #-} qualified GI.NM.Structs.TCQdisc as NM.TCQdisc
import {-# SOURCE #-} qualified GI.NM.Structs.TCTfilter as NM.TCTfilter
import {-# SOURCE #-} qualified GI.NM.Structs.TeamLinkWatcher as NM.TeamLinkWatcher
import {-# SOURCE #-} qualified GI.NM.Structs.VariantAttributeSpec as NM.VariantAttributeSpec

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

#endif

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

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

foreign import ccall "nm_setting_wireless_get_type"
    c_nm_setting_wireless_get_type :: IO B.Types.GType

instance B.Types.TypedObject SettingWireless where
    glibType :: IO GType
glibType = IO GType
c_nm_setting_wireless_get_type

instance B.Types.GObject SettingWireless

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

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

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

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

#if defined(ENABLE_OVERLOADING)
type family ResolveSettingWirelessMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveSettingWirelessMethod "addMacBlacklistItem" o = SettingWirelessAddMacBlacklistItemMethodInfo
    ResolveSettingWirelessMethod "addMacDenylistItem" o = SettingWirelessAddMacDenylistItemMethodInfo
    ResolveSettingWirelessMethod "addSeenBssid" o = SettingWirelessAddSeenBssidMethodInfo
    ResolveSettingWirelessMethod "apSecurityCompatible" o = SettingWirelessApSecurityCompatibleMethodInfo
    ResolveSettingWirelessMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveSettingWirelessMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveSettingWirelessMethod "clearMacBlacklistItems" o = SettingWirelessClearMacBlacklistItemsMethodInfo
    ResolveSettingWirelessMethod "clearMacDenylistItems" o = SettingWirelessClearMacDenylistItemsMethodInfo
    ResolveSettingWirelessMethod "compare" o = NM.Setting.SettingCompareMethodInfo
    ResolveSettingWirelessMethod "diff" o = NM.Setting.SettingDiffMethodInfo
    ResolveSettingWirelessMethod "duplicate" o = NM.Setting.SettingDuplicateMethodInfo
    ResolveSettingWirelessMethod "enumerateValues" o = NM.Setting.SettingEnumerateValuesMethodInfo
    ResolveSettingWirelessMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveSettingWirelessMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveSettingWirelessMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveSettingWirelessMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveSettingWirelessMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveSettingWirelessMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveSettingWirelessMethod "optionClearByName" o = NM.Setting.SettingOptionClearByNameMethodInfo
    ResolveSettingWirelessMethod "optionGet" o = NM.Setting.SettingOptionGetMethodInfo
    ResolveSettingWirelessMethod "optionGetAllNames" o = NM.Setting.SettingOptionGetAllNamesMethodInfo
    ResolveSettingWirelessMethod "optionGetBoolean" o = NM.Setting.SettingOptionGetBooleanMethodInfo
    ResolveSettingWirelessMethod "optionGetUint32" o = NM.Setting.SettingOptionGetUint32MethodInfo
    ResolveSettingWirelessMethod "optionSet" o = NM.Setting.SettingOptionSetMethodInfo
    ResolveSettingWirelessMethod "optionSetBoolean" o = NM.Setting.SettingOptionSetBooleanMethodInfo
    ResolveSettingWirelessMethod "optionSetUint32" o = NM.Setting.SettingOptionSetUint32MethodInfo
    ResolveSettingWirelessMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveSettingWirelessMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveSettingWirelessMethod "removeMacBlacklistItem" o = SettingWirelessRemoveMacBlacklistItemMethodInfo
    ResolveSettingWirelessMethod "removeMacBlacklistItemByValue" o = SettingWirelessRemoveMacBlacklistItemByValueMethodInfo
    ResolveSettingWirelessMethod "removeMacDenylistItem" o = SettingWirelessRemoveMacDenylistItemMethodInfo
    ResolveSettingWirelessMethod "removeMacDenylistItemByValue" o = SettingWirelessRemoveMacDenylistItemByValueMethodInfo
    ResolveSettingWirelessMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveSettingWirelessMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveSettingWirelessMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveSettingWirelessMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveSettingWirelessMethod "toString" o = NM.Setting.SettingToStringMethodInfo
    ResolveSettingWirelessMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveSettingWirelessMethod "verify" o = NM.Setting.SettingVerifyMethodInfo
    ResolveSettingWirelessMethod "verifySecrets" o = NM.Setting.SettingVerifySecretsMethodInfo
    ResolveSettingWirelessMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveSettingWirelessMethod "getApIsolation" o = SettingWirelessGetApIsolationMethodInfo
    ResolveSettingWirelessMethod "getBand" o = SettingWirelessGetBandMethodInfo
    ResolveSettingWirelessMethod "getBssid" o = SettingWirelessGetBssidMethodInfo
    ResolveSettingWirelessMethod "getChannel" o = SettingWirelessGetChannelMethodInfo
    ResolveSettingWirelessMethod "getChannelWidth" o = SettingWirelessGetChannelWidthMethodInfo
    ResolveSettingWirelessMethod "getClonedMacAddress" o = SettingWirelessGetClonedMacAddressMethodInfo
    ResolveSettingWirelessMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveSettingWirelessMethod "getDbusPropertyType" o = NM.Setting.SettingGetDbusPropertyTypeMethodInfo
    ResolveSettingWirelessMethod "getGenerateMacAddressMask" o = SettingWirelessGetGenerateMacAddressMaskMethodInfo
    ResolveSettingWirelessMethod "getHidden" o = SettingWirelessGetHiddenMethodInfo
    ResolveSettingWirelessMethod "getMacAddress" o = SettingWirelessGetMacAddressMethodInfo
    ResolveSettingWirelessMethod "getMacAddressBlacklist" o = SettingWirelessGetMacAddressBlacklistMethodInfo
    ResolveSettingWirelessMethod "getMacAddressDenylist" o = SettingWirelessGetMacAddressDenylistMethodInfo
    ResolveSettingWirelessMethod "getMacAddressRandomization" o = SettingWirelessGetMacAddressRandomizationMethodInfo
    ResolveSettingWirelessMethod "getMacBlacklistItem" o = SettingWirelessGetMacBlacklistItemMethodInfo
    ResolveSettingWirelessMethod "getMacDenylistItem" o = SettingWirelessGetMacDenylistItemMethodInfo
    ResolveSettingWirelessMethod "getMode" o = SettingWirelessGetModeMethodInfo
    ResolveSettingWirelessMethod "getMtu" o = SettingWirelessGetMtuMethodInfo
    ResolveSettingWirelessMethod "getName" o = NM.Setting.SettingGetNameMethodInfo
    ResolveSettingWirelessMethod "getNumMacBlacklistItems" o = SettingWirelessGetNumMacBlacklistItemsMethodInfo
    ResolveSettingWirelessMethod "getNumMacDenylistItems" o = SettingWirelessGetNumMacDenylistItemsMethodInfo
    ResolveSettingWirelessMethod "getNumSeenBssids" o = SettingWirelessGetNumSeenBssidsMethodInfo
    ResolveSettingWirelessMethod "getPowersave" o = SettingWirelessGetPowersaveMethodInfo
    ResolveSettingWirelessMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveSettingWirelessMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveSettingWirelessMethod "getRate" o = SettingWirelessGetRateMethodInfo
    ResolveSettingWirelessMethod "getSecretFlags" o = NM.Setting.SettingGetSecretFlagsMethodInfo
    ResolveSettingWirelessMethod "getSeenBssid" o = SettingWirelessGetSeenBssidMethodInfo
    ResolveSettingWirelessMethod "getSsid" o = SettingWirelessGetSsidMethodInfo
    ResolveSettingWirelessMethod "getTxPower" o = SettingWirelessGetTxPowerMethodInfo
    ResolveSettingWirelessMethod "getWakeOnWlan" o = SettingWirelessGetWakeOnWlanMethodInfo
    ResolveSettingWirelessMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveSettingWirelessMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveSettingWirelessMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveSettingWirelessMethod "setSecretFlags" o = NM.Setting.SettingSetSecretFlagsMethodInfo
    ResolveSettingWirelessMethod l o = O.MethodResolutionFailed l o

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

#endif

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

#endif

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingWirelessApIsolationPropertyInfo
instance AttrInfo SettingWirelessApIsolationPropertyInfo where
    type AttrAllowedOps SettingWirelessApIsolationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingWirelessApIsolationPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessApIsolationPropertyInfo = (~) NM.Enums.Ternary
    type AttrTransferTypeConstraint SettingWirelessApIsolationPropertyInfo = (~) NM.Enums.Ternary
    type AttrTransferType SettingWirelessApIsolationPropertyInfo = NM.Enums.Ternary
    type AttrGetType SettingWirelessApIsolationPropertyInfo = NM.Enums.Ternary
    type AttrLabel SettingWirelessApIsolationPropertyInfo = "ap-isolation"
    type AttrOrigin SettingWirelessApIsolationPropertyInfo = SettingWireless
    attrGet = getSettingWirelessApIsolation
    attrSet = setSettingWirelessApIsolation
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessApIsolation
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.apIsolation"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:apIsolation"
        })
#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Set the value of the “@cloned-mac-address@” 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' #clonedMacAddress
-- @
clearSettingWirelessClonedMacAddress :: (MonadIO m, IsSettingWireless o) => o -> m ()
clearSettingWirelessClonedMacAddress :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWireless o) =>
o -> m ()
clearSettingWirelessClonedMacAddress 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
"cloned-mac-address" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessClonedMacAddressPropertyInfo
instance AttrInfo SettingWirelessClonedMacAddressPropertyInfo where
    type AttrAllowedOps SettingWirelessClonedMacAddressPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessClonedMacAddressPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessClonedMacAddressPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessClonedMacAddressPropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessClonedMacAddressPropertyInfo = T.Text
    type AttrGetType SettingWirelessClonedMacAddressPropertyInfo = T.Text
    type AttrLabel SettingWirelessClonedMacAddressPropertyInfo = "cloned-mac-address"
    type AttrOrigin SettingWirelessClonedMacAddressPropertyInfo = SettingWireless
    attrGet = getSettingWirelessClonedMacAddress
    attrSet = setSettingWirelessClonedMacAddress
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessClonedMacAddress
    attrClear = clearSettingWirelessClonedMacAddress
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.clonedMacAddress"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:clonedMacAddress"
        })
#endif

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

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

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

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

-- | Set the value of the “@generate-mac-address-mask@” 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' #generateMacAddressMask
-- @
clearSettingWirelessGenerateMacAddressMask :: (MonadIO m, IsSettingWireless o) => o -> m ()
clearSettingWirelessGenerateMacAddressMask :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWireless o) =>
o -> m ()
clearSettingWirelessGenerateMacAddressMask 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
"generate-mac-address-mask" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessGenerateMacAddressMaskPropertyInfo
instance AttrInfo SettingWirelessGenerateMacAddressMaskPropertyInfo where
    type AttrAllowedOps SettingWirelessGenerateMacAddressMaskPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessGenerateMacAddressMaskPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessGenerateMacAddressMaskPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessGenerateMacAddressMaskPropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessGenerateMacAddressMaskPropertyInfo = T.Text
    type AttrGetType SettingWirelessGenerateMacAddressMaskPropertyInfo = T.Text
    type AttrLabel SettingWirelessGenerateMacAddressMaskPropertyInfo = "generate-mac-address-mask"
    type AttrOrigin SettingWirelessGenerateMacAddressMaskPropertyInfo = SettingWireless
    attrGet = getSettingWirelessGenerateMacAddressMask
    attrSet = setSettingWirelessGenerateMacAddressMask
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessGenerateMacAddressMask
    attrClear = clearSettingWirelessGenerateMacAddressMask
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.generateMacAddressMask"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:generateMacAddressMask"
        })
#endif

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

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

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

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

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

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingWirelessMacAddressPropertyInfo
instance AttrInfo SettingWirelessMacAddressPropertyInfo where
    type AttrAllowedOps SettingWirelessMacAddressPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessMacAddressPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessMacAddressPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingWirelessMacAddressPropertyInfo = (~) T.Text
    type AttrTransferType SettingWirelessMacAddressPropertyInfo = T.Text
    type AttrGetType SettingWirelessMacAddressPropertyInfo = T.Text
    type AttrLabel SettingWirelessMacAddressPropertyInfo = "mac-address"
    type AttrOrigin SettingWirelessMacAddressPropertyInfo = SettingWireless
    attrGet = getSettingWirelessMacAddress
    attrSet = setSettingWirelessMacAddress
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessMacAddress
    attrClear = clearSettingWirelessMacAddress
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.macAddress"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:macAddress"
        })
#endif

-- VVV Prop "mac-address-blacklist"
   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@mac-address-blacklist@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWireless #macAddressBlacklist
-- @
getSettingWirelessMacAddressBlacklist :: (MonadIO m, IsSettingWireless o) => o -> m [T.Text]
getSettingWirelessMacAddressBlacklist :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWireless o) =>
o -> m [Text]
getSettingWirelessMacAddressBlacklist 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
"getSettingWirelessMacAddressBlacklist" (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.getObjectPropertyStringArray o
obj String
"mac-address-blacklist"

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingWirelessMacAddressBlacklistPropertyInfo
instance AttrInfo SettingWirelessMacAddressBlacklistPropertyInfo where
    type AttrAllowedOps SettingWirelessMacAddressBlacklistPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessMacAddressBlacklistPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessMacAddressBlacklistPropertyInfo = (~) [T.Text]
    type AttrTransferTypeConstraint SettingWirelessMacAddressBlacklistPropertyInfo = (~) [T.Text]
    type AttrTransferType SettingWirelessMacAddressBlacklistPropertyInfo = [T.Text]
    type AttrGetType SettingWirelessMacAddressBlacklistPropertyInfo = [T.Text]
    type AttrLabel SettingWirelessMacAddressBlacklistPropertyInfo = "mac-address-blacklist"
    type AttrOrigin SettingWirelessMacAddressBlacklistPropertyInfo = SettingWireless
    attrGet = getSettingWirelessMacAddressBlacklist
    attrSet = setSettingWirelessMacAddressBlacklist
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessMacAddressBlacklist
    attrClear = clearSettingWirelessMacAddressBlacklist
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.macAddressBlacklist"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:macAddressBlacklist"
        })
#endif

-- VVV Prop "mac-address-denylist"
   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@mac-address-denylist@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWireless #macAddressDenylist
-- @
getSettingWirelessMacAddressDenylist :: (MonadIO m, IsSettingWireless o) => o -> m [T.Text]
getSettingWirelessMacAddressDenylist :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWireless o) =>
o -> m [Text]
getSettingWirelessMacAddressDenylist 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
"getSettingWirelessMacAddressDenylist" (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.getObjectPropertyStringArray o
obj String
"mac-address-denylist"

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingWirelessMacAddressDenylistPropertyInfo
instance AttrInfo SettingWirelessMacAddressDenylistPropertyInfo where
    type AttrAllowedOps SettingWirelessMacAddressDenylistPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessMacAddressDenylistPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessMacAddressDenylistPropertyInfo = (~) [T.Text]
    type AttrTransferTypeConstraint SettingWirelessMacAddressDenylistPropertyInfo = (~) [T.Text]
    type AttrTransferType SettingWirelessMacAddressDenylistPropertyInfo = [T.Text]
    type AttrGetType SettingWirelessMacAddressDenylistPropertyInfo = [T.Text]
    type AttrLabel SettingWirelessMacAddressDenylistPropertyInfo = "mac-address-denylist"
    type AttrOrigin SettingWirelessMacAddressDenylistPropertyInfo = SettingWireless
    attrGet = getSettingWirelessMacAddressDenylist
    attrSet = setSettingWirelessMacAddressDenylist
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessMacAddressDenylist
    attrClear = clearSettingWirelessMacAddressDenylist
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.macAddressDenylist"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:macAddressDenylist"
        })
#endif

-- VVV Prop "mac-address-randomization"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@mac-address-randomization@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWireless #macAddressRandomization
-- @
getSettingWirelessMacAddressRandomization :: (MonadIO m, IsSettingWireless o) => o -> m Word32
getSettingWirelessMacAddressRandomization :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWireless o) =>
o -> m Word32
getSettingWirelessMacAddressRandomization 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
"mac-address-randomization"

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

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

#if defined(ENABLE_OVERLOADING)
data SettingWirelessMacAddressRandomizationPropertyInfo
instance AttrInfo SettingWirelessMacAddressRandomizationPropertyInfo where
    type AttrAllowedOps SettingWirelessMacAddressRandomizationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingWirelessMacAddressRandomizationPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessMacAddressRandomizationPropertyInfo = (~) Word32
    type AttrTransferTypeConstraint SettingWirelessMacAddressRandomizationPropertyInfo = (~) Word32
    type AttrTransferType SettingWirelessMacAddressRandomizationPropertyInfo = Word32
    type AttrGetType SettingWirelessMacAddressRandomizationPropertyInfo = Word32
    type AttrLabel SettingWirelessMacAddressRandomizationPropertyInfo = "mac-address-randomization"
    type AttrOrigin SettingWirelessMacAddressRandomizationPropertyInfo = SettingWireless
    attrGet = getSettingWirelessMacAddressRandomization
    attrSet = setSettingWirelessMacAddressRandomization
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessMacAddressRandomization
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.macAddressRandomization"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:macAddressRandomization"
        })
#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSeenBssidsPropertyInfo
instance AttrInfo SettingWirelessSeenBssidsPropertyInfo where
    type AttrAllowedOps SettingWirelessSeenBssidsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessSeenBssidsPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessSeenBssidsPropertyInfo = (~) [T.Text]
    type AttrTransferTypeConstraint SettingWirelessSeenBssidsPropertyInfo = (~) [T.Text]
    type AttrTransferType SettingWirelessSeenBssidsPropertyInfo = [T.Text]
    type AttrGetType SettingWirelessSeenBssidsPropertyInfo = (Maybe [T.Text])
    type AttrLabel SettingWirelessSeenBssidsPropertyInfo = "seen-bssids"
    type AttrOrigin SettingWirelessSeenBssidsPropertyInfo = SettingWireless
    attrGet = getSettingWirelessSeenBssids
    attrSet = setSettingWirelessSeenBssids
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSeenBssids
    attrClear = clearSettingWirelessSeenBssids
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.seenBssids"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:seenBssids"
        })
#endif

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

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

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

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

-- | Set the value of the “@ssid@” 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' #ssid
-- @
clearSettingWirelessSsid :: (MonadIO m, IsSettingWireless o) => o -> m ()
clearSettingWirelessSsid :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWireless o) =>
o -> m ()
clearSettingWirelessSsid o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Bytes -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"ssid" (Maybe Bytes
forall a. Maybe a
Nothing :: Maybe GLib.Bytes.Bytes)

#if defined(ENABLE_OVERLOADING)
data SettingWirelessSsidPropertyInfo
instance AttrInfo SettingWirelessSsidPropertyInfo where
    type AttrAllowedOps SettingWirelessSsidPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingWirelessSsidPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessSsidPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferTypeConstraint SettingWirelessSsidPropertyInfo = (~) GLib.Bytes.Bytes
    type AttrTransferType SettingWirelessSsidPropertyInfo = GLib.Bytes.Bytes
    type AttrGetType SettingWirelessSsidPropertyInfo = GLib.Bytes.Bytes
    type AttrLabel SettingWirelessSsidPropertyInfo = "ssid"
    type AttrOrigin SettingWirelessSsidPropertyInfo = SettingWireless
    attrGet = getSettingWirelessSsid
    attrSet = setSettingWirelessSsid
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessSsid
    attrClear = clearSettingWirelessSsid
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.ssid"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:ssid"
        })
#endif

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

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

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

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

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

-- VVV Prop "wake-on-wlan"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@wake-on-wlan@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' settingWireless #wakeOnWlan
-- @
getSettingWirelessWakeOnWlan :: (MonadIO m, IsSettingWireless o) => o -> m Word32
getSettingWirelessWakeOnWlan :: forall (m :: * -> *) o.
(MonadIO m, IsSettingWireless o) =>
o -> m Word32
getSettingWirelessWakeOnWlan 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
"wake-on-wlan"

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

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

#if defined(ENABLE_OVERLOADING)
data SettingWirelessWakeOnWlanPropertyInfo
instance AttrInfo SettingWirelessWakeOnWlanPropertyInfo where
    type AttrAllowedOps SettingWirelessWakeOnWlanPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingWirelessWakeOnWlanPropertyInfo = IsSettingWireless
    type AttrSetTypeConstraint SettingWirelessWakeOnWlanPropertyInfo = (~) Word32
    type AttrTransferTypeConstraint SettingWirelessWakeOnWlanPropertyInfo = (~) Word32
    type AttrTransferType SettingWirelessWakeOnWlanPropertyInfo = Word32
    type AttrGetType SettingWirelessWakeOnWlanPropertyInfo = Word32
    type AttrLabel SettingWirelessWakeOnWlanPropertyInfo = "wake-on-wlan"
    type AttrOrigin SettingWirelessWakeOnWlanPropertyInfo = SettingWireless
    attrGet = getSettingWirelessWakeOnWlan
    attrSet = setSettingWirelessWakeOnWlan
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingWirelessWakeOnWlan
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingWireless.wakeOnWlan"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingWireless.html#g:attr:wakeOnWlan"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList SettingWireless
type instance O.AttributeList SettingWireless = SettingWirelessAttributeList
type SettingWirelessAttributeList = ('[ '("apIsolation", SettingWirelessApIsolationPropertyInfo), '("band", SettingWirelessBandPropertyInfo), '("bssid", SettingWirelessBssidPropertyInfo), '("channel", SettingWirelessChannelPropertyInfo), '("channelWidth", SettingWirelessChannelWidthPropertyInfo), '("clonedMacAddress", SettingWirelessClonedMacAddressPropertyInfo), '("generateMacAddressMask", SettingWirelessGenerateMacAddressMaskPropertyInfo), '("hidden", SettingWirelessHiddenPropertyInfo), '("macAddress", SettingWirelessMacAddressPropertyInfo), '("macAddressBlacklist", SettingWirelessMacAddressBlacklistPropertyInfo), '("macAddressDenylist", SettingWirelessMacAddressDenylistPropertyInfo), '("macAddressRandomization", SettingWirelessMacAddressRandomizationPropertyInfo), '("mode", SettingWirelessModePropertyInfo), '("mtu", SettingWirelessMtuPropertyInfo), '("name", NM.Setting.SettingNamePropertyInfo), '("powersave", SettingWirelessPowersavePropertyInfo), '("rate", SettingWirelessRatePropertyInfo), '("seenBssids", SettingWirelessSeenBssidsPropertyInfo), '("ssid", SettingWirelessSsidPropertyInfo), '("txPower", SettingWirelessTxPowerPropertyInfo), '("wakeOnWlan", SettingWirelessWakeOnWlanPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
settingWirelessApIsolation :: AttrLabelProxy "apIsolation"
settingWirelessApIsolation = AttrLabelProxy

settingWirelessBand :: AttrLabelProxy "band"
settingWirelessBand = AttrLabelProxy

settingWirelessBssid :: AttrLabelProxy "bssid"
settingWirelessBssid = AttrLabelProxy

settingWirelessChannel :: AttrLabelProxy "channel"
settingWirelessChannel = AttrLabelProxy

settingWirelessChannelWidth :: AttrLabelProxy "channelWidth"
settingWirelessChannelWidth = AttrLabelProxy

settingWirelessClonedMacAddress :: AttrLabelProxy "clonedMacAddress"
settingWirelessClonedMacAddress = AttrLabelProxy

settingWirelessGenerateMacAddressMask :: AttrLabelProxy "generateMacAddressMask"
settingWirelessGenerateMacAddressMask = AttrLabelProxy

settingWirelessHidden :: AttrLabelProxy "hidden"
settingWirelessHidden = AttrLabelProxy

settingWirelessMacAddress :: AttrLabelProxy "macAddress"
settingWirelessMacAddress = AttrLabelProxy

settingWirelessMacAddressBlacklist :: AttrLabelProxy "macAddressBlacklist"
settingWirelessMacAddressBlacklist = AttrLabelProxy

settingWirelessMacAddressDenylist :: AttrLabelProxy "macAddressDenylist"
settingWirelessMacAddressDenylist = AttrLabelProxy

settingWirelessMacAddressRandomization :: AttrLabelProxy "macAddressRandomization"
settingWirelessMacAddressRandomization = AttrLabelProxy

settingWirelessMode :: AttrLabelProxy "mode"
settingWirelessMode = AttrLabelProxy

settingWirelessMtu :: AttrLabelProxy "mtu"
settingWirelessMtu = AttrLabelProxy

settingWirelessPowersave :: AttrLabelProxy "powersave"
settingWirelessPowersave = AttrLabelProxy

settingWirelessRate :: AttrLabelProxy "rate"
settingWirelessRate = AttrLabelProxy

settingWirelessSeenBssids :: AttrLabelProxy "seenBssids"
settingWirelessSeenBssids = AttrLabelProxy

settingWirelessSsid :: AttrLabelProxy "ssid"
settingWirelessSsid = AttrLabelProxy

settingWirelessTxPower :: AttrLabelProxy "txPower"
settingWirelessTxPower = AttrLabelProxy

settingWirelessWakeOnWlan :: AttrLabelProxy "wakeOnWlan"
settingWirelessWakeOnWlan = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "nm_setting_wireless_new" nm_setting_wireless_new :: 
    IO (Ptr SettingWireless)

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

#if defined(ENABLE_OVERLOADING)
#endif

-- method SettingWireless::add_mac_blacklist_item
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "mac"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the MAC address string (hex-digits-and-colons notation) to denylist"
--                 , 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_add_mac_blacklist_item" nm_setting_wireless_add_mac_blacklist_item :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    CString ->                              -- mac : TBasicType TUTF8
    IO CInt

{-# DEPRECATED settingWirelessAddMacBlacklistItem ["(Since version 1.48.)","Use 'GI.NM.Objects.SettingWireless.settingWirelessAddMacDenylistItem' instead."] #-}
-- | Adds a new MAC address to the [SettingWireless:macAddressDenylist]("GI.NM.Objects.SettingWireless#g:attr:macAddressDenylist") property.
settingWirelessAddMacBlacklistItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> T.Text
    -- ^ /@mac@/: the MAC address string (hex-digits-and-colons notation) to denylist
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the MAC address was added; 'P.False' if the MAC address
    -- is invalid or was already present
settingWirelessAddMacBlacklistItem :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Text -> m Bool
settingWirelessAddMacBlacklistItem a
setting Text
mac = 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
mac' <- Text -> IO CString
textToCString Text
mac
    CInt
result <- Ptr SettingWireless -> CString -> IO CInt
nm_setting_wireless_add_mac_blacklist_item Ptr SettingWireless
setting' CString
mac'
    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
mac'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWireless::add_mac_denylist_item
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "mac"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the MAC address string (hex-digits-and-colons notation) to denylist"
--                 , 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_add_mac_denylist_item" nm_setting_wireless_add_mac_denylist_item :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    CString ->                              -- mac : TBasicType TUTF8
    IO CInt

-- | Adds a new MAC address to the [SettingWireless:macAddressDenylist]("GI.NM.Objects.SettingWireless#g:attr:macAddressDenylist") property.
-- 
-- /Since: 1.48/
settingWirelessAddMacDenylistItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> T.Text
    -- ^ /@mac@/: the MAC address string (hex-digits-and-colons notation) to denylist
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the MAC address was added; 'P.False' if the MAC address
    -- is invalid or was already present
settingWirelessAddMacDenylistItem :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Text -> m Bool
settingWirelessAddMacDenylistItem a
setting Text
mac = 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
mac' <- Text -> IO CString
textToCString Text
mac
    CInt
result <- Ptr SettingWireless -> CString -> IO CInt
nm_setting_wireless_add_mac_denylist_item Ptr SettingWireless
setting' CString
mac'
    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
mac'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWireless::add_seen_bssid
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "bssid"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the new BSSID to add to the list"
--                 , 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_add_seen_bssid" nm_setting_wireless_add_seen_bssid :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    CString ->                              -- bssid : TBasicType TUTF8
    IO CInt

-- | Adds a new Wi-Fi AP\'s BSSID to the previously seen BSSID list of the setting.
-- NetworkManager now tracks previously seen BSSIDs internally so this function
-- no longer has much use. Actually, changes you make using this function will
-- not be preserved.
settingWirelessAddSeenBssid ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> T.Text
    -- ^ /@bssid@/: the new BSSID to add to the list
    -> m Bool
    -- ^ __Returns:__ 'P.True' if /@bssid@/ was already known, 'P.False' if not
settingWirelessAddSeenBssid :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Text -> m Bool
settingWirelessAddSeenBssid a
setting Text
bssid = 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
bssid' <- Text -> IO CString
textToCString Text
bssid
    CInt
result <- Ptr SettingWireless -> CString -> IO CInt
nm_setting_wireless_add_seen_bssid Ptr SettingWireless
setting' CString
bssid'
    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
bssid'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWireless::ap_security_compatible
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "s_wireless"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #NMSettingWireless"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "s_wireless_sec"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "SettingWirelessSecurity" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #NMSettingWirelessSecurity or %NULL"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "ap_flags"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "80211ApFlags" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the %NM80211ApFlags of the given access point"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "ap_wpa"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "80211ApSecurityFlags" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the %NM80211ApSecurityFlags of the given access point's WPA\ncapabilities"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "ap_rsn"
--           , argType =
--               TInterface
--                 Name { namespace = "NM" , name = "80211ApSecurityFlags" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the %NM80211ApSecurityFlags of the given access point's WPA2/RSN\ncapabilities"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "ap_mode"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "80211Mode" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the 802.11 mode of the AP, either Ad-Hoc or Infrastructure"
--                 , 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_ap_security_compatible" nm_setting_wireless_ap_security_compatible :: 
    Ptr SettingWireless ->                  -- s_wireless : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    Ptr NM.SettingWirelessSecurity.SettingWirelessSecurity -> -- s_wireless_sec : TInterface (Name {namespace = "NM", name = "SettingWirelessSecurity"})
    CUInt ->                                -- ap_flags : TInterface (Name {namespace = "NM", name = "80211ApFlags"})
    CUInt ->                                -- ap_wpa : TInterface (Name {namespace = "NM", name = "80211ApSecurityFlags"})
    CUInt ->                                -- ap_rsn : TInterface (Name {namespace = "NM", name = "80211ApSecurityFlags"})
    CUInt ->                                -- ap_mode : TInterface (Name {namespace = "NM", name = "80211Mode"})
    IO CInt

-- | Given a t'GI.NM.Objects.SettingWireless.SettingWireless' and an optional t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity',
-- determine if the configuration given by the settings is compatible with
-- the security of an access point using that access point\'s capability flags
-- and mode.  Useful for clients that wish to filter a set of connections
-- against a set of access points and determine which connections are
-- compatible with which access points.
settingWirelessApSecurityCompatible ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a, NM.SettingWirelessSecurity.IsSettingWirelessSecurity b) =>
    a
    -- ^ /@sWireless@/: a t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> b
    -- ^ /@sWirelessSec@/: a t'GI.NM.Objects.SettingWirelessSecurity.SettingWirelessSecurity' or 'P.Nothing'
    -> [NM.Flags.NM80211ApFlags]
    -- ^ /@apFlags@/: the @/NM80211ApFlags/@ of the given access point
    -> [NM.Flags.NM80211ApSecurityFlags]
    -- ^ /@apWpa@/: the @/NM80211ApSecurityFlags/@ of the given access point\'s WPA
    -- capabilities
    -> [NM.Flags.NM80211ApSecurityFlags]
    -- ^ /@apRsn@/: the @/NM80211ApSecurityFlags/@ of the given access point\'s WPA2\/RSN
    -- capabilities
    -> NM.Enums.NM80211Mode
    -- ^ /@apMode@/: the 802.11 mode of the AP, either Ad-Hoc or Infrastructure
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the given settings are compatible with the access point\'s
    -- security flags and mode, 'P.False' if they are not.
settingWirelessApSecurityCompatible :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsSettingWireless a,
 IsSettingWirelessSecurity b) =>
a
-> b
-> [NM80211ApFlags]
-> [NM80211ApSecurityFlags]
-> [NM80211ApSecurityFlags]
-> NM80211Mode
-> m Bool
settingWirelessApSecurityCompatible a
sWireless b
sWirelessSec [NM80211ApFlags]
apFlags [NM80211ApSecurityFlags]
apWpa [NM80211ApSecurityFlags]
apRsn NM80211Mode
apMode = 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 SettingWireless
sWireless' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
sWireless
    Ptr SettingWirelessSecurity
sWirelessSec' <- b -> IO (Ptr SettingWirelessSecurity)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
sWirelessSec
    let apFlags' :: CUInt
apFlags' = [NM80211ApFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NM80211ApFlags]
apFlags
    let apWpa' :: CUInt
apWpa' = [NM80211ApSecurityFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NM80211ApSecurityFlags]
apWpa
    let apRsn' :: CUInt
apRsn' = [NM80211ApSecurityFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NM80211ApSecurityFlags]
apRsn
    let apMode' :: CUInt
apMode' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (NM80211Mode -> Int) -> NM80211Mode -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. NM80211Mode -> Int
forall a. Enum a => a -> Int
fromEnum) NM80211Mode
apMode
    CInt
result <- Ptr SettingWireless
-> Ptr SettingWirelessSecurity
-> CUInt
-> CUInt
-> CUInt
-> CUInt
-> IO CInt
nm_setting_wireless_ap_security_compatible Ptr SettingWireless
sWireless' Ptr SettingWirelessSecurity
sWirelessSec' CUInt
apFlags' CUInt
apWpa' CUInt
apRsn' CUInt
apMode'
    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
sWireless
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
sWirelessSec
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessApSecurityCompatibleMethodInfo
instance (signature ~ (b -> [NM.Flags.NM80211ApFlags] -> [NM.Flags.NM80211ApSecurityFlags] -> [NM.Flags.NM80211ApSecurityFlags] -> NM.Enums.NM80211Mode -> m Bool), MonadIO m, IsSettingWireless a, NM.SettingWirelessSecurity.IsSettingWirelessSecurity b) => O.OverloadedMethod SettingWirelessApSecurityCompatibleMethodInfo a signature where
    overloadedMethod = settingWirelessApSecurityCompatible

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


#endif

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

{-# DEPRECATED settingWirelessClearMacBlacklistItems ["(Since version 1.48.)","Use 'GI.NM.Objects.SettingWireless.settingWirelessClearMacDenylistItems' instead."] #-}
-- | Removes all denylisted MAC addresses.
settingWirelessClearMacBlacklistItems ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m ()
settingWirelessClearMacBlacklistItems :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m ()
settingWirelessClearMacBlacklistItems 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWireless -> IO ()
nm_setting_wireless_clear_mac_blacklist_items Ptr SettingWireless
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 SettingWirelessClearMacBlacklistItemsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessClearMacBlacklistItemsMethodInfo a signature where
    overloadedMethod = settingWirelessClearMacBlacklistItems

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


#endif

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

-- | Removes all denylisted MAC addresses.
-- 
-- /Since: 1.48/
settingWirelessClearMacDenylistItems ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m ()
settingWirelessClearMacDenylistItems :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m ()
settingWirelessClearMacDenylistItems 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWireless -> IO ()
nm_setting_wireless_clear_mac_denylist_items Ptr SettingWireless
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 SettingWirelessClearMacDenylistItemsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessClearMacDenylistItemsMethodInfo a signature where
    overloadedMethod = settingWirelessClearMacDenylistItems

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


#endif

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

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

-- | /No description available in the introspection data./
-- 
-- /Since: 1.28/
settingWirelessGetApIsolation ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m NM.Enums.Ternary
    -- ^ __Returns:__ the [SettingWireless:apIsolation]("GI.NM.Objects.SettingWireless#g:attr:apIsolation") property of the setting
settingWirelessGetApIsolation :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m Ternary
settingWirelessGetApIsolation a
setting = IO Ternary -> m Ternary
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Ternary -> m Ternary) -> IO Ternary -> m Ternary
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingWireless -> IO CInt
nm_setting_wireless_get_ap_isolation Ptr SettingWireless
setting'
    let result' :: Ternary
result' = (Int -> Ternary
forall a. Enum a => Int -> a
toEnum (Int -> Ternary) -> (CInt -> Int) -> CInt -> Ternary
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Ternary -> IO Ternary
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ternary
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessGetApIsolationMethodInfo
instance (signature ~ (m NM.Enums.Ternary), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetApIsolationMethodInfo a signature where
    overloadedMethod = settingWirelessGetApIsolation

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


#endif

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

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

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


#endif

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

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

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


#endif

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

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

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


#endif

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

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

-- | Returns the [SettingWireless:channelWidth]("GI.NM.Objects.SettingWireless#g:attr:channelWidth") property.
-- 
-- /Since: 1.50/
settingWirelessGetChannelWidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m NM.Enums.SettingWirelessChannelWidth
    -- ^ __Returns:__ the channel width
settingWirelessGetChannelWidth :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m SettingWirelessChannelWidth
settingWirelessGetChannelWidth a
setting = IO SettingWirelessChannelWidth -> m SettingWirelessChannelWidth
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SettingWirelessChannelWidth -> m SettingWirelessChannelWidth)
-> IO SettingWirelessChannelWidth -> m SettingWirelessChannelWidth
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr SettingWireless -> IO CUInt
nm_setting_wireless_get_channel_width Ptr SettingWireless
setting'
    let result' :: SettingWirelessChannelWidth
result' = (Int -> SettingWirelessChannelWidth
forall a. Enum a => Int -> a
toEnum (Int -> SettingWirelessChannelWidth)
-> (CUInt -> Int) -> CUInt -> SettingWirelessChannelWidth
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
    SettingWirelessChannelWidth -> IO SettingWirelessChannelWidth
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return SettingWirelessChannelWidth
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessGetChannelWidthMethodInfo
instance (signature ~ (m NM.Enums.SettingWirelessChannelWidth), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetChannelWidthMethodInfo a signature where
    overloadedMethod = settingWirelessGetChannelWidth

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


#endif

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

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

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


#endif

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

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

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


#endif

-- method SettingWireless::get_hidden
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , 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_get_hidden" nm_setting_wireless_get_hidden :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    IO CInt

-- | /No description available in the introspection data./
settingWirelessGetHidden ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m Bool
    -- ^ __Returns:__ the [SettingWireless:hidden]("GI.NM.Objects.SettingWireless#g:attr:hidden") property of the setting
settingWirelessGetHidden :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m Bool
settingWirelessGetHidden a
setting = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingWireless -> IO CInt
nm_setting_wireless_get_hidden Ptr SettingWireless
setting'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessGetHiddenMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetHiddenMethodInfo a signature where
    overloadedMethod = settingWirelessGetHidden

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


#endif

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

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

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


#endif

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

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

{-# DEPRECATED settingWirelessGetMacAddressBlacklist ["(Since version 1.48.)","Use 'GI.NM.Objects.SettingWireless.settingWirelessGetMacAddressDenylist' instead."] #-}
-- | /No description available in the introspection data./
settingWirelessGetMacAddressBlacklist ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m [T.Text]
    -- ^ __Returns:__ the [SettingWireless:macAddressBlacklist]("GI.NM.Objects.SettingWireless#g:attr:macAddressBlacklist") property of the setting
settingWirelessGetMacAddressBlacklist :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m [Text]
settingWirelessGetMacAddressBlacklist 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr CString
result <- Ptr SettingWireless -> IO (Ptr CString)
nm_setting_wireless_get_mac_address_blacklist Ptr SettingWireless
setting'
    Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessGetMacAddressBlacklist" Ptr CString
result
    [Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr 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 SettingWirelessGetMacAddressBlacklistMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetMacAddressBlacklistMethodInfo a signature where
    overloadedMethod = settingWirelessGetMacAddressBlacklist

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


#endif

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

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

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

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingWirelessGetMacAddressRandomizationMethodInfo
instance (signature ~ (m NM.Enums.SettingMacRandomization), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetMacAddressRandomizationMethodInfo a signature where
    overloadedMethod = settingWirelessGetMacAddressRandomization

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


#endif

-- method SettingWireless::get_mac_blacklist_item
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , 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 zero-based index of the MAC address entry"
--                 , 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_get_mac_blacklist_item" nm_setting_wireless_get_mac_blacklist_item :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    Word32 ->                               -- idx : TBasicType TUInt32
    IO CString

{-# DEPRECATED settingWirelessGetMacBlacklistItem ["(Since version 1.48.)","Use 'GI.NM.Objects.SettingWireless.settingWirelessGetMacDenylistItem' instead."] #-}
-- | Since 1.46, access at index \"len\" is allowed and returns NULL.
settingWirelessGetMacBlacklistItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> Word32
    -- ^ /@idx@/: the zero-based index of the MAC address entry
    -> m T.Text
    -- ^ __Returns:__ the denylisted MAC address string (hex-digits-and-colons notation)
    -- at index /@idx@/
settingWirelessGetMacBlacklistItem :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Word32 -> m Text
settingWirelessGetMacBlacklistItem 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWireless -> Word32 -> IO CString
nm_setting_wireless_get_mac_blacklist_item Ptr SettingWireless
setting' Word32
idx
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessGetMacBlacklistItem" 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 SettingWirelessGetMacBlacklistItemMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetMacBlacklistItemMethodInfo a signature where
    overloadedMethod = settingWirelessGetMacBlacklistItem

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


#endif

-- method SettingWireless::get_mac_denylist_item
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , 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 zero-based index of the MAC address entry"
--                 , 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_get_mac_denylist_item" nm_setting_wireless_get_mac_denylist_item :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    Word32 ->                               -- idx : TBasicType TUInt32
    IO CString

-- | /No description available in the introspection data./
-- 
-- /Since: 1.48/
settingWirelessGetMacDenylistItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> Word32
    -- ^ /@idx@/: the zero-based index of the MAC address entry
    -> m T.Text
    -- ^ __Returns:__ the denylisted MAC address string (hex-digits-and-colons notation)
    -- at index /@idx@/
settingWirelessGetMacDenylistItem :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Word32 -> m Text
settingWirelessGetMacDenylistItem 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWireless -> Word32 -> IO CString
nm_setting_wireless_get_mac_denylist_item Ptr SettingWireless
setting' Word32
idx
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessGetMacDenylistItem" 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 SettingWirelessGetMacDenylistItemMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetMacDenylistItemMethodInfo a signature where
    overloadedMethod = settingWirelessGetMacDenylistItem

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


#endif

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

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

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


#endif

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

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

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


#endif

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

{-# DEPRECATED settingWirelessGetNumMacBlacklistItems ["(Since version 1.48.)","Use 'GI.NM.Objects.SettingWireless.settingWirelessGetNumMacDenylistItems' instead."] #-}
-- | /No description available in the introspection data./
settingWirelessGetNumMacBlacklistItems ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m Word32
    -- ^ __Returns:__ the number of blacklist MAC addresses
settingWirelessGetNumMacBlacklistItems :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m Word32
settingWirelessGetNumMacBlacklistItems 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingWireless -> IO Word32
nm_setting_wireless_get_num_mac_blacklist_items Ptr SettingWireless
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 SettingWirelessGetNumMacBlacklistItemsMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetNumMacBlacklistItemsMethodInfo a signature where
    overloadedMethod = settingWirelessGetNumMacBlacklistItems

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


#endif

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

-- | /No description available in the introspection data./
-- 
-- /Since: 1.48/
settingWirelessGetNumMacDenylistItems ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m Word32
    -- ^ __Returns:__ the number of denylisted MAC addresses
settingWirelessGetNumMacDenylistItems :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m Word32
settingWirelessGetNumMacDenylistItems 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingWireless -> IO Word32
nm_setting_wireless_get_num_mac_denylist_items Ptr SettingWireless
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 SettingWirelessGetNumMacDenylistItemsMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetNumMacDenylistItemsMethodInfo a signature where
    overloadedMethod = settingWirelessGetNumMacDenylistItems

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


#endif

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

-- | /No description available in the introspection data./
settingWirelessGetNumSeenBssids ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m Word32
    -- ^ __Returns:__ the number of BSSIDs in the previously seen BSSID list
settingWirelessGetNumSeenBssids :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m Word32
settingWirelessGetNumSeenBssids 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingWireless -> IO Word32
nm_setting_wireless_get_num_seen_bssids Ptr SettingWireless
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 SettingWirelessGetNumSeenBssidsMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetNumSeenBssidsMethodInfo a signature where
    overloadedMethod = settingWirelessGetNumSeenBssids

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


#endif

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

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

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


#endif

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

{-# DEPRECATED settingWirelessGetRate ["(Since version 1.44)","This setting is not implemented and has no effect."] #-}
-- | /No description available in the introspection data./
settingWirelessGetRate ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m Word32
    -- ^ __Returns:__ the [SettingWireless:rate]("GI.NM.Objects.SettingWireless#g:attr:rate") property of the setting
settingWirelessGetRate :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m Word32
settingWirelessGetRate 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingWireless -> IO Word32
nm_setting_wireless_get_rate Ptr SettingWireless
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 SettingWirelessGetRateMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetRateMethodInfo a signature where
    overloadedMethod = settingWirelessGetRate

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


#endif

-- method SettingWireless::get_seen_bssid
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , 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 a BSSID in the previously seen BSSID 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_get_seen_bssid" nm_setting_wireless_get_seen_bssid :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    Word32 ->                               -- i : TBasicType TUInt32
    IO CString

-- | /No description available in the introspection data./
settingWirelessGetSeenBssid ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> Word32
    -- ^ /@i@/: index of a BSSID in the previously seen BSSID list
    -> m T.Text
    -- ^ __Returns:__ the BSSID at index /@i@/
settingWirelessGetSeenBssid :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Word32 -> m Text
settingWirelessGetSeenBssid 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingWireless -> Word32 -> IO CString
nm_setting_wireless_get_seen_bssid Ptr SettingWireless
setting' Word32
i
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessGetSeenBssid" 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 SettingWirelessGetSeenBssidMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetSeenBssidMethodInfo a signature where
    overloadedMethod = settingWirelessGetSeenBssid

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


#endif

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

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

-- | /No description available in the introspection data./
settingWirelessGetSsid ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m GLib.Bytes.Bytes
    -- ^ __Returns:__ the [SettingWireless:ssid]("GI.NM.Objects.SettingWireless#g:attr:ssid") property of the setting
settingWirelessGetSsid :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m Bytes
settingWirelessGetSsid a
setting = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr Bytes
result <- Ptr SettingWireless -> IO (Ptr Bytes)
nm_setting_wireless_get_ssid Ptr SettingWireless
setting'
    Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingWirelessGetSsid" Ptr Bytes
result
    Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Bytes -> IO Bytes
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessGetSsidMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetSsidMethodInfo a signature where
    overloadedMethod = settingWirelessGetSsid

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


#endif

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

{-# DEPRECATED settingWirelessGetTxPower ["(Since version 1.44)","This setting is not implemented and has no effect."] #-}
-- | /No description available in the introspection data./
settingWirelessGetTxPower ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m Word32
    -- ^ __Returns:__ the [SettingWireless:txPower]("GI.NM.Objects.SettingWireless#g:attr:txPower") property of the setting
settingWirelessGetTxPower :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m Word32
settingWirelessGetTxPower 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingWireless -> IO Word32
nm_setting_wireless_get_tx_power Ptr SettingWireless
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 SettingWirelessGetTxPowerMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetTxPowerMethodInfo a signature where
    overloadedMethod = settingWirelessGetTxPower

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


#endif

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

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

-- | Returns the Wake-on-WLAN options enabled for the connection
-- 
-- /Since: 1.12/
settingWirelessGetWakeOnWlan ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> m [NM.Flags.SettingWirelessWakeOnWLan]
    -- ^ __Returns:__ the Wake-on-WLAN options
settingWirelessGetWakeOnWlan :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> m [SettingWirelessWakeOnWLan]
settingWirelessGetWakeOnWlan a
setting = IO [SettingWirelessWakeOnWLan] -> m [SettingWirelessWakeOnWLan]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [SettingWirelessWakeOnWLan] -> m [SettingWirelessWakeOnWLan])
-> IO [SettingWirelessWakeOnWLan] -> m [SettingWirelessWakeOnWLan]
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CUInt
result <- Ptr SettingWireless -> IO CUInt
nm_setting_wireless_get_wake_on_wlan Ptr SettingWireless
setting'
    let result' :: [SettingWirelessWakeOnWLan]
result' = CUInt -> [SettingWirelessWakeOnWLan]
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
    [SettingWirelessWakeOnWLan] -> IO [SettingWirelessWakeOnWLan]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [SettingWirelessWakeOnWLan]
result'

#if defined(ENABLE_OVERLOADING)
data SettingWirelessGetWakeOnWlanMethodInfo
instance (signature ~ (m [NM.Flags.SettingWirelessWakeOnWLan]), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessGetWakeOnWlanMethodInfo a signature where
    overloadedMethod = settingWirelessGetWakeOnWlan

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


#endif

-- method SettingWireless::remove_mac_blacklist_item
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , 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 "index number of the MAC address"
--                 , 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_remove_mac_blacklist_item" nm_setting_wireless_remove_mac_blacklist_item :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    Word32 ->                               -- idx : TBasicType TUInt32
    IO ()

{-# DEPRECATED settingWirelessRemoveMacBlacklistItem ["(Since version 1.48.)","Use 'GI.NM.Objects.SettingWireless.settingWirelessRemoveMacDenylistItem' instead."] #-}
-- | Removes the MAC address at index /@idx@/ from the denylist.
settingWirelessRemoveMacBlacklistItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> Word32
    -- ^ /@idx@/: index number of the MAC address
    -> m ()
settingWirelessRemoveMacBlacklistItem :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Word32 -> m ()
settingWirelessRemoveMacBlacklistItem a
setting Word32
idx = 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWireless -> Word32 -> IO ()
nm_setting_wireless_remove_mac_blacklist_item Ptr SettingWireless
setting' Word32
idx
    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 SettingWirelessRemoveMacBlacklistItemMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessRemoveMacBlacklistItemMethodInfo a signature where
    overloadedMethod = settingWirelessRemoveMacBlacklistItem

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


#endif

-- method SettingWireless::remove_mac_blacklist_item_by_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "mac"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the MAC address string (hex-digits-and-colons notation) to remove from\nthe denylist"
--                 , 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_remove_mac_blacklist_item_by_value" nm_setting_wireless_remove_mac_blacklist_item_by_value :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    CString ->                              -- mac : TBasicType TUTF8
    IO CInt

{-# DEPRECATED settingWirelessRemoveMacBlacklistItemByValue ["(Since version 1.48.)","Use 'GI.NM.Objects.SettingWireless.settingWirelessRemoveMacDenylistItemByValue' instead."] #-}
-- | Removes the MAC address /@mac@/ from the denylist.
settingWirelessRemoveMacBlacklistItemByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> T.Text
    -- ^ /@mac@/: the MAC address string (hex-digits-and-colons notation) to remove from
    -- the denylist
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the MAC address was found and removed; 'P.False' if it was not.
settingWirelessRemoveMacBlacklistItemByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Text -> m Bool
settingWirelessRemoveMacBlacklistItemByValue a
setting Text
mac = 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
mac' <- Text -> IO CString
textToCString Text
mac
    CInt
result <- Ptr SettingWireless -> CString -> IO CInt
nm_setting_wireless_remove_mac_blacklist_item_by_value Ptr SettingWireless
setting' CString
mac'
    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
mac'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingWireless::remove_mac_denylist_item
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , 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 "index number of the MAC address"
--                 , 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_remove_mac_denylist_item" nm_setting_wireless_remove_mac_denylist_item :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    Word32 ->                               -- idx : TBasicType TUInt32
    IO ()

-- | Removes the MAC address at index /@idx@/ from the denylist.
-- 
-- /Since: 1.48/
settingWirelessRemoveMacDenylistItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> Word32
    -- ^ /@idx@/: index number of the MAC address
    -> m ()
settingWirelessRemoveMacDenylistItem :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Word32 -> m ()
settingWirelessRemoveMacDenylistItem a
setting Word32
idx = 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingWireless -> Word32 -> IO ()
nm_setting_wireless_remove_mac_denylist_item Ptr SettingWireless
setting' Word32
idx
    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 SettingWirelessRemoveMacDenylistItemMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSettingWireless a) => O.OverloadedMethod SettingWirelessRemoveMacDenylistItemMethodInfo a signature where
    overloadedMethod = settingWirelessRemoveMacDenylistItem

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


#endif

-- method SettingWireless::remove_mac_denylist_item_by_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingWireless" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingWireless"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "mac"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the MAC address string (hex-digits-and-colons notation) to remove from\nthe denylist"
--                 , 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_remove_mac_denylist_item_by_value" nm_setting_wireless_remove_mac_denylist_item_by_value :: 
    Ptr SettingWireless ->                  -- setting : TInterface (Name {namespace = "NM", name = "SettingWireless"})
    CString ->                              -- mac : TBasicType TUTF8
    IO CInt

-- | Removes the MAC address /@mac@/ from the denylist.
-- 
-- /Since: 1.48/
settingWirelessRemoveMacDenylistItemByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingWireless a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingWireless.SettingWireless'
    -> T.Text
    -- ^ /@mac@/: the MAC address string (hex-digits-and-colons notation) to remove from
    -- the denylist
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the MAC address was found and removed; 'P.False' if it was not.
settingWirelessRemoveMacDenylistItemByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingWireless a) =>
a -> Text -> m Bool
settingWirelessRemoveMacDenylistItemByValue a
setting Text
mac = 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 SettingWireless
setting' <- a -> IO (Ptr SettingWireless)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
mac' <- Text -> IO CString
textToCString Text
mac
    CInt
result <- Ptr SettingWireless -> CString -> IO CInt
nm_setting_wireless_remove_mac_denylist_item_by_value Ptr SettingWireless
setting' CString
mac'
    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
mac'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif