module System.XFCE.Xfconf.Error (
XfconfError(..),
xfconfErrorDomain
) where
import System.Glib.GError
import System.XFCE.Xfconf.FFI
xfconfErrorDomain :: GErrorDomain
xfconfErrorDomain = xfconf_get_error_quark
data XfconfError = XfconfErrorUnknown
| XfconfErrorChannelNotFound
| XfconfErrorPropertyNotFound
| XfconfErrorReadFailure
| XfconfErrorWriteFailure
| XfconfErrorPermissionDenied
| XfconfErrorInternalError
| XfconfErrorNoBackend
| XfconfErrorInvalidProperty
| XfconfErrorInvalidChannel
instance Enum XfconfError where
fromEnum XfconfErrorUnknown = 0
fromEnum XfconfErrorChannelNotFound = 1
fromEnum XfconfErrorPropertyNotFound = 2
fromEnum XfconfErrorReadFailure = 3
fromEnum XfconfErrorWriteFailure = 4
fromEnum XfconfErrorPermissionDenied = 5
fromEnum XfconfErrorInternalError = 6
fromEnum XfconfErrorNoBackend = 7
fromEnum XfconfErrorInvalidProperty = 8
fromEnum XfconfErrorInvalidChannel = 9
toEnum 0 = XfconfErrorUnknown
toEnum 1 = XfconfErrorChannelNotFound
toEnum 2 = XfconfErrorPropertyNotFound
toEnum 3 = XfconfErrorReadFailure
toEnum 4 = XfconfErrorWriteFailure
toEnum 5 = XfconfErrorPermissionDenied
toEnum 6 = XfconfErrorInternalError
toEnum 7 = XfconfErrorNoBackend
toEnum 8 = XfconfErrorInvalidProperty
toEnum 9 = XfconfErrorInvalidChannel
toEnum unmatched = error ("XfconfError.toEnum: Cannot match " ++ show unmatched)
succ XfconfErrorUnknown = XfconfErrorChannelNotFound
succ XfconfErrorChannelNotFound = XfconfErrorPropertyNotFound
succ XfconfErrorPropertyNotFound = XfconfErrorReadFailure
succ XfconfErrorReadFailure = XfconfErrorWriteFailure
succ XfconfErrorWriteFailure = XfconfErrorPermissionDenied
succ XfconfErrorPermissionDenied = XfconfErrorInternalError
succ XfconfErrorInternalError = XfconfErrorNoBackend
succ XfconfErrorNoBackend = XfconfErrorInvalidProperty
succ XfconfErrorInvalidProperty = XfconfErrorInvalidChannel
succ _ = undefined
pred XfconfErrorChannelNotFound = XfconfErrorUnknown
pred XfconfErrorPropertyNotFound = XfconfErrorChannelNotFound
pred XfconfErrorReadFailure = XfconfErrorPropertyNotFound
pred XfconfErrorWriteFailure = XfconfErrorReadFailure
pred XfconfErrorPermissionDenied = XfconfErrorWriteFailure
pred XfconfErrorInternalError = XfconfErrorPermissionDenied
pred XfconfErrorNoBackend = XfconfErrorInternalError
pred XfconfErrorInvalidProperty = XfconfErrorNoBackend
pred XfconfErrorInvalidChannel = XfconfErrorInvalidProperty
pred _ = undefined
enumFromTo x y | fromEnum x == fromEnum y = [ y ]
| otherwise = x : enumFromTo (succ x) y
enumFrom x = enumFromTo x XfconfErrorInvalidChannel
enumFromThen _ _ = error "Enum XfconfError: enumFromThen not implemented"
enumFromThenTo _ _ _ = error "Enum XfconfError: enumFromThenTo not implemented"
instance GErrorClass XfconfError where
gerrorDomain _ = xfconfErrorDomain
foreign import ccall unsafe "xfconf_get_error_quark"
xfconf_get_error_quark :: CUInt