

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

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

module GI.Wp.Flags
    ( 

 -- * Flags


-- ** BaseDirsFlags #flag:BaseDirsFlags#

    BaseDirsFlags(..)                       ,


-- ** CoreFeatures #flag:CoreFeatures#

    CoreFeatures(..)                        ,


-- ** DynamicRulesFeatures #flag:DynamicRulesFeatures#

    DynamicRulesFeatures(..)                ,


-- ** InitFlags #flag:InitFlags#

    InitFlags(..)                           ,


-- ** InterestMatch #flag:InterestMatch#

    InterestMatch(..)                       ,


-- ** InterestMatchFlags #flag:InterestMatchFlags#

    InterestMatchFlags(..)                  ,


-- ** LogTopicFlags #flag:LogTopicFlags#

    LogTopicFlags(..)                       ,


-- ** MetadataFeatures #flag:MetadataFeatures#

    MetadataFeatures(..)                    ,


-- ** NodeFeatures #flag:NodeFeatures#

    NodeFeatures(..)                        ,


-- ** PermissionManagerFeatures #flag:PermissionManagerFeatures#

    PermissionManagerFeatures(..)           ,


-- ** PluginFeatures #flag:PluginFeatures#

    PluginFeatures(..)                      ,


-- ** ProxyFeatures #flag:ProxyFeatures#

    ProxyFeatures(..)                       ,


-- ** SessionItemFeatures #flag:SessionItemFeatures#

    SessionItemFeatures(..)                 ,


-- ** SettingsFeatures #flag:SettingsFeatures#

    SettingsFeatures(..)                    ,


-- ** SpaDeviceFeatures #flag:SpaDeviceFeatures#

    SpaDeviceFeatures(..)                   ,


-- ** StateMetadataFeatures #flag:StateMetadataFeatures#

    StateMetadataFeatures(..)               ,




    ) 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)

#else

#endif

-- Flags StateMetadataFeatures
-- | /No description available in the introspection data./
data StateMetadataFeatures = 
      StateMetadataFeaturesLoaded
    -- ^ /No description available in the introspection data./
    | AnotherStateMetadataFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum StateMetadataFeatures where
    fromEnum StateMetadataFeaturesLoaded = 1
    fromEnum (AnotherStateMetadataFeatures k) = k

    toEnum 1 = StateMetadataFeaturesLoaded
    toEnum k = AnotherStateMetadataFeatures k

instance P.Ord StateMetadataFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes StateMetadataFeatures = '[]
instance O.HasParentTypes StateMetadataFeatures

foreign import ccall "wp_state_metadata_features_get_type" c_wp_state_metadata_features_get_type :: 
    IO GType

instance B.Types.TypedObject StateMetadataFeatures where
    glibType = c_wp_state_metadata_features_get_type

instance B.Types.BoxedFlags StateMetadataFeatures

instance IsGFlag StateMetadataFeatures

-- Flags SpaDeviceFeatures
-- | /No description available in the introspection data./
data SpaDeviceFeatures = 
      SpaDeviceFeaturesEnabled
    -- ^ /No description available in the introspection data./
    | AnotherSpaDeviceFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum SpaDeviceFeatures where
    fromEnum SpaDeviceFeaturesEnabled = 65536
    fromEnum (AnotherSpaDeviceFeatures k) = k

    toEnum 65536 = SpaDeviceFeaturesEnabled
    toEnum k = AnotherSpaDeviceFeatures k

instance P.Ord SpaDeviceFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes SpaDeviceFeatures = '[]
instance O.HasParentTypes SpaDeviceFeatures

foreign import ccall "wp_spa_device_features_get_type" c_wp_spa_device_features_get_type :: 
    IO GType

instance B.Types.TypedObject SpaDeviceFeatures where
    glibType = c_wp_spa_device_features_get_type

instance B.Types.BoxedFlags SpaDeviceFeatures

instance IsGFlag SpaDeviceFeatures

-- Flags SettingsFeatures
-- | /No description available in the introspection data./
data SettingsFeatures = 
      SettingsFeaturesLoaded
    -- ^ /No description available in the introspection data./
    | AnotherSettingsFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum SettingsFeatures where
    fromEnum SettingsFeaturesLoaded = 1
    fromEnum (AnotherSettingsFeatures k) = k

    toEnum 1 = SettingsFeaturesLoaded
    toEnum k = AnotherSettingsFeatures k

instance P.Ord SettingsFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes SettingsFeatures = '[]
instance O.HasParentTypes SettingsFeatures

foreign import ccall "wp_settings_features_get_type" c_wp_settings_features_get_type :: 
    IO GType

instance B.Types.TypedObject SettingsFeatures where
    glibType = c_wp_settings_features_get_type

instance B.Types.BoxedFlags SettingsFeatures

instance IsGFlag SettingsFeatures

-- Flags SessionItemFeatures
-- | /No description available in the introspection data./
data SessionItemFeatures = 
      SessionItemFeaturesActive
    -- ^ /No description available in the introspection data./
    | SessionItemFeaturesExported
    -- ^ /No description available in the introspection data./
    | AnotherSessionItemFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum SessionItemFeatures where
    fromEnum SessionItemFeaturesActive = 1
    fromEnum SessionItemFeaturesExported = 2
    fromEnum (AnotherSessionItemFeatures k) = k

    toEnum 1 = SessionItemFeaturesActive
    toEnum 2 = SessionItemFeaturesExported
    toEnum k = AnotherSessionItemFeatures k

instance P.Ord SessionItemFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes SessionItemFeatures = '[]
instance O.HasParentTypes SessionItemFeatures

foreign import ccall "wp_session_item_features_get_type" c_wp_session_item_features_get_type :: 
    IO GType

instance B.Types.TypedObject SessionItemFeatures where
    glibType = c_wp_session_item_features_get_type

instance B.Types.BoxedFlags SessionItemFeatures

instance IsGFlag SessionItemFeatures

-- Flags ProxyFeatures
-- | /No description available in the introspection data./
data ProxyFeatures = 
      ProxyFeaturesProxyFeatureBound
    -- ^ /No description available in the introspection data./
    | ProxyFeaturesPipewireObjectFeatureInfo
    -- ^ /No description available in the introspection data./
    | ProxyFeaturesPipewireObjectFeatureParamProps
    -- ^ /No description available in the introspection data./
    | ProxyFeaturesPipewireObjectFeatureParamFormat
    -- ^ /No description available in the introspection data./
    | ProxyFeaturesPipewireObjectFeatureParamProfile
    -- ^ /No description available in the introspection data./
    | ProxyFeaturesPipewireObjectFeatureParamPortConfig
    -- ^ /No description available in the introspection data./
    | ProxyFeaturesPipewireObjectFeatureParamRoute
    -- ^ /No description available in the introspection data./
    | ProxyFeaturesPipewireObjectFeaturesMinimal
    -- ^ /No description available in the introspection data./
    | ProxyFeaturesPipewireObjectFeaturesAll
    -- ^ /No description available in the introspection data./
    | AnotherProxyFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum ProxyFeatures where
    fromEnum ProxyFeaturesProxyFeatureBound = 1
    fromEnum ProxyFeaturesPipewireObjectFeatureInfo = 16
    fromEnum ProxyFeaturesPipewireObjectFeatureParamProps = 32
    fromEnum ProxyFeaturesPipewireObjectFeatureParamFormat = 64
    fromEnum ProxyFeaturesPipewireObjectFeatureParamProfile = 128
    fromEnum ProxyFeaturesPipewireObjectFeatureParamPortConfig = 256
    fromEnum ProxyFeaturesPipewireObjectFeatureParamRoute = 512
    fromEnum ProxyFeaturesPipewireObjectFeaturesMinimal = 17
    fromEnum ProxyFeaturesPipewireObjectFeaturesAll = 1009
    fromEnum (AnotherProxyFeatures k) = k

    toEnum 1 = ProxyFeaturesProxyFeatureBound
    toEnum 16 = ProxyFeaturesPipewireObjectFeatureInfo
    toEnum 32 = ProxyFeaturesPipewireObjectFeatureParamProps
    toEnum 64 = ProxyFeaturesPipewireObjectFeatureParamFormat
    toEnum 128 = ProxyFeaturesPipewireObjectFeatureParamProfile
    toEnum 256 = ProxyFeaturesPipewireObjectFeatureParamPortConfig
    toEnum 512 = ProxyFeaturesPipewireObjectFeatureParamRoute
    toEnum 17 = ProxyFeaturesPipewireObjectFeaturesMinimal
    toEnum 1009 = ProxyFeaturesPipewireObjectFeaturesAll
    toEnum k = AnotherProxyFeatures k

instance P.Ord ProxyFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes ProxyFeatures = '[]
instance O.HasParentTypes ProxyFeatures

foreign import ccall "wp_proxy_features_get_type" c_wp_proxy_features_get_type :: 
    IO GType

instance B.Types.TypedObject ProxyFeatures where
    glibType = c_wp_proxy_features_get_type

instance B.Types.BoxedFlags ProxyFeatures

instance IsGFlag ProxyFeatures

-- Flags PluginFeatures
-- | /No description available in the introspection data./
data PluginFeatures = 
      PluginFeaturesEnabled
    -- ^ /No description available in the introspection data./
    | AnotherPluginFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum PluginFeatures where
    fromEnum PluginFeaturesEnabled = 1
    fromEnum (AnotherPluginFeatures k) = k

    toEnum 1 = PluginFeaturesEnabled
    toEnum k = AnotherPluginFeatures k

instance P.Ord PluginFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes PluginFeatures = '[]
instance O.HasParentTypes PluginFeatures

foreign import ccall "wp_plugin_features_get_type" c_wp_plugin_features_get_type :: 
    IO GType

instance B.Types.TypedObject PluginFeatures where
    glibType = c_wp_plugin_features_get_type

instance B.Types.BoxedFlags PluginFeatures

instance IsGFlag PluginFeatures

-- Flags PermissionManagerFeatures
-- | /No description available in the introspection data./
data PermissionManagerFeatures = 
      PermissionManagerFeaturesLoaded
    -- ^ /No description available in the introspection data./
    | AnotherPermissionManagerFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum PermissionManagerFeatures where
    fromEnum PermissionManagerFeaturesLoaded = 1
    fromEnum (AnotherPermissionManagerFeatures k) = k

    toEnum 1 = PermissionManagerFeaturesLoaded
    toEnum k = AnotherPermissionManagerFeatures k

instance P.Ord PermissionManagerFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes PermissionManagerFeatures = '[]
instance O.HasParentTypes PermissionManagerFeatures

foreign import ccall "wp_permission_manager_features_get_type" c_wp_permission_manager_features_get_type :: 
    IO GType

instance B.Types.TypedObject PermissionManagerFeatures where
    glibType = c_wp_permission_manager_features_get_type

instance B.Types.BoxedFlags PermissionManagerFeatures

instance IsGFlag PermissionManagerFeatures

-- Flags NodeFeatures
-- | /No description available in the introspection data./
data NodeFeatures = 
      NodeFeaturesPorts
    -- ^ /No description available in the introspection data./
    | AnotherNodeFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum NodeFeatures where
    fromEnum NodeFeaturesPorts = 65536
    fromEnum (AnotherNodeFeatures k) = k

    toEnum 65536 = NodeFeaturesPorts
    toEnum k = AnotherNodeFeatures k

instance P.Ord NodeFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes NodeFeatures = '[]
instance O.HasParentTypes NodeFeatures

foreign import ccall "wp_node_features_get_type" c_wp_node_features_get_type :: 
    IO GType

instance B.Types.TypedObject NodeFeatures where
    glibType = c_wp_node_features_get_type

instance B.Types.BoxedFlags NodeFeatures

instance IsGFlag NodeFeatures

-- Flags MetadataFeatures
-- | /No description available in the introspection data./
data MetadataFeatures = 
      MetadataFeaturesData
    -- ^ /No description available in the introspection data./
    | AnotherMetadataFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum MetadataFeatures where
    fromEnum MetadataFeaturesData = 65536
    fromEnum (AnotherMetadataFeatures k) = k

    toEnum 65536 = MetadataFeaturesData
    toEnum k = AnotherMetadataFeatures k

instance P.Ord MetadataFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes MetadataFeatures = '[]
instance O.HasParentTypes MetadataFeatures

foreign import ccall "wp_metadata_features_get_type" c_wp_metadata_features_get_type :: 
    IO GType

instance B.Types.TypedObject MetadataFeatures where
    glibType = c_wp_metadata_features_get_type

instance B.Types.BoxedFlags MetadataFeatures

instance IsGFlag MetadataFeatures

-- Flags LogTopicFlags
-- | /No description available in the introspection data./
data LogTopicFlags = 
      LogTopicFlagsLevelMask
    -- ^ /No description available in the introspection data./
    | LogTopicFlagsFlagStatic
    -- ^ /No description available in the introspection data./
    | LogTopicFlagsFlagInitialized
    -- ^ /No description available in the introspection data./
    | AnotherLogTopicFlags Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum LogTopicFlags where
    fromEnum LogTopicFlagsLevelMask = 65535
    fromEnum LogTopicFlagsFlagStatic = 1073741824
    fromEnum LogTopicFlagsFlagInitialized = 2147483648
    fromEnum (AnotherLogTopicFlags k) = k

    toEnum 65535 = LogTopicFlagsLevelMask
    toEnum 1073741824 = LogTopicFlagsFlagStatic
    toEnum 2147483648 = LogTopicFlagsFlagInitialized
    toEnum k = AnotherLogTopicFlags k

instance P.Ord LogTopicFlags where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes LogTopicFlags = '[]
instance O.HasParentTypes LogTopicFlags

foreign import ccall "wp_log_topic_flags_get_type" c_wp_log_topic_flags_get_type :: 
    IO GType

instance B.Types.TypedObject LogTopicFlags where
    glibType = c_wp_log_topic_flags_get_type

instance B.Types.BoxedFlags LogTopicFlags

instance IsGFlag LogTopicFlags

-- Flags InterestMatchFlags
-- | /No description available in the introspection data./
data InterestMatchFlags = 
      InterestMatchFlagsNone
    -- ^ /No description available in the introspection data./
    | InterestMatchFlagsCheckAll
    -- ^ /No description available in the introspection data./
    | AnotherInterestMatchFlags Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum InterestMatchFlags where
    fromEnum InterestMatchFlagsNone = 0
    fromEnum InterestMatchFlagsCheckAll = 1
    fromEnum (AnotherInterestMatchFlags k) = k

    toEnum 0 = InterestMatchFlagsNone
    toEnum 1 = InterestMatchFlagsCheckAll
    toEnum k = AnotherInterestMatchFlags k

instance P.Ord InterestMatchFlags where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes InterestMatchFlags = '[]
instance O.HasParentTypes InterestMatchFlags

foreign import ccall "wp_interest_match_flags_get_type" c_wp_interest_match_flags_get_type :: 
    IO GType

instance B.Types.TypedObject InterestMatchFlags where
    glibType = c_wp_interest_match_flags_get_type

instance B.Types.BoxedFlags InterestMatchFlags

instance IsGFlag InterestMatchFlags

-- Flags InterestMatch
-- | /No description available in the introspection data./
data InterestMatch = 
      InterestMatchNone
    -- ^ /No description available in the introspection data./
    | InterestMatchGtype
    -- ^ /No description available in the introspection data./
    | InterestMatchPwGlobalProperties
    -- ^ /No description available in the introspection data./
    | InterestMatchPwProperties
    -- ^ /No description available in the introspection data./
    | InterestMatchGProperties
    -- ^ /No description available in the introspection data./
    | InterestMatchAll
    -- ^ /No description available in the introspection data./
    | AnotherInterestMatch Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum InterestMatch where
    fromEnum InterestMatchNone = 0
    fromEnum InterestMatchGtype = 1
    fromEnum InterestMatchPwGlobalProperties = 2
    fromEnum InterestMatchPwProperties = 4
    fromEnum InterestMatchGProperties = 8
    fromEnum InterestMatchAll = 15
    fromEnum (AnotherInterestMatch k) = k

    toEnum 0 = InterestMatchNone
    toEnum 1 = InterestMatchGtype
    toEnum 2 = InterestMatchPwGlobalProperties
    toEnum 4 = InterestMatchPwProperties
    toEnum 8 = InterestMatchGProperties
    toEnum 15 = InterestMatchAll
    toEnum k = AnotherInterestMatch k

instance P.Ord InterestMatch where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes InterestMatch = '[]
instance O.HasParentTypes InterestMatch

foreign import ccall "wp_interest_match_get_type" c_wp_interest_match_get_type :: 
    IO GType

instance B.Types.TypedObject InterestMatch where
    glibType = c_wp_interest_match_get_type

instance B.Types.BoxedFlags InterestMatch

instance IsGFlag InterestMatch

-- Flags InitFlags
-- | /No description available in the introspection data./
data InitFlags = 
      InitFlagsPipewire
    -- ^ /No description available in the introspection data./
    | InitFlagsSpaTypes
    -- ^ /No description available in the introspection data./
    | InitFlagsSetPwLog
    -- ^ /No description available in the introspection data./
    | InitFlagsSetGlibLog
    -- ^ /No description available in the introspection data./
    | InitFlagsAll
    -- ^ /No description available in the introspection data./
    | AnotherInitFlags Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum InitFlags where
    fromEnum InitFlagsPipewire = 1
    fromEnum InitFlagsSpaTypes = 2
    fromEnum InitFlagsSetPwLog = 4
    fromEnum InitFlagsSetGlibLog = 8
    fromEnum InitFlagsAll = 15
    fromEnum (AnotherInitFlags k) = k

    toEnum 1 = InitFlagsPipewire
    toEnum 2 = InitFlagsSpaTypes
    toEnum 4 = InitFlagsSetPwLog
    toEnum 8 = InitFlagsSetGlibLog
    toEnum 15 = InitFlagsAll
    toEnum k = AnotherInitFlags k

instance P.Ord InitFlags where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes InitFlags = '[]
instance O.HasParentTypes InitFlags

foreign import ccall "wp_init_flags_get_type" c_wp_init_flags_get_type :: 
    IO GType

instance B.Types.TypedObject InitFlags where
    glibType = c_wp_init_flags_get_type

instance B.Types.BoxedFlags InitFlags

instance IsGFlag InitFlags

-- Flags DynamicRulesFeatures
-- | /No description available in the introspection data./
data DynamicRulesFeatures = 
      DynamicRulesFeaturesLoaded
    -- ^ /No description available in the introspection data./
    | AnotherDynamicRulesFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum DynamicRulesFeatures where
    fromEnum DynamicRulesFeaturesLoaded = 1
    fromEnum (AnotherDynamicRulesFeatures k) = k

    toEnum 1 = DynamicRulesFeaturesLoaded
    toEnum k = AnotherDynamicRulesFeatures k

instance P.Ord DynamicRulesFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes DynamicRulesFeatures = '[]
instance O.HasParentTypes DynamicRulesFeatures

foreign import ccall "wp_dynamic_rules_features_get_type" c_wp_dynamic_rules_features_get_type :: 
    IO GType

instance B.Types.TypedObject DynamicRulesFeatures where
    glibType = c_wp_dynamic_rules_features_get_type

instance B.Types.BoxedFlags DynamicRulesFeatures

instance IsGFlag DynamicRulesFeatures

-- Flags CoreFeatures
-- | /No description available in the introspection data./
data CoreFeatures = 
      CoreFeaturesConnected
    -- ^ /No description available in the introspection data./
    | CoreFeaturesComponents
    -- ^ /No description available in the introspection data./
    | AnotherCoreFeatures Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum CoreFeatures where
    fromEnum CoreFeaturesConnected = 1
    fromEnum CoreFeaturesComponents = 2
    fromEnum (AnotherCoreFeatures k) = k

    toEnum 1 = CoreFeaturesConnected
    toEnum 2 = CoreFeaturesComponents
    toEnum k = AnotherCoreFeatures k

instance P.Ord CoreFeatures where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes CoreFeatures = '[]
instance O.HasParentTypes CoreFeatures

foreign import ccall "wp_core_features_get_type" c_wp_core_features_get_type :: 
    IO GType

instance B.Types.TypedObject CoreFeatures where
    glibType = c_wp_core_features_get_type

instance B.Types.BoxedFlags CoreFeatures

instance IsGFlag CoreFeatures

-- Flags BaseDirsFlags
-- | /No description available in the introspection data./
data BaseDirsFlags = 
      BaseDirsFlagsEnvConfig
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsEnvData
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsEnvModule
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsXdgConfigHome
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsXdgDataHome
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsXdgConfigDirs
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsBuildSysconfdir
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsXdgDataDirs
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsBuildDatadir
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsBuildLibdir
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsFlagModule
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsFlagSubdirWireplumber
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsConfiguration
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsData
    -- ^ /No description available in the introspection data./
    | BaseDirsFlagsModule
    -- ^ /No description available in the introspection data./
    | AnotherBaseDirsFlags Int
    -- ^ Catch-all for unknown values
    deriving (Show, Eq)

instance P.Enum BaseDirsFlags where
    fromEnum BaseDirsFlagsEnvConfig = 1
    fromEnum BaseDirsFlagsEnvData = 2
    fromEnum BaseDirsFlagsEnvModule = 4
    fromEnum BaseDirsFlagsXdgConfigHome = 256
    fromEnum BaseDirsFlagsXdgDataHome = 512
    fromEnum BaseDirsFlagsXdgConfigDirs = 1024
    fromEnum BaseDirsFlagsBuildSysconfdir = 2048
    fromEnum BaseDirsFlagsXdgDataDirs = 4096
    fromEnum BaseDirsFlagsBuildDatadir = 8192
    fromEnum BaseDirsFlagsBuildLibdir = 16384
    fromEnum BaseDirsFlagsFlagModule = 16777216
    fromEnum BaseDirsFlagsFlagSubdirWireplumber = 33554432
    fromEnum BaseDirsFlagsConfiguration = 33570049
    fromEnum BaseDirsFlagsData = 33567234
    fromEnum BaseDirsFlagsModule = 50348036
    fromEnum (AnotherBaseDirsFlags k) = k

    toEnum 1 = BaseDirsFlagsEnvConfig
    toEnum 2 = BaseDirsFlagsEnvData
    toEnum 4 = BaseDirsFlagsEnvModule
    toEnum 256 = BaseDirsFlagsXdgConfigHome
    toEnum 512 = BaseDirsFlagsXdgDataHome
    toEnum 1024 = BaseDirsFlagsXdgConfigDirs
    toEnum 2048 = BaseDirsFlagsBuildSysconfdir
    toEnum 4096 = BaseDirsFlagsXdgDataDirs
    toEnum 8192 = BaseDirsFlagsBuildDatadir
    toEnum 16384 = BaseDirsFlagsBuildLibdir
    toEnum 16777216 = BaseDirsFlagsFlagModule
    toEnum 33554432 = BaseDirsFlagsFlagSubdirWireplumber
    toEnum 33570049 = BaseDirsFlagsConfiguration
    toEnum 33567234 = BaseDirsFlagsData
    toEnum 50348036 = BaseDirsFlagsModule
    toEnum k = AnotherBaseDirsFlags k

instance P.Ord BaseDirsFlags where
    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)

type instance O.ParentTypes BaseDirsFlags = '[]
instance O.HasParentTypes BaseDirsFlags

foreign import ccall "wp_base_dirs_flags_get_type" c_wp_base_dirs_flags_get_type :: 
    IO GType

instance B.Types.TypedObject BaseDirsFlags where
    glibType = c_wp_base_dirs_flags_get_type

instance B.Types.BoxedFlags BaseDirsFlags

instance IsGFlag BaseDirsFlags


