gi-girepository-1.0.18: GI/GIRepository/Enums.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GIRepository.Enums
(
-- * Enumerations
-- ** ArrayType #enum:ArrayType#
ArrayType(..) ,
-- ** Direction #enum:Direction#
Direction(..) ,
-- ** InfoType #enum:InfoType#
InfoType(..) ,
-- ** NvokeError #enum:NvokeError#
NvokeError(..) ,
-- ** RepositoryError #enum:RepositoryError#
RepositoryError(..) ,
-- ** ScopeType #enum:ScopeType#
ScopeType(..) ,
-- ** Transfer #enum:Transfer#
Transfer(..) ,
-- ** TypeTag #enum:TypeTag#
TypeTag(..) ,
) 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
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.Text as T
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
-- Enum nvokeError
{- |
An error occuring while invoking a function via
@/g_function_info_invoke()/@.
-}
data NvokeError =
NvokeErrorFailed
{- ^
invokation failed, unknown error.
-}
| NvokeErrorSymbolNotFound
{- ^
symbol couldn\'t be found in any of the
libraries associated with the typelib of the function.
-}
| NvokeErrorArgumentMismatch
{- ^
the arguments provided didn\'t match
the expected arguments for the functions type signature.
-}
| AnotherNvokeError Int
-- ^ Catch-all for unknown values
deriving (Show, Eq)
instance P.Enum NvokeError where
fromEnum NvokeErrorFailed = 0
fromEnum NvokeErrorSymbolNotFound = 1
fromEnum NvokeErrorArgumentMismatch = 2
fromEnum (AnotherNvokeError k) = k
toEnum 0 = NvokeErrorFailed
toEnum 1 = NvokeErrorSymbolNotFound
toEnum 2 = NvokeErrorArgumentMismatch
toEnum k = AnotherNvokeError k
instance P.Ord NvokeError where
compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-- Enum TypeTag
{- |
The type tag of a @/GITypeInfo/@.
-}
data TypeTag =
TypeTagVoid
{- ^
void
-}
| TypeTagBoolean
{- ^
boolean
-}
| TypeTagInt8
{- ^
8-bit signed integer
-}
| TypeTagUint8
{- ^
8-bit unsigned integer
-}
| TypeTagInt16
{- ^
16-bit signed integer
-}
| TypeTagUint16
{- ^
16-bit unsigned integer
-}
| TypeTagInt32
{- ^
32-bit signed integer
-}
| TypeTagUint32
{- ^
32-bit unsigned integer
-}
| TypeTagInt64
{- ^
64-bit signed integer
-}
| TypeTagUint64
{- ^
64-bit unsigned integer
-}
| TypeTagFloat
{- ^
float
-}
| TypeTagDouble
{- ^
double floating point
-}
| TypeTagGtype
{- ^
a 'GType'
-}
| TypeTagUtf8
{- ^
a UTF-8 encoded string
-}
| TypeTagFilename
{- ^
a filename, encoded in the same encoding
as the native filesystem is using.
-}
| TypeTagArray
{- ^
an array
-}
| TypeTagInterface
{- ^
an extended interface object
-}
| TypeTagGlist
{- ^
a 'GI.GLib.Structs.List.List'
-}
| TypeTagGslist
{- ^
a 'GI.GLib.Structs.SList.SList'
-}
| TypeTagGhash
{- ^
a 'GI.GLib.Structs.HashTable.HashTable'
-}
| TypeTagError
{- ^
a 'GError'
-}
| TypeTagUnichar
{- ^
Unicode character
-}
| AnotherTypeTag Int
-- ^ Catch-all for unknown values
deriving (Show, Eq)
instance P.Enum TypeTag where
fromEnum TypeTagVoid = 0
fromEnum TypeTagBoolean = 1
fromEnum TypeTagInt8 = 2
fromEnum TypeTagUint8 = 3
fromEnum TypeTagInt16 = 4
fromEnum TypeTagUint16 = 5
fromEnum TypeTagInt32 = 6
fromEnum TypeTagUint32 = 7
fromEnum TypeTagInt64 = 8
fromEnum TypeTagUint64 = 9
fromEnum TypeTagFloat = 10
fromEnum TypeTagDouble = 11
fromEnum TypeTagGtype = 12
fromEnum TypeTagUtf8 = 13
fromEnum TypeTagFilename = 14
fromEnum TypeTagArray = 15
fromEnum TypeTagInterface = 16
fromEnum TypeTagGlist = 17
fromEnum TypeTagGslist = 18
fromEnum TypeTagGhash = 19
fromEnum TypeTagError = 20
fromEnum TypeTagUnichar = 21
fromEnum (AnotherTypeTag k) = k
toEnum 0 = TypeTagVoid
toEnum 1 = TypeTagBoolean
toEnum 2 = TypeTagInt8
toEnum 3 = TypeTagUint8
toEnum 4 = TypeTagInt16
toEnum 5 = TypeTagUint16
toEnum 6 = TypeTagInt32
toEnum 7 = TypeTagUint32
toEnum 8 = TypeTagInt64
toEnum 9 = TypeTagUint64
toEnum 10 = TypeTagFloat
toEnum 11 = TypeTagDouble
toEnum 12 = TypeTagGtype
toEnum 13 = TypeTagUtf8
toEnum 14 = TypeTagFilename
toEnum 15 = TypeTagArray
toEnum 16 = TypeTagInterface
toEnum 17 = TypeTagGlist
toEnum 18 = TypeTagGslist
toEnum 19 = TypeTagGhash
toEnum 20 = TypeTagError
toEnum 21 = TypeTagUnichar
toEnum k = AnotherTypeTag k
instance P.Ord TypeTag where
compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-- Enum Transfer
{- |
The transfer is the exchange of data between two parts, from the callee to
the caller. The callee is either a function\/method\/signal or an
object\/interface where a property is defined. The caller is the side
accessing a property or calling a function.
'GI.GIRepository.Enums.Transfer' specifies who\'s responsible for freeing the resources after the
ownership transfer is complete. In case of a containing type such as a list,
an array or a hash table the container itself is specified differently from
the items within the container itself. Each container is freed differently,
check the documentation for the types themselves for information on how to
free them.
-}
data Transfer =
TransferNothing
{- ^
transfer nothing from the callee (function or the type
instance the property belongs to) to the caller. The callee retains the
ownership of the transfer and the caller doesn\'t need to do anything to free
up the resources of this transfer.
-}
| TransferContainer
{- ^
transfer the container (list, array, hash table) from
the callee to the caller. The callee retains the ownership of the individual
items in the container and the caller has to free up the container resources
(@/g_list_free()/@\/'GI.GLib.Functions.hashTableDestroy' etc) of this transfer.
-}
| TransferEverything
{- ^
transfer everything, eg the container and its
contents from the callee to the caller. This is the case when the callee
creates a copy of all the data it returns. The caller is responsible for
cleaning up the container and item resources of this transfer.
-}
| AnotherTransfer Int
-- ^ Catch-all for unknown values
deriving (Show, Eq)
instance P.Enum Transfer where
fromEnum TransferNothing = 0
fromEnum TransferContainer = 1
fromEnum TransferEverything = 2
fromEnum (AnotherTransfer k) = k
toEnum 0 = TransferNothing
toEnum 1 = TransferContainer
toEnum 2 = TransferEverything
toEnum k = AnotherTransfer k
instance P.Ord Transfer where
compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-- Enum ScopeType
{- |
Scope type of a @/GIArgInfo/@ representing callback, determines how the
callback is invoked and is used to decided when the invoke structs
can be freed.
-}
data ScopeType =
ScopeTypeInvalid
{- ^
The argument is not of callback type.
-}
| ScopeTypeCall
{- ^
The callback and associated user_data is only
used during the call to this function.
-}
| ScopeTypeAsync
{- ^
The callback and associated user_data is
only used until the callback is invoked, and the callback.
is invoked always exactly once.
-}
| ScopeTypeNotified
{- ^
The callback and and associated
user_data is used until the caller is notfied via the destroy_notify.
-}
| AnotherScopeType Int
-- ^ Catch-all for unknown values
deriving (Show, Eq)
instance P.Enum ScopeType where
fromEnum ScopeTypeInvalid = 0
fromEnum ScopeTypeCall = 1
fromEnum ScopeTypeAsync = 2
fromEnum ScopeTypeNotified = 3
fromEnum (AnotherScopeType k) = k
toEnum 0 = ScopeTypeInvalid
toEnum 1 = ScopeTypeCall
toEnum 2 = ScopeTypeAsync
toEnum 3 = ScopeTypeNotified
toEnum k = AnotherScopeType k
instance P.Ord ScopeType where
compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-- Enum RepositoryError
{- |
An error code used with @/G_IREPOSITORY_ERROR/@ in a 'GError' returned
from a 'GI.GIRepository.Objects.Repository.Repository' routine.
-}
data RepositoryError =
RepositoryErrorTypelibNotFound
{- ^
the typelib could not be found.
-}
| RepositoryErrorNamespaceMismatch
{- ^
the namespace does not match the
requested namespace.
-}
| RepositoryErrorNamespaceVersionConflict
{- ^
the version of the
typelib does not match the requested version.
-}
| RepositoryErrorLibraryNotFound
{- ^
the library used by the typelib
could not be found.
-}
| AnotherRepositoryError Int
-- ^ Catch-all for unknown values
deriving (Show, Eq)
instance P.Enum RepositoryError where
fromEnum RepositoryErrorTypelibNotFound = 0
fromEnum RepositoryErrorNamespaceMismatch = 1
fromEnum RepositoryErrorNamespaceVersionConflict = 2
fromEnum RepositoryErrorLibraryNotFound = 3
fromEnum (AnotherRepositoryError k) = k
toEnum 0 = RepositoryErrorTypelibNotFound
toEnum 1 = RepositoryErrorNamespaceMismatch
toEnum 2 = RepositoryErrorNamespaceVersionConflict
toEnum 3 = RepositoryErrorLibraryNotFound
toEnum k = AnotherRepositoryError k
instance P.Ord RepositoryError where
compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-- Enum InfoType
{- |
The type of a GIBaseInfo struct.
-}
data InfoType =
InfoTypeInvalid
{- ^
invalid type
-}
| InfoTypeFunction
{- ^
function, see @/GIFunctionInfo/@
-}
| InfoTypeCallback
{- ^
callback, see @/GIFunctionInfo/@
-}
| InfoTypeStruct
{- ^
struct, see @/GIStructInfo/@
-}
| InfoTypeBoxed
{- ^
boxed, see @/GIStructInfo/@ or @/GIUnionInfo/@
-}
| InfoTypeEnum
{- ^
enum, see @/GIEnumInfo/@
-}
| InfoTypeFlags
{- ^
flags, see @/GIEnumInfo/@
-}
| InfoTypeObject
{- ^
object, see @/GIObjectInfo/@
-}
| InfoTypeInterface
{- ^
interface, see @/GIInterfaceInfo/@
-}
| InfoTypeConstant
{- ^
contant, see @/GIConstantInfo/@
-}
| InfoTypeInvalid0
{- ^
deleted, used to be GI_INFO_TYPE_ERROR_DOMAIN.
-}
| InfoTypeUnion
{- ^
union, see @/GIUnionInfo/@
-}
| InfoTypeValue
{- ^
enum value, see @/GIValueInfo/@
-}
| InfoTypeSignal
{- ^
signal, see @/GISignalInfo/@
-}
| InfoTypeVfunc
{- ^
virtual function, see @/GIVFuncInfo/@
-}
| InfoTypeProperty
{- ^
GObject property, see @/GIPropertyInfo/@
-}
| InfoTypeField
{- ^
struct or union field, see @/GIFieldInfo/@
-}
| InfoTypeArg
{- ^
argument of a function or callback, see @/GIArgInfo/@
-}
| InfoTypeType
{- ^
type information, see @/GITypeInfo/@
-}
| InfoTypeUnresolved
{- ^
unresolved type, a type which is not present in
the typelib, or any of its dependencies.
-}
| AnotherInfoType Int
-- ^ Catch-all for unknown values
deriving (Show, Eq)
instance P.Enum InfoType where
fromEnum InfoTypeInvalid = 0
fromEnum InfoTypeFunction = 1
fromEnum InfoTypeCallback = 2
fromEnum InfoTypeStruct = 3
fromEnum InfoTypeBoxed = 4
fromEnum InfoTypeEnum = 5
fromEnum InfoTypeFlags = 6
fromEnum InfoTypeObject = 7
fromEnum InfoTypeInterface = 8
fromEnum InfoTypeConstant = 9
fromEnum InfoTypeInvalid0 = 10
fromEnum InfoTypeUnion = 11
fromEnum InfoTypeValue = 12
fromEnum InfoTypeSignal = 13
fromEnum InfoTypeVfunc = 14
fromEnum InfoTypeProperty = 15
fromEnum InfoTypeField = 16
fromEnum InfoTypeArg = 17
fromEnum InfoTypeType = 18
fromEnum InfoTypeUnresolved = 19
fromEnum (AnotherInfoType k) = k
toEnum 0 = InfoTypeInvalid
toEnum 1 = InfoTypeFunction
toEnum 2 = InfoTypeCallback
toEnum 3 = InfoTypeStruct
toEnum 4 = InfoTypeBoxed
toEnum 5 = InfoTypeEnum
toEnum 6 = InfoTypeFlags
toEnum 7 = InfoTypeObject
toEnum 8 = InfoTypeInterface
toEnum 9 = InfoTypeConstant
toEnum 10 = InfoTypeInvalid0
toEnum 11 = InfoTypeUnion
toEnum 12 = InfoTypeValue
toEnum 13 = InfoTypeSignal
toEnum 14 = InfoTypeVfunc
toEnum 15 = InfoTypeProperty
toEnum 16 = InfoTypeField
toEnum 17 = InfoTypeArg
toEnum 18 = InfoTypeType
toEnum 19 = InfoTypeUnresolved
toEnum k = AnotherInfoType k
instance P.Ord InfoType where
compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-- Enum Direction
{- |
The direction of a @/GIArgInfo/@.
-}
data Direction =
DirectionIn
{- ^
in argument.
-}
| DirectionOut
{- ^
out argument.
-}
| DirectionInout
{- ^
in and out argument.
-}
| AnotherDirection Int
-- ^ Catch-all for unknown values
deriving (Show, Eq)
instance P.Enum Direction where
fromEnum DirectionIn = 0
fromEnum DirectionOut = 1
fromEnum DirectionInout = 2
fromEnum (AnotherDirection k) = k
toEnum 0 = DirectionIn
toEnum 1 = DirectionOut
toEnum 2 = DirectionInout
toEnum k = AnotherDirection k
instance P.Ord Direction where
compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-- Enum ArrayType
{- |
The type of array in a @/GITypeInfo/@.
-}
data ArrayType =
ArrayTypeC
{- ^
a C array, char[] for instance
-}
| ArrayTypeArray
{- ^
a /@gArray@/ array
-}
| ArrayTypePtrArray
{- ^
a 'GI.GLib.Structs.PtrArray.PtrArray' array
-}
| ArrayTypeByteArray
{- ^
a 'GI.GLib.Structs.ByteArray.ByteArray' array
-}
| AnotherArrayType Int
-- ^ Catch-all for unknown values
deriving (Show, Eq)
instance P.Enum ArrayType where
fromEnum ArrayTypeC = 0
fromEnum ArrayTypeArray = 1
fromEnum ArrayTypePtrArray = 2
fromEnum ArrayTypeByteArray = 3
fromEnum (AnotherArrayType k) = k
toEnum 0 = ArrayTypeC
toEnum 1 = ArrayTypeArray
toEnum 2 = ArrayTypePtrArray
toEnum 3 = ArrayTypeByteArray
toEnum k = AnotherArrayType k
instance P.Ord ArrayType where
compare a b = P.compare (P.fromEnum a) (P.fromEnum b)