packages feed

xfconf-4.8.0.0: System/XFCE/Xfconf/Error.chs

{-# LANGUAGE CPP, ForeignFunctionInterface #-}

-- | Xfconf library and daemon error descriptions
-- 
-- Both the Xfconf daemon and library provide error information via the
-- use of GErrors.
--
-- For more information, see:
--  http:\/\/docs.xfce.org\/api\/xfconf\/xfconf-xfconf-errors.html


#include <xfconf/xfconf.h>

{# context lib="xfconf-0" #}

module System.XFCE.Xfconf.Error (
                XfconfError(..),
                xfconfErrorDomain
                ) where

import System.Glib.GError

import System.XFCE.Xfconf.FFI

{----------------------------------------------------------------------
-- Xfconf Error
----------------------------------------------------------------------}

-- | The 'GErrorDomain' for Xfconf.
xfconfErrorDomain :: GErrorDomain
xfconfErrorDomain = {#call pure unsafe xfconf_get_error_quark#}

{- | An enumeration listing the different kinds of errors under the
   'xfconfErrorDomain' domain.

     [@xfconfErrorUnknown@]
         An unknown error occurred

     [@xfconfErrorChannelNotFound@]
         The specified channel does not exist

     [@xfconfErrorPropertyNotFound@]
         The specified property does not exist on the channel

     [@xfconfErrorReadFailure@]
         There was a failure reading from the configuration store

     [@xfconfErrorWriteFailure@]
         There was a failure writing to the configuration store

     [@xfconfErrorPermissionDenied@]
         The user is not allowed to read or write to the channel or
         property

     [@xfconfErrorInternalError@]
         An internal error (likely a bug in xfconf) occurred

     [@xfconfErrorNoBackend@]
         No backends were found, or those found could not be loaded

     [@xfconfErrorInvalidProperty@]
         The property name specified was invalid

     [@xfconfErrorInvalidChannel@]
         The channel name specified was invalid 
-} 
{#enum XfconfError {underscoreToCase} #}

instance GErrorClass XfconfError where
        gerrorDomain _ = xfconfErrorDomain