{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- Data Center Bridging Settings

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

module GI.NM.Objects.SettingDcb
    ( 

-- * Exported types
    SettingDcb(..)                          ,
    IsSettingDcb                            ,
    toSettingDcb                            ,


 -- * 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
-- [getAppFcoeFlags]("GI.NM.Objects.SettingDcb#g:method:getAppFcoeFlags"), [getAppFcoeMode]("GI.NM.Objects.SettingDcb#g:method:getAppFcoeMode"), [getAppFcoePriority]("GI.NM.Objects.SettingDcb#g:method:getAppFcoePriority"), [getAppFipFlags]("GI.NM.Objects.SettingDcb#g:method:getAppFipFlags"), [getAppFipPriority]("GI.NM.Objects.SettingDcb#g:method:getAppFipPriority"), [getAppIscsiFlags]("GI.NM.Objects.SettingDcb#g:method:getAppIscsiFlags"), [getAppIscsiPriority]("GI.NM.Objects.SettingDcb#g:method:getAppIscsiPriority"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDbusPropertyType]("GI.NM.Objects.Setting#g:method:getDbusPropertyType"), [getName]("GI.NM.Objects.Setting#g:method:getName"), [getPriorityBandwidth]("GI.NM.Objects.SettingDcb#g:method:getPriorityBandwidth"), [getPriorityFlowControl]("GI.NM.Objects.SettingDcb#g:method:getPriorityFlowControl"), [getPriorityFlowControlFlags]("GI.NM.Objects.SettingDcb#g:method:getPriorityFlowControlFlags"), [getPriorityGroupBandwidth]("GI.NM.Objects.SettingDcb#g:method:getPriorityGroupBandwidth"), [getPriorityGroupFlags]("GI.NM.Objects.SettingDcb#g:method:getPriorityGroupFlags"), [getPriorityGroupId]("GI.NM.Objects.SettingDcb#g:method:getPriorityGroupId"), [getPriorityStrictBandwidth]("GI.NM.Objects.SettingDcb#g:method:getPriorityStrictBandwidth"), [getPriorityTrafficClass]("GI.NM.Objects.SettingDcb#g:method:getPriorityTrafficClass"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getSecretFlags]("GI.NM.Objects.Setting#g:method:getSecretFlags").
-- 
-- ==== Setters
-- [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setPriorityBandwidth]("GI.NM.Objects.SettingDcb#g:method:setPriorityBandwidth"), [setPriorityFlowControl]("GI.NM.Objects.SettingDcb#g:method:setPriorityFlowControl"), [setPriorityGroupBandwidth]("GI.NM.Objects.SettingDcb#g:method:setPriorityGroupBandwidth"), [setPriorityGroupId]("GI.NM.Objects.SettingDcb#g:method:setPriorityGroupId"), [setPriorityStrictBandwidth]("GI.NM.Objects.SettingDcb#g:method:setPriorityStrictBandwidth"), [setPriorityTrafficClass]("GI.NM.Objects.SettingDcb#g:method:setPriorityTrafficClass"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setSecretFlags]("GI.NM.Objects.Setting#g:method:setSecretFlags").

#if defined(ENABLE_OVERLOADING)
    ResolveSettingDcbMethod                 ,
#endif

-- ** getAppFcoeFlags #method:getAppFcoeFlags#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetAppFcoeFlagsMethodInfo     ,
#endif
    settingDcbGetAppFcoeFlags               ,


-- ** getAppFcoeMode #method:getAppFcoeMode#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetAppFcoeModeMethodInfo      ,
#endif
    settingDcbGetAppFcoeMode                ,


-- ** getAppFcoePriority #method:getAppFcoePriority#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetAppFcoePriorityMethodInfo  ,
#endif
    settingDcbGetAppFcoePriority            ,


-- ** getAppFipFlags #method:getAppFipFlags#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetAppFipFlagsMethodInfo      ,
#endif
    settingDcbGetAppFipFlags                ,


-- ** getAppFipPriority #method:getAppFipPriority#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetAppFipPriorityMethodInfo   ,
#endif
    settingDcbGetAppFipPriority             ,


-- ** getAppIscsiFlags #method:getAppIscsiFlags#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetAppIscsiFlagsMethodInfo    ,
#endif
    settingDcbGetAppIscsiFlags              ,


-- ** getAppIscsiPriority #method:getAppIscsiPriority#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetAppIscsiPriorityMethodInfo ,
#endif
    settingDcbGetAppIscsiPriority           ,


-- ** getPriorityBandwidth #method:getPriorityBandwidth#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetPriorityBandwidthMethodInfo,
#endif
    settingDcbGetPriorityBandwidth          ,


-- ** getPriorityFlowControl #method:getPriorityFlowControl#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetPriorityFlowControlMethodInfo,
#endif
    settingDcbGetPriorityFlowControl        ,


-- ** getPriorityFlowControlFlags #method:getPriorityFlowControlFlags#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetPriorityFlowControlFlagsMethodInfo,
#endif
    settingDcbGetPriorityFlowControlFlags   ,


-- ** getPriorityGroupBandwidth #method:getPriorityGroupBandwidth#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetPriorityGroupBandwidthMethodInfo,
#endif
    settingDcbGetPriorityGroupBandwidth     ,


-- ** getPriorityGroupFlags #method:getPriorityGroupFlags#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetPriorityGroupFlagsMethodInfo,
#endif
    settingDcbGetPriorityGroupFlags         ,


-- ** getPriorityGroupId #method:getPriorityGroupId#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetPriorityGroupIdMethodInfo  ,
#endif
    settingDcbGetPriorityGroupId            ,


-- ** getPriorityStrictBandwidth #method:getPriorityStrictBandwidth#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetPriorityStrictBandwidthMethodInfo,
#endif
    settingDcbGetPriorityStrictBandwidth    ,


-- ** getPriorityTrafficClass #method:getPriorityTrafficClass#

#if defined(ENABLE_OVERLOADING)
    SettingDcbGetPriorityTrafficClassMethodInfo,
#endif
    settingDcbGetPriorityTrafficClass       ,


-- ** new #method:new#

    settingDcbNew                           ,


-- ** setPriorityBandwidth #method:setPriorityBandwidth#

#if defined(ENABLE_OVERLOADING)
    SettingDcbSetPriorityBandwidthMethodInfo,
#endif
    settingDcbSetPriorityBandwidth          ,


-- ** setPriorityFlowControl #method:setPriorityFlowControl#

#if defined(ENABLE_OVERLOADING)
    SettingDcbSetPriorityFlowControlMethodInfo,
#endif
    settingDcbSetPriorityFlowControl        ,


-- ** setPriorityGroupBandwidth #method:setPriorityGroupBandwidth#

#if defined(ENABLE_OVERLOADING)
    SettingDcbSetPriorityGroupBandwidthMethodInfo,
#endif
    settingDcbSetPriorityGroupBandwidth     ,


-- ** setPriorityGroupId #method:setPriorityGroupId#

#if defined(ENABLE_OVERLOADING)
    SettingDcbSetPriorityGroupIdMethodInfo  ,
#endif
    settingDcbSetPriorityGroupId            ,


-- ** setPriorityStrictBandwidth #method:setPriorityStrictBandwidth#

#if defined(ENABLE_OVERLOADING)
    SettingDcbSetPriorityStrictBandwidthMethodInfo,
#endif
    settingDcbSetPriorityStrictBandwidth    ,


-- ** setPriorityTrafficClass #method:setPriorityTrafficClass#

#if defined(ENABLE_OVERLOADING)
    SettingDcbSetPriorityTrafficClassMethodInfo,
#endif
    settingDcbSetPriorityTrafficClass       ,




 -- * Properties


-- ** appFcoeFlags #attr:appFcoeFlags#
-- | Specifies the t'GI.NM.Flags.SettingDcbFlags' for the DCB FCoE application.  Flags may
-- be any combination of 'GI.NM.Flags.SettingDcbFlagsEnable',
-- 'GI.NM.Flags.SettingDcbFlagsAdvertise', and 'GI.NM.Flags.SettingDcbFlagsWilling'.

#if defined(ENABLE_OVERLOADING)
    SettingDcbAppFcoeFlagsPropertyInfo      ,
#endif
    constructSettingDcbAppFcoeFlags         ,
    getSettingDcbAppFcoeFlags               ,
    setSettingDcbAppFcoeFlags               ,
#if defined(ENABLE_OVERLOADING)
    settingDcbAppFcoeFlags                  ,
#endif


-- ** appFcoeMode #attr:appFcoeMode#
-- | The FCoE controller mode; either 'GI.NM.Constants.SETTING_DCB_FCOE_MODE_FABRIC'
-- or 'GI.NM.Constants.SETTING_DCB_FCOE_MODE_VN2VN'.
-- 
-- Since 1.34, 'P.Nothing' is the default and means 'GI.NM.Constants.SETTING_DCB_FCOE_MODE_FABRIC'.
-- Before 1.34, 'P.Nothing' was rejected as invalid and the default was 'GI.NM.Constants.SETTING_DCB_FCOE_MODE_FABRIC'.

#if defined(ENABLE_OVERLOADING)
    SettingDcbAppFcoeModePropertyInfo       ,
#endif
    clearSettingDcbAppFcoeMode              ,
    constructSettingDcbAppFcoeMode          ,
    getSettingDcbAppFcoeMode                ,
    setSettingDcbAppFcoeMode                ,
#if defined(ENABLE_OVERLOADING)
    settingDcbAppFcoeMode                   ,
#endif


-- ** appFcoePriority #attr:appFcoePriority#
-- | The highest User Priority (0 - 7) which FCoE frames should use, or -1 for
-- default priority.  Only used when the [SettingDcb:appFcoeFlags]("GI.NM.Objects.SettingDcb#g:attr:appFcoeFlags")
-- property includes the 'GI.NM.Flags.SettingDcbFlagsEnable' flag.

#if defined(ENABLE_OVERLOADING)
    SettingDcbAppFcoePriorityPropertyInfo   ,
#endif
    constructSettingDcbAppFcoePriority      ,
    getSettingDcbAppFcoePriority            ,
    setSettingDcbAppFcoePriority            ,
#if defined(ENABLE_OVERLOADING)
    settingDcbAppFcoePriority               ,
#endif


-- ** appFipFlags #attr:appFipFlags#
-- | Specifies the t'GI.NM.Flags.SettingDcbFlags' for the DCB FIP application.  Flags may
-- be any combination of 'GI.NM.Flags.SettingDcbFlagsEnable',
-- 'GI.NM.Flags.SettingDcbFlagsAdvertise', and 'GI.NM.Flags.SettingDcbFlagsWilling'.

#if defined(ENABLE_OVERLOADING)
    SettingDcbAppFipFlagsPropertyInfo       ,
#endif
    constructSettingDcbAppFipFlags          ,
    getSettingDcbAppFipFlags                ,
    setSettingDcbAppFipFlags                ,
#if defined(ENABLE_OVERLOADING)
    settingDcbAppFipFlags                   ,
#endif


-- ** appFipPriority #attr:appFipPriority#
-- | The highest User Priority (0 - 7) which FIP frames should use, or -1 for
-- default priority.  Only used when the [SettingDcb:appFipFlags]("GI.NM.Objects.SettingDcb#g:attr:appFipFlags")
-- property includes the 'GI.NM.Flags.SettingDcbFlagsEnable' flag.

#if defined(ENABLE_OVERLOADING)
    SettingDcbAppFipPriorityPropertyInfo    ,
#endif
    constructSettingDcbAppFipPriority       ,
    getSettingDcbAppFipPriority             ,
    setSettingDcbAppFipPriority             ,
#if defined(ENABLE_OVERLOADING)
    settingDcbAppFipPriority                ,
#endif


-- ** appIscsiFlags #attr:appIscsiFlags#
-- | Specifies the t'GI.NM.Flags.SettingDcbFlags' for the DCB iSCSI application.  Flags
-- may be any combination of 'GI.NM.Flags.SettingDcbFlagsEnable',
-- 'GI.NM.Flags.SettingDcbFlagsAdvertise', and 'GI.NM.Flags.SettingDcbFlagsWilling'.

#if defined(ENABLE_OVERLOADING)
    SettingDcbAppIscsiFlagsPropertyInfo     ,
#endif
    constructSettingDcbAppIscsiFlags        ,
    getSettingDcbAppIscsiFlags              ,
    setSettingDcbAppIscsiFlags              ,
#if defined(ENABLE_OVERLOADING)
    settingDcbAppIscsiFlags                 ,
#endif


-- ** appIscsiPriority #attr:appIscsiPriority#
-- | The highest User Priority (0 - 7) which iSCSI frames should use, or -1
-- for default priority. Only used when the [SettingDcb:appIscsiFlags]("GI.NM.Objects.SettingDcb#g:attr:appIscsiFlags")
-- property includes the 'GI.NM.Flags.SettingDcbFlagsEnable' flag.

#if defined(ENABLE_OVERLOADING)
    SettingDcbAppIscsiPriorityPropertyInfo  ,
#endif
    constructSettingDcbAppIscsiPriority     ,
    getSettingDcbAppIscsiPriority           ,
    setSettingDcbAppIscsiPriority           ,
#if defined(ENABLE_OVERLOADING)
    settingDcbAppIscsiPriority              ,
#endif


-- ** priorityBandwidth #attr:priorityBandwidth#

#if defined(ENABLE_OVERLOADING)
    SettingDcbPriorityBandwidthPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
    settingDcbPriorityBandwidth             ,
#endif


-- ** priorityFlowControl #attr:priorityFlowControl#

#if defined(ENABLE_OVERLOADING)
    SettingDcbPriorityFlowControlPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
    settingDcbPriorityFlowControl           ,
#endif


-- ** priorityFlowControlFlags #attr:priorityFlowControlFlags#
-- | Specifies the t'GI.NM.Flags.SettingDcbFlags' for DCB Priority Flow Control (PFC).
-- Flags may be any combination of 'GI.NM.Flags.SettingDcbFlagsEnable',
-- 'GI.NM.Flags.SettingDcbFlagsAdvertise', and 'GI.NM.Flags.SettingDcbFlagsWilling'.

#if defined(ENABLE_OVERLOADING)
    SettingDcbPriorityFlowControlFlagsPropertyInfo,
#endif
    constructSettingDcbPriorityFlowControlFlags,
    getSettingDcbPriorityFlowControlFlags   ,
    setSettingDcbPriorityFlowControlFlags   ,
#if defined(ENABLE_OVERLOADING)
    settingDcbPriorityFlowControlFlags      ,
#endif


-- ** priorityGroupBandwidth #attr:priorityGroupBandwidth#

#if defined(ENABLE_OVERLOADING)
    SettingDcbPriorityGroupBandwidthPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
    settingDcbPriorityGroupBandwidth        ,
#endif


-- ** priorityGroupFlags #attr:priorityGroupFlags#
-- | Specifies the t'GI.NM.Flags.SettingDcbFlags' for DCB Priority Groups.  Flags may be
-- any combination of 'GI.NM.Flags.SettingDcbFlagsEnable',
-- 'GI.NM.Flags.SettingDcbFlagsAdvertise', and 'GI.NM.Flags.SettingDcbFlagsWilling'.

#if defined(ENABLE_OVERLOADING)
    SettingDcbPriorityGroupFlagsPropertyInfo,
#endif
    constructSettingDcbPriorityGroupFlags   ,
    getSettingDcbPriorityGroupFlags         ,
    setSettingDcbPriorityGroupFlags         ,
#if defined(ENABLE_OVERLOADING)
    settingDcbPriorityGroupFlags            ,
#endif


-- ** priorityGroupId #attr:priorityGroupId#

#if defined(ENABLE_OVERLOADING)
    SettingDcbPriorityGroupIdPropertyInfo   ,
#endif
#if defined(ENABLE_OVERLOADING)
    settingDcbPriorityGroupId               ,
#endif


-- ** priorityStrictBandwidth #attr:priorityStrictBandwidth#

#if defined(ENABLE_OVERLOADING)
    SettingDcbPriorityStrictBandwidthPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
    settingDcbPriorityStrictBandwidth       ,
#endif


-- ** priorityTrafficClass #attr:priorityTrafficClass#

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

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

#endif

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

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

foreign import ccall "nm_setting_dcb_get_type"
    c_nm_setting_dcb_get_type :: IO B.Types.GType

instance B.Types.TypedObject SettingDcb where
    glibType :: IO GType
glibType = IO GType
c_nm_setting_dcb_get_type

instance B.Types.GObject SettingDcb

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

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

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

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

#if defined(ENABLE_OVERLOADING)
type family ResolveSettingDcbMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveSettingDcbMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveSettingDcbMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveSettingDcbMethod "compare" o = NM.Setting.SettingCompareMethodInfo
    ResolveSettingDcbMethod "diff" o = NM.Setting.SettingDiffMethodInfo
    ResolveSettingDcbMethod "duplicate" o = NM.Setting.SettingDuplicateMethodInfo
    ResolveSettingDcbMethod "enumerateValues" o = NM.Setting.SettingEnumerateValuesMethodInfo
    ResolveSettingDcbMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveSettingDcbMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveSettingDcbMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveSettingDcbMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveSettingDcbMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveSettingDcbMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveSettingDcbMethod "optionClearByName" o = NM.Setting.SettingOptionClearByNameMethodInfo
    ResolveSettingDcbMethod "optionGet" o = NM.Setting.SettingOptionGetMethodInfo
    ResolveSettingDcbMethod "optionGetAllNames" o = NM.Setting.SettingOptionGetAllNamesMethodInfo
    ResolveSettingDcbMethod "optionGetBoolean" o = NM.Setting.SettingOptionGetBooleanMethodInfo
    ResolveSettingDcbMethod "optionGetUint32" o = NM.Setting.SettingOptionGetUint32MethodInfo
    ResolveSettingDcbMethod "optionSet" o = NM.Setting.SettingOptionSetMethodInfo
    ResolveSettingDcbMethod "optionSetBoolean" o = NM.Setting.SettingOptionSetBooleanMethodInfo
    ResolveSettingDcbMethod "optionSetUint32" o = NM.Setting.SettingOptionSetUint32MethodInfo
    ResolveSettingDcbMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveSettingDcbMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveSettingDcbMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveSettingDcbMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveSettingDcbMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveSettingDcbMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveSettingDcbMethod "toString" o = NM.Setting.SettingToStringMethodInfo
    ResolveSettingDcbMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveSettingDcbMethod "verify" o = NM.Setting.SettingVerifyMethodInfo
    ResolveSettingDcbMethod "verifySecrets" o = NM.Setting.SettingVerifySecretsMethodInfo
    ResolveSettingDcbMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveSettingDcbMethod "getAppFcoeFlags" o = SettingDcbGetAppFcoeFlagsMethodInfo
    ResolveSettingDcbMethod "getAppFcoeMode" o = SettingDcbGetAppFcoeModeMethodInfo
    ResolveSettingDcbMethod "getAppFcoePriority" o = SettingDcbGetAppFcoePriorityMethodInfo
    ResolveSettingDcbMethod "getAppFipFlags" o = SettingDcbGetAppFipFlagsMethodInfo
    ResolveSettingDcbMethod "getAppFipPriority" o = SettingDcbGetAppFipPriorityMethodInfo
    ResolveSettingDcbMethod "getAppIscsiFlags" o = SettingDcbGetAppIscsiFlagsMethodInfo
    ResolveSettingDcbMethod "getAppIscsiPriority" o = SettingDcbGetAppIscsiPriorityMethodInfo
    ResolveSettingDcbMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveSettingDcbMethod "getDbusPropertyType" o = NM.Setting.SettingGetDbusPropertyTypeMethodInfo
    ResolveSettingDcbMethod "getName" o = NM.Setting.SettingGetNameMethodInfo
    ResolveSettingDcbMethod "getPriorityBandwidth" o = SettingDcbGetPriorityBandwidthMethodInfo
    ResolveSettingDcbMethod "getPriorityFlowControl" o = SettingDcbGetPriorityFlowControlMethodInfo
    ResolveSettingDcbMethod "getPriorityFlowControlFlags" o = SettingDcbGetPriorityFlowControlFlagsMethodInfo
    ResolveSettingDcbMethod "getPriorityGroupBandwidth" o = SettingDcbGetPriorityGroupBandwidthMethodInfo
    ResolveSettingDcbMethod "getPriorityGroupFlags" o = SettingDcbGetPriorityGroupFlagsMethodInfo
    ResolveSettingDcbMethod "getPriorityGroupId" o = SettingDcbGetPriorityGroupIdMethodInfo
    ResolveSettingDcbMethod "getPriorityStrictBandwidth" o = SettingDcbGetPriorityStrictBandwidthMethodInfo
    ResolveSettingDcbMethod "getPriorityTrafficClass" o = SettingDcbGetPriorityTrafficClassMethodInfo
    ResolveSettingDcbMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveSettingDcbMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveSettingDcbMethod "getSecretFlags" o = NM.Setting.SettingGetSecretFlagsMethodInfo
    ResolveSettingDcbMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveSettingDcbMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveSettingDcbMethod "setPriorityBandwidth" o = SettingDcbSetPriorityBandwidthMethodInfo
    ResolveSettingDcbMethod "setPriorityFlowControl" o = SettingDcbSetPriorityFlowControlMethodInfo
    ResolveSettingDcbMethod "setPriorityGroupBandwidth" o = SettingDcbSetPriorityGroupBandwidthMethodInfo
    ResolveSettingDcbMethod "setPriorityGroupId" o = SettingDcbSetPriorityGroupIdMethodInfo
    ResolveSettingDcbMethod "setPriorityStrictBandwidth" o = SettingDcbSetPriorityStrictBandwidthMethodInfo
    ResolveSettingDcbMethod "setPriorityTrafficClass" o = SettingDcbSetPriorityTrafficClassMethodInfo
    ResolveSettingDcbMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveSettingDcbMethod "setSecretFlags" o = NM.Setting.SettingSetSecretFlagsMethodInfo
    ResolveSettingDcbMethod l o = O.MethodResolutionFailed l o

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

#endif

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

#endif

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

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

-- | Set the value of the “@app-fcoe-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingDcb [ #appFcoeFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingDcbAppFcoeFlags :: (MonadIO m, IsSettingDcb o) => o -> [NM.Flags.SettingDcbFlags] -> m ()
setSettingDcbAppFcoeFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingDcb o) =>
o -> [SettingDcbFlags] -> m ()
setSettingDcbAppFcoeFlags o
obj [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"app-fcoe-flags" [SettingDcbFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@app-fcoe-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingDcbAppFcoeFlags :: (IsSettingDcb o, MIO.MonadIO m) => [NM.Flags.SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbAppFcoeFlags :: forall o (m :: * -> *).
(IsSettingDcb o, MonadIO m) =>
[SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbAppFcoeFlags [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"app-fcoe-flags" [SettingDcbFlags]
val

#if defined(ENABLE_OVERLOADING)
data SettingDcbAppFcoeFlagsPropertyInfo
instance AttrInfo SettingDcbAppFcoeFlagsPropertyInfo where
    type AttrAllowedOps SettingDcbAppFcoeFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingDcbAppFcoeFlagsPropertyInfo = IsSettingDcb
    type AttrSetTypeConstraint SettingDcbAppFcoeFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferTypeConstraint SettingDcbAppFcoeFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferType SettingDcbAppFcoeFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrGetType SettingDcbAppFcoeFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrLabel SettingDcbAppFcoeFlagsPropertyInfo = "app-fcoe-flags"
    type AttrOrigin SettingDcbAppFcoeFlagsPropertyInfo = SettingDcb
    attrGet = getSettingDcbAppFcoeFlags
    attrSet = setSettingDcbAppFcoeFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingDcbAppFcoeFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingDcb.appFcoeFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingDcb.html#g:attr:appFcoeFlags"
        })
#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Set the value of the “@app-fip-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingDcb [ #appFipFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingDcbAppFipFlags :: (MonadIO m, IsSettingDcb o) => o -> [NM.Flags.SettingDcbFlags] -> m ()
setSettingDcbAppFipFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingDcb o) =>
o -> [SettingDcbFlags] -> m ()
setSettingDcbAppFipFlags o
obj [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"app-fip-flags" [SettingDcbFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@app-fip-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingDcbAppFipFlags :: (IsSettingDcb o, MIO.MonadIO m) => [NM.Flags.SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbAppFipFlags :: forall o (m :: * -> *).
(IsSettingDcb o, MonadIO m) =>
[SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbAppFipFlags [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"app-fip-flags" [SettingDcbFlags]
val

#if defined(ENABLE_OVERLOADING)
data SettingDcbAppFipFlagsPropertyInfo
instance AttrInfo SettingDcbAppFipFlagsPropertyInfo where
    type AttrAllowedOps SettingDcbAppFipFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingDcbAppFipFlagsPropertyInfo = IsSettingDcb
    type AttrSetTypeConstraint SettingDcbAppFipFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferTypeConstraint SettingDcbAppFipFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferType SettingDcbAppFipFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrGetType SettingDcbAppFipFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrLabel SettingDcbAppFipFlagsPropertyInfo = "app-fip-flags"
    type AttrOrigin SettingDcbAppFipFlagsPropertyInfo = SettingDcb
    attrGet = getSettingDcbAppFipFlags
    attrSet = setSettingDcbAppFipFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingDcbAppFipFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingDcb.appFipFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingDcb.html#g:attr:appFipFlags"
        })
#endif

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

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

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

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

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

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

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

-- | Set the value of the “@app-iscsi-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingDcb [ #appIscsiFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingDcbAppIscsiFlags :: (MonadIO m, IsSettingDcb o) => o -> [NM.Flags.SettingDcbFlags] -> m ()
setSettingDcbAppIscsiFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingDcb o) =>
o -> [SettingDcbFlags] -> m ()
setSettingDcbAppIscsiFlags o
obj [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"app-iscsi-flags" [SettingDcbFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@app-iscsi-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingDcbAppIscsiFlags :: (IsSettingDcb o, MIO.MonadIO m) => [NM.Flags.SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbAppIscsiFlags :: forall o (m :: * -> *).
(IsSettingDcb o, MonadIO m) =>
[SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbAppIscsiFlags [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"app-iscsi-flags" [SettingDcbFlags]
val

#if defined(ENABLE_OVERLOADING)
data SettingDcbAppIscsiFlagsPropertyInfo
instance AttrInfo SettingDcbAppIscsiFlagsPropertyInfo where
    type AttrAllowedOps SettingDcbAppIscsiFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingDcbAppIscsiFlagsPropertyInfo = IsSettingDcb
    type AttrSetTypeConstraint SettingDcbAppIscsiFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferTypeConstraint SettingDcbAppIscsiFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferType SettingDcbAppIscsiFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrGetType SettingDcbAppIscsiFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrLabel SettingDcbAppIscsiFlagsPropertyInfo = "app-iscsi-flags"
    type AttrOrigin SettingDcbAppIscsiFlagsPropertyInfo = SettingDcb
    attrGet = getSettingDcbAppIscsiFlags
    attrSet = setSettingDcbAppIscsiFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingDcbAppIscsiFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingDcb.appIscsiFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingDcb.html#g:attr:appIscsiFlags"
        })
#endif

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

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

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

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

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

-- XXX Generation of property "priority-bandwidth" of object "SettingDcb" failed.
-- Not implemented: Don't know how to handle properties of type TGArray (TBasicType TUInt)
#if defined(ENABLE_OVERLOADING)
-- XXX Placeholder
data SettingDcbPriorityBandwidthPropertyInfo
instance AttrInfo SettingDcbPriorityBandwidthPropertyInfo where
    type AttrAllowedOps SettingDcbPriorityBandwidthPropertyInfo = '[]
    type AttrSetTypeConstraint SettingDcbPriorityBandwidthPropertyInfo = (~) ()
    type AttrTransferTypeConstraint SettingDcbPriorityBandwidthPropertyInfo = (~) ()
    type AttrTransferType SettingDcbPriorityBandwidthPropertyInfo = ()
    type AttrBaseTypeConstraint SettingDcbPriorityBandwidthPropertyInfo = (~) ()
    type AttrGetType SettingDcbPriorityBandwidthPropertyInfo = ()
    type AttrLabel SettingDcbPriorityBandwidthPropertyInfo = ""
    type AttrOrigin SettingDcbPriorityBandwidthPropertyInfo = SettingDcb
    attrGet = undefined
    attrSet = undefined
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer = undefined
#endif

-- XXX Generation of property "priority-flow-control" of object "SettingDcb" failed.
-- Not implemented: Don't know how to handle properties of type TGArray (TBasicType TBoolean)
#if defined(ENABLE_OVERLOADING)
-- XXX Placeholder
data SettingDcbPriorityFlowControlPropertyInfo
instance AttrInfo SettingDcbPriorityFlowControlPropertyInfo where
    type AttrAllowedOps SettingDcbPriorityFlowControlPropertyInfo = '[]
    type AttrSetTypeConstraint SettingDcbPriorityFlowControlPropertyInfo = (~) ()
    type AttrTransferTypeConstraint SettingDcbPriorityFlowControlPropertyInfo = (~) ()
    type AttrTransferType SettingDcbPriorityFlowControlPropertyInfo = ()
    type AttrBaseTypeConstraint SettingDcbPriorityFlowControlPropertyInfo = (~) ()
    type AttrGetType SettingDcbPriorityFlowControlPropertyInfo = ()
    type AttrLabel SettingDcbPriorityFlowControlPropertyInfo = ""
    type AttrOrigin SettingDcbPriorityFlowControlPropertyInfo = SettingDcb
    attrGet = undefined
    attrSet = undefined
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer = undefined
#endif

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

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

-- | Set the value of the “@priority-flow-control-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingDcb [ #priorityFlowControlFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingDcbPriorityFlowControlFlags :: (MonadIO m, IsSettingDcb o) => o -> [NM.Flags.SettingDcbFlags] -> m ()
setSettingDcbPriorityFlowControlFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingDcb o) =>
o -> [SettingDcbFlags] -> m ()
setSettingDcbPriorityFlowControlFlags o
obj [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"priority-flow-control-flags" [SettingDcbFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@priority-flow-control-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingDcbPriorityFlowControlFlags :: (IsSettingDcb o, MIO.MonadIO m) => [NM.Flags.SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbPriorityFlowControlFlags :: forall o (m :: * -> *).
(IsSettingDcb o, MonadIO m) =>
[SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbPriorityFlowControlFlags [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"priority-flow-control-flags" [SettingDcbFlags]
val

#if defined(ENABLE_OVERLOADING)
data SettingDcbPriorityFlowControlFlagsPropertyInfo
instance AttrInfo SettingDcbPriorityFlowControlFlagsPropertyInfo where
    type AttrAllowedOps SettingDcbPriorityFlowControlFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingDcbPriorityFlowControlFlagsPropertyInfo = IsSettingDcb
    type AttrSetTypeConstraint SettingDcbPriorityFlowControlFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferTypeConstraint SettingDcbPriorityFlowControlFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferType SettingDcbPriorityFlowControlFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrGetType SettingDcbPriorityFlowControlFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrLabel SettingDcbPriorityFlowControlFlagsPropertyInfo = "priority-flow-control-flags"
    type AttrOrigin SettingDcbPriorityFlowControlFlagsPropertyInfo = SettingDcb
    attrGet = getSettingDcbPriorityFlowControlFlags
    attrSet = setSettingDcbPriorityFlowControlFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingDcbPriorityFlowControlFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingDcb.priorityFlowControlFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingDcb.html#g:attr:priorityFlowControlFlags"
        })
#endif

-- XXX Generation of property "priority-group-bandwidth" of object "SettingDcb" failed.
-- Not implemented: Don't know how to handle properties of type TGArray (TBasicType TUInt)
#if defined(ENABLE_OVERLOADING)
-- XXX Placeholder
data SettingDcbPriorityGroupBandwidthPropertyInfo
instance AttrInfo SettingDcbPriorityGroupBandwidthPropertyInfo where
    type AttrAllowedOps SettingDcbPriorityGroupBandwidthPropertyInfo = '[]
    type AttrSetTypeConstraint SettingDcbPriorityGroupBandwidthPropertyInfo = (~) ()
    type AttrTransferTypeConstraint SettingDcbPriorityGroupBandwidthPropertyInfo = (~) ()
    type AttrTransferType SettingDcbPriorityGroupBandwidthPropertyInfo = ()
    type AttrBaseTypeConstraint SettingDcbPriorityGroupBandwidthPropertyInfo = (~) ()
    type AttrGetType SettingDcbPriorityGroupBandwidthPropertyInfo = ()
    type AttrLabel SettingDcbPriorityGroupBandwidthPropertyInfo = ""
    type AttrOrigin SettingDcbPriorityGroupBandwidthPropertyInfo = SettingDcb
    attrGet = undefined
    attrSet = undefined
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer = undefined
#endif

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

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

-- | Set the value of the “@priority-group-flags@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' settingDcb [ #priorityGroupFlags 'Data.GI.Base.Attributes.:=' value ]
-- @
setSettingDcbPriorityGroupFlags :: (MonadIO m, IsSettingDcb o) => o -> [NM.Flags.SettingDcbFlags] -> m ()
setSettingDcbPriorityGroupFlags :: forall (m :: * -> *) o.
(MonadIO m, IsSettingDcb o) =>
o -> [SettingDcbFlags] -> m ()
setSettingDcbPriorityGroupFlags o
obj [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"priority-group-flags" [SettingDcbFlags]
val

-- | Construct a t'GValueConstruct' with valid value for the “@priority-group-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructSettingDcbPriorityGroupFlags :: (IsSettingDcb o, MIO.MonadIO m) => [NM.Flags.SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbPriorityGroupFlags :: forall o (m :: * -> *).
(IsSettingDcb o, MonadIO m) =>
[SettingDcbFlags] -> m (GValueConstruct o)
constructSettingDcbPriorityGroupFlags [SettingDcbFlags]
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 -> [SettingDcbFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"priority-group-flags" [SettingDcbFlags]
val

#if defined(ENABLE_OVERLOADING)
data SettingDcbPriorityGroupFlagsPropertyInfo
instance AttrInfo SettingDcbPriorityGroupFlagsPropertyInfo where
    type AttrAllowedOps SettingDcbPriorityGroupFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint SettingDcbPriorityGroupFlagsPropertyInfo = IsSettingDcb
    type AttrSetTypeConstraint SettingDcbPriorityGroupFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferTypeConstraint SettingDcbPriorityGroupFlagsPropertyInfo = (~) [NM.Flags.SettingDcbFlags]
    type AttrTransferType SettingDcbPriorityGroupFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrGetType SettingDcbPriorityGroupFlagsPropertyInfo = [NM.Flags.SettingDcbFlags]
    type AttrLabel SettingDcbPriorityGroupFlagsPropertyInfo = "priority-group-flags"
    type AttrOrigin SettingDcbPriorityGroupFlagsPropertyInfo = SettingDcb
    attrGet = getSettingDcbPriorityGroupFlags
    attrSet = setSettingDcbPriorityGroupFlags
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingDcbPriorityGroupFlags
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.NM.Objects.SettingDcb.priorityGroupFlags"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Objects-SettingDcb.html#g:attr:priorityGroupFlags"
        })
#endif

-- XXX Generation of property "priority-group-id" of object "SettingDcb" failed.
-- Not implemented: Don't know how to handle properties of type TGArray (TBasicType TUInt)
#if defined(ENABLE_OVERLOADING)
-- XXX Placeholder
data SettingDcbPriorityGroupIdPropertyInfo
instance AttrInfo SettingDcbPriorityGroupIdPropertyInfo where
    type AttrAllowedOps SettingDcbPriorityGroupIdPropertyInfo = '[]
    type AttrSetTypeConstraint SettingDcbPriorityGroupIdPropertyInfo = (~) ()
    type AttrTransferTypeConstraint SettingDcbPriorityGroupIdPropertyInfo = (~) ()
    type AttrTransferType SettingDcbPriorityGroupIdPropertyInfo = ()
    type AttrBaseTypeConstraint SettingDcbPriorityGroupIdPropertyInfo = (~) ()
    type AttrGetType SettingDcbPriorityGroupIdPropertyInfo = ()
    type AttrLabel SettingDcbPriorityGroupIdPropertyInfo = ""
    type AttrOrigin SettingDcbPriorityGroupIdPropertyInfo = SettingDcb
    attrGet = undefined
    attrSet = undefined
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer = undefined
#endif

-- XXX Generation of property "priority-strict-bandwidth" of object "SettingDcb" failed.
-- Not implemented: Don't know how to handle properties of type TGArray (TBasicType TBoolean)
#if defined(ENABLE_OVERLOADING)
-- XXX Placeholder
data SettingDcbPriorityStrictBandwidthPropertyInfo
instance AttrInfo SettingDcbPriorityStrictBandwidthPropertyInfo where
    type AttrAllowedOps SettingDcbPriorityStrictBandwidthPropertyInfo = '[]
    type AttrSetTypeConstraint SettingDcbPriorityStrictBandwidthPropertyInfo = (~) ()
    type AttrTransferTypeConstraint SettingDcbPriorityStrictBandwidthPropertyInfo = (~) ()
    type AttrTransferType SettingDcbPriorityStrictBandwidthPropertyInfo = ()
    type AttrBaseTypeConstraint SettingDcbPriorityStrictBandwidthPropertyInfo = (~) ()
    type AttrGetType SettingDcbPriorityStrictBandwidthPropertyInfo = ()
    type AttrLabel SettingDcbPriorityStrictBandwidthPropertyInfo = ""
    type AttrOrigin SettingDcbPriorityStrictBandwidthPropertyInfo = SettingDcb
    attrGet = undefined
    attrSet = undefined
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer = undefined
#endif

-- XXX Generation of property "priority-traffic-class" of object "SettingDcb" failed.
-- Not implemented: Don't know how to handle properties of type TGArray (TBasicType TUInt)
#if defined(ENABLE_OVERLOADING)
-- XXX Placeholder
data SettingDcbPriorityTrafficClassPropertyInfo
instance AttrInfo SettingDcbPriorityTrafficClassPropertyInfo where
    type AttrAllowedOps SettingDcbPriorityTrafficClassPropertyInfo = '[]
    type AttrSetTypeConstraint SettingDcbPriorityTrafficClassPropertyInfo = (~) ()
    type AttrTransferTypeConstraint SettingDcbPriorityTrafficClassPropertyInfo = (~) ()
    type AttrTransferType SettingDcbPriorityTrafficClassPropertyInfo = ()
    type AttrBaseTypeConstraint SettingDcbPriorityTrafficClassPropertyInfo = (~) ()
    type AttrGetType SettingDcbPriorityTrafficClassPropertyInfo = ()
    type AttrLabel SettingDcbPriorityTrafficClassPropertyInfo = ""
    type AttrOrigin SettingDcbPriorityTrafficClassPropertyInfo = SettingDcb
    attrGet = undefined
    attrSet = undefined
    attrConstruct = undefined
    attrClear = undefined
    attrTransfer = undefined
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList SettingDcb
type instance O.AttributeList SettingDcb = SettingDcbAttributeList
type SettingDcbAttributeList = ('[ '("appFcoeFlags", SettingDcbAppFcoeFlagsPropertyInfo), '("appFcoeMode", SettingDcbAppFcoeModePropertyInfo), '("appFcoePriority", SettingDcbAppFcoePriorityPropertyInfo), '("appFipFlags", SettingDcbAppFipFlagsPropertyInfo), '("appFipPriority", SettingDcbAppFipPriorityPropertyInfo), '("appIscsiFlags", SettingDcbAppIscsiFlagsPropertyInfo), '("appIscsiPriority", SettingDcbAppIscsiPriorityPropertyInfo), '("name", NM.Setting.SettingNamePropertyInfo), '("priorityBandwidth", SettingDcbPriorityBandwidthPropertyInfo), '("priorityFlowControl", SettingDcbPriorityFlowControlPropertyInfo), '("priorityFlowControlFlags", SettingDcbPriorityFlowControlFlagsPropertyInfo), '("priorityGroupBandwidth", SettingDcbPriorityGroupBandwidthPropertyInfo), '("priorityGroupFlags", SettingDcbPriorityGroupFlagsPropertyInfo), '("priorityGroupId", SettingDcbPriorityGroupIdPropertyInfo), '("priorityStrictBandwidth", SettingDcbPriorityStrictBandwidthPropertyInfo), '("priorityTrafficClass", SettingDcbPriorityTrafficClassPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
settingDcbAppFcoeFlags :: AttrLabelProxy "appFcoeFlags"
settingDcbAppFcoeFlags = AttrLabelProxy

settingDcbAppFcoeMode :: AttrLabelProxy "appFcoeMode"
settingDcbAppFcoeMode = AttrLabelProxy

settingDcbAppFcoePriority :: AttrLabelProxy "appFcoePriority"
settingDcbAppFcoePriority = AttrLabelProxy

settingDcbAppFipFlags :: AttrLabelProxy "appFipFlags"
settingDcbAppFipFlags = AttrLabelProxy

settingDcbAppFipPriority :: AttrLabelProxy "appFipPriority"
settingDcbAppFipPriority = AttrLabelProxy

settingDcbAppIscsiFlags :: AttrLabelProxy "appIscsiFlags"
settingDcbAppIscsiFlags = AttrLabelProxy

settingDcbAppIscsiPriority :: AttrLabelProxy "appIscsiPriority"
settingDcbAppIscsiPriority = AttrLabelProxy

settingDcbPriorityBandwidth :: AttrLabelProxy "priorityBandwidth"
settingDcbPriorityBandwidth = AttrLabelProxy

settingDcbPriorityFlowControl :: AttrLabelProxy "priorityFlowControl"
settingDcbPriorityFlowControl = AttrLabelProxy

settingDcbPriorityFlowControlFlags :: AttrLabelProxy "priorityFlowControlFlags"
settingDcbPriorityFlowControlFlags = AttrLabelProxy

settingDcbPriorityGroupBandwidth :: AttrLabelProxy "priorityGroupBandwidth"
settingDcbPriorityGroupBandwidth = AttrLabelProxy

settingDcbPriorityGroupFlags :: AttrLabelProxy "priorityGroupFlags"
settingDcbPriorityGroupFlags = AttrLabelProxy

settingDcbPriorityGroupId :: AttrLabelProxy "priorityGroupId"
settingDcbPriorityGroupId = AttrLabelProxy

settingDcbPriorityStrictBandwidth :: AttrLabelProxy "priorityStrictBandwidth"
settingDcbPriorityStrictBandwidth = AttrLabelProxy

settingDcbPriorityTrafficClass :: AttrLabelProxy "priorityTrafficClass"
settingDcbPriorityTrafficClass = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "nm_setting_dcb_new" nm_setting_dcb_new :: 
    IO (Ptr SettingDcb)

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

#if defined(ENABLE_OVERLOADING)
#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingDcbGetAppFcoeFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingDcbFlags]), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetAppFcoeFlagsMethodInfo a signature where
    overloadedMethod = settingDcbGetAppFcoeFlags

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


#endif

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

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

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


#endif

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

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

-- | /No description available in the introspection data./
settingDcbGetAppFcoePriority ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> m Int32
    -- ^ __Returns:__ the [SettingDcb:appFcoePriority]("GI.NM.Objects.SettingDcb#g:attr:appFcoePriority") property of the setting
settingDcbGetAppFcoePriority :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> m Int32
settingDcbGetAppFcoePriority a
setting = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Int32
result <- Ptr SettingDcb -> IO Int32
nm_setting_dcb_get_app_fcoe_priority Ptr SettingDcb
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data SettingDcbGetAppFcoePriorityMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetAppFcoePriorityMethodInfo a signature where
    overloadedMethod = settingDcbGetAppFcoePriority

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingDcbGetAppFipFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingDcbFlags]), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetAppFipFlagsMethodInfo a signature where
    overloadedMethod = settingDcbGetAppFipFlags

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


#endif

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

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

-- | /No description available in the introspection data./
settingDcbGetAppFipPriority ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> m Int32
    -- ^ __Returns:__ the [SettingDcb:appFipPriority]("GI.NM.Objects.SettingDcb#g:attr:appFipPriority") property of the setting
settingDcbGetAppFipPriority :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> m Int32
settingDcbGetAppFipPriority a
setting = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Int32
result <- Ptr SettingDcb -> IO Int32
nm_setting_dcb_get_app_fip_priority Ptr SettingDcb
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data SettingDcbGetAppFipPriorityMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetAppFipPriorityMethodInfo a signature where
    overloadedMethod = settingDcbGetAppFipPriority

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingDcbGetAppIscsiFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingDcbFlags]), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetAppIscsiFlagsMethodInfo a signature where
    overloadedMethod = settingDcbGetAppIscsiFlags

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


#endif

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

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

-- | /No description available in the introspection data./
settingDcbGetAppIscsiPriority ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> m Int32
    -- ^ __Returns:__ the [SettingDcb:appIscsiPriority]("GI.NM.Objects.SettingDcb#g:attr:appIscsiPriority") property of the setting
settingDcbGetAppIscsiPriority :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> m Int32
settingDcbGetAppIscsiPriority a
setting = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Int32
result <- Ptr SettingDcb -> IO Int32
nm_setting_dcb_get_app_iscsi_priority Ptr SettingDcb
setting'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result

#if defined(ENABLE_OVERLOADING)
data SettingDcbGetAppIscsiPriorityMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetAppIscsiPriorityMethodInfo a signature where
    overloadedMethod = settingDcbGetAppIscsiPriority

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


#endif

-- method SettingDcb::get_priority_bandwidth
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the User Priority (0 - 7) to retrieve the group bandwidth percentage for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_get_priority_bandwidth" nm_setting_dcb_get_priority_bandwidth :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    IO Word32

-- | /No description available in the introspection data./
settingDcbGetPriorityBandwidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@userPriority@/: the User Priority (0 - 7) to retrieve the group bandwidth percentage for
    -> m Word32
    -- ^ __Returns:__ the allowed bandwidth percentage of /@userPriority@/ in its priority group.
    -- These values are only valid when [SettingDcb:priorityGroupFlags]("GI.NM.Objects.SettingDcb#g:attr:priorityGroupFlags") includes the
    -- 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbGetPriorityBandwidth :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> m Word32
settingDcbGetPriorityBandwidth a
setting Word32
userPriority = 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 SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingDcb -> Word32 -> IO Word32
nm_setting_dcb_get_priority_bandwidth Ptr SettingDcb
setting' Word32
userPriority
    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 SettingDcbGetPriorityBandwidthMethodInfo
instance (signature ~ (Word32 -> m Word32), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetPriorityBandwidthMethodInfo a signature where
    overloadedMethod = settingDcbGetPriorityBandwidth

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


#endif

-- method SettingDcb::get_priority_flow_control
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the User Priority (0 - 7) to retrieve flow control for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_get_priority_flow_control" nm_setting_dcb_get_priority_flow_control :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    IO CInt

-- | /No description available in the introspection data./
settingDcbGetPriorityFlowControl ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@userPriority@/: the User Priority (0 - 7) to retrieve flow control for
    -> m Bool
    -- ^ __Returns:__ 'P.True' if flow control is enabled for the given /@userPriority@/,
    -- 'P.False' if not enabled
settingDcbGetPriorityFlowControl :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> m Bool
settingDcbGetPriorityFlowControl a
setting Word32
userPriority = 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 SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingDcb -> Word32 -> IO CInt
nm_setting_dcb_get_priority_flow_control Ptr SettingDcb
setting' Word32
userPriority
    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 SettingDcbGetPriorityFlowControlMethodInfo
instance (signature ~ (Word32 -> m Bool), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetPriorityFlowControlMethodInfo a signature where
    overloadedMethod = settingDcbGetPriorityFlowControl

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingDcbGetPriorityFlowControlFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingDcbFlags]), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetPriorityFlowControlFlagsMethodInfo a signature where
    overloadedMethod = settingDcbGetPriorityFlowControlFlags

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


#endif

-- method SettingDcb::get_priority_group_bandwidth
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "group_id"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the priority group (0 - 7) to retrieve the bandwidth percentage for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_get_priority_group_bandwidth" nm_setting_dcb_get_priority_group_bandwidth :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- group_id : TBasicType TUInt
    IO Word32

-- | /No description available in the introspection data./
settingDcbGetPriorityGroupBandwidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@groupId@/: the priority group (0 - 7) to retrieve the bandwidth percentage for
    -> m Word32
    -- ^ __Returns:__ the bandwidth percentage assigned to /@groupId@/.  These values are
    -- only valid when [SettingDcb:priorityGroupFlags]("GI.NM.Objects.SettingDcb#g:attr:priorityGroupFlags") includes the
    -- 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbGetPriorityGroupBandwidth :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> m Word32
settingDcbGetPriorityGroupBandwidth a
setting Word32
groupId = 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 SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingDcb -> Word32 -> IO Word32
nm_setting_dcb_get_priority_group_bandwidth Ptr SettingDcb
setting' Word32
groupId
    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 SettingDcbGetPriorityGroupBandwidthMethodInfo
instance (signature ~ (Word32 -> m Word32), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetPriorityGroupBandwidthMethodInfo a signature where
    overloadedMethod = settingDcbGetPriorityGroupBandwidth

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


#endif

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

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

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

#if defined(ENABLE_OVERLOADING)
data SettingDcbGetPriorityGroupFlagsMethodInfo
instance (signature ~ (m [NM.Flags.SettingDcbFlags]), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetPriorityGroupFlagsMethodInfo a signature where
    overloadedMethod = settingDcbGetPriorityGroupFlags

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


#endif

-- method SettingDcb::get_priority_group_id
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the User Priority (0 - 7) to retrieve the group ID for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_get_priority_group_id" nm_setting_dcb_get_priority_group_id :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    IO Word32

-- | /No description available in the introspection data./
settingDcbGetPriorityGroupId ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@userPriority@/: the User Priority (0 - 7) to retrieve the group ID for
    -> m Word32
    -- ^ __Returns:__ the group number /@userPriority@/ is assigned to.  These values are
    -- only valid when [SettingDcb:priorityGroupFlags]("GI.NM.Objects.SettingDcb#g:attr:priorityGroupFlags") includes the
    -- 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbGetPriorityGroupId :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> m Word32
settingDcbGetPriorityGroupId a
setting Word32
userPriority = 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 SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingDcb -> Word32 -> IO Word32
nm_setting_dcb_get_priority_group_id Ptr SettingDcb
setting' Word32
userPriority
    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 SettingDcbGetPriorityGroupIdMethodInfo
instance (signature ~ (Word32 -> m Word32), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetPriorityGroupIdMethodInfo a signature where
    overloadedMethod = settingDcbGetPriorityGroupId

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


#endif

-- method SettingDcb::get_priority_strict_bandwidth
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the User Priority (0 - 7) to retrieve strict bandwidth for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_get_priority_strict_bandwidth" nm_setting_dcb_get_priority_strict_bandwidth :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    IO CInt

-- | /No description available in the introspection data./
settingDcbGetPriorityStrictBandwidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@userPriority@/: the User Priority (0 - 7) to retrieve strict bandwidth for
    -> m Bool
    -- ^ __Returns:__ 'P.True' if /@userPriority@/ may use all of the bandwidth allocated to its
    -- assigned group, or 'P.False' if not. These values are only valid when
    -- [SettingDcb:priorityGroupFlags]("GI.NM.Objects.SettingDcb#g:attr:priorityGroupFlags") includes the 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbGetPriorityStrictBandwidth :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> m Bool
settingDcbGetPriorityStrictBandwidth a
setting Word32
userPriority = 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 SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    CInt
result <- Ptr SettingDcb -> Word32 -> IO CInt
nm_setting_dcb_get_priority_strict_bandwidth Ptr SettingDcb
setting' Word32
userPriority
    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 SettingDcbGetPriorityStrictBandwidthMethodInfo
instance (signature ~ (Word32 -> m Bool), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetPriorityStrictBandwidthMethodInfo a signature where
    overloadedMethod = settingDcbGetPriorityStrictBandwidth

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


#endif

-- method SettingDcb::get_priority_traffic_class
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the User Priority (0 - 7) to retrieve the traffic class for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_get_priority_traffic_class" nm_setting_dcb_get_priority_traffic_class :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    IO Word32

-- | /No description available in the introspection data./
settingDcbGetPriorityTrafficClass ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@userPriority@/: the User Priority (0 - 7) to retrieve the traffic class for
    -> m Word32
    -- ^ __Returns:__ the traffic class assigned to /@userPriority@/. These values are only
    -- valid when [SettingDcb:priorityGroupFlags]("GI.NM.Objects.SettingDcb#g:attr:priorityGroupFlags") includes the
    -- 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbGetPriorityTrafficClass :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> m Word32
settingDcbGetPriorityTrafficClass a
setting Word32
userPriority = 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 SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Word32
result <- Ptr SettingDcb -> Word32 -> IO Word32
nm_setting_dcb_get_priority_traffic_class Ptr SettingDcb
setting' Word32
userPriority
    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 SettingDcbGetPriorityTrafficClassMethodInfo
instance (signature ~ (Word32 -> m Word32), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbGetPriorityTrafficClassMethodInfo a signature where
    overloadedMethod = settingDcbGetPriorityTrafficClass

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


#endif

-- method SettingDcb::set_priority_bandwidth
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the User Priority (0 - 7) to set the bandwidth percentage for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "bandwidth_percent"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the bandwidth percentage (0 - 100) that @user_priority is\nallowed to use within its priority group"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_set_priority_bandwidth" nm_setting_dcb_set_priority_bandwidth :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    Word32 ->                               -- bandwidth_percent : TBasicType TUInt
    IO ()

-- | These values are only valid when [SettingDcb:priorityGroupFlags]("GI.NM.Objects.SettingDcb#g:attr:priorityGroupFlags") includes
-- the 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbSetPriorityBandwidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@userPriority@/: the User Priority (0 - 7) to set the bandwidth percentage for
    -> Word32
    -- ^ /@bandwidthPercent@/: the bandwidth percentage (0 - 100) that /@userPriority@/ is
    -- allowed to use within its priority group
    -> m ()
settingDcbSetPriorityBandwidth :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> Word32 -> m ()
settingDcbSetPriorityBandwidth a
setting Word32
userPriority Word32
bandwidthPercent = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingDcb -> Word32 -> Word32 -> IO ()
nm_setting_dcb_set_priority_bandwidth Ptr SettingDcb
setting' Word32
userPriority Word32
bandwidthPercent
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data SettingDcbSetPriorityBandwidthMethodInfo
instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbSetPriorityBandwidthMethodInfo a signature where
    overloadedMethod = settingDcbSetPriorityBandwidth

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


#endif

-- method SettingDcb::set_priority_flow_control
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the User Priority (0 - 7) to set flow control for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "enabled"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "%TRUE to enable flow control for this priority, %FALSE to disable it"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_set_priority_flow_control" nm_setting_dcb_set_priority_flow_control :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    CInt ->                                 -- enabled : TBasicType TBoolean
    IO ()

-- | These values are only valid when [SettingDcb:priorityFlowControl]("GI.NM.Objects.SettingDcb#g:attr:priorityFlowControl") includes
-- the 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbSetPriorityFlowControl ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@userPriority@/: the User Priority (0 - 7) to set flow control for
    -> Bool
    -- ^ /@enabled@/: 'P.True' to enable flow control for this priority, 'P.False' to disable it
    -> m ()
settingDcbSetPriorityFlowControl :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> Bool -> m ()
settingDcbSetPriorityFlowControl a
setting Word32
userPriority Bool
enabled = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    let enabled' :: CInt
enabled' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
P.fromEnum) Bool
enabled
    Ptr SettingDcb -> Word32 -> CInt -> IO ()
nm_setting_dcb_set_priority_flow_control Ptr SettingDcb
setting' Word32
userPriority CInt
enabled'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data SettingDcbSetPriorityFlowControlMethodInfo
instance (signature ~ (Word32 -> Bool -> m ()), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbSetPriorityFlowControlMethodInfo a signature where
    overloadedMethod = settingDcbSetPriorityFlowControl

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


#endif

-- method SettingDcb::set_priority_group_bandwidth
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "group_id"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the priority group (0 - 7) to set the bandwidth percentage for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "bandwidth_percent"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the bandwidth percentage (0 - 100) to assign to @group_id to"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_set_priority_group_bandwidth" nm_setting_dcb_set_priority_group_bandwidth :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- group_id : TBasicType TUInt
    Word32 ->                               -- bandwidth_percent : TBasicType TUInt
    IO ()

-- | These values are only valid when [SettingDcb:priorityGroupFlags]("GI.NM.Objects.SettingDcb#g:attr:priorityGroupFlags") includes
-- the 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbSetPriorityGroupBandwidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@groupId@/: the priority group (0 - 7) to set the bandwidth percentage for
    -> Word32
    -- ^ /@bandwidthPercent@/: the bandwidth percentage (0 - 100) to assign to /@groupId@/ to
    -> m ()
settingDcbSetPriorityGroupBandwidth :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> Word32 -> m ()
settingDcbSetPriorityGroupBandwidth a
setting Word32
groupId Word32
bandwidthPercent = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingDcb -> Word32 -> Word32 -> IO ()
nm_setting_dcb_set_priority_group_bandwidth Ptr SettingDcb
setting' Word32
groupId Word32
bandwidthPercent
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data SettingDcbSetPriorityGroupBandwidthMethodInfo
instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbSetPriorityGroupBandwidthMethodInfo a signature where
    overloadedMethod = settingDcbSetPriorityGroupBandwidth

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


#endif

-- method SettingDcb::set_priority_group_id
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the User Priority (0 - 7) to set flow control for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "group_id"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the group (0 - 7) to assign @user_priority to, or 15 for the\nunrestricted group."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_set_priority_group_id" nm_setting_dcb_set_priority_group_id :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    Word32 ->                               -- group_id : TBasicType TUInt
    IO ()

-- | These values are only valid when [SettingDcb:priorityGroupFlags]("GI.NM.Objects.SettingDcb#g:attr:priorityGroupFlags") includes
-- the 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbSetPriorityGroupId ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@userPriority@/: the User Priority (0 - 7) to set flow control for
    -> Word32
    -- ^ /@groupId@/: the group (0 - 7) to assign /@userPriority@/ to, or 15 for the
    -- unrestricted group.
    -> m ()
settingDcbSetPriorityGroupId :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> Word32 -> m ()
settingDcbSetPriorityGroupId a
setting Word32
userPriority Word32
groupId = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingDcb -> Word32 -> Word32 -> IO ()
nm_setting_dcb_set_priority_group_id Ptr SettingDcb
setting' Word32
userPriority Word32
groupId
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data SettingDcbSetPriorityGroupIdMethodInfo
instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbSetPriorityGroupIdMethodInfo a signature where
    overloadedMethod = settingDcbSetPriorityGroupId

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


#endif

-- method SettingDcb::set_priority_strict_bandwidth
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #NMSettingDcb" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "the User Priority (0 - 7) to set strict bandwidth for"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "strict"
--           , argType = TBasicType TBoolean
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "%TRUE to allow @user_priority to use all the bandwidth allocated to\nits priority group, or %FALSE if not"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_set_priority_strict_bandwidth" nm_setting_dcb_set_priority_strict_bandwidth :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    CInt ->                                 -- strict : TBasicType TBoolean
    IO ()

-- | These values are only valid when [SettingDcb:priorityGroupFlags]("GI.NM.Objects.SettingDcb#g:attr:priorityGroupFlags") includes
-- the 'GI.NM.Flags.SettingDcbFlagsEnable' flag.
settingDcbSetPriorityStrictBandwidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -- ^ /@setting@/: the t'GI.NM.Objects.SettingDcb.SettingDcb'
    -> Word32
    -- ^ /@userPriority@/: the User Priority (0 - 7) to set strict bandwidth for
    -> Bool
    -- ^ /@strict@/: 'P.True' to allow /@userPriority@/ to use all the bandwidth allocated to
    -- its priority group, or 'P.False' if not
    -> m ()
settingDcbSetPriorityStrictBandwidth :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> Bool -> m ()
settingDcbSetPriorityStrictBandwidth a
setting Word32
userPriority Bool
strict = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    let strict' :: CInt
strict' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
P.fromEnum) Bool
strict
    Ptr SettingDcb -> Word32 -> CInt -> IO ()
nm_setting_dcb_set_priority_strict_bandwidth Ptr SettingDcb
setting' Word32
userPriority CInt
strict'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data SettingDcbSetPriorityStrictBandwidthMethodInfo
instance (signature ~ (Word32 -> Bool -> m ()), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbSetPriorityStrictBandwidthMethodInfo a signature where
    overloadedMethod = settingDcbSetPriorityStrictBandwidth

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


#endif

-- method SettingDcb::set_priority_traffic_class
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "setting"
--           , argType =
--               TInterface Name { namespace = "NM" , name = "SettingDcb" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "user_priority"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "traffic_class"
--           , argType = TBasicType TUInt
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation { rawDocText = Nothing , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "nm_setting_dcb_set_priority_traffic_class" nm_setting_dcb_set_priority_traffic_class :: 
    Ptr SettingDcb ->                       -- setting : TInterface (Name {namespace = "NM", name = "SettingDcb"})
    Word32 ->                               -- user_priority : TBasicType TUInt
    Word32 ->                               -- traffic_class : TBasicType TUInt
    IO ()

-- | /No description available in the introspection data./
settingDcbSetPriorityTrafficClass ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettingDcb a) =>
    a
    -> Word32
    -> Word32
    -> m ()
settingDcbSetPriorityTrafficClass :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsSettingDcb a) =>
a -> Word32 -> Word32 -> m ()
settingDcbSetPriorityTrafficClass a
setting Word32
userPriority Word32
trafficClass = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingDcb
setting' <- a -> IO (Ptr SettingDcb)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setting
    Ptr SettingDcb -> Word32 -> Word32 -> IO ()
nm_setting_dcb_set_priority_traffic_class Ptr SettingDcb
setting' Word32
userPriority Word32
trafficClass
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setting
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data SettingDcbSetPriorityTrafficClassMethodInfo
instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsSettingDcb a) => O.OverloadedMethod SettingDcbSetPriorityTrafficClassMethodInfo a signature where
    overloadedMethod = settingDcbSetPriorityTrafficClass

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


#endif