{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- GSM-based Mobile Broadband Settings

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

module GI.NM.Objects.SettingGsm
    ( 

-- * Exported types
    SettingGsm(..)                          ,
    IsSettingGsm                            ,
    toSettingGsm                            ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [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"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [optionClearByName]("GI.NM.Objects.Setting#g:method:optionClearByName"), [optionGet]("GI.NM.Objects.Setting#g:method:optionGet"), [optionGetAllNames]("GI.NM.Objects.Setting#g:method:optionGetAllNames"), [optionGetBoolean]("GI.NM.Objects.Setting#g:method:optionGetBoolean"), [optionGetUint32]("GI.NM.Objects.Setting#g:method:optionGetUint32"), [optionSet]("GI.NM.Objects.Setting#g:method:optionSet"), [optionSetBoolean]("GI.NM.Objects.Setting#g:method:optionSetBoolean"), [optionSetUint32]("GI.NM.Objects.Setting#g:method:optionSetUint32"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [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
-- [getApn]("GI.NM.Objects.SettingGsm#g:method:getApn"), [getAutoConfig]("GI.NM.Objects.SettingGsm#g:method:getAutoConfig"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDbusPropertyType]("GI.NM.Objects.Setting#g:method:getDbusPropertyType"), [getDeviceId]("GI.NM.Objects.SettingGsm#g:method:getDeviceId"), [getHomeOnly]("GI.NM.Objects.SettingGsm#g:method:getHomeOnly"), [getInitialEpsApn]("GI.NM.Objects.SettingGsm#g:method:getInitialEpsApn"), [getInitialEpsConfig]("GI.NM.Objects.SettingGsm#g:method:getInitialEpsConfig"), [getMtu]("GI.NM.Objects.SettingGsm#g:method:getMtu"), [getName]("GI.NM.Objects.Setting#g:method:getName"), [getNetworkId]("GI.NM.Objects.SettingGsm#g:method:getNetworkId"), [getNumber]("GI.NM.Objects.SettingGsm#g:method:getNumber"), [getPassword]("GI.NM.Objects.SettingGsm#g:method:getPassword"), [getPasswordFlags]("GI.NM.Objects.SettingGsm#g:method:getPasswordFlags"), [getPin]("GI.NM.Objects.SettingGsm#g:method:getPin"), [getPinFlags]("GI.NM.Objects.SettingGsm#g:method:getPinFlags"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getSecretFlags]("GI.NM.Objects.Setting#g:method:getSecretFlags"), [getSimId]("GI.NM.Objects.SettingGsm#g:method:getSimId"), [getSimOperatorId]("GI.NM.Objects.SettingGsm#g:method:getSimOperatorId"), [getUsername]("GI.NM.Objects.SettingGsm#g:method:getUsername").
-- 
-- ==== 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)
    ResolveSettingGsmMethod                 ,
#endif

-- ** getApn #method:getApn#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetApnMethodInfo              ,
#endif
    settingGsmGetApn                        ,


-- ** getAutoConfig #method:getAutoConfig#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetAutoConfigMethodInfo       ,
#endif
    settingGsmGetAutoConfig                 ,


-- ** getDeviceId #method:getDeviceId#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetDeviceIdMethodInfo         ,
#endif
    settingGsmGetDeviceId                   ,


-- ** getHomeOnly #method:getHomeOnly#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetHomeOnlyMethodInfo         ,
#endif
    settingGsmGetHomeOnly                   ,


-- ** getInitialEpsApn #method:getInitialEpsApn#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetInitialEpsApnMethodInfo    ,
#endif
    settingGsmGetInitialEpsApn              ,


-- ** getInitialEpsConfig #method:getInitialEpsConfig#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetInitialEpsConfigMethodInfo ,
#endif
    settingGsmGetInitialEpsConfig           ,


-- ** getMtu #method:getMtu#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetMtuMethodInfo              ,
#endif
    settingGsmGetMtu                        ,


-- ** getNetworkId #method:getNetworkId#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetNetworkIdMethodInfo        ,
#endif
    settingGsmGetNetworkId                  ,


-- ** getNumber #method:getNumber#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetNumberMethodInfo           ,
#endif
    settingGsmGetNumber                     ,


-- ** getPassword #method:getPassword#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetPasswordMethodInfo         ,
#endif
    settingGsmGetPassword                   ,


-- ** getPasswordFlags #method:getPasswordFlags#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetPasswordFlagsMethodInfo    ,
#endif
    settingGsmGetPasswordFlags              ,


-- ** getPin #method:getPin#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetPinMethodInfo              ,
#endif
    settingGsmGetPin                        ,


-- ** getPinFlags #method:getPinFlags#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetPinFlagsMethodInfo         ,
#endif
    settingGsmGetPinFlags                   ,


-- ** getSimId #method:getSimId#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetSimIdMethodInfo            ,
#endif
    settingGsmGetSimId                      ,


-- ** getSimOperatorId #method:getSimOperatorId#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetSimOperatorIdMethodInfo    ,
#endif
    settingGsmGetSimOperatorId              ,


-- ** getUsername #method:getUsername#

#if defined(ENABLE_OVERLOADING)
    SettingGsmGetUsernameMethodInfo         ,
#endif
    settingGsmGetUsername                   ,


-- ** new #method:new#

    settingGsmNew                           ,




 -- * Properties


-- ** apn #attr:apn#
-- | The GPRS Access Point Name specifying the APN used when establishing a
-- data session with the GSM-based network.  The APN often determines how
-- the user will be billed for their network usage and whether the user has
-- access to the Internet or just a provider-specific walled-garden, so it
-- is important to use the correct APN for the user\'s mobile broadband plan.
-- The APN may only be composed of the characters a-z, 0-9, ., and - per GSM
-- 03.60 Section 14.9.
-- 
-- If the APN is unset (the default) then it may be detected based on
-- \"auto-config\" setting. The property can be explicitly set to the
-- empty string to prevent that and use no APN.

#if defined(ENABLE_OVERLOADING)
    SettingGsmApnPropertyInfo               ,
#endif
    clearSettingGsmApn                      ,
    constructSettingGsmApn                  ,
    getSettingGsmApn                        ,
    setSettingGsmApn                        ,
#if defined(ENABLE_OVERLOADING)
    settingGsmApn                           ,
#endif


-- ** autoConfig #attr:autoConfig#
-- | When 'P.True', the settings such as APN, username, or password will
-- default to values that match the network the modem will register
-- to in the Mobile Broadband Provider database.
-- 
-- /Since: 1.22/

#if defined(ENABLE_OVERLOADING)
    SettingGsmAutoConfigPropertyInfo        ,
#endif
    constructSettingGsmAutoConfig           ,
    getSettingGsmAutoConfig                 ,
    setSettingGsmAutoConfig                 ,
#if defined(ENABLE_OVERLOADING)
    settingGsmAutoConfig                    ,
#endif


-- ** deviceId #attr:deviceId#
-- | The device unique identifier (as given by the WWAN management service)
-- which this connection applies to.  If given, the connection will only
-- apply to the specified device.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    SettingGsmDeviceIdPropertyInfo          ,
#endif
    clearSettingGsmDeviceId                 ,
    constructSettingGsmDeviceId             ,
    getSettingGsmDeviceId                   ,
    setSettingGsmDeviceId                   ,
#if defined(ENABLE_OVERLOADING)
    settingGsmDeviceId                      ,
#endif


-- ** homeOnly #attr:homeOnly#
-- | When 'P.True', only connections to the home network will be allowed.
-- Connections to roaming networks will not be made.

#if defined(ENABLE_OVERLOADING)
    SettingGsmHomeOnlyPropertyInfo          ,
#endif
    constructSettingGsmHomeOnly             ,
    getSettingGsmHomeOnly                   ,
    setSettingGsmHomeOnly                   ,
#if defined(ENABLE_OVERLOADING)
    settingGsmHomeOnly                      ,
#endif


-- ** initialEpsBearerApn #attr:initialEpsBearerApn#
-- | For LTE modems, this sets the APN for the initial EPS bearer that is set
-- up when attaching to the network.  Setting this parameter implies
-- initial-eps-bearer-configure to be TRUE.
-- 
-- /Since: 1.44/

#if defined(ENABLE_OVERLOADING)
    SettingGsmInitialEpsBearerApnPropertyInfo,
#endif
    clearSettingGsmInitialEpsBearerApn      ,
    constructSettingGsmInitialEpsBearerApn  ,
    getSettingGsmInitialEpsBearerApn        ,
    setSettingGsmInitialEpsBearerApn        ,
#if defined(ENABLE_OVERLOADING)
    settingGsmInitialEpsBearerApn           ,
#endif


-- ** initialEpsBearerConfigure #attr:initialEpsBearerConfigure#
-- | For LTE modems, this setting determines whether the initial EPS bearer
-- shall be configured when bringing up the connection.  It is inferred TRUE
-- if initial-eps-bearer-apn is set.
-- 
-- /Since: 1.44/

#if defined(ENABLE_OVERLOADING)
    SettingGsmInitialEpsBearerConfigurePropertyInfo,
#endif
    constructSettingGsmInitialEpsBearerConfigure,
    getSettingGsmInitialEpsBearerConfigure  ,
    setSettingGsmInitialEpsBearerConfigure  ,
#if defined(ENABLE_OVERLOADING)
    settingGsmInitialEpsBearerConfigure     ,
#endif


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

#if defined(ENABLE_OVERLOADING)
    SettingGsmMtuPropertyInfo               ,
#endif
    constructSettingGsmMtu                  ,
    getSettingGsmMtu                        ,
    setSettingGsmMtu                        ,
#if defined(ENABLE_OVERLOADING)
    settingGsmMtu                           ,
#endif


-- ** networkId #attr:networkId#
-- | The Network ID (GSM LAI format, ie MCC-MNC) to force specific network
-- registration.  If the Network ID is specified, NetworkManager will
-- attempt to force the device to register only on the specified network.
-- This can be used to ensure that the device does not roam when direct
-- roaming control of the device is not otherwise possible.

#if defined(ENABLE_OVERLOADING)
    SettingGsmNetworkIdPropertyInfo         ,
#endif
    clearSettingGsmNetworkId                ,
    constructSettingGsmNetworkId            ,
    getSettingGsmNetworkId                  ,
    setSettingGsmNetworkId                  ,
#if defined(ENABLE_OVERLOADING)
    settingGsmNetworkId                     ,
#endif


-- ** number #attr:number#
-- | Legacy setting that used to help establishing PPP data sessions for
-- GSM-based modems.

#if defined(ENABLE_OVERLOADING)
    SettingGsmNumberPropertyInfo            ,
#endif
    clearSettingGsmNumber                   ,
    constructSettingGsmNumber               ,
    getSettingGsmNumber                     ,
    setSettingGsmNumber                     ,
#if defined(ENABLE_OVERLOADING)
    settingGsmNumber                        ,
#endif


-- ** password #attr:password#
-- | The password used to authenticate with the network, if required.  Many
-- providers do not require a password, or accept any password.  But if a
-- password is required, it is specified here.

#if defined(ENABLE_OVERLOADING)
    SettingGsmPasswordPropertyInfo          ,
#endif
    clearSettingGsmPassword                 ,
    constructSettingGsmPassword             ,
    getSettingGsmPassword                   ,
    setSettingGsmPassword                   ,
#if defined(ENABLE_OVERLOADING)
    settingGsmPassword                      ,
#endif


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

#if defined(ENABLE_OVERLOADING)
    SettingGsmPasswordFlagsPropertyInfo     ,
#endif
    constructSettingGsmPasswordFlags        ,
    getSettingGsmPasswordFlags              ,
    setSettingGsmPasswordFlags              ,
#if defined(ENABLE_OVERLOADING)
    settingGsmPasswordFlags                 ,
#endif


-- ** pin #attr:pin#
-- | If the SIM is locked with a PIN it must be unlocked before any other
-- operations are requested.  Specify the PIN here to allow operation of the
-- device.

#if defined(ENABLE_OVERLOADING)
    SettingGsmPinPropertyInfo               ,
#endif
    clearSettingGsmPin                      ,
    constructSettingGsmPin                  ,
    getSettingGsmPin                        ,
    setSettingGsmPin                        ,
#if defined(ENABLE_OVERLOADING)
    settingGsmPin                           ,
#endif


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

#if defined(ENABLE_OVERLOADING)
    SettingGsmPinFlagsPropertyInfo          ,
#endif
    constructSettingGsmPinFlags             ,
    getSettingGsmPinFlags                   ,
    setSettingGsmPinFlags                   ,
#if defined(ENABLE_OVERLOADING)
    settingGsmPinFlags                      ,
#endif


-- ** simId #attr:simId#
-- | The SIM card unique identifier (as given by the WWAN management service)
-- which this connection applies to.  If given, the connection will apply
-- to any device also allowed by [SettingGsm:deviceId]("GI.NM.Objects.SettingGsm#g:attr:deviceId") which contains a
-- SIM card matching the given identifier.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    SettingGsmSimIdPropertyInfo             ,
#endif
    clearSettingGsmSimId                    ,
    constructSettingGsmSimId                ,
    getSettingGsmSimId                      ,
    setSettingGsmSimId                      ,
#if defined(ENABLE_OVERLOADING)
    settingGsmSimId                         ,
#endif


-- ** simOperatorId #attr:simOperatorId#
-- | A MCC\/MNC string like \"310260\" or \"21601\" identifying the specific
-- mobile network operator which this connection applies to.  If given,
-- the connection will apply to any device also allowed by
-- [SettingGsm:deviceId]("GI.NM.Objects.SettingGsm#g:attr:deviceId") and [SettingGsm:simId]("GI.NM.Objects.SettingGsm#g:attr:simId") which contains a SIM
-- card provisioned by the given operator.
-- 
-- /Since: 1.2/

#if defined(ENABLE_OVERLOADING)
    SettingGsmSimOperatorIdPropertyInfo     ,
#endif
    clearSettingGsmSimOperatorId            ,
    constructSettingGsmSimOperatorId        ,
    getSettingGsmSimOperatorId              ,
    setSettingGsmSimOperatorId              ,
#if defined(ENABLE_OVERLOADING)
    settingGsmSimOperatorId                 ,
#endif


-- ** username #attr:username#
-- | The username used to authenticate with the network, if required.  Many
-- providers do not require a username, or accept any username.  But if a
-- username is required, it is specified here.

#if defined(ENABLE_OVERLOADING)
    SettingGsmUsernamePropertyInfo          ,
#endif
    clearSettingGsmUsername                 ,
    constructSettingGsmUsername             ,
    getSettingGsmUsername                   ,
    setSettingGsmUsername                   ,
#if defined(ENABLE_OVERLOADING)
    settingGsmUsername                      ,
#endif




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT

-- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GLib.Structs.VariantType as GLib.VariantType
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.NM.Callbacks as NM.Callbacks
import {-# SOURCE #-} qualified GI.NM.Enums as NM.Enums
import {-# SOURCE #-} qualified GI.NM.Flags as NM.Flags
import {-# SOURCE #-} qualified GI.NM.Interfaces.Connection as NM.Connection
import {-# SOURCE #-} qualified GI.NM.Objects.Setting as NM.Setting
import {-# SOURCE #-} qualified GI.NM.Objects.Setting8021x as NM.Setting8021x
import {-# SOURCE #-} qualified GI.NM.Objects.SettingAdsl as NM.SettingAdsl
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBluetooth as NM.SettingBluetooth
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBond as NM.SettingBond
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBridge as NM.SettingBridge
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBridgePort as NM.SettingBridgePort
import {-# SOURCE #-} qualified GI.NM.Objects.SettingCdma as NM.SettingCdma
import {-# SOURCE #-} qualified GI.NM.Objects.SettingConnection as NM.SettingConnection
import {-# SOURCE #-} qualified GI.NM.Objects.SettingDcb as NM.SettingDcb
import {-# SOURCE #-} qualified GI.NM.Objects.SettingDummy as NM.SettingDummy
import {-# SOURCE #-} qualified GI.NM.Objects.SettingGeneric as NM.SettingGeneric
import {-# SOURCE #-} qualified GI.NM.Objects.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.Flags as NM.Flags
import {-# SOURCE #-} qualified GI.NM.Objects.Setting as NM.Setting

#endif

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

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

foreign import ccall "nm_setting_gsm_get_type"
    c_nm_setting_gsm_get_type :: IO B.Types.GType

instance B.Types.TypedObject SettingGsm where
    glibType :: IO GType
glibType = IO GType
c_nm_setting_gsm_get_type

instance B.Types.GObject SettingGsm

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

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

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

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

#if defined(ENABLE_OVERLOADING)
type family ResolveSettingGsmMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveSettingGsmMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveSettingGsmMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveSettingGsmMethod "compare" o = NM.Setting.SettingCompareMethodInfo
    ResolveSettingGsmMethod "diff" o = NM.Setting.SettingDiffMethodInfo
    ResolveSettingGsmMethod "duplicate" o = NM.Setting.SettingDuplicateMethodInfo
    ResolveSettingGsmMethod "enumerateValues" o = NM.Setting.SettingEnumerateValuesMethodInfo
    ResolveSettingGsmMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveSettingGsmMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveSettingGsmMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveSettingGsmMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveSettingGsmMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveSettingGsmMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveSettingGsmMethod "optionClearByName" o = NM.Setting.SettingOptionClearByNameMethodInfo
    ResolveSettingGsmMethod "optionGet" o = NM.Setting.SettingOptionGetMethodInfo
    ResolveSettingGsmMethod "optionGetAllNames" o = NM.Setting.SettingOptionGetAllNamesMethodInfo
    ResolveSettingGsmMethod "optionGetBoolean" o = NM.Setting.SettingOptionGetBooleanMethodInfo
    ResolveSettingGsmMethod "optionGetUint32" o = NM.Setting.SettingOptionGetUint32MethodInfo
    ResolveSettingGsmMethod "optionSet" o = NM.Setting.SettingOptionSetMethodInfo
    ResolveSettingGsmMethod "optionSetBoolean" o = NM.Setting.SettingOptionSetBooleanMethodInfo
    ResolveSettingGsmMethod "optionSetUint32" o = NM.Setting.SettingOptionSetUint32MethodInfo
    ResolveSettingGsmMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveSettingGsmMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveSettingGsmMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveSettingGsmMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveSettingGsmMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveSettingGsmMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveSettingGsmMethod "toString" o = NM.Setting.SettingToStringMethodInfo
    ResolveSettingGsmMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveSettingGsmMethod "verify" o = NM.Setting.SettingVerifyMethodInfo
    ResolveSettingGsmMethod "verifySecrets" o = NM.Setting.SettingVerifySecretsMethodInfo
    ResolveSettingGsmMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveSettingGsmMethod "getApn" o = SettingGsmGetApnMethodInfo
    ResolveSettingGsmMethod "getAutoConfig" o = SettingGsmGetAutoConfigMethodInfo
    ResolveSettingGsmMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveSettingGsmMethod "getDbusPropertyType" o = NM.Setting.SettingGetDbusPropertyTypeMethodInfo
    ResolveSettingGsmMethod "getDeviceId" o = SettingGsmGetDeviceIdMethodInfo
    ResolveSettingGsmMethod "getHomeOnly" o = SettingGsmGetHomeOnlyMethodInfo
    ResolveSettingGsmMethod "getInitialEpsApn" o = SettingGsmGetInitialEpsApnMethodInfo
    ResolveSettingGsmMethod "getInitialEpsConfig" o = SettingGsmGetInitialEpsConfigMethodInfo
    ResolveSettingGsmMethod "getMtu" o = SettingGsmGetMtuMethodInfo
    ResolveSettingGsmMethod "getName" o = NM.Setting.SettingGetNameMethodInfo
    ResolveSettingGsmMethod "getNetworkId" o = SettingGsmGetNetworkIdMethodInfo
    ResolveSettingGsmMethod "getNumber" o = SettingGsmGetNumberMethodInfo
    ResolveSettingGsmMethod "getPassword" o = SettingGsmGetPasswordMethodInfo
    ResolveSettingGsmMethod "getPasswordFlags" o = SettingGsmGetPasswordFlagsMethodInfo
    ResolveSettingGsmMethod "getPin" o = SettingGsmGetPinMethodInfo
    ResolveSettingGsmMethod "getPinFlags" o = SettingGsmGetPinFlagsMethodInfo
    ResolveSettingGsmMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveSettingGsmMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveSettingGsmMethod "getSecretFlags" o = NM.Setting.SettingGetSecretFlagsMethodInfo
    ResolveSettingGsmMethod "getSimId" o = SettingGsmGetSimIdMethodInfo
    ResolveSettingGsmMethod "getSimOperatorId" o = SettingGsmGetSimOperatorIdMethodInfo
    ResolveSettingGsmMethod "getUsername" o = SettingGsmGetUsernameMethodInfo
    ResolveSettingGsmMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveSettingGsmMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveSettingGsmMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveSettingGsmMethod "setSecretFlags" o = NM.Setting.SettingSetSecretFlagsMethodInfo
    ResolveSettingGsmMethod l o = O.MethodResolutionFailed l o

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

#endif

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

#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- VVV Prop "initial-eps-bearer-apn"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

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

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

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

-- | Set the value of the “@initial-eps-bearer-apn@” 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' #initialEpsBearerApn
-- @
clearSettingGsmInitialEpsBearerApn :: (MonadIO m, IsSettingGsm o) => o -> m ()
clearSettingGsmInitialEpsBearerApn :: forall (m :: * -> *) o. (MonadIO m, IsSettingGsm o) => o -> m ()
clearSettingGsmInitialEpsBearerApn 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
"initial-eps-bearer-apn" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

#if defined(ENABLE_OVERLOADING)
data SettingGsmInitialEpsBearerApnPropertyInfo
instance AttrInfo SettingGsmInitialEpsBearerApnPropertyInfo where
    type AttrAllowedOps SettingGsmInitialEpsBearerApnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingGsmInitialEpsBearerApnPropertyInfo = IsSettingGsm
    type AttrSetTypeConstraint SettingGsmInitialEpsBearerApnPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingGsmInitialEpsBearerApnPropertyInfo = (~) T.Text
    type AttrTransferType SettingGsmInitialEpsBearerApnPropertyInfo = T.Text
    type AttrGetType SettingGsmInitialEpsBearerApnPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingGsmInitialEpsBearerApnPropertyInfo = "initial-eps-bearer-apn"
    type AttrOrigin SettingGsmInitialEpsBearerApnPropertyInfo = SettingGsm
    attrGet = getSettingGsmInitialEpsBearerApn
    attrSet = setSettingGsmInitialEpsBearerApn
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingGsmInitialEpsBearerApn
    attrClear = clearSettingGsmInitialEpsBearerApn
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingGsm.initialEpsBearerApn"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingGsm.html#g:attr:initialEpsBearerApn"
        })
#endif

-- VVV Prop "initial-eps-bearer-configure"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingGsmInitialEpsBearerConfigurePropertyInfo
instance AttrInfo SettingGsmInitialEpsBearerConfigurePropertyInfo where
    type AttrAllowedOps SettingGsmInitialEpsBearerConfigurePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingGsmInitialEpsBearerConfigurePropertyInfo = IsSettingGsm
    type AttrSetTypeConstraint SettingGsmInitialEpsBearerConfigurePropertyInfo = (~) Bool
    type AttrTransferTypeConstraint SettingGsmInitialEpsBearerConfigurePropertyInfo = (~) Bool
    type AttrTransferType SettingGsmInitialEpsBearerConfigurePropertyInfo = Bool
    type AttrGetType SettingGsmInitialEpsBearerConfigurePropertyInfo = Bool
    type AttrLabel SettingGsmInitialEpsBearerConfigurePropertyInfo = "initial-eps-bearer-configure"
    type AttrOrigin SettingGsmInitialEpsBearerConfigurePropertyInfo = SettingGsm
    attrGet = getSettingGsmInitialEpsBearerConfigure
    attrSet = setSettingGsmInitialEpsBearerConfigure
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingGsmInitialEpsBearerConfigure
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingGsm.initialEpsBearerConfigure"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingGsm.html#g:attr:initialEpsBearerConfigure"
        })
#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Set the value of the “@username@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #username
-- @
clearSettingGsmUsername :: (MonadIO m, IsSettingGsm o) => o -> m ()
clearSettingGsmUsername :: forall (m :: * -> *) o. (MonadIO m, IsSettingGsm o) => o -> m ()
clearSettingGsmUsername 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
"username" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)

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

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList SettingGsm
type instance O.AttributeList SettingGsm = SettingGsmAttributeList
type SettingGsmAttributeList = ('[ '("apn", SettingGsmApnPropertyInfo), '("autoConfig", SettingGsmAutoConfigPropertyInfo), '("deviceId", SettingGsmDeviceIdPropertyInfo), '("homeOnly", SettingGsmHomeOnlyPropertyInfo), '("initialEpsBearerApn", SettingGsmInitialEpsBearerApnPropertyInfo), '("initialEpsBearerConfigure", SettingGsmInitialEpsBearerConfigurePropertyInfo), '("mtu", SettingGsmMtuPropertyInfo), '("name", NM.Setting.SettingNamePropertyInfo), '("networkId", SettingGsmNetworkIdPropertyInfo), '("number", SettingGsmNumberPropertyInfo), '("password", SettingGsmPasswordPropertyInfo), '("passwordFlags", SettingGsmPasswordFlagsPropertyInfo), '("pin", SettingGsmPinPropertyInfo), '("pinFlags", SettingGsmPinFlagsPropertyInfo), '("simId", SettingGsmSimIdPropertyInfo), '("simOperatorId", SettingGsmSimOperatorIdPropertyInfo), '("username", SettingGsmUsernamePropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
settingGsmApn :: AttrLabelProxy "apn"
settingGsmApn = AttrLabelProxy

settingGsmAutoConfig :: AttrLabelProxy "autoConfig"
settingGsmAutoConfig = AttrLabelProxy

settingGsmDeviceId :: AttrLabelProxy "deviceId"
settingGsmDeviceId = AttrLabelProxy

settingGsmHomeOnly :: AttrLabelProxy "homeOnly"
settingGsmHomeOnly = AttrLabelProxy

settingGsmInitialEpsBearerApn :: AttrLabelProxy "initialEpsBearerApn"
settingGsmInitialEpsBearerApn = AttrLabelProxy

settingGsmInitialEpsBearerConfigure :: AttrLabelProxy "initialEpsBearerConfigure"
settingGsmInitialEpsBearerConfigure = AttrLabelProxy

settingGsmMtu :: AttrLabelProxy "mtu"
settingGsmMtu = AttrLabelProxy

settingGsmNetworkId :: AttrLabelProxy "networkId"
settingGsmNetworkId = AttrLabelProxy

settingGsmNumber :: AttrLabelProxy "number"
settingGsmNumber = AttrLabelProxy

settingGsmPassword :: AttrLabelProxy "password"
settingGsmPassword = AttrLabelProxy

settingGsmPasswordFlags :: AttrLabelProxy "passwordFlags"
settingGsmPasswordFlags = AttrLabelProxy

settingGsmPin :: AttrLabelProxy "pin"
settingGsmPin = AttrLabelProxy

settingGsmPinFlags :: AttrLabelProxy "pinFlags"
settingGsmPinFlags = AttrLabelProxy

settingGsmSimId :: AttrLabelProxy "simId"
settingGsmSimId = AttrLabelProxy

settingGsmSimOperatorId :: AttrLabelProxy "simOperatorId"
settingGsmSimOperatorId = AttrLabelProxy

settingGsmUsername :: AttrLabelProxy "username"
settingGsmUsername = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "nm_setting_gsm_new" nm_setting_gsm_new :: 
    IO (Ptr SettingGsm)

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

#if defined(ENABLE_OVERLOADING)
#endif

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

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

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


#endif

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

-- | /No description available in the introspection data./
-- 
-- /Since: 1.22/
settingGsmGetAutoConfig ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingGsm a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingGsm.SettingGsm'
    -> m Bool
    -- ^ __Returns:__ the [SettingGsm:autoConfig]("GI.NM.Objects.SettingGsm#g:attr:autoConfig") property of the setting
settingGsmGetAutoConfig :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingGsm a) =>
a -> m Bool
settingGsmGetAutoConfig 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 SettingGsm
setting' <- a -> IO (Ptr SettingGsm)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingGsm -> IO CInt
nm_setting_gsm_get_auto_config Ptr SettingGsm
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 SettingGsmGetAutoConfigMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsSettingGsm a) => O.OverloadedMethod SettingGsmGetAutoConfigMethodInfo a signature where
    overloadedMethod = settingGsmGetAutoConfig

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


#endif

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

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

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


#endif

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

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

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


#endif

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

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

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


#endif

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

-- | /No description available in the introspection data./
-- 
-- /Since: 1.44/
settingGsmGetInitialEpsConfig ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingGsm a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingGsm.SettingGsm'
    -> m Bool
    -- ^ __Returns:__ the [SettingGsm:initialEpsBearerConfigure]("GI.NM.Objects.SettingGsm#g:attr:initialEpsBearerConfigure") property of the setting
settingGsmGetInitialEpsConfig :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingGsm a) =>
a -> m Bool
settingGsmGetInitialEpsConfig 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 SettingGsm
setting' <- a -> IO (Ptr SettingGsm)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingGsm -> IO CInt
nm_setting_gsm_get_initial_eps_config Ptr SettingGsm
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 SettingGsmGetInitialEpsConfigMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsSettingGsm a) => O.OverloadedMethod SettingGsmGetInitialEpsConfigMethodInfo a signature where
    overloadedMethod = settingGsmGetInitialEpsConfig

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


#endif

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

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

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


#endif

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

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

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


#endif

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

{-# DEPRECATED settingGsmGetNumber ["(Since version 1.16)","User-provided values for this setting are no longer used."] #-}
-- | /No description available in the introspection data./
settingGsmGetNumber ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingGsm a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingGsm.SettingGsm'
    -> m T.Text
    -- ^ __Returns:__ the [SettingGsm:number]("GI.NM.Objects.SettingGsm#g:attr:number") property of the setting
settingGsmGetNumber :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingGsm a) =>
a -> m Text
settingGsmGetNumber 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 SettingGsm
setting' <- a -> IO (Ptr SettingGsm)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CString
result <- Ptr SettingGsm -> IO CString
nm_setting_gsm_get_number Ptr SettingGsm
setting'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingGsmGetNumber" 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 SettingGsmGetNumberMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSettingGsm a) => O.OverloadedMethod SettingGsmGetNumberMethodInfo a signature where
    overloadedMethod = settingGsmGetNumber

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


#endif

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

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

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


#endif

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

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

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

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

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


#endif

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

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

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


#endif

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

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

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

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

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


#endif

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

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

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


#endif

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

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

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


#endif

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

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

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


#endif