gi-girepository-0.1.46.13: GI/GIRepository/Flags.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.GIRepository.Flags
(
-- * Exported types
VFuncInfoFlags(..) ,
RepositoryLoadFlags(..) ,
FunctionInfoFlags(..) ,
FieldInfoFlags(..) ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
-- Flags VFuncInfoFlags
data VFuncInfoFlags =
VFuncInfoFlagsMustChainUp
| VFuncInfoFlagsMustOverride
| VFuncInfoFlagsMustNotOverride
| VFuncInfoFlagsThrows
| AnotherVFuncInfoFlags Int
deriving (Show, Eq)
instance Enum VFuncInfoFlags where
fromEnum VFuncInfoFlagsMustChainUp = 1
fromEnum VFuncInfoFlagsMustOverride = 2
fromEnum VFuncInfoFlagsMustNotOverride = 4
fromEnum VFuncInfoFlagsThrows = 8
fromEnum (AnotherVFuncInfoFlags k) = k
toEnum 1 = VFuncInfoFlagsMustChainUp
toEnum 2 = VFuncInfoFlagsMustOverride
toEnum 4 = VFuncInfoFlagsMustNotOverride
toEnum 8 = VFuncInfoFlagsThrows
toEnum k = AnotherVFuncInfoFlags k
instance IsGFlag VFuncInfoFlags
-- Flags RepositoryLoadFlags
data RepositoryLoadFlags =
RepositoryLoadFlagsIrepositoryLoadFlagLazy
| AnotherRepositoryLoadFlags Int
deriving (Show, Eq)
instance Enum RepositoryLoadFlags where
fromEnum RepositoryLoadFlagsIrepositoryLoadFlagLazy = 1
fromEnum (AnotherRepositoryLoadFlags k) = k
toEnum 1 = RepositoryLoadFlagsIrepositoryLoadFlagLazy
toEnum k = AnotherRepositoryLoadFlags k
instance IsGFlag RepositoryLoadFlags
-- Flags FunctionInfoFlags
data FunctionInfoFlags =
FunctionInfoFlagsIsMethod
| FunctionInfoFlagsIsConstructor
| FunctionInfoFlagsIsGetter
| FunctionInfoFlagsIsSetter
| FunctionInfoFlagsWrapsVfunc
| FunctionInfoFlagsThrows
| AnotherFunctionInfoFlags Int
deriving (Show, Eq)
instance Enum FunctionInfoFlags where
fromEnum FunctionInfoFlagsIsMethod = 1
fromEnum FunctionInfoFlagsIsConstructor = 2
fromEnum FunctionInfoFlagsIsGetter = 4
fromEnum FunctionInfoFlagsIsSetter = 8
fromEnum FunctionInfoFlagsWrapsVfunc = 16
fromEnum FunctionInfoFlagsThrows = 32
fromEnum (AnotherFunctionInfoFlags k) = k
toEnum 1 = FunctionInfoFlagsIsMethod
toEnum 2 = FunctionInfoFlagsIsConstructor
toEnum 4 = FunctionInfoFlagsIsGetter
toEnum 8 = FunctionInfoFlagsIsSetter
toEnum 16 = FunctionInfoFlagsWrapsVfunc
toEnum 32 = FunctionInfoFlagsThrows
toEnum k = AnotherFunctionInfoFlags k
instance IsGFlag FunctionInfoFlags
-- Flags FieldInfoFlags
data FieldInfoFlags =
FieldInfoFlagsReadable
| FieldInfoFlagsWritable
| AnotherFieldInfoFlags Int
deriving (Show, Eq)
instance Enum FieldInfoFlags where
fromEnum FieldInfoFlagsReadable = 1
fromEnum FieldInfoFlagsWritable = 2
fromEnum (AnotherFieldInfoFlags k) = k
toEnum 1 = FieldInfoFlagsReadable
toEnum 2 = FieldInfoFlagsWritable
toEnum k = AnotherFieldInfoFlags k
instance IsGFlag FieldInfoFlags