{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- General Connection Profile Settings

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

module GI.NM.Objects.SettingConnection
    ( 

-- * Exported types
    SettingConnection(..)                   ,
    IsSettingConnection                     ,
    toSettingConnection                     ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [addPermission]("GI.NM.Objects.SettingConnection#g:method:addPermission"), [addSecondary]("GI.NM.Objects.SettingConnection#g:method:addSecondary"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [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"), [isSlaveType]("GI.NM.Objects.SettingConnection#g:method:isSlaveType"), [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"), [permissionsUserAllowed]("GI.NM.Objects.SettingConnection#g:method:permissionsUserAllowed"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [removePermission]("GI.NM.Objects.SettingConnection#g:method:removePermission"), [removePermissionByValue]("GI.NM.Objects.SettingConnection#g:method:removePermissionByValue"), [removeSecondary]("GI.NM.Objects.SettingConnection#g:method:removeSecondary"), [removeSecondaryByValue]("GI.NM.Objects.SettingConnection#g:method:removeSecondaryByValue"), [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
-- [getAuthRetries]("GI.NM.Objects.SettingConnection#g:method:getAuthRetries"), [getAutoconnect]("GI.NM.Objects.SettingConnection#g:method:getAutoconnect"), [getAutoconnectPorts]("GI.NM.Objects.SettingConnection#g:method:getAutoconnectPorts"), [getAutoconnectPriority]("GI.NM.Objects.SettingConnection#g:method:getAutoconnectPriority"), [getAutoconnectRetries]("GI.NM.Objects.SettingConnection#g:method:getAutoconnectRetries"), [getAutoconnectSlaves]("GI.NM.Objects.SettingConnection#g:method:getAutoconnectSlaves"), [getConnectionType]("GI.NM.Objects.SettingConnection#g:method:getConnectionType"), [getController]("GI.NM.Objects.SettingConnection#g:method:getController"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDbusPropertyType]("GI.NM.Objects.Setting#g:method:getDbusPropertyType"), [getDnsOverTls]("GI.NM.Objects.SettingConnection#g:method:getDnsOverTls"), [getDownOnPoweroff]("GI.NM.Objects.SettingConnection#g:method:getDownOnPoweroff"), [getGatewayPingTimeout]("GI.NM.Objects.SettingConnection#g:method:getGatewayPingTimeout"), [getId]("GI.NM.Objects.SettingConnection#g:method:getId"), [getInterfaceName]("GI.NM.Objects.SettingConnection#g:method:getInterfaceName"), [getLldp]("GI.NM.Objects.SettingConnection#g:method:getLldp"), [getLlmnr]("GI.NM.Objects.SettingConnection#g:method:getLlmnr"), [getMaster]("GI.NM.Objects.SettingConnection#g:method:getMaster"), [getMdns]("GI.NM.Objects.SettingConnection#g:method:getMdns"), [getMetered]("GI.NM.Objects.SettingConnection#g:method:getMetered"), [getMptcpFlags]("GI.NM.Objects.SettingConnection#g:method:getMptcpFlags"), [getMudUrl]("GI.NM.Objects.SettingConnection#g:method:getMudUrl"), [getMultiConnect]("GI.NM.Objects.SettingConnection#g:method:getMultiConnect"), [getName]("GI.NM.Objects.Setting#g:method:getName"), [getNumPermissions]("GI.NM.Objects.SettingConnection#g:method:getNumPermissions"), [getNumSecondaries]("GI.NM.Objects.SettingConnection#g:method:getNumSecondaries"), [getPermission]("GI.NM.Objects.SettingConnection#g:method:getPermission"), [getPortType]("GI.NM.Objects.SettingConnection#g:method:getPortType"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getReadOnly]("GI.NM.Objects.SettingConnection#g:method:getReadOnly"), [getSecondary]("GI.NM.Objects.SettingConnection#g:method:getSecondary"), [getSecretFlags]("GI.NM.Objects.Setting#g:method:getSecretFlags"), [getSlaveType]("GI.NM.Objects.SettingConnection#g:method:getSlaveType"), [getStableId]("GI.NM.Objects.SettingConnection#g:method:getStableId"), [getTimestamp]("GI.NM.Objects.SettingConnection#g:method:getTimestamp"), [getUuid]("GI.NM.Objects.SettingConnection#g:method:getUuid"), [getWaitActivationDelay]("GI.NM.Objects.SettingConnection#g:method:getWaitActivationDelay"), [getWaitDeviceTimeout]("GI.NM.Objects.SettingConnection#g:method:getWaitDeviceTimeout"), [getZone]("GI.NM.Objects.SettingConnection#g:method:getZone").
-- 
-- ==== 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)
    ResolveSettingConnectionMethod          ,
#endif

-- ** addPermission #method:addPermission#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionAddPermissionMethodInfo,
#endif
    settingConnectionAddPermission          ,


-- ** addSecondary #method:addSecondary#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionAddSecondaryMethodInfo ,
#endif
    settingConnectionAddSecondary           ,


-- ** getAuthRetries #method:getAuthRetries#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetAuthRetriesMethodInfo,
#endif
    settingConnectionGetAuthRetries         ,


-- ** getAutoconnect #method:getAutoconnect#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetAutoconnectMethodInfo,
#endif
    settingConnectionGetAutoconnect         ,


-- ** getAutoconnectPorts #method:getAutoconnectPorts#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetAutoconnectPortsMethodInfo,
#endif
    settingConnectionGetAutoconnectPorts    ,


-- ** getAutoconnectPriority #method:getAutoconnectPriority#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetAutoconnectPriorityMethodInfo,
#endif
    settingConnectionGetAutoconnectPriority ,


-- ** getAutoconnectRetries #method:getAutoconnectRetries#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetAutoconnectRetriesMethodInfo,
#endif
    settingConnectionGetAutoconnectRetries  ,


-- ** getAutoconnectSlaves #method:getAutoconnectSlaves#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetAutoconnectSlavesMethodInfo,
#endif
    settingConnectionGetAutoconnectSlaves   ,


-- ** getConnectionType #method:getConnectionType#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetConnectionTypeMethodInfo,
#endif
    settingConnectionGetConnectionType      ,


-- ** getController #method:getController#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetControllerMethodInfo,
#endif
    settingConnectionGetController          ,


-- ** getDnsOverTls #method:getDnsOverTls#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetDnsOverTlsMethodInfo,
#endif
    settingConnectionGetDnsOverTls          ,


-- ** getDownOnPoweroff #method:getDownOnPoweroff#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetDownOnPoweroffMethodInfo,
#endif
    settingConnectionGetDownOnPoweroff      ,


-- ** getGatewayPingTimeout #method:getGatewayPingTimeout#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetGatewayPingTimeoutMethodInfo,
#endif
    settingConnectionGetGatewayPingTimeout  ,


-- ** getId #method:getId#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetIdMethodInfo        ,
#endif
    settingConnectionGetId                  ,


-- ** getInterfaceName #method:getInterfaceName#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetInterfaceNameMethodInfo,
#endif
    settingConnectionGetInterfaceName       ,


-- ** getLldp #method:getLldp#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetLldpMethodInfo      ,
#endif
    settingConnectionGetLldp                ,


-- ** getLlmnr #method:getLlmnr#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetLlmnrMethodInfo     ,
#endif
    settingConnectionGetLlmnr               ,


-- ** getMaster #method:getMaster#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetMasterMethodInfo    ,
#endif
    settingConnectionGetMaster              ,


-- ** getMdns #method:getMdns#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetMdnsMethodInfo      ,
#endif
    settingConnectionGetMdns                ,


-- ** getMetered #method:getMetered#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetMeteredMethodInfo   ,
#endif
    settingConnectionGetMetered             ,


-- ** getMptcpFlags #method:getMptcpFlags#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetMptcpFlagsMethodInfo,
#endif
    settingConnectionGetMptcpFlags          ,


-- ** getMudUrl #method:getMudUrl#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetMudUrlMethodInfo    ,
#endif
    settingConnectionGetMudUrl              ,


-- ** getMultiConnect #method:getMultiConnect#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetMultiConnectMethodInfo,
#endif
    settingConnectionGetMultiConnect        ,


-- ** getNumPermissions #method:getNumPermissions#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetNumPermissionsMethodInfo,
#endif
    settingConnectionGetNumPermissions      ,


-- ** getNumSecondaries #method:getNumSecondaries#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetNumSecondariesMethodInfo,
#endif
    settingConnectionGetNumSecondaries      ,


-- ** getPermission #method:getPermission#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetPermissionMethodInfo,
#endif
    settingConnectionGetPermission          ,


-- ** getPortType #method:getPortType#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetPortTypeMethodInfo  ,
#endif
    settingConnectionGetPortType            ,


-- ** getReadOnly #method:getReadOnly#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetReadOnlyMethodInfo  ,
#endif
    settingConnectionGetReadOnly            ,


-- ** getSecondary #method:getSecondary#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetSecondaryMethodInfo ,
#endif
    settingConnectionGetSecondary           ,


-- ** getSlaveType #method:getSlaveType#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetSlaveTypeMethodInfo ,
#endif
    settingConnectionGetSlaveType           ,


-- ** getStableId #method:getStableId#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetStableIdMethodInfo  ,
#endif
    settingConnectionGetStableId            ,


-- ** getTimestamp #method:getTimestamp#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetTimestampMethodInfo ,
#endif
    settingConnectionGetTimestamp           ,


-- ** getUuid #method:getUuid#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetUuidMethodInfo      ,
#endif
    settingConnectionGetUuid                ,


-- ** getWaitActivationDelay #method:getWaitActivationDelay#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetWaitActivationDelayMethodInfo,
#endif
    settingConnectionGetWaitActivationDelay ,


-- ** getWaitDeviceTimeout #method:getWaitDeviceTimeout#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetWaitDeviceTimeoutMethodInfo,
#endif
    settingConnectionGetWaitDeviceTimeout   ,


-- ** getZone #method:getZone#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGetZoneMethodInfo      ,
#endif
    settingConnectionGetZone                ,


-- ** isSlaveType #method:isSlaveType#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionIsSlaveTypeMethodInfo  ,
#endif
    settingConnectionIsSlaveType            ,


-- ** new #method:new#

    settingConnectionNew                    ,


-- ** permissionsUserAllowed #method:permissionsUserAllowed#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionPermissionsUserAllowedMethodInfo,
#endif
    settingConnectionPermissionsUserAllowed ,


-- ** removePermission #method:removePermission#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionRemovePermissionMethodInfo,
#endif
    settingConnectionRemovePermission       ,


-- ** removePermissionByValue #method:removePermissionByValue#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionRemovePermissionByValueMethodInfo,
#endif
    settingConnectionRemovePermissionByValue,


-- ** removeSecondary #method:removeSecondary#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionRemoveSecondaryMethodInfo,
#endif
    settingConnectionRemoveSecondary        ,


-- ** removeSecondaryByValue #method:removeSecondaryByValue#

#if defined(ENABLE_OVERLOADING)
    SettingConnectionRemoveSecondaryByValueMethodInfo,
#endif
    settingConnectionRemoveSecondaryByValue ,




 -- * Properties


-- ** authRetries #attr:authRetries#
-- | The number of retries for the authentication. Zero means to try indefinitely; -1 means
-- to use a global default. If the global default is not set, the authentication
-- retries for 3 times before failing the connection.
-- 
-- Currently, this only applies to 802-1x authentication.
-- 
-- /Since: 1.10/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionAuthRetriesPropertyInfo,
#endif
    constructSettingConnectionAuthRetries   ,
    getSettingConnectionAuthRetries         ,
    setSettingConnectionAuthRetries         ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionAuthRetries            ,
#endif


-- ** autoconnect #attr:autoconnect#
-- | Whether or not the connection should be automatically connected by
-- NetworkManager when the resources for the connection are available.
-- 'P.True' to automatically activate the connection, 'P.False' to require manual
-- intervention to activate the connection.
-- 
-- Autoconnect happens when the circumstances are suitable. That means for
-- example that the device is currently managed and not active. Autoconnect
-- thus never replaces or competes with an already active profile.
-- 
-- Note that autoconnect is not implemented for VPN profiles. See
-- [SettingConnection:secondaries]("GI.NM.Objects.SettingConnection#g:attr:secondaries") as an alternative to automatically
-- connect VPN profiles.
-- 
-- If multiple profiles are ready to autoconnect on the same device,
-- the one with the better \"connection.autoconnect-priority\" is chosen. If
-- the priorities are equal, then the most recently connected profile is activated.
-- If the profiles were not connected earlier or their
-- \"connection.timestamp\" is identical, the choice is undefined.
-- 
-- Depending on \"connection.multi-connect\", a profile can (auto)connect only
-- once at a time or multiple times.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionAutoconnectPropertyInfo,
#endif
    constructSettingConnectionAutoconnect   ,
    getSettingConnectionAutoconnect         ,
    setSettingConnectionAutoconnect         ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionAutoconnect            ,
#endif


-- ** autoconnectPorts #attr:autoconnectPorts#
-- | Whether or not ports of this connection should be automatically brought up
-- when NetworkManager activates this connection. This only has a real effect
-- for controller connections. The properties [SettingConnection:autoconnect]("GI.NM.Objects.SettingConnection#g:attr:autoconnect"),
-- [SettingConnection:autoconnectPriority]("GI.NM.Objects.SettingConnection#g:attr:autoconnectPriority") and [SettingConnection:autoconnectRetries]("GI.NM.Objects.SettingConnection#g:attr:autoconnectRetries")
-- are unrelated to this setting.
-- The permitted values are: 0: leave port connections untouched,
-- 1: activate all the port connections with this connection, -1: default.
-- If -1 (default) is set, global connection.autoconnect-ports is read to
-- determine the real value. If it is default as well, this fallbacks to 0.
-- 
-- /Since: 1.46/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionAutoconnectPortsPropertyInfo,
#endif
    constructSettingConnectionAutoconnectPorts,
    getSettingConnectionAutoconnectPorts    ,
    setSettingConnectionAutoconnectPorts    ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionAutoconnectPorts       ,
#endif


-- ** autoconnectPriority #attr:autoconnectPriority#
-- | The autoconnect priority in range -999 to 999. If the connection is set
-- to autoconnect, connections with higher priority will be preferred.
-- The higher number means higher priority. Defaults to 0.
-- Note that this property only matters if there are more than one candidate
-- profile to select for autoconnect. In case of equal priority, the profile
-- used most recently is chosen.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionAutoconnectPriorityPropertyInfo,
#endif
    constructSettingConnectionAutoconnectPriority,
    getSettingConnectionAutoconnectPriority ,
    setSettingConnectionAutoconnectPriority ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionAutoconnectPriority    ,
#endif


-- ** autoconnectRetries #attr:autoconnectRetries#
-- | The number of times a connection should be tried when autoactivating before
-- giving up. Zero means forever, -1 means the global default (4 times if not
-- overridden). Setting this to 1 means to try activation only once before
-- blocking autoconnect. Note that after a timeout, NetworkManager will try
-- to autoconnect again.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionAutoconnectRetriesPropertyInfo,
#endif
    constructSettingConnectionAutoconnectRetries,
    getSettingConnectionAutoconnectRetries  ,
    setSettingConnectionAutoconnectRetries  ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionAutoconnectRetries     ,
#endif


-- ** autoconnectSlaves #attr:autoconnectSlaves#
-- | Whether or not ports of this connection should be automatically brought up
-- when NetworkManager activates this connection. This only has a real effect
-- for controller connections. The properties [SettingConnection:autoconnect]("GI.NM.Objects.SettingConnection#g:attr:autoconnect"),
-- [SettingConnection:autoconnectPriority]("GI.NM.Objects.SettingConnection#g:attr:autoconnectPriority") and [SettingConnection:autoconnectRetries]("GI.NM.Objects.SettingConnection#g:attr:autoconnectRetries")
-- are unrelated to this setting.
-- The permitted values are: 0: leave port connections untouched,
-- 1: activate all the port connections with this connection, -1: default.
-- If -1 (default) is set, global connection.autoconnect-slaves is read to
-- determine the real value. If it is default as well, this fallbacks to 0.
-- 
-- Deprecated 1.46. Use [SettingConnection:autoconnectPorts]("GI.NM.Objects.SettingConnection#g:attr:autoconnectPorts") instead, this is just an alias.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionAutoconnectSlavesPropertyInfo,
#endif
    constructSettingConnectionAutoconnectSlaves,
    getSettingConnectionAutoconnectSlaves   ,
    setSettingConnectionAutoconnectSlaves   ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionAutoconnectSlaves      ,
#endif


-- ** controller #attr:controller#
-- | Interface name of the controller device or UUID of the controller connection.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionControllerPropertyInfo ,
#endif
    clearSettingConnectionController        ,
    constructSettingConnectionController    ,
    getSettingConnectionController          ,
    setSettingConnectionController          ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionController             ,
#endif


-- ** dnsOverTls #attr:dnsOverTls#
-- | Whether DNSOverTls (dns-over-tls) is enabled for the connection.
-- DNSOverTls is a technology which uses TLS to encrypt dns traffic.
-- 
-- The permitted values are: \"yes\" (2) use DNSOverTls and disabled fallback,
-- \"opportunistic\" (1) use DNSOverTls but allow fallback to unencrypted resolution,
-- \"no\" (0) don\'t ever use DNSOverTls.
-- If unspecified \"default\" depends on the plugin used. Systemd-resolved
-- uses global setting.
-- 
-- This feature requires a plugin which supports DNSOverTls. Otherwise, the
-- setting has no effect. One such plugin is dns-systemd-resolved.
-- 
-- /Since: 1.34/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionDnsOverTlsPropertyInfo ,
#endif
    constructSettingConnectionDnsOverTls    ,
    getSettingConnectionDnsOverTls          ,
    setSettingConnectionDnsOverTls          ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionDnsOverTls             ,
#endif


-- ** downOnPoweroff #attr:downOnPoweroff#
-- | Whether the connection will be brought down before the system is powered
-- off.  The default value is 'GI.NM.Enums.SettingConnectionDownOnPoweroffDefault'. When
-- the default value is specified, then the global value from
-- NetworkManager configuration is looked up, if not set, it is considered
-- as 'GI.NM.Enums.SettingConnectionDownOnPoweroffNo'.
-- 
-- /Since: 1.48/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionDownOnPoweroffPropertyInfo,
#endif
    constructSettingConnectionDownOnPoweroff,
    getSettingConnectionDownOnPoweroff      ,
    setSettingConnectionDownOnPoweroff      ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionDownOnPoweroff         ,
#endif


-- ** gatewayPingTimeout #attr:gatewayPingTimeout#
-- | If greater than zero, delay success of IP addressing until either the
-- timeout is reached, or an IP gateway replies to a ping.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionGatewayPingTimeoutPropertyInfo,
#endif
    constructSettingConnectionGatewayPingTimeout,
    getSettingConnectionGatewayPingTimeout  ,
    setSettingConnectionGatewayPingTimeout  ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionGatewayPingTimeout     ,
#endif


-- ** id #attr:id#
-- | A human readable unique identifier for the connection, like \"Work Wi-Fi\"
-- or \"T-Mobile 3G\".

#if defined(ENABLE_OVERLOADING)
    SettingConnectionIdPropertyInfo         ,
#endif
    clearSettingConnectionId                ,
    constructSettingConnectionId            ,
    getSettingConnectionId                  ,
    setSettingConnectionId                  ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionId                     ,
#endif


-- ** interfaceName #attr:interfaceName#
-- | The name of the network interface this connection is bound to. If not
-- set, then the connection can be attached to any interface of the
-- appropriate type (subject to restrictions imposed by other settings).
-- 
-- For software devices this specifies the name of the created device.
-- 
-- For connection types where interface names cannot easily be made
-- persistent (e.g. mobile broadband or USB Ethernet), this property should
-- not be used. Setting this property restricts the interfaces a connection
-- can be used with, and if interface names change or are reordered the
-- connection may be applied to the wrong interface.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionInterfaceNamePropertyInfo,
#endif
    clearSettingConnectionInterfaceName     ,
    constructSettingConnectionInterfaceName ,
    getSettingConnectionInterfaceName       ,
    setSettingConnectionInterfaceName       ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionInterfaceName          ,
#endif


-- ** lldp #attr:lldp#
-- | Whether LLDP is enabled for the connection.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionLldpPropertyInfo       ,
#endif
    constructSettingConnectionLldp          ,
    getSettingConnectionLldp                ,
    setSettingConnectionLldp                ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionLldp                   ,
#endif


-- ** llmnr #attr:llmnr#
-- | Whether Link-Local Multicast Name Resolution (LLMNR) is enabled
-- for the connection. LLMNR is a protocol based on the Domain Name
-- System (DNS) packet format that allows both IPv4 and IPv6 hosts
-- to perform name resolution for hosts on the same local link.
-- 
-- The permitted values are: \"yes\" (2) register hostname and resolving
-- for the connection, \"no\" (0) disable LLMNR for the interface, \"resolve\"
-- (1) do not register hostname but allow resolving of LLMNR host names
-- If unspecified, \"default\" ultimately depends on the DNS plugin (which
-- for systemd-resolved currently means \"yes\").
-- 
-- This feature requires a plugin which supports LLMNR. Otherwise, the
-- setting has no effect. One such plugin is dns-systemd-resolved.
-- 
-- /Since: 1.14/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionLlmnrPropertyInfo      ,
#endif
    constructSettingConnectionLlmnr         ,
    getSettingConnectionLlmnr               ,
    setSettingConnectionLlmnr               ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionLlmnr                  ,
#endif


-- ** master #attr:master#
-- | Interface name of the controller device or UUID of the controller connection.
-- 
-- Deprecated 1.46. Use [SettingConnection:controller]("GI.NM.Objects.SettingConnection#g:attr:controller") instead, this is just an alias.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionMasterPropertyInfo     ,
#endif
    clearSettingConnectionMaster            ,
    constructSettingConnectionMaster        ,
    getSettingConnectionMaster              ,
    setSettingConnectionMaster              ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionMaster                 ,
#endif


-- ** mdns #attr:mdns#
-- | Whether mDNS is enabled for the connection.
-- 
-- The permitted values are: \"yes\" (2) register hostname and resolving
-- for the connection, \"no\" (0) disable mDNS for the interface, \"resolve\"
-- (1) do not register hostname but allow resolving of mDNS host names
-- and \"default\" (-1) to allow lookup of a global default in NetworkManager.conf.
-- If unspecified, \"default\" ultimately depends on the DNS plugin.
-- 
-- This feature requires a plugin which supports mDNS. Otherwise, the
-- setting has no effect. Currently the only supported DNS plugin is
-- systemd-resolved. For systemd-resolved, the default is configurable via
-- MulticastDNS= setting in resolved.conf.
-- 
-- /Since: 1.12/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionMdnsPropertyInfo       ,
#endif
    constructSettingConnectionMdns          ,
    getSettingConnectionMdns                ,
    setSettingConnectionMdns                ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionMdns                   ,
#endif


-- ** metered #attr:metered#
-- | Whether the connection is metered.
-- 
-- When updating this property on a currently activated connection,
-- the change takes effect immediately.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionMeteredPropertyInfo    ,
#endif
    constructSettingConnectionMetered       ,
    getSettingConnectionMetered             ,
    setSettingConnectionMetered             ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionMetered                ,
#endif


-- ** mptcpFlags #attr:mptcpFlags#
-- | Whether to configure MPTCP endpoints and the address flags.
-- If MPTCP is enabled in NetworkManager, it will configure the
-- addresses of the interface as MPTCP endpoints. Note that
-- IPv4 loopback addresses (127.0.0.0\/8), IPv4 link local
-- addresses (169.254.0.0\/16), the IPv6 loopback address ([1](#g:signal:1)),
-- IPv6 link local addresses (fe80::\/10), IPv6 unique
-- local addresses (ULA, fc00::\/7) and IPv6 privacy extension addresses
-- (rfc3041, ipv6.ip6-privacy) will be excluded from being
-- configured as endpoints.
-- 
-- If \"disabled\" (0x1), MPTCP handling for the interface is disabled and
-- no endpoints are registered.
-- 
-- The \"enabled\" (0x2) flag means that MPTCP handling is enabled.
-- This flag can also be implied from the presence of other flags.
-- 
-- Even when enabled, MPTCP handling will by default still be disabled
-- unless \"\/proc\/sys\/net\/mptcp\/enabled\" sysctl is on. NetworkManager
-- does not change the sysctl and this is up to the administrator
-- or distribution. To configure endpoints even if the sysctl is
-- disabled, \"also-without-sysctl\" (0x4) flag can be used. In that case,
-- NetworkManager doesn\'t look at the sysctl and configures endpoints
-- regardless.
-- 
-- Even when enabled, NetworkManager will only configure MPTCP endpoints
-- for a certain address family, if there is a unicast default route (0.0.0.0\/0
-- or ::\/0) in the main routing table. The flag \"also-without-default-route\"
-- (0x8) can override that.
-- 
-- When MPTCP handling is enabled then endpoints are configured with
-- the specified address flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40),
-- \"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about the flags.
-- 
-- If the flags are zero (0x0), the global connection default from NetworkManager.conf is
-- honored. If still unspecified, the fallback is \"enabled,subflow\".
-- Note that this means that MPTCP is by default done depending on the
-- \"\/proc\/sys\/net\/mptcp\/enabled\" sysctl.
-- 
-- NetworkManager does not change the MPTCP limits nor enable MPTCP via
-- \"\/proc\/sys\/net\/mptcp\/enabled\". That is a host configuration which the
-- admin can change via sysctl and ip-mptcp.
-- 
-- Strict reverse path filtering (rp_filter) breaks many MPTCP use cases, so when
-- MPTCP handling for IPv4 addresses on the interface is enabled, NetworkManager would
-- loosen the strict reverse path filtering (1) to the loose setting (2).
-- 
-- /Since: 1.40/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionMptcpFlagsPropertyInfo ,
#endif
    constructSettingConnectionMptcpFlags    ,
    getSettingConnectionMptcpFlags          ,
    setSettingConnectionMptcpFlags          ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionMptcpFlags             ,
#endif


-- ** mudUrl #attr:mudUrl#
-- | If configured, set to a Manufacturer Usage Description (MUD) URL that points
-- to manufacturer-recommended network policies for IoT devices. It is transmitted
-- as a DHCPv4 or DHCPv6 option. The value must be a valid URL starting with \"https:\/\/\".
-- 
-- The special value \"none\" is allowed to indicate that no MUD URL is used.
-- 
-- If the per-profile value is unspecified (the default), a global connection default gets
-- consulted. If still unspecified, the ultimate default is \"none\".
-- 
-- /Since: 1.26/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionMudUrlPropertyInfo     ,
#endif
    clearSettingConnectionMudUrl            ,
    constructSettingConnectionMudUrl        ,
    getSettingConnectionMudUrl              ,
    setSettingConnectionMudUrl              ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionMudUrl                 ,
#endif


-- ** multiConnect #attr:multiConnect#
-- | Specifies whether the profile can be active multiple times at a particular
-- moment. The value is of type t'GI.NM.Enums.ConnectionMultiConnect'.
-- 
-- /Since: 1.14/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionMultiConnectPropertyInfo,
#endif
    constructSettingConnectionMultiConnect  ,
    getSettingConnectionMultiConnect        ,
    setSettingConnectionMultiConnect        ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionMultiConnect           ,
#endif


-- ** permissions #attr:permissions#
-- | An array of strings defining what access a given user has to this
-- connection.  If this is 'P.Nothing' or empty, all users are allowed to access
-- this connection; otherwise users are allowed if and only if they are in
-- this list.  When this is not empty, the connection can be active only when
-- one of the specified users is logged into an active session.  Each entry
-- is of the form \"[type]:[id]:[reserved]\"; for example, \"user:dcbw:blah\".
-- 
-- At this time only the \"user\" [type] is allowed.  Any other values are
-- ignored and reserved for future use.  [id] is the username that this
-- permission refers to, which may not contain the \":\" character. Any
-- [reserved] information present must be ignored and is reserved for future
-- use.  All of [type], [id], and [reserved] must be valid UTF-8.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionPermissionsPropertyInfo,
#endif
    clearSettingConnectionPermissions       ,
    constructSettingConnectionPermissions   ,
    getSettingConnectionPermissions         ,
    setSettingConnectionPermissions         ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionPermissions            ,
#endif


-- ** portType #attr:portType#
-- | Setting name of the device type of this port\'s controller connection (eg,
-- 'GI.NM.Constants.SETTING_BOND_SETTING_NAME'), or 'P.Nothing' if this connection is not a
-- port.
-- 
-- /Since: 1.46/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionPortTypePropertyInfo   ,
#endif
    clearSettingConnectionPortType          ,
    constructSettingConnectionPortType      ,
    getSettingConnectionPortType            ,
    setSettingConnectionPortType            ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionPortType               ,
#endif


-- ** readOnly #attr:readOnly#
-- | This property is deprecated and has no meaning.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionReadOnlyPropertyInfo   ,
#endif
    constructSettingConnectionReadOnly      ,
    getSettingConnectionReadOnly            ,
    setSettingConnectionReadOnly            ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionReadOnly               ,
#endif


-- ** secondaries #attr:secondaries#
-- | List of connection UUIDs that should be activated when the base
-- connection itself is activated. Currently, only VPN connections are
-- supported.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionSecondariesPropertyInfo,
#endif
    clearSettingConnectionSecondaries       ,
    constructSettingConnectionSecondaries   ,
    getSettingConnectionSecondaries         ,
    setSettingConnectionSecondaries         ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionSecondaries            ,
#endif


-- ** slaveType #attr:slaveType#
-- | Setting name of the device type of this port\'s controller connection (eg,
-- 'GI.NM.Constants.SETTING_BOND_SETTING_NAME'), or 'P.Nothing' if this connection is not a
-- port.
-- 
-- Deprecated 1.46. Use [SettingConnection:portType]("GI.NM.Objects.SettingConnection#g:attr:portType") instead, this is just an alias.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionSlaveTypePropertyInfo  ,
#endif
    clearSettingConnectionSlaveType         ,
    constructSettingConnectionSlaveType     ,
    getSettingConnectionSlaveType           ,
    setSettingConnectionSlaveType           ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionSlaveType              ,
#endif


-- ** stableId #attr:stableId#
-- | This represents the identity of the connection used for various purposes.
-- It allows to configure multiple profiles to share the identity. Also,
-- the stable-id can contain placeholders that are substituted dynamically and
-- deterministically depending on the context.
-- 
-- The stable-id is used for generating IPv6 stable private addresses with
-- ipv6.addr-gen-mode=stable-privacy. It is also used to seed the generated
-- cloned MAC address for ethernet.cloned-mac-address=stable and
-- wifi.cloned-mac-address=stable. It is also used to derive the DHCP
-- client identifier with ipv4.dhcp-client-id=stable, the DHCPv6 DUID with
-- ipv6.dhcp-duid=stable-[llt,ll,uuid] and the DHCP IAID with
-- ipv4.iaid=stable and ipv6.iaid=stable.
-- 
-- Note that depending on the context where it is used, other parameters are
-- also seeded into the generation algorithm. For example, a per-host key
-- is commonly also included, so that different systems end up generating
-- different IDs. Or with ipv6.addr-gen-mode=stable-privacy, also the device\'s
-- name is included, so that different interfaces yield different addresses.
-- The per-host key is the identity of your machine and stored in \/var\/lib\/NetworkManager\/secret_key.
-- See NetworkManager(8) manual about the secret-key and the host identity.
-- 
-- The \'$\' character is treated special to perform dynamic substitutions at
-- activation time. Currently, supported are \"${CONNECTION}\", \"${DEVICE}\",
-- \"${MAC}\", \"${NETWORK_SSID}\", \"${BOOT}\", \"${RANDOM}\".  These effectively
-- create unique IDs per-connection, per-device, per-SSID, per-boot, or
-- every time.  The \"${CONNECTION}\" uses the profile\'s connection.uuid, the
-- \"${DEVICE}\" uses the interface name of the device and \"${MAC}\" the
-- permanent MAC address of the device. \"${NETWORK_SSID}\" uses the SSID for
-- Wi-Fi networks and falls back to \"${CONNECTION}\" on other networks. Any
-- unrecognized patterns following \'$\' are treated verbatim, however are
-- reserved for future use. You are thus advised to avoid \'$\' or escape it
-- as \"$$\".  For example, set it to \"${CONNECTION}-${BOOT}-${DEVICE}\" to
-- create a unique id for this connection that changes with every reboot
-- and differs depending on the interface where the profile activates.
-- 
-- If the value is unset, a global connection default is consulted. If the
-- value is still unset, the default is \"default${CONNECTION}\" go generate
-- an ID unique per connection profile.
-- 
-- /Since: 1.4/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionStableIdPropertyInfo   ,
#endif
    clearSettingConnectionStableId          ,
    constructSettingConnectionStableId      ,
    getSettingConnectionStableId            ,
    setSettingConnectionStableId            ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionStableId               ,
#endif


-- ** timestamp #attr:timestamp#
-- | The time, in seconds since the Unix Epoch, that the connection was last
-- _successfully_ fully activated.
-- 
-- NetworkManager updates the connection timestamp periodically when the
-- connection is active to ensure that an active connection has the latest
-- timestamp. The property is only meant for reading (changes to this
-- property will not be preserved).

#if defined(ENABLE_OVERLOADING)
    SettingConnectionTimestampPropertyInfo  ,
#endif
    constructSettingConnectionTimestamp     ,
    getSettingConnectionTimestamp           ,
    setSettingConnectionTimestamp           ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionTimestamp              ,
#endif


-- ** type #attr:type#
-- | Base type of the connection. For hardware-dependent connections, should
-- contain the setting name of the hardware-type specific setting (ie,
-- \"802-3-ethernet\" or \"802-11-wireless\" or \"bluetooth\", etc), and for
-- non-hardware dependent connections like VPN or otherwise, should contain
-- the setting name of that setting type (ie, \"vpn\" or \"bridge\", etc).

#if defined(ENABLE_OVERLOADING)
    SettingConnectionTypePropertyInfo       ,
#endif
    clearSettingConnectionType              ,
    constructSettingConnectionType          ,
    getSettingConnectionType                ,
    setSettingConnectionType                ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionType                   ,
#endif


-- ** uuid #attr:uuid#
-- | A universally unique identifier for the connection, for example generated
-- with libuuid.  It should be assigned when the connection is created, and
-- never changed as long as the connection still applies to the same
-- network.  For example, it should not be changed when the
-- [SettingConnection:id]("GI.NM.Objects.SettingConnection#g:attr:id") property or t'GI.NM.Objects.SettingIP4Config.SettingIP4Config' changes, but
-- might need to be re-created when the Wi-Fi SSID, mobile broadband network
-- provider, or [SettingConnection:type]("GI.NM.Objects.SettingConnection#g:attr:type") property changes.
-- 
-- The UUID must be in the format \"2815492f-7e56-435e-b2e9-246bd7cdc664\"
-- (ie, contains only hexadecimal characters and \"-\").  A suitable UUID may
-- be generated by 'GI.NM.Functions.utilsUuidGenerate' or
-- @/nm_uuid_generate_from_string_str()/@.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionUuidPropertyInfo       ,
#endif
    clearSettingConnectionUuid              ,
    constructSettingConnectionUuid          ,
    getSettingConnectionUuid                ,
    setSettingConnectionUuid                ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionUuid                   ,
#endif


-- ** waitActivationDelay #attr:waitActivationDelay#
-- | Time in milliseconds to wait for connection to be considered activated.
-- The wait will start after the pre-up dispatcher event.
-- 
-- The value 0 means no wait time. The default value is -1, which
-- currently has the same meaning as no wait time.
-- 
-- /Since: 1.40/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionWaitActivationDelayPropertyInfo,
#endif
    constructSettingConnectionWaitActivationDelay,
    getSettingConnectionWaitActivationDelay ,
    setSettingConnectionWaitActivationDelay ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionWaitActivationDelay    ,
#endif


-- ** waitDeviceTimeout #attr:waitDeviceTimeout#
-- | Timeout in milliseconds to wait for device at startup.
-- During boot, devices may take a while to be detected by the driver.
-- This property will cause to delay NetworkManager-wait-online.service
-- and nm-online to give the device a chance to appear. This works by
-- waiting for the given timeout until a compatible device for the
-- profile is available and managed.
-- 
-- The value 0 means no wait time. The default value is -1, which
-- currently has the same meaning as no wait time.
-- 
-- /Since: 1.20/

#if defined(ENABLE_OVERLOADING)
    SettingConnectionWaitDeviceTimeoutPropertyInfo,
#endif
    constructSettingConnectionWaitDeviceTimeout,
    getSettingConnectionWaitDeviceTimeout   ,
    setSettingConnectionWaitDeviceTimeout   ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionWaitDeviceTimeout      ,
#endif


-- ** zone #attr:zone#
-- | The trust level of a the connection.  Free form case-insensitive string
-- (for example \"Home\", \"Work\", \"Public\").  'P.Nothing' or unspecified zone means
-- the connection will be placed in the default zone as defined by the
-- firewall.
-- 
-- When updating this property on a currently activated connection,
-- the change takes effect immediately.

#if defined(ENABLE_OVERLOADING)
    SettingConnectionZonePropertyInfo       ,
#endif
    clearSettingConnectionZone              ,
    constructSettingConnectionZone          ,
    getSettingConnectionZone                ,
    setSettingConnectionZone                ,
#if defined(ENABLE_OVERLOADING)
    settingConnectionZone                   ,
#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.SettingDcb as NM.SettingDcb
import {-# SOURCE #-} qualified GI.NM.Objects.SettingDummy as NM.SettingDummy
import {-# SOURCE #-} qualified GI.NM.Objects.SettingGeneric as NM.SettingGeneric
import {-# SOURCE #-} qualified GI.NM.Objects.SettingGsm as NM.SettingGsm
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIP4Config as NM.SettingIP4Config
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIP6Config as NM.SettingIP6Config
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIPConfig as NM.SettingIPConfig
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIPTunnel as NM.SettingIPTunnel
import {-# SOURCE #-} qualified GI.NM.Objects.SettingInfiniband as NM.SettingInfiniband
import {-# SOURCE #-} qualified GI.NM.Objects.SettingMacsec as NM.SettingMacsec
import {-# SOURCE #-} qualified GI.NM.Objects.SettingMacvlan as NM.SettingMacvlan
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOlpcMesh as NM.SettingOlpcMesh
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsBridge as NM.SettingOvsBridge
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsInterface as NM.SettingOvsInterface
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsPatch as NM.SettingOvsPatch
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsPort as NM.SettingOvsPort
import {-# SOURCE #-} qualified GI.NM.Objects.SettingPpp as NM.SettingPpp
import {-# SOURCE #-} qualified GI.NM.Objects.SettingPppoe as NM.SettingPppoe
import {-# SOURCE #-} qualified GI.NM.Objects.SettingProxy as NM.SettingProxy
import {-# SOURCE #-} qualified GI.NM.Objects.SettingSerial as NM.SettingSerial
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTCConfig as NM.SettingTCConfig
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTeam as NM.SettingTeam
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTeamPort as NM.SettingTeamPort
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTun as NM.SettingTun
import {-# SOURCE #-} qualified GI.NM.Objects.SettingVlan as NM.SettingVlan
import {-# SOURCE #-} qualified GI.NM.Objects.SettingVpn as NM.SettingVpn
import {-# SOURCE #-} qualified GI.NM.Objects.SettingVxlan as NM.SettingVxlan
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWimax as NM.SettingWimax
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWired as NM.SettingWired
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWireless as NM.SettingWireless
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWirelessSecurity as NM.SettingWirelessSecurity
import {-# SOURCE #-} qualified GI.NM.Structs.BridgeVlan as NM.BridgeVlan
import {-# SOURCE #-} qualified GI.NM.Structs.IPAddress as NM.IPAddress
import {-# SOURCE #-} qualified GI.NM.Structs.IPRoute as NM.IPRoute
import {-# SOURCE #-} qualified GI.NM.Structs.IPRoutingRule as NM.IPRoutingRule
import {-# SOURCE #-} qualified GI.NM.Structs.Range as NM.Range
import {-# SOURCE #-} qualified GI.NM.Structs.TCAction as NM.TCAction
import {-# SOURCE #-} qualified GI.NM.Structs.TCQdisc as NM.TCQdisc
import {-# SOURCE #-} qualified GI.NM.Structs.TCTfilter as NM.TCTfilter
import {-# SOURCE #-} qualified GI.NM.Structs.TeamLinkWatcher as NM.TeamLinkWatcher
import {-# SOURCE #-} qualified GI.NM.Structs.VariantAttributeSpec as NM.VariantAttributeSpec

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

#endif

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

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

foreign import ccall "nm_setting_connection_get_type"
    c_nm_setting_connection_get_type :: IO B.Types.GType

instance B.Types.TypedObject SettingConnection where
    glibType :: IO GType
glibType = IO GType
c_nm_setting_connection_get_type

instance B.Types.GObject SettingConnection

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

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

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

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

#if defined(ENABLE_OVERLOADING)
type family ResolveSettingConnectionMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveSettingConnectionMethod "addPermission" o = SettingConnectionAddPermissionMethodInfo
    ResolveSettingConnectionMethod "addSecondary" o = SettingConnectionAddSecondaryMethodInfo
    ResolveSettingConnectionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveSettingConnectionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveSettingConnectionMethod "compare" o = NM.Setting.SettingCompareMethodInfo
    ResolveSettingConnectionMethod "diff" o = NM.Setting.SettingDiffMethodInfo
    ResolveSettingConnectionMethod "duplicate" o = NM.Setting.SettingDuplicateMethodInfo
    ResolveSettingConnectionMethod "enumerateValues" o = NM.Setting.SettingEnumerateValuesMethodInfo
    ResolveSettingConnectionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveSettingConnectionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveSettingConnectionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveSettingConnectionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveSettingConnectionMethod "isSlaveType" o = SettingConnectionIsSlaveTypeMethodInfo
    ResolveSettingConnectionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveSettingConnectionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveSettingConnectionMethod "optionClearByName" o = NM.Setting.SettingOptionClearByNameMethodInfo
    ResolveSettingConnectionMethod "optionGet" o = NM.Setting.SettingOptionGetMethodInfo
    ResolveSettingConnectionMethod "optionGetAllNames" o = NM.Setting.SettingOptionGetAllNamesMethodInfo
    ResolveSettingConnectionMethod "optionGetBoolean" o = NM.Setting.SettingOptionGetBooleanMethodInfo
    ResolveSettingConnectionMethod "optionGetUint32" o = NM.Setting.SettingOptionGetUint32MethodInfo
    ResolveSettingConnectionMethod "optionSet" o = NM.Setting.SettingOptionSetMethodInfo
    ResolveSettingConnectionMethod "optionSetBoolean" o = NM.Setting.SettingOptionSetBooleanMethodInfo
    ResolveSettingConnectionMethod "optionSetUint32" o = NM.Setting.SettingOptionSetUint32MethodInfo
    ResolveSettingConnectionMethod "permissionsUserAllowed" o = SettingConnectionPermissionsUserAllowedMethodInfo
    ResolveSettingConnectionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveSettingConnectionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveSettingConnectionMethod "removePermission" o = SettingConnectionRemovePermissionMethodInfo
    ResolveSettingConnectionMethod "removePermissionByValue" o = SettingConnectionRemovePermissionByValueMethodInfo
    ResolveSettingConnectionMethod "removeSecondary" o = SettingConnectionRemoveSecondaryMethodInfo
    ResolveSettingConnectionMethod "removeSecondaryByValue" o = SettingConnectionRemoveSecondaryByValueMethodInfo
    ResolveSettingConnectionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveSettingConnectionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveSettingConnectionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveSettingConnectionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveSettingConnectionMethod "toString" o = NM.Setting.SettingToStringMethodInfo
    ResolveSettingConnectionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveSettingConnectionMethod "verify" o = NM.Setting.SettingVerifyMethodInfo
    ResolveSettingConnectionMethod "verifySecrets" o = NM.Setting.SettingVerifySecretsMethodInfo
    ResolveSettingConnectionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveSettingConnectionMethod "getAuthRetries" o = SettingConnectionGetAuthRetriesMethodInfo
    ResolveSettingConnectionMethod "getAutoconnect" o = SettingConnectionGetAutoconnectMethodInfo
    ResolveSettingConnectionMethod "getAutoconnectPorts" o = SettingConnectionGetAutoconnectPortsMethodInfo
    ResolveSettingConnectionMethod "getAutoconnectPriority" o = SettingConnectionGetAutoconnectPriorityMethodInfo
    ResolveSettingConnectionMethod "getAutoconnectRetries" o = SettingConnectionGetAutoconnectRetriesMethodInfo
    ResolveSettingConnectionMethod "getAutoconnectSlaves" o = SettingConnectionGetAutoconnectSlavesMethodInfo
    ResolveSettingConnectionMethod "getConnectionType" o = SettingConnectionGetConnectionTypeMethodInfo
    ResolveSettingConnectionMethod "getController" o = SettingConnectionGetControllerMethodInfo
    ResolveSettingConnectionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveSettingConnectionMethod "getDbusPropertyType" o = NM.Setting.SettingGetDbusPropertyTypeMethodInfo
    ResolveSettingConnectionMethod "getDnsOverTls" o = SettingConnectionGetDnsOverTlsMethodInfo
    ResolveSettingConnectionMethod "getDownOnPoweroff" o = SettingConnectionGetDownOnPoweroffMethodInfo
    ResolveSettingConnectionMethod "getGatewayPingTimeout" o = SettingConnectionGetGatewayPingTimeoutMethodInfo
    ResolveSettingConnectionMethod "getId" o = SettingConnectionGetIdMethodInfo
    ResolveSettingConnectionMethod "getInterfaceName" o = SettingConnectionGetInterfaceNameMethodInfo
    ResolveSettingConnectionMethod "getLldp" o = SettingConnectionGetLldpMethodInfo
    ResolveSettingConnectionMethod "getLlmnr" o = SettingConnectionGetLlmnrMethodInfo
    ResolveSettingConnectionMethod "getMaster" o = SettingConnectionGetMasterMethodInfo
    ResolveSettingConnectionMethod "getMdns" o = SettingConnectionGetMdnsMethodInfo
    ResolveSettingConnectionMethod "getMetered" o = SettingConnectionGetMeteredMethodInfo
    ResolveSettingConnectionMethod "getMptcpFlags" o = SettingConnectionGetMptcpFlagsMethodInfo
    ResolveSettingConnectionMethod "getMudUrl" o = SettingConnectionGetMudUrlMethodInfo
    ResolveSettingConnectionMethod "getMultiConnect" o = SettingConnectionGetMultiConnectMethodInfo
    ResolveSettingConnectionMethod "getName" o = NM.Setting.SettingGetNameMethodInfo
    ResolveSettingConnectionMethod "getNumPermissions" o = SettingConnectionGetNumPermissionsMethodInfo
    ResolveSettingConnectionMethod "getNumSecondaries" o = SettingConnectionGetNumSecondariesMethodInfo
    ResolveSettingConnectionMethod "getPermission" o = SettingConnectionGetPermissionMethodInfo
    ResolveSettingConnectionMethod "getPortType" o = SettingConnectionGetPortTypeMethodInfo
    ResolveSettingConnectionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveSettingConnectionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveSettingConnectionMethod "getReadOnly" o = SettingConnectionGetReadOnlyMethodInfo
    ResolveSettingConnectionMethod "getSecondary" o = SettingConnectionGetSecondaryMethodInfo
    ResolveSettingConnectionMethod "getSecretFlags" o = NM.Setting.SettingGetSecretFlagsMethodInfo
    ResolveSettingConnectionMethod "getSlaveType" o = SettingConnectionGetSlaveTypeMethodInfo
    ResolveSettingConnectionMethod "getStableId" o = SettingConnectionGetStableIdMethodInfo
    ResolveSettingConnectionMethod "getTimestamp" o = SettingConnectionGetTimestampMethodInfo
    ResolveSettingConnectionMethod "getUuid" o = SettingConnectionGetUuidMethodInfo
    ResolveSettingConnectionMethod "getWaitActivationDelay" o = SettingConnectionGetWaitActivationDelayMethodInfo
    ResolveSettingConnectionMethod "getWaitDeviceTimeout" o = SettingConnectionGetWaitDeviceTimeoutMethodInfo
    ResolveSettingConnectionMethod "getZone" o = SettingConnectionGetZoneMethodInfo
    ResolveSettingConnectionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveSettingConnectionMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveSettingConnectionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveSettingConnectionMethod "setSecretFlags" o = NM.Setting.SettingSetSecretFlagsMethodInfo
    ResolveSettingConnectionMethod l o = O.MethodResolutionFailed l o

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

#endif

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

#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionAutoconnectSlavesPropertyInfo
instance AttrInfo SettingConnectionAutoconnectSlavesPropertyInfo where
    type AttrAllowedOps SettingConnectionAutoconnectSlavesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingConnectionAutoconnectSlavesPropertyInfo = IsSettingConnection
    type AttrSetTypeConstraint SettingConnectionAutoconnectSlavesPropertyInfo = (~) NM.Enums.SettingConnectionAutoconnectSlaves
    type AttrTransferTypeConstraint SettingConnectionAutoconnectSlavesPropertyInfo = (~) NM.Enums.SettingConnectionAutoconnectSlaves
    type AttrTransferType SettingConnectionAutoconnectSlavesPropertyInfo = NM.Enums.SettingConnectionAutoconnectSlaves
    type AttrGetType SettingConnectionAutoconnectSlavesPropertyInfo = NM.Enums.SettingConnectionAutoconnectSlaves
    type AttrLabel SettingConnectionAutoconnectSlavesPropertyInfo = "autoconnect-slaves"
    type AttrOrigin SettingConnectionAutoconnectSlavesPropertyInfo = SettingConnection
    attrGet = getSettingConnectionAutoconnectSlaves
    attrSet = setSettingConnectionAutoconnectSlaves
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingConnectionAutoconnectSlaves
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingConnection.autoconnectSlaves"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingConnection.html#g:attr:autoconnectSlaves"
        })
#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionInterfaceNamePropertyInfo
instance AttrInfo SettingConnectionInterfaceNamePropertyInfo where
    type AttrAllowedOps SettingConnectionInterfaceNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingConnectionInterfaceNamePropertyInfo = IsSettingConnection
    type AttrSetTypeConstraint SettingConnectionInterfaceNamePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingConnectionInterfaceNamePropertyInfo = (~) T.Text
    type AttrTransferType SettingConnectionInterfaceNamePropertyInfo = T.Text
    type AttrGetType SettingConnectionInterfaceNamePropertyInfo = T.Text
    type AttrLabel SettingConnectionInterfaceNamePropertyInfo = "interface-name"
    type AttrOrigin SettingConnectionInterfaceNamePropertyInfo = SettingConnection
    attrGet = getSettingConnectionInterfaceName
    attrSet = setSettingConnectionInterfaceName
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingConnectionInterfaceName
    attrClear = clearSettingConnectionInterfaceName
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingConnection.interfaceName"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingConnection.html#g:attr:interfaceName"
        })
#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionMudUrlPropertyInfo
instance AttrInfo SettingConnectionMudUrlPropertyInfo where
    type AttrAllowedOps SettingConnectionMudUrlPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingConnectionMudUrlPropertyInfo = IsSettingConnection
    type AttrSetTypeConstraint SettingConnectionMudUrlPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingConnectionMudUrlPropertyInfo = (~) T.Text
    type AttrTransferType SettingConnectionMudUrlPropertyInfo = T.Text
    type AttrGetType SettingConnectionMudUrlPropertyInfo = T.Text
    type AttrLabel SettingConnectionMudUrlPropertyInfo = "mud-url"
    type AttrOrigin SettingConnectionMudUrlPropertyInfo = SettingConnection
    attrGet = getSettingConnectionMudUrl
    attrSet = setSettingConnectionMudUrl
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingConnectionMudUrl
    attrClear = clearSettingConnectionMudUrl
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingConnection.mudUrl"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingConnection.html#g:attr:mudUrl"
        })
#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionStableIdPropertyInfo
instance AttrInfo SettingConnectionStableIdPropertyInfo where
    type AttrAllowedOps SettingConnectionStableIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingConnectionStableIdPropertyInfo = IsSettingConnection
    type AttrSetTypeConstraint SettingConnectionStableIdPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingConnectionStableIdPropertyInfo = (~) T.Text
    type AttrTransferType SettingConnectionStableIdPropertyInfo = T.Text
    type AttrGetType SettingConnectionStableIdPropertyInfo = T.Text
    type AttrLabel SettingConnectionStableIdPropertyInfo = "stable-id"
    type AttrOrigin SettingConnectionStableIdPropertyInfo = SettingConnection
    attrGet = getSettingConnectionStableId
    attrSet = setSettingConnectionStableId
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingConnectionStableId
    attrClear = clearSettingConnectionStableId
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingConnection.stableId"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingConnection.html#g:attr:stableId"
        })
#endif

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

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

-- | Set the value of the “@timestamp@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingConnection [ #timestamp 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingConnectionTimestamp :: (MonadIO m, IsSettingConnection o) => o -> Word64 -> m ()
setSettingConnectionTimestamp :: forall (m :: * -> *) o.
(MonadIO m, IsSettingConnection o) =>
o -> Word64 -> m ()
setSettingConnectionTimestamp o
obj Word64
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 -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"timestamp" Word64
val

-- | Construct a t'GValueConstruct' with valid value for the “@timestamp@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingConnectionTimestamp :: (IsSettingConnection o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructSettingConnectionTimestamp :: forall o (m :: * -> *).
(IsSettingConnection o, MonadIO m) =>
Word64 -> m (GValueConstruct o)
constructSettingConnectionTimestamp Word64
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 -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"timestamp" Word64
val

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList SettingConnection
type instance O.AttributeList SettingConnection = SettingConnectionAttributeList
type SettingConnectionAttributeList = ('[ '("authRetries", SettingConnectionAuthRetriesPropertyInfo), '("autoconnect", SettingConnectionAutoconnectPropertyInfo), '("autoconnectPorts", SettingConnectionAutoconnectPortsPropertyInfo), '("autoconnectPriority", SettingConnectionAutoconnectPriorityPropertyInfo), '("autoconnectRetries", SettingConnectionAutoconnectRetriesPropertyInfo), '("autoconnectSlaves", SettingConnectionAutoconnectSlavesPropertyInfo), '("controller", SettingConnectionControllerPropertyInfo), '("dnsOverTls", SettingConnectionDnsOverTlsPropertyInfo), '("downOnPoweroff", SettingConnectionDownOnPoweroffPropertyInfo), '("gatewayPingTimeout", SettingConnectionGatewayPingTimeoutPropertyInfo), '("id", SettingConnectionIdPropertyInfo), '("interfaceName", SettingConnectionInterfaceNamePropertyInfo), '("lldp", SettingConnectionLldpPropertyInfo), '("llmnr", SettingConnectionLlmnrPropertyInfo), '("master", SettingConnectionMasterPropertyInfo), '("mdns", SettingConnectionMdnsPropertyInfo), '("metered", SettingConnectionMeteredPropertyInfo), '("mptcpFlags", SettingConnectionMptcpFlagsPropertyInfo), '("mudUrl", SettingConnectionMudUrlPropertyInfo), '("multiConnect", SettingConnectionMultiConnectPropertyInfo), '("name", NM.Setting.SettingNamePropertyInfo), '("permissions", SettingConnectionPermissionsPropertyInfo), '("portType", SettingConnectionPortTypePropertyInfo), '("readOnly", SettingConnectionReadOnlyPropertyInfo), '("secondaries", SettingConnectionSecondariesPropertyInfo), '("slaveType", SettingConnectionSlaveTypePropertyInfo), '("stableId", SettingConnectionStableIdPropertyInfo), '("timestamp", SettingConnectionTimestampPropertyInfo), '("type", SettingConnectionTypePropertyInfo), '("uuid", SettingConnectionUuidPropertyInfo), '("waitActivationDelay", SettingConnectionWaitActivationDelayPropertyInfo), '("waitDeviceTimeout", SettingConnectionWaitDeviceTimeoutPropertyInfo), '("zone", SettingConnectionZonePropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
settingConnectionAuthRetries :: AttrLabelProxy "authRetries"
settingConnectionAuthRetries = AttrLabelProxy

settingConnectionAutoconnect :: AttrLabelProxy "autoconnect"
settingConnectionAutoconnect = AttrLabelProxy

settingConnectionAutoconnectPorts :: AttrLabelProxy "autoconnectPorts"
settingConnectionAutoconnectPorts = AttrLabelProxy

settingConnectionAutoconnectPriority :: AttrLabelProxy "autoconnectPriority"
settingConnectionAutoconnectPriority = AttrLabelProxy

settingConnectionAutoconnectRetries :: AttrLabelProxy "autoconnectRetries"
settingConnectionAutoconnectRetries = AttrLabelProxy

settingConnectionAutoconnectSlaves :: AttrLabelProxy "autoconnectSlaves"
settingConnectionAutoconnectSlaves = AttrLabelProxy

settingConnectionController :: AttrLabelProxy "controller"
settingConnectionController = AttrLabelProxy

settingConnectionDnsOverTls :: AttrLabelProxy "dnsOverTls"
settingConnectionDnsOverTls = AttrLabelProxy

settingConnectionDownOnPoweroff :: AttrLabelProxy "downOnPoweroff"
settingConnectionDownOnPoweroff = AttrLabelProxy

settingConnectionGatewayPingTimeout :: AttrLabelProxy "gatewayPingTimeout"
settingConnectionGatewayPingTimeout = AttrLabelProxy

settingConnectionId :: AttrLabelProxy "id"
settingConnectionId = AttrLabelProxy

settingConnectionInterfaceName :: AttrLabelProxy "interfaceName"
settingConnectionInterfaceName = AttrLabelProxy

settingConnectionLldp :: AttrLabelProxy "lldp"
settingConnectionLldp = AttrLabelProxy

settingConnectionLlmnr :: AttrLabelProxy "llmnr"
settingConnectionLlmnr = AttrLabelProxy

settingConnectionMaster :: AttrLabelProxy "master"
settingConnectionMaster = AttrLabelProxy

settingConnectionMdns :: AttrLabelProxy "mdns"
settingConnectionMdns = AttrLabelProxy

settingConnectionMetered :: AttrLabelProxy "metered"
settingConnectionMetered = AttrLabelProxy

settingConnectionMptcpFlags :: AttrLabelProxy "mptcpFlags"
settingConnectionMptcpFlags = AttrLabelProxy

settingConnectionMudUrl :: AttrLabelProxy "mudUrl"
settingConnectionMudUrl = AttrLabelProxy

settingConnectionMultiConnect :: AttrLabelProxy "multiConnect"
settingConnectionMultiConnect = AttrLabelProxy

settingConnectionPermissions :: AttrLabelProxy "permissions"
settingConnectionPermissions = AttrLabelProxy

settingConnectionPortType :: AttrLabelProxy "portType"
settingConnectionPortType = AttrLabelProxy

settingConnectionReadOnly :: AttrLabelProxy "readOnly"
settingConnectionReadOnly = AttrLabelProxy

settingConnectionSecondaries :: AttrLabelProxy "secondaries"
settingConnectionSecondaries = AttrLabelProxy

settingConnectionSlaveType :: AttrLabelProxy "slaveType"
settingConnectionSlaveType = AttrLabelProxy

settingConnectionStableId :: AttrLabelProxy "stableId"
settingConnectionStableId = AttrLabelProxy

settingConnectionTimestamp :: AttrLabelProxy "timestamp"
settingConnectionTimestamp = AttrLabelProxy

settingConnectionType :: AttrLabelProxy "type"
settingConnectionType = AttrLabelProxy

settingConnectionUuid :: AttrLabelProxy "uuid"
settingConnectionUuid = AttrLabelProxy

settingConnectionWaitActivationDelay :: AttrLabelProxy "waitActivationDelay"
settingConnectionWaitActivationDelay = AttrLabelProxy

settingConnectionWaitDeviceTimeout :: AttrLabelProxy "waitDeviceTimeout"
settingConnectionWaitDeviceTimeout = AttrLabelProxy

settingConnectionZone :: AttrLabelProxy "zone"
settingConnectionZone = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "nm_setting_connection_new" nm_setting_connection_new :: 
    IO (Ptr SettingConnection)

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

#if defined(ENABLE_OVERLOADING)
#endif

-- method SettingConnection::add_permission
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingConnection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "ptype"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the permission type; at this time only \"user\" is supported"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "pitem"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the permission item formatted as required for @ptype"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "detail"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "unused at this time; must be %NULL"
--                 , 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_connection_add_permission" nm_setting_connection_add_permission :: 
    Ptr SettingConnection ->                -- setting : TInterface (Name {namespace = "NM", name = "SettingConnection"})
    CString ->                              -- ptype : TBasicType TUTF8
    CString ->                              -- pitem : TBasicType TUTF8
    CString ->                              -- detail : TBasicType TUTF8
    IO CInt

-- | Adds a permission to the connection\'s permission list.  At this time, only
-- the \"user\" permission type is supported, and /@pitem@/ must be a username. See
-- [SettingConnection:permissions]("GI.NM.Objects.SettingConnection#g:attr:permissions"): for more details.
settingConnectionAddPermission ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> T.Text
    -- ^ /@ptype@/: the permission type; at this time only \"user\" is supported
    -> T.Text
    -- ^ /@pitem@/: the permission item formatted as required for /@ptype@/
    -> Maybe (T.Text)
    -- ^ /@detail@/: unused at this time; must be 'P.Nothing'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the permission was unique and was successfully added to the
    -- list, 'P.False' if /@ptype@/ or /@pitem@/ was invalid.
    -- If the permission was already present in the list, it will not be added
    -- a second time but 'P.True' will be returned. Note that before 1.28, in this
    -- case 'P.False' would be returned.
settingConnectionAddPermission :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Text -> Text -> Maybe Text -> m Bool
settingConnectionAddPermission a
setting Text
ptype Text
pitem Maybe Text
detail = 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
ptype' <- Text -> IO CString
textToCString Text
ptype
    CString
pitem' <- Text -> IO CString
textToCString Text
pitem
    CString
maybeDetail <- case Maybe Text
detail of
        Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
FP.nullPtr
        Just Text
jDetail -> do
            CString
jDetail' <- Text -> IO CString
textToCString Text
jDetail
            CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jDetail'
    CInt
result <- Ptr SettingConnection -> CString -> CString -> CString -> IO CInt
nm_setting_connection_add_permission Ptr SettingConnection
setting' CString
ptype' CString
pitem' CString
maybeDetail
    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
ptype'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
pitem'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeDetail
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data SettingConnectionAddPermissionMethodInfo
instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> m Bool), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionAddPermissionMethodInfo a signature where
    overloadedMethod = settingConnectionAddPermission

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


#endif

-- method SettingConnection::add_secondary
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingConnection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "sec_uuid"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the secondary connection UUID to add"
--                 , 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_connection_add_secondary" nm_setting_connection_add_secondary :: 
    Ptr SettingConnection ->                -- setting : TInterface (Name {namespace = "NM", name = "SettingConnection"})
    CString ->                              -- sec_uuid : TBasicType TUTF8
    IO CInt

-- | Adds a new secondary connection UUID to the setting.
settingConnectionAddSecondary ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> T.Text
    -- ^ /@secUuid@/: the secondary connection UUID to add
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the secondary connection UUID was added; 'P.False' if the UUID
    -- was already present
settingConnectionAddSecondary :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Text -> m Bool
settingConnectionAddSecondary a
setting Text
secUuid = 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
secUuid' <- Text -> IO CString
textToCString Text
secUuid
    CInt
result <- Ptr SettingConnection -> CString -> IO CInt
nm_setting_connection_add_secondary Ptr SettingConnection
setting' CString
secUuid'
    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
secUuid'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

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

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

-- | Returns the value contained in the [SettingConnection:authRetries]("GI.NM.Objects.SettingConnection#g:attr:authRetries") property.
-- 
-- /Since: 1.10/
settingConnectionGetAuthRetries ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Int32
    -- ^ __Returns:__ the configured authentication retries. Zero means
    -- infinity and -1 means a global default value.
settingConnectionGetAuthRetries :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Int32
settingConnectionGetAuthRetries a
setting = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Int32
result <- Ptr SettingConnection -> IO Int32
nm_setting_connection_get_auth_retries Ptr SettingConnection
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetAuthRetriesMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetAuthRetriesMethodInfo a signature where
    overloadedMethod = settingConnectionGetAuthRetries

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


#endif

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

-- | Returns the [SettingConnection:autoconnect]("GI.NM.Objects.SettingConnection#g:attr:autoconnect") property of the connection.
settingConnectionGetAutoconnect ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Bool
    -- ^ __Returns:__ the connection\'s autoconnect behavior
settingConnectionGetAutoconnect :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Bool
settingConnectionGetAutoconnect 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingConnection -> IO CInt
nm_setting_connection_get_autoconnect Ptr SettingConnection
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 SettingConnectionGetAutoconnectMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetAutoconnectMethodInfo a signature where
    overloadedMethod = settingConnectionGetAutoconnect

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


#endif

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

-- | Returns the [SettingConnection:autoconnectPorts]("GI.NM.Objects.SettingConnection#g:attr:autoconnectPorts") property of the connection.
-- 
-- /Since: 1.46/
settingConnectionGetAutoconnectPorts ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m NM.Enums.Ternary
    -- ^ __Returns:__ whether ports of the connection should be activated together
    --          with the connection.
settingConnectionGetAutoconnectPorts :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Ternary
settingConnectionGetAutoconnectPorts 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingConnection -> IO CInt
nm_setting_connection_get_autoconnect_ports Ptr SettingConnection
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 SettingConnectionGetAutoconnectPortsMethodInfo
instance (signature ~ (m NM.Enums.Ternary), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetAutoconnectPortsMethodInfo a signature where
    overloadedMethod = settingConnectionGetAutoconnectPorts

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


#endif

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

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

-- | Returns the [SettingConnection:autoconnectPriority]("GI.NM.Objects.SettingConnection#g:attr:autoconnectPriority") property of the connection.
-- The higher number, the higher priority.
settingConnectionGetAutoconnectPriority ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Int32
    -- ^ __Returns:__ the connection\'s autoconnect priority
settingConnectionGetAutoconnectPriority :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Int32
settingConnectionGetAutoconnectPriority a
setting = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Int32
result <- Ptr SettingConnection -> IO Int32
nm_setting_connection_get_autoconnect_priority Ptr SettingConnection
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetAutoconnectPriorityMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetAutoconnectPriorityMethodInfo a signature where
    overloadedMethod = settingConnectionGetAutoconnectPriority

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


#endif

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

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

-- | Returns the [SettingConnection:autoconnectRetries]("GI.NM.Objects.SettingConnection#g:attr:autoconnectRetries") property of the connection.
-- Zero means infinite, -1 means the global default value.
-- 
-- /Since: 1.6/
settingConnectionGetAutoconnectRetries ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Int32
    -- ^ __Returns:__ the connection\'s autoconnect retries
settingConnectionGetAutoconnectRetries :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Int32
settingConnectionGetAutoconnectRetries a
setting = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Int32
result <- Ptr SettingConnection -> IO Int32
nm_setting_connection_get_autoconnect_retries Ptr SettingConnection
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetAutoconnectRetriesMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetAutoconnectRetriesMethodInfo a signature where
    overloadedMethod = settingConnectionGetAutoconnectRetries

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


#endif

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

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

{-# DEPRECATED settingConnectionGetAutoconnectSlaves ["(Since version 1.46.)","Use 'GI.NM.Objects.SettingConnection.settingConnectionGetAutoconnectPorts' instead, this","is just an alias."] #-}
-- | Returns the [SettingConnection:autoconnectSlaves]("GI.NM.Objects.SettingConnection#g:attr:autoconnectSlaves") property of the connection.
-- 
-- /Since: 1.2/
settingConnectionGetAutoconnectSlaves ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m NM.Enums.SettingConnectionAutoconnectSlaves
    -- ^ __Returns:__ whether ports of the connection should be activated together
    --          with the connection.
settingConnectionGetAutoconnectSlaves :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m SettingConnectionAutoconnectSlaves
settingConnectionGetAutoconnectSlaves a
setting = IO SettingConnectionAutoconnectSlaves
-> m SettingConnectionAutoconnectSlaves
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SettingConnectionAutoconnectSlaves
 -> m SettingConnectionAutoconnectSlaves)
-> IO SettingConnectionAutoconnectSlaves
-> m SettingConnectionAutoconnectSlaves
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingConnection -> IO CInt
nm_setting_connection_get_autoconnect_slaves Ptr SettingConnection
setting'
    let result' :: SettingConnectionAutoconnectSlaves
result' = (Int -> SettingConnectionAutoconnectSlaves
forall a. Enum a => Int -> a
toEnum (Int -> SettingConnectionAutoconnectSlaves)
-> (CInt -> Int) -> CInt -> SettingConnectionAutoconnectSlaves
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
    SettingConnectionAutoconnectSlaves
-> IO SettingConnectionAutoconnectSlaves
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return SettingConnectionAutoconnectSlaves
result'

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetAutoconnectSlavesMethodInfo
instance (signature ~ (m NM.Enums.SettingConnectionAutoconnectSlaves), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetAutoconnectSlavesMethodInfo a signature where
    overloadedMethod = settingConnectionGetAutoconnectSlaves

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


#endif

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

-- | Returns the [SettingConnection:type]("GI.NM.Objects.SettingConnection#g:attr:type") property of the connection.
settingConnectionGetConnectionType ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ the connection type
settingConnectionGetConnectionType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetConnectionType 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_connection_type Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetConnectionType" 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 SettingConnectionGetConnectionTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetConnectionTypeMethodInfo a signature where
    overloadedMethod = settingConnectionGetConnectionType

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


#endif

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

-- | Returns the [SettingConnection:controller]("GI.NM.Objects.SettingConnection#g:attr:controller") property of the connection.
-- 
-- /Since: 1.46/
settingConnectionGetController ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ interface name of the controller device or UUID of the controller
    -- connection.
settingConnectionGetController :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetController 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_controller Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetController" 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 SettingConnectionGetControllerMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetControllerMethodInfo a signature where
    overloadedMethod = settingConnectionGetController

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetDnsOverTlsMethodInfo
instance (signature ~ (m NM.Enums.SettingConnectionDnsOverTls), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetDnsOverTlsMethodInfo a signature where
    overloadedMethod = settingConnectionGetDnsOverTls

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


#endif

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

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

-- | Returns the 'GI.NM.Constants.SETTING_CONNECTION_DOWN_ON_POWEROFF' property.
-- 
-- /Since: 1.48/
settingConnectionGetDownOnPoweroff ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m NM.Enums.SettingConnectionDownOnPoweroff
    -- ^ __Returns:__ whether the connection will be brought down before the system
    -- is powered off.
settingConnectionGetDownOnPoweroff :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m SettingConnectionDownOnPoweroff
settingConnectionGetDownOnPoweroff a
setting = IO SettingConnectionDownOnPoweroff
-> m SettingConnectionDownOnPoweroff
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SettingConnectionDownOnPoweroff
 -> m SettingConnectionDownOnPoweroff)
-> IO SettingConnectionDownOnPoweroff
-> m SettingConnectionDownOnPoweroff
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingConnection -> IO CInt
nm_setting_connection_get_down_on_poweroff Ptr SettingConnection
setting'
    let result' :: SettingConnectionDownOnPoweroff
result' = (Int -> SettingConnectionDownOnPoweroff
forall a. Enum a => Int -> a
toEnum (Int -> SettingConnectionDownOnPoweroff)
-> (CInt -> Int) -> CInt -> SettingConnectionDownOnPoweroff
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
    SettingConnectionDownOnPoweroff
-> IO SettingConnectionDownOnPoweroff
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return SettingConnectionDownOnPoweroff
result'

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetDownOnPoweroffMethodInfo
instance (signature ~ (m NM.Enums.SettingConnectionDownOnPoweroff), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetDownOnPoweroffMethodInfo a signature where
    overloadedMethod = settingConnectionGetDownOnPoweroff

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


#endif

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

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

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


#endif

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

-- | Returns the [SettingConnection:id]("GI.NM.Objects.SettingConnection#g:attr:id") property of the connection.
settingConnectionGetId ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ the connection ID
settingConnectionGetId :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetId 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_id Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetId" 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 SettingConnectionGetIdMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetIdMethodInfo a signature where
    overloadedMethod = settingConnectionGetId

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


#endif

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

-- | Returns the [SettingConnection:interfaceName]("GI.NM.Objects.SettingConnection#g:attr:interfaceName") property of the connection.
settingConnectionGetInterfaceName ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ the connection\'s interface name
settingConnectionGetInterfaceName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetInterfaceName 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_interface_name Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetInterfaceName" 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 SettingConnectionGetInterfaceNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetInterfaceNameMethodInfo a signature where
    overloadedMethod = settingConnectionGetInterfaceName

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


#endif

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

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

-- | Returns the [SettingConnection:lldp]("GI.NM.Objects.SettingConnection#g:attr:lldp") property of the connection.
-- 
-- /Since: 1.2/
settingConnectionGetLldp ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m NM.Enums.SettingConnectionLldp
    -- ^ __Returns:__ a @/NMSettingConnectionLldp/@ which indicates whether LLDP must be
    -- enabled for the connection.
settingConnectionGetLldp :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m SettingConnectionLldp
settingConnectionGetLldp a
setting = IO SettingConnectionLldp -> m SettingConnectionLldp
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SettingConnectionLldp -> m SettingConnectionLldp)
-> IO SettingConnectionLldp -> m SettingConnectionLldp
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingConnection -> IO CInt
nm_setting_connection_get_lldp Ptr SettingConnection
setting'
    let result' :: SettingConnectionLldp
result' = (Int -> SettingConnectionLldp
forall a. Enum a => Int -> a
toEnum (Int -> SettingConnectionLldp)
-> (CInt -> Int) -> CInt -> SettingConnectionLldp
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
    SettingConnectionLldp -> IO SettingConnectionLldp
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return SettingConnectionLldp
result'

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetLldpMethodInfo
instance (signature ~ (m NM.Enums.SettingConnectionLldp), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetLldpMethodInfo a signature where
    overloadedMethod = settingConnectionGetLldp

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetLlmnrMethodInfo
instance (signature ~ (m NM.Enums.SettingConnectionLlmnr), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetLlmnrMethodInfo a signature where
    overloadedMethod = settingConnectionGetLlmnr

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


#endif

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

{-# DEPRECATED settingConnectionGetMaster ["(Since version 1.46.)","Use 'GI.NM.Objects.SettingConnection.settingConnectionGetMaster' instead which","is just an alias."] #-}
-- | Returns the [SettingConnection:master]("GI.NM.Objects.SettingConnection#g:attr:master") property of the connection.
settingConnectionGetMaster ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ interface name of the controller device or UUID of the controller
    -- connection.
settingConnectionGetMaster :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetMaster 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_master Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetMaster" 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 SettingConnectionGetMasterMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetMasterMethodInfo a signature where
    overloadedMethod = settingConnectionGetMaster

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetMdnsMethodInfo
instance (signature ~ (m NM.Enums.SettingConnectionMdns), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetMdnsMethodInfo a signature where
    overloadedMethod = settingConnectionGetMdns

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetMeteredMethodInfo
instance (signature ~ (m NM.Enums.Metered), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetMeteredMethodInfo a signature where
    overloadedMethod = settingConnectionGetMetered

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetMptcpFlagsMethodInfo
instance (signature ~ (m [NM.Flags.MptcpFlags]), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetMptcpFlagsMethodInfo a signature where
    overloadedMethod = settingConnectionGetMptcpFlags

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


#endif

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

-- | Returns the value contained in the [SettingConnection:mudUrl]("GI.NM.Objects.SettingConnection#g:attr:mudUrl")
-- property.
-- 
-- /Since: 1.26/
settingConnectionGetMudUrl ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
settingConnectionGetMudUrl :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetMudUrl 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_mud_url Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetMudUrl" 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 SettingConnectionGetMudUrlMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetMudUrlMethodInfo a signature where
    overloadedMethod = settingConnectionGetMudUrl

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetMultiConnectMethodInfo
instance (signature ~ (m NM.Enums.ConnectionMultiConnect), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetMultiConnectMethodInfo a signature where
    overloadedMethod = settingConnectionGetMultiConnect

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


#endif

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

-- | Returns the number of entries in the [SettingConnection:permissions]("GI.NM.Objects.SettingConnection#g:attr:permissions")
-- property of this setting.
settingConnectionGetNumPermissions ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Word32
    -- ^ __Returns:__ the number of permissions entries
settingConnectionGetNumPermissions :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Word32
settingConnectionGetNumPermissions 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingConnection -> IO Word32
nm_setting_connection_get_num_permissions Ptr SettingConnection
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 SettingConnectionGetNumPermissionsMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetNumPermissionsMethodInfo a signature where
    overloadedMethod = settingConnectionGetNumPermissions

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


#endif

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

-- | /No description available in the introspection data./
settingConnectionGetNumSecondaries ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Word32
    -- ^ __Returns:__ the number of configured secondary connection UUIDs
settingConnectionGetNumSecondaries :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Word32
settingConnectionGetNumSecondaries 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingConnection -> IO Word32
nm_setting_connection_get_num_secondaries Ptr SettingConnection
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 SettingConnectionGetNumSecondariesMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetNumSecondariesMethodInfo a signature where
    overloadedMethod = settingConnectionGetNumSecondaries

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


#endif

-- method SettingConnection::get_permission
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingConnection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "idx"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the zero-based index of the permissions entry"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "out_ptype"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "on return, the permission type. This is currently always \"user\",\n  unless the entry is invalid, in which case it returns \"invalid\"."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "out_pitem"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "on return, the permission item (formatted according to @ptype, see\n#NMSettingConnection:permissions for more detail"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "out_detail"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "on return, the permission detail (at this time, always %NULL)"
--                 , 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_connection_get_permission" nm_setting_connection_get_permission :: 
    Ptr SettingConnection ->                -- setting : TInterface (Name {namespace = "NM", name = "SettingConnection"})
    Word32 ->                               -- idx : TBasicType TUInt32
    CString ->                              -- out_ptype : TBasicType TUTF8
    CString ->                              -- out_pitem : TBasicType TUTF8
    CString ->                              -- out_detail : TBasicType TUTF8
    IO CInt

-- | Retrieve one of the entries of the [SettingConnection:permissions]("GI.NM.Objects.SettingConnection#g:attr:permissions") property
-- of this setting.
settingConnectionGetPermission ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> Word32
    -- ^ /@idx@/: the zero-based index of the permissions entry
    -> T.Text
    -- ^ /@outPtype@/: on return, the permission type. This is currently always \"user\",
    --   unless the entry is invalid, in which case it returns \"invalid\".
    -> T.Text
    -- ^ /@outPitem@/: on return, the permission item (formatted according to /@ptype@/, see
    -- [SettingConnection:permissions]("GI.NM.Objects.SettingConnection#g:attr:permissions") for more detail
    -> T.Text
    -- ^ /@outDetail@/: on return, the permission detail (at this time, always 'P.Nothing')
    -> m Bool
    -- ^ __Returns:__ 'P.True' if a permission was returned, 'P.False' if /@idx@/ was invalid
settingConnectionGetPermission :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Word32 -> Text -> Text -> Text -> m Bool
settingConnectionGetPermission a
setting Word32
idx Text
outPtype Text
outPitem Text
outDetail = 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
outPtype' <- Text -> IO CString
textToCString Text
outPtype
    CString
outPitem' <- Text -> IO CString
textToCString Text
outPitem
    CString
outDetail' <- Text -> IO CString
textToCString Text
outDetail
    CInt
result <- Ptr SettingConnection
-> Word32 -> CString -> CString -> CString -> IO CInt
nm_setting_connection_get_permission Ptr SettingConnection
setting' Word32
idx CString
outPtype' CString
outPitem' CString
outDetail'
    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
outPtype'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
outPitem'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
outDetail'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetPermissionMethodInfo
instance (signature ~ (Word32 -> T.Text -> T.Text -> T.Text -> m Bool), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetPermissionMethodInfo a signature where
    overloadedMethod = settingConnectionGetPermission

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


#endif

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

-- | Returns the [SettingConnection:portType]("GI.NM.Objects.SettingConnection#g:attr:portType") property of the connection.
-- 
-- /Since: 1.46/
settingConnectionGetPortType ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ the type of port this connection is, if any.
settingConnectionGetPortType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetPortType 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_port_type Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetPortType" 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 SettingConnectionGetPortTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetPortTypeMethodInfo a signature where
    overloadedMethod = settingConnectionGetPortType

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


#endif

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

{-# DEPRECATED settingConnectionGetReadOnly ["(Since version 1.44)","This property is deprecated and has no meaning."] #-}
-- | Returns the [SettingConnection:readOnly]("GI.NM.Objects.SettingConnection#g:attr:readOnly") property of the connection.
settingConnectionGetReadOnly ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the connection is read-only, 'P.False' if it is not
settingConnectionGetReadOnly :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Bool
settingConnectionGetReadOnly 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingConnection -> IO CInt
nm_setting_connection_get_read_only Ptr SettingConnection
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 SettingConnectionGetReadOnlyMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetReadOnlyMethodInfo a signature where
    overloadedMethod = settingConnectionGetReadOnly

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


#endif

-- method SettingConnection::get_secondary
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingConnection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "idx"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the zero-based index of the secondary connection UUID entry.\n  Access one past the length of secondaries is ok and will return\n  %NULL. Otherwise, it is a user error."
--                 , 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_connection_get_secondary" nm_setting_connection_get_secondary :: 
    Ptr SettingConnection ->                -- setting : TInterface (Name {namespace = "NM", name = "SettingConnection"})
    Word32 ->                               -- idx : TBasicType TUInt32
    IO CString

-- | /No description available in the introspection data./
settingConnectionGetSecondary ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> Word32
    -- ^ /@idx@/: the zero-based index of the secondary connection UUID entry.
    --   Access one past the length of secondaries is ok and will return
    --   'P.Nothing'. Otherwise, it is a user error.
    -> m T.Text
    -- ^ __Returns:__ the secondary connection UUID at index /@idx@/ or
    --   'P.Nothing' if /@idx@/ is the number of secondaries.
settingConnectionGetSecondary :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Word32 -> m Text
settingConnectionGetSecondary 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> Word32 -> IO CString
nm_setting_connection_get_secondary Ptr SettingConnection
setting' Word32
idx
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetSecondary" 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 SettingConnectionGetSecondaryMethodInfo
instance (signature ~ (Word32 -> m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetSecondaryMethodInfo a signature where
    overloadedMethod = settingConnectionGetSecondary

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


#endif

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

{-# DEPRECATED settingConnectionGetSlaveType ["(Since version 1.46.)","Use 'GI.NM.Objects.SettingConnection.settingConnectionGetPortType' instead which","is just an alias."] #-}
-- | Returns the [SettingConnection:slaveType]("GI.NM.Objects.SettingConnection#g:attr:slaveType") property of the connection.
settingConnectionGetSlaveType ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ the type of port this connection is, if any
settingConnectionGetSlaveType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetSlaveType 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_slave_type Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetSlaveType" 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 SettingConnectionGetSlaveTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetSlaveTypeMethodInfo a signature where
    overloadedMethod = settingConnectionGetSlaveType

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


#endif

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

-- | Returns the t'GI.NM.Objects.SettingConnection.SettingConnection':@/stable_id/@ property of the connection.
-- 
-- /Since: 1.4/
settingConnectionGetStableId ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ the stable-id for the connection
settingConnectionGetStableId :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetStableId 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_stable_id Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetStableId" 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 SettingConnectionGetStableIdMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetStableIdMethodInfo a signature where
    overloadedMethod = settingConnectionGetStableId

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


#endif

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

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

-- | Returns the [SettingConnection:timestamp]("GI.NM.Objects.SettingConnection#g:attr:timestamp") property of the connection.
settingConnectionGetTimestamp ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Word64
    -- ^ __Returns:__ the connection\'s timestamp
settingConnectionGetTimestamp :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Word64
settingConnectionGetTimestamp a
setting = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word64
result <- Ptr SettingConnection -> IO Word64
nm_setting_connection_get_timestamp Ptr SettingConnection
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Word64 -> IO Word64
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetTimestampMethodInfo
instance (signature ~ (m Word64), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetTimestampMethodInfo a signature where
    overloadedMethod = settingConnectionGetTimestamp

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


#endif

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

-- | Returns the [SettingConnection:uuid]("GI.NM.Objects.SettingConnection#g:attr:uuid") property of the connection.
settingConnectionGetUuid ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ the connection UUID
settingConnectionGetUuid :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetUuid 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_uuid Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetUuid" 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 SettingConnectionGetUuidMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetUuidMethodInfo a signature where
    overloadedMethod = settingConnectionGetUuid

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


#endif

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

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

-- | /No description available in the introspection data./
-- 
-- /Since: 1.40/
settingConnectionGetWaitActivationDelay ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Int32
    -- ^ __Returns:__ the 'GI.NM.Constants.SETTING_CONNECTION_WAIT_ACTIVATION_DELAY' property with
    --   the delay in milliseconds. -1 is the default.
settingConnectionGetWaitActivationDelay :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Int32
settingConnectionGetWaitActivationDelay a
setting = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Int32
result <- Ptr SettingConnection -> IO Int32
nm_setting_connection_get_wait_activation_delay Ptr SettingConnection
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetWaitActivationDelayMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetWaitActivationDelayMethodInfo a signature where
    overloadedMethod = settingConnectionGetWaitActivationDelay

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


#endif

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

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

-- | /No description available in the introspection data./
-- 
-- /Since: 1.20/
settingConnectionGetWaitDeviceTimeout ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m Int32
    -- ^ __Returns:__ the 'GI.NM.Constants.SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT' property with
    --   the timeout in milliseconds. -1 is the default.
settingConnectionGetWaitDeviceTimeout :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Int32
settingConnectionGetWaitDeviceTimeout a
setting = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Int32
result <- Ptr SettingConnection -> IO Int32
nm_setting_connection_get_wait_device_timeout Ptr SettingConnection
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data SettingConnectionGetWaitDeviceTimeoutMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetWaitDeviceTimeoutMethodInfo a signature where
    overloadedMethod = settingConnectionGetWaitDeviceTimeout

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


#endif

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

-- | Returns the [SettingConnection:zone]("GI.NM.Objects.SettingConnection#g:attr:zone") property of the connection.
settingConnectionGetZone ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> m T.Text
    -- ^ __Returns:__ the trust level of a connection
settingConnectionGetZone :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> m Text
settingConnectionGetZone 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingConnection -> IO CString
nm_setting_connection_get_zone Ptr SettingConnection
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingConnectionGetZone" 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 SettingConnectionGetZoneMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionGetZoneMethodInfo a signature where
    overloadedMethod = settingConnectionGetZone

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


#endif

-- method SettingConnection::is_slave_type
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingConnection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "type"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the setting name (ie #NM_SETTING_BOND_SETTING_NAME) to be matched\nagainst @setting's port type"
--                 , 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_connection_is_slave_type" nm_setting_connection_is_slave_type :: 
    Ptr SettingConnection ->                -- setting : TInterface (Name {namespace = "NM", name = "SettingConnection"})
    CString ->                              -- type : TBasicType TUTF8
    IO CInt

{-# DEPRECATED settingConnectionIsSlaveType ["(Since version 1.46.)"] #-}
-- | /No description available in the introspection data./
settingConnectionIsSlaveType ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> T.Text
    -- ^ /@type@/: the setting name (ie 'GI.NM.Constants.SETTING_BOND_SETTING_NAME') to be matched
    -- against /@setting@/\'s port type
    -> m Bool
    -- ^ __Returns:__ 'P.True' if connection is of the given port /@type@/
settingConnectionIsSlaveType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Text -> m Bool
settingConnectionIsSlaveType a
setting Text
type_ = 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
type_' <- Text -> IO CString
textToCString Text
type_
    CInt
result <- Ptr SettingConnection -> CString -> IO CInt
nm_setting_connection_is_slave_type Ptr SettingConnection
setting' CString
type_'
    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
type_'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingConnection::permissions_user_allowed
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingConnection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "uname"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the user name to check permissions for"
--                 , 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_connection_permissions_user_allowed" nm_setting_connection_permissions_user_allowed :: 
    Ptr SettingConnection ->                -- setting : TInterface (Name {namespace = "NM", name = "SettingConnection"})
    CString ->                              -- uname : TBasicType TUTF8
    IO CInt

-- | Checks whether the given username is allowed to view\/access this connection.
settingConnectionPermissionsUserAllowed ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> T.Text
    -- ^ /@uname@/: the user name to check permissions for
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the requested user is allowed to view this connection,
    -- 'P.False' if the given user is not allowed to view this connection
settingConnectionPermissionsUserAllowed :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Text -> m Bool
settingConnectionPermissionsUserAllowed a
setting Text
uname = 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
uname' <- Text -> IO CString
textToCString Text
uname
    CInt
result <- Ptr SettingConnection -> CString -> IO CInt
nm_setting_connection_permissions_user_allowed Ptr SettingConnection
setting' CString
uname'
    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
uname'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif

-- method SettingConnection::remove_permission
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingConnection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "idx"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the zero-based index of the permission to remove"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_connection_remove_permission" nm_setting_connection_remove_permission :: 
    Ptr SettingConnection ->                -- setting : TInterface (Name {namespace = "NM", name = "SettingConnection"})
    Word32 ->                               -- idx : TBasicType TUInt32
    IO ()

-- | Removes the permission at index /@idx@/ from the connection.
settingConnectionRemovePermission ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> Word32
    -- ^ /@idx@/: the zero-based index of the permission to remove
    -> m ()
settingConnectionRemovePermission :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Word32 -> m ()
settingConnectionRemovePermission 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingConnection -> Word32 -> IO ()
nm_setting_connection_remove_permission Ptr SettingConnection
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 SettingConnectionRemovePermissionMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionRemovePermissionMethodInfo a signature where
    overloadedMethod = settingConnectionRemovePermission

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


#endif

-- method SettingConnection::remove_permission_by_value
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingConnection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "ptype"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the permission type; at this time only \"user\" is supported"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "pitem"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the permission item formatted as required for @ptype"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "detail"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "unused at this time; must be %NULL"
--                 , 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_connection_remove_permission_by_value" nm_setting_connection_remove_permission_by_value :: 
    Ptr SettingConnection ->                -- setting : TInterface (Name {namespace = "NM", name = "SettingConnection"})
    CString ->                              -- ptype : TBasicType TUTF8
    CString ->                              -- pitem : TBasicType TUTF8
    CString ->                              -- detail : TBasicType TUTF8
    IO CInt

-- | Removes the permission from the connection.
-- At this time, only the \"user\" permission type is supported, and /@pitem@/ must
-- be a username. See [SettingConnection:permissions]("GI.NM.Objects.SettingConnection#g:attr:permissions"): for more details.
settingConnectionRemovePermissionByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> T.Text
    -- ^ /@ptype@/: the permission type; at this time only \"user\" is supported
    -> T.Text
    -- ^ /@pitem@/: the permission item formatted as required for /@ptype@/
    -> Maybe (T.Text)
    -- ^ /@detail@/: unused at this time; must be 'P.Nothing'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the permission was found and removed; 'P.False' if it was not.
settingConnectionRemovePermissionByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Text -> Text -> Maybe Text -> m Bool
settingConnectionRemovePermissionByValue a
setting Text
ptype Text
pitem Maybe Text
detail = 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
ptype' <- Text -> IO CString
textToCString Text
ptype
    CString
pitem' <- Text -> IO CString
textToCString Text
pitem
    CString
maybeDetail <- case Maybe Text
detail of
        Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
FP.nullPtr
        Just Text
jDetail -> do
            CString
jDetail' <- Text -> IO CString
textToCString Text
jDetail
            CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jDetail'
    CInt
result <- Ptr SettingConnection -> CString -> CString -> CString -> IO CInt
nm_setting_connection_remove_permission_by_value Ptr SettingConnection
setting' CString
ptype' CString
pitem' CString
maybeDetail
    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
ptype'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
pitem'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeDetail
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data SettingConnectionRemovePermissionByValueMethodInfo
instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> m Bool), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionRemovePermissionByValueMethodInfo a signature where
    overloadedMethod = settingConnectionRemovePermissionByValue

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


#endif

-- method SettingConnection::remove_secondary
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingConnection" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingConnection"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "idx"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "index number of the secondary connection UUID"
--                 , 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_connection_remove_secondary" nm_setting_connection_remove_secondary :: 
    Ptr SettingConnection ->                -- setting : TInterface (Name {namespace = "NM", name = "SettingConnection"})
    Word32 ->                               -- idx : TBasicType TUInt32
    IO ()

-- | Removes the secondary connection UUID at index /@idx@/.
settingConnectionRemoveSecondary ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> Word32
    -- ^ /@idx@/: index number of the secondary connection UUID
    -> m ()
settingConnectionRemoveSecondary :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Word32 -> m ()
settingConnectionRemoveSecondary 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingConnection -> Word32 -> IO ()
nm_setting_connection_remove_secondary Ptr SettingConnection
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 SettingConnectionRemoveSecondaryMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsSettingConnection a) => O.OverloadedMethod SettingConnectionRemoveSecondaryMethodInfo a signature where
    overloadedMethod = settingConnectionRemoveSecondary

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


#endif

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

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

-- | Removes the secondary connection UUID /@secUuid@/.
settingConnectionRemoveSecondaryByValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingConnection a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingConnection.SettingConnection'
    -> T.Text
    -- ^ /@secUuid@/: the secondary connection UUID to remove
    -> m Bool
    -- ^ __Returns:__ 'P.True' if the secondary connection UUID was found and removed; 'P.False' if it was not.
settingConnectionRemoveSecondaryByValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingConnection a) =>
a -> Text -> m Bool
settingConnectionRemoveSecondaryByValue a
setting Text
secUuid = 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 SettingConnection
setting' <- a -> IO (Ptr SettingConnection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
secUuid' <- Text -> IO CString
textToCString Text
secUuid
    CInt
result <- Ptr SettingConnection -> CString -> IO CInt
nm_setting_connection_remove_secondary_by_value Ptr SettingConnection
setting' CString
secUuid'
    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
secUuid'
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

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

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


#endif