{-# LANGUAGE ForeignFunctionInterface #-} {-# LINE 2 "./System/XFCE/Xfconf/Unsafe.chs" #-} -- vim:filetype=haskell: -- -- XXX: Should we consider property names to be encoded in UTF-8 too -- (string values are already encoded to / decoded from UTF-8). {- | Legacy core functions from the C implementation. Before libxfconf can be use, it must be initialized by calling 'xfconfInit'. To free resources used by the library, call 'xfconfShutdown'. These calls are "recursive": multiple calls to 'xfconfInit' are allowed, but each call must be matched by a separate call to 'xfconfShutdown' to really free the library's resources. For more information, see: http:\/\/docs.xfce.org\/api\/xfconf\/xfconf-xfconf.html -} {-# LINE 25 "./System/XFCE/Xfconf/Unsafe.chs" #-} module System.XFCE.Xfconf.Unsafe ( xfconfInit, xfconfShutdown, ) where import System.Glib.GError (propagateGError) import System.XFCE.Xfconf.FFI {---------------------------------------------------------------------- -- Core ----------------------------------------------------------------------} foreign import ccall unsafe "xfconf_init" c_xfconf_init :: Ptr (Ptr ()) -> IO () -- | Initializes the Xfconf library. Can be called multiple times with -- no adverse effects. -- -- May throw a 'GError'. You can try to catch it with: -- -- @ -- catchGError xfconfInit -- (\(GError d c m) -> do print d;print c;print m) -- @ -- -- N.B.: most Haskell functions automatically calls xfconfInit when -- needed. You should NOT directly use this function. xfconfInit :: IO () xfconfInit = propagateGError (\errPtrPtr -> c_xfconf_init errPtrPtr) -- | Shuts down and frees any resources consumed by the Xfconf library. -- If 'xfconfInit' is called multiple times, 'xfconfShutdown' must be -- called an equal number of times to shut down the library. -- -- N.B.: most Haskell functions automatically calls xfconfShutdown when -- needed. You should NOT directly use this function. xfconfShutdown :: IO () xfconfShutdown = xfconf_shutdown {-# LINE 65 "./System/XFCE/Xfconf/Unsafe.chs" #-} foreign import ccall unsafe "xfconf_shutdown" xfconf_shutdown :: (IO ())