{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.Settings
    ( 
    Settings(..)                            ,
    IsSettings                              ,
    toSettings                              ,
 
#if defined(ENABLE_OVERLOADING)
    ResolveSettingsMethod                   ,
#endif
#if defined(ENABLE_OVERLOADING)
    SettingsApplyMethodInfo                 ,
#endif
    settingsApply                           ,
#if defined(ENABLE_OVERLOADING)
    SettingsBindMethodInfo                  ,
#endif
    settingsBind                            ,
#if defined(ENABLE_OVERLOADING)
    SettingsBindWritableMethodInfo          ,
#endif
    settingsBindWritable                    ,
#if defined(ENABLE_OVERLOADING)
    SettingsCreateActionMethodInfo          ,
#endif
    settingsCreateAction                    ,
#if defined(ENABLE_OVERLOADING)
    SettingsDelayMethodInfo                 ,
#endif
    settingsDelay                           ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetBooleanMethodInfo            ,
#endif
    settingsGetBoolean                      ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetChildMethodInfo              ,
#endif
    settingsGetChild                        ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetDefaultValueMethodInfo       ,
#endif
    settingsGetDefaultValue                 ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetDoubleMethodInfo             ,
#endif
    settingsGetDouble                       ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetEnumMethodInfo               ,
#endif
    settingsGetEnum                         ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetFlagsMethodInfo              ,
#endif
    settingsGetFlags                        ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetHasUnappliedMethodInfo       ,
#endif
    settingsGetHasUnapplied                 ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetIntMethodInfo                ,
#endif
    settingsGetInt                          ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetInt64MethodInfo              ,
#endif
    settingsGetInt64                        ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetMappedMethodInfo             ,
#endif
    settingsGetMapped                       ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetRangeMethodInfo              ,
#endif
    settingsGetRange                        ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetStringMethodInfo             ,
#endif
    settingsGetString                       ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetStrvMethodInfo               ,
#endif
    settingsGetStrv                         ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetUintMethodInfo               ,
#endif
    settingsGetUint                         ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetUint64MethodInfo             ,
#endif
    settingsGetUint64                       ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetUserValueMethodInfo          ,
#endif
    settingsGetUserValue                    ,
#if defined(ENABLE_OVERLOADING)
    SettingsGetValueMethodInfo              ,
#endif
    settingsGetValue                        ,
#if defined(ENABLE_OVERLOADING)
    SettingsIsWritableMethodInfo            ,
#endif
    settingsIsWritable                      ,
#if defined(ENABLE_OVERLOADING)
    SettingsListChildrenMethodInfo          ,
#endif
    settingsListChildren                    ,
#if defined(ENABLE_OVERLOADING)
    SettingsListKeysMethodInfo              ,
#endif
    settingsListKeys                        ,
    settingsListRelocatableSchemas          ,
    settingsListSchemas                     ,
    settingsNew                             ,
    settingsNewFull                         ,
    settingsNewWithBackend                  ,
    settingsNewWithBackendAndPath           ,
    settingsNewWithPath                     ,
#if defined(ENABLE_OVERLOADING)
    SettingsRangeCheckMethodInfo            ,
#endif
    settingsRangeCheck                      ,
#if defined(ENABLE_OVERLOADING)
    SettingsResetMethodInfo                 ,
#endif
    settingsReset                           ,
#if defined(ENABLE_OVERLOADING)
    SettingsRevertMethodInfo                ,
#endif
    settingsRevert                          ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetBooleanMethodInfo            ,
#endif
    settingsSetBoolean                      ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetDoubleMethodInfo             ,
#endif
    settingsSetDouble                       ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetEnumMethodInfo               ,
#endif
    settingsSetEnum                         ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetFlagsMethodInfo              ,
#endif
    settingsSetFlags                        ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetIntMethodInfo                ,
#endif
    settingsSetInt                          ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetInt64MethodInfo              ,
#endif
    settingsSetInt64                        ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetStringMethodInfo             ,
#endif
    settingsSetString                       ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetStrvMethodInfo               ,
#endif
    settingsSetStrv                         ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetUintMethodInfo               ,
#endif
    settingsSetUint                         ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetUint64MethodInfo             ,
#endif
    settingsSetUint64                       ,
#if defined(ENABLE_OVERLOADING)
    SettingsSetValueMethodInfo              ,
#endif
    settingsSetValue                        ,
    settingsSync                            ,
    settingsUnbind                          ,
 
#if defined(ENABLE_OVERLOADING)
    SettingsBackendPropertyInfo             ,
#endif
    constructSettingsBackend                ,
    getSettingsBackend                      ,
#if defined(ENABLE_OVERLOADING)
    settingsBackend                         ,
#endif
#if defined(ENABLE_OVERLOADING)
    SettingsDelayApplyPropertyInfo          ,
#endif
    getSettingsDelayApply                   ,
#if defined(ENABLE_OVERLOADING)
    settingsDelayApply                      ,
#endif
#if defined(ENABLE_OVERLOADING)
    SettingsHasUnappliedPropertyInfo        ,
#endif
    getSettingsHasUnapplied                 ,
#if defined(ENABLE_OVERLOADING)
    settingsHasUnapplied                    ,
#endif
#if defined(ENABLE_OVERLOADING)
    SettingsPathPropertyInfo                ,
#endif
    constructSettingsPath                   ,
    getSettingsPath                         ,
#if defined(ENABLE_OVERLOADING)
    settingsPath                            ,
#endif
#if defined(ENABLE_OVERLOADING)
    SettingsSchemaPropertyInfo              ,
#endif
    constructSettingsSchema                 ,
    getSettingsSchema                       ,
#if defined(ENABLE_OVERLOADING)
    settingsSchema                          ,
#endif
#if defined(ENABLE_OVERLOADING)
    SettingsSchemaIdPropertyInfo            ,
#endif
    constructSettingsSchemaId               ,
    getSettingsSchemaId                     ,
#if defined(ENABLE_OVERLOADING)
    settingsSchemaId                        ,
#endif
#if defined(ENABLE_OVERLOADING)
    SettingsSettingsSchemaPropertyInfo      ,
#endif
    constructSettingsSettingsSchema         ,
    getSettingsSettingsSchema               ,
#if defined(ENABLE_OVERLOADING)
    settingsSettingsSchema                  ,
#endif
 
    C_SettingsChangeEventCallback           ,
    SettingsChangeEventCallback             ,
#if defined(ENABLE_OVERLOADING)
    SettingsChangeEventSignalInfo           ,
#endif
    afterSettingsChangeEvent                ,
    genClosure_SettingsChangeEvent          ,
    mk_SettingsChangeEventCallback          ,
    noSettingsChangeEventCallback           ,
    onSettingsChangeEvent                   ,
    wrap_SettingsChangeEventCallback        ,
    C_SettingsChangedCallback               ,
    SettingsChangedCallback                 ,
#if defined(ENABLE_OVERLOADING)
    SettingsChangedSignalInfo               ,
#endif
    afterSettingsChanged                    ,
    genClosure_SettingsChanged              ,
    mk_SettingsChangedCallback              ,
    noSettingsChangedCallback               ,
    onSettingsChanged                       ,
    wrap_SettingsChangedCallback            ,
    C_SettingsWritableChangeEventCallback   ,
    SettingsWritableChangeEventCallback     ,
#if defined(ENABLE_OVERLOADING)
    SettingsWritableChangeEventSignalInfo   ,
#endif
    afterSettingsWritableChangeEvent        ,
    genClosure_SettingsWritableChangeEvent  ,
    mk_SettingsWritableChangeEventCallback  ,
    noSettingsWritableChangeEventCallback   ,
    onSettingsWritableChangeEvent           ,
    wrap_SettingsWritableChangeEventCallback,
    C_SettingsWritableChangedCallback       ,
    SettingsWritableChangedCallback         ,
#if defined(ENABLE_OVERLOADING)
    SettingsWritableChangedSignalInfo       ,
#endif
    afterSettingsWritableChanged            ,
    genClosure_SettingsWritableChanged      ,
    mk_SettingsWritableChangedCallback      ,
    noSettingsWritableChangedCallback       ,
    onSettingsWritableChanged               ,
    wrap_SettingsWritableChangedCallback    ,
    ) 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.BasicTypes as B.Types
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
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
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import {-# SOURCE #-} qualified GI.Gio.Flags as Gio.Flags
import {-# SOURCE #-} qualified GI.Gio.Interfaces.Action as Gio.Action
import {-# SOURCE #-} qualified GI.Gio.Objects.SettingsBackend as Gio.SettingsBackend
import {-# SOURCE #-} qualified GI.Gio.Structs.SettingsSchema as Gio.SettingsSchema
newtype Settings = Settings (SP.ManagedPtr Settings)
    deriving (Settings -> Settings -> Bool
(Settings -> Settings -> Bool)
-> (Settings -> Settings -> Bool) -> Eq Settings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Settings -> Settings -> Bool
$c/= :: Settings -> Settings -> Bool
== :: Settings -> Settings -> Bool
$c== :: Settings -> Settings -> Bool
Eq)
instance SP.ManagedPtrNewtype Settings where
    toManagedPtr :: Settings -> ManagedPtr Settings
toManagedPtr (Settings ManagedPtr Settings
p) = ManagedPtr Settings
p
foreign import ccall "g_settings_get_type"
    c_g_settings_get_type :: IO B.Types.GType
instance B.Types.TypedObject Settings where
    glibType :: IO GType
glibType = IO GType
c_g_settings_get_type
instance B.Types.GObject Settings
instance B.GValue.IsGValue Settings where
    toGValue :: Settings -> IO GValue
toGValue Settings
o = do
        GType
gtype <- IO GType
c_g_settings_get_type
        Settings -> (Ptr Settings -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Settings
o (GType
-> (GValue -> Ptr Settings -> IO ()) -> Ptr Settings -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Settings -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
        
    fromGValue :: GValue -> IO Settings
fromGValue GValue
gv = do
        Ptr Settings
ptr <- GValue -> IO (Ptr Settings)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Settings)
        (ManagedPtr Settings -> Settings) -> Ptr Settings -> IO Settings
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Settings -> Settings
Settings Ptr Settings
ptr
        
    
class (SP.GObject o, O.IsDescendantOf Settings o) => IsSettings o
instance (SP.GObject o, O.IsDescendantOf Settings o) => IsSettings o
instance O.HasParentTypes Settings
type instance O.ParentTypes Settings = '[GObject.Object.Object]
toSettings :: (MonadIO m, IsSettings o) => o -> m Settings
toSettings :: o -> m Settings
toSettings = IO Settings -> m Settings
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Settings -> m Settings)
-> (o -> IO Settings) -> o -> m Settings
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Settings -> Settings) -> o -> IO Settings
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Settings -> Settings
Settings
#if defined(ENABLE_OVERLOADING)
type family ResolveSettingsMethod (t :: Symbol) (o :: *) :: * where
    ResolveSettingsMethod "apply" o = SettingsApplyMethodInfo
    ResolveSettingsMethod "bind" o = SettingsBindMethodInfo
    ResolveSettingsMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveSettingsMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveSettingsMethod "bindWritable" o = SettingsBindWritableMethodInfo
    ResolveSettingsMethod "createAction" o = SettingsCreateActionMethodInfo
    ResolveSettingsMethod "delay" o = SettingsDelayMethodInfo
    ResolveSettingsMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveSettingsMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveSettingsMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveSettingsMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveSettingsMethod "isWritable" o = SettingsIsWritableMethodInfo
    ResolveSettingsMethod "listChildren" o = SettingsListChildrenMethodInfo
    ResolveSettingsMethod "listKeys" o = SettingsListKeysMethodInfo
    ResolveSettingsMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveSettingsMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveSettingsMethod "rangeCheck" o = SettingsRangeCheckMethodInfo
    ResolveSettingsMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveSettingsMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveSettingsMethod "reset" o = SettingsResetMethodInfo
    ResolveSettingsMethod "revert" o = SettingsRevertMethodInfo
    ResolveSettingsMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveSettingsMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveSettingsMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveSettingsMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveSettingsMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveSettingsMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveSettingsMethod "getBoolean" o = SettingsGetBooleanMethodInfo
    ResolveSettingsMethod "getChild" o = SettingsGetChildMethodInfo
    ResolveSettingsMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveSettingsMethod "getDefaultValue" o = SettingsGetDefaultValueMethodInfo
    ResolveSettingsMethod "getDouble" o = SettingsGetDoubleMethodInfo
    ResolveSettingsMethod "getEnum" o = SettingsGetEnumMethodInfo
    ResolveSettingsMethod "getFlags" o = SettingsGetFlagsMethodInfo
    ResolveSettingsMethod "getHasUnapplied" o = SettingsGetHasUnappliedMethodInfo
    ResolveSettingsMethod "getInt" o = SettingsGetIntMethodInfo
    ResolveSettingsMethod "getInt64" o = SettingsGetInt64MethodInfo
    ResolveSettingsMethod "getMapped" o = SettingsGetMappedMethodInfo
    ResolveSettingsMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveSettingsMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveSettingsMethod "getRange" o = SettingsGetRangeMethodInfo
    ResolveSettingsMethod "getString" o = SettingsGetStringMethodInfo
    ResolveSettingsMethod "getStrv" o = SettingsGetStrvMethodInfo
    ResolveSettingsMethod "getUint" o = SettingsGetUintMethodInfo
    ResolveSettingsMethod "getUint64" o = SettingsGetUint64MethodInfo
    ResolveSettingsMethod "getUserValue" o = SettingsGetUserValueMethodInfo
    ResolveSettingsMethod "getValue" o = SettingsGetValueMethodInfo
    ResolveSettingsMethod "setBoolean" o = SettingsSetBooleanMethodInfo
    ResolveSettingsMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveSettingsMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveSettingsMethod "setDouble" o = SettingsSetDoubleMethodInfo
    ResolveSettingsMethod "setEnum" o = SettingsSetEnumMethodInfo
    ResolveSettingsMethod "setFlags" o = SettingsSetFlagsMethodInfo
    ResolveSettingsMethod "setInt" o = SettingsSetIntMethodInfo
    ResolveSettingsMethod "setInt64" o = SettingsSetInt64MethodInfo
    ResolveSettingsMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveSettingsMethod "setString" o = SettingsSetStringMethodInfo
    ResolveSettingsMethod "setStrv" o = SettingsSetStrvMethodInfo
    ResolveSettingsMethod "setUint" o = SettingsSetUintMethodInfo
    ResolveSettingsMethod "setUint64" o = SettingsSetUint64MethodInfo
    ResolveSettingsMethod "setValue" o = SettingsSetValueMethodInfo
    ResolveSettingsMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSettingsMethod t Settings, O.MethodInfo info Settings p) => OL.IsLabel t (Settings -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif
#endif
type SettingsChangeEventCallback =
    Maybe [Word32]
    
    
    -> IO Bool
    
    
noSettingsChangeEventCallback :: Maybe SettingsChangeEventCallback
noSettingsChangeEventCallback :: Maybe SettingsChangeEventCallback
noSettingsChangeEventCallback = Maybe SettingsChangeEventCallback
forall a. Maybe a
Nothing
type C_SettingsChangeEventCallback =
    Ptr () ->                               
    Ptr Word32 ->
    Int32 ->
    Ptr () ->                               
    IO CInt
foreign import ccall "wrapper"
    mk_SettingsChangeEventCallback :: C_SettingsChangeEventCallback -> IO (FunPtr C_SettingsChangeEventCallback)
genClosure_SettingsChangeEvent :: MonadIO m => SettingsChangeEventCallback -> m (GClosure C_SettingsChangeEventCallback)
genClosure_SettingsChangeEvent :: SettingsChangeEventCallback
-> m (GClosure C_SettingsChangeEventCallback)
genClosure_SettingsChangeEvent SettingsChangeEventCallback
cb = IO (GClosure C_SettingsChangeEventCallback)
-> m (GClosure C_SettingsChangeEventCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_SettingsChangeEventCallback)
 -> m (GClosure C_SettingsChangeEventCallback))
-> IO (GClosure C_SettingsChangeEventCallback)
-> m (GClosure C_SettingsChangeEventCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsChangeEventCallback
cb' = SettingsChangeEventCallback -> C_SettingsChangeEventCallback
wrap_SettingsChangeEventCallback SettingsChangeEventCallback
cb
    C_SettingsChangeEventCallback
-> IO (FunPtr C_SettingsChangeEventCallback)
mk_SettingsChangeEventCallback C_SettingsChangeEventCallback
cb' IO (FunPtr C_SettingsChangeEventCallback)
-> (FunPtr C_SettingsChangeEventCallback
    -> IO (GClosure C_SettingsChangeEventCallback))
-> IO (GClosure C_SettingsChangeEventCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_SettingsChangeEventCallback
-> IO (GClosure C_SettingsChangeEventCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_SettingsChangeEventCallback ::
    SettingsChangeEventCallback ->
    C_SettingsChangeEventCallback
wrap_SettingsChangeEventCallback :: SettingsChangeEventCallback -> C_SettingsChangeEventCallback
wrap_SettingsChangeEventCallback SettingsChangeEventCallback
_cb Ptr ()
_ Ptr Word32
keys Int32
nKeys Ptr ()
_ = do
    Maybe [Word32]
maybeKeys <-
        if Ptr Word32
keys Ptr Word32 -> Ptr Word32 -> Bool
forall a. Eq a => a -> a -> Bool
== Ptr Word32
forall a. Ptr a
nullPtr
        then Maybe [Word32] -> IO (Maybe [Word32])
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe [Word32]
forall a. Maybe a
Nothing
        else do
            [Word32]
keys' <- (Int32 -> Ptr Word32 -> IO [Word32]
forall a b. (Integral a, Storable b) => a -> Ptr b -> IO [b]
unpackStorableArrayWithLength Int32
nKeys) Ptr Word32
keys
            Maybe [Word32] -> IO (Maybe [Word32])
forall (m :: * -> *) a. Monad m => a -> m a
return (Maybe [Word32] -> IO (Maybe [Word32]))
-> Maybe [Word32] -> IO (Maybe [Word32])
forall a b. (a -> b) -> a -> b
$ [Word32] -> Maybe [Word32]
forall a. a -> Maybe a
Just [Word32]
keys'
    Bool
result <- SettingsChangeEventCallback
_cb  Maybe [Word32]
maybeKeys
    let result' :: CInt
result' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
result
    CInt -> IO CInt
forall (m :: * -> *) a. Monad m => a -> m a
return CInt
result'
onSettingsChangeEvent :: (IsSettings a, MonadIO m) => a -> SettingsChangeEventCallback -> m SignalHandlerId
onSettingsChangeEvent :: a -> SettingsChangeEventCallback -> m SignalHandlerId
onSettingsChangeEvent a
obj SettingsChangeEventCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsChangeEventCallback
cb' = SettingsChangeEventCallback -> C_SettingsChangeEventCallback
wrap_SettingsChangeEventCallback SettingsChangeEventCallback
cb
    FunPtr C_SettingsChangeEventCallback
cb'' <- C_SettingsChangeEventCallback
-> IO (FunPtr C_SettingsChangeEventCallback)
mk_SettingsChangeEventCallback C_SettingsChangeEventCallback
cb'
    a
-> Text
-> FunPtr C_SettingsChangeEventCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"change-event" FunPtr C_SettingsChangeEventCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterSettingsChangeEvent :: (IsSettings a, MonadIO m) => a -> SettingsChangeEventCallback -> m SignalHandlerId
afterSettingsChangeEvent :: a -> SettingsChangeEventCallback -> m SignalHandlerId
afterSettingsChangeEvent a
obj SettingsChangeEventCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsChangeEventCallback
cb' = SettingsChangeEventCallback -> C_SettingsChangeEventCallback
wrap_SettingsChangeEventCallback SettingsChangeEventCallback
cb
    FunPtr C_SettingsChangeEventCallback
cb'' <- C_SettingsChangeEventCallback
-> IO (FunPtr C_SettingsChangeEventCallback)
mk_SettingsChangeEventCallback C_SettingsChangeEventCallback
cb'
    a
-> Text
-> FunPtr C_SettingsChangeEventCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"change-event" FunPtr C_SettingsChangeEventCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data SettingsChangeEventSignalInfo
instance SignalInfo SettingsChangeEventSignalInfo where
    type HaskellCallbackType SettingsChangeEventSignalInfo = SettingsChangeEventCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_SettingsChangeEventCallback cb
        cb'' <- mk_SettingsChangeEventCallback cb'
        connectSignalFunPtr obj "change-event" cb'' connectMode detail
#endif
type SettingsChangedCallback =
    T.Text
    
    -> IO ()
noSettingsChangedCallback :: Maybe SettingsChangedCallback
noSettingsChangedCallback :: Maybe SettingsChangedCallback
noSettingsChangedCallback = Maybe SettingsChangedCallback
forall a. Maybe a
Nothing
type C_SettingsChangedCallback =
    Ptr () ->                               
    CString ->
    Ptr () ->                               
    IO ()
foreign import ccall "wrapper"
    mk_SettingsChangedCallback :: C_SettingsChangedCallback -> IO (FunPtr C_SettingsChangedCallback)
genClosure_SettingsChanged :: MonadIO m => SettingsChangedCallback -> m (GClosure C_SettingsChangedCallback)
genClosure_SettingsChanged :: SettingsChangedCallback -> m (GClosure C_SettingsChangedCallback)
genClosure_SettingsChanged SettingsChangedCallback
cb = IO (GClosure C_SettingsChangedCallback)
-> m (GClosure C_SettingsChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_SettingsChangedCallback)
 -> m (GClosure C_SettingsChangedCallback))
-> IO (GClosure C_SettingsChangedCallback)
-> m (GClosure C_SettingsChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsChangedCallback
cb' = SettingsChangedCallback -> C_SettingsChangedCallback
wrap_SettingsChangedCallback SettingsChangedCallback
cb
    C_SettingsChangedCallback -> IO (FunPtr C_SettingsChangedCallback)
mk_SettingsChangedCallback C_SettingsChangedCallback
cb' IO (FunPtr C_SettingsChangedCallback)
-> (FunPtr C_SettingsChangedCallback
    -> IO (GClosure C_SettingsChangedCallback))
-> IO (GClosure C_SettingsChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_SettingsChangedCallback
-> IO (GClosure C_SettingsChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_SettingsChangedCallback ::
    SettingsChangedCallback ->
    C_SettingsChangedCallback
wrap_SettingsChangedCallback :: SettingsChangedCallback -> C_SettingsChangedCallback
wrap_SettingsChangedCallback SettingsChangedCallback
_cb Ptr ()
_ CString
key Ptr ()
_ = do
    Text
key' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
key
    SettingsChangedCallback
_cb  Text
key'
onSettingsChanged :: (IsSettings a, MonadIO m) => a -> P.Maybe T.Text -> SettingsChangedCallback -> m SignalHandlerId
onSettingsChanged :: a -> Maybe Text -> SettingsChangedCallback -> m SignalHandlerId
onSettingsChanged a
obj Maybe Text
detail SettingsChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsChangedCallback
cb' = SettingsChangedCallback -> C_SettingsChangedCallback
wrap_SettingsChangedCallback SettingsChangedCallback
cb
    FunPtr C_SettingsChangedCallback
cb'' <- C_SettingsChangedCallback -> IO (FunPtr C_SettingsChangedCallback)
mk_SettingsChangedCallback C_SettingsChangedCallback
cb'
    a
-> Text
-> FunPtr C_SettingsChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"changed" FunPtr C_SettingsChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
detail
afterSettingsChanged :: (IsSettings a, MonadIO m) => a -> P.Maybe T.Text -> SettingsChangedCallback -> m SignalHandlerId
afterSettingsChanged :: a -> Maybe Text -> SettingsChangedCallback -> m SignalHandlerId
afterSettingsChanged a
obj Maybe Text
detail SettingsChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsChangedCallback
cb' = SettingsChangedCallback -> C_SettingsChangedCallback
wrap_SettingsChangedCallback SettingsChangedCallback
cb
    FunPtr C_SettingsChangedCallback
cb'' <- C_SettingsChangedCallback -> IO (FunPtr C_SettingsChangedCallback)
mk_SettingsChangedCallback C_SettingsChangedCallback
cb'
    a
-> Text
-> FunPtr C_SettingsChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"changed" FunPtr C_SettingsChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
detail
#if defined(ENABLE_OVERLOADING)
data SettingsChangedSignalInfo
instance SignalInfo SettingsChangedSignalInfo where
    type HaskellCallbackType SettingsChangedSignalInfo = SettingsChangedCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_SettingsChangedCallback cb
        cb'' <- mk_SettingsChangedCallback cb'
        connectSignalFunPtr obj "changed" cb'' connectMode detail
#endif
type SettingsWritableChangeEventCallback =
    Word32
    
    -> IO Bool
    
    
noSettingsWritableChangeEventCallback :: Maybe SettingsWritableChangeEventCallback
noSettingsWritableChangeEventCallback :: Maybe SettingsWritableChangeEventCallback
noSettingsWritableChangeEventCallback = Maybe SettingsWritableChangeEventCallback
forall a. Maybe a
Nothing
type C_SettingsWritableChangeEventCallback =
    Ptr () ->                               
    Word32 ->
    Ptr () ->                               
    IO CInt
foreign import ccall "wrapper"
    mk_SettingsWritableChangeEventCallback :: C_SettingsWritableChangeEventCallback -> IO (FunPtr C_SettingsWritableChangeEventCallback)
genClosure_SettingsWritableChangeEvent :: MonadIO m => SettingsWritableChangeEventCallback -> m (GClosure C_SettingsWritableChangeEventCallback)
genClosure_SettingsWritableChangeEvent :: SettingsWritableChangeEventCallback
-> m (GClosure C_SettingsWritableChangeEventCallback)
genClosure_SettingsWritableChangeEvent SettingsWritableChangeEventCallback
cb = IO (GClosure C_SettingsWritableChangeEventCallback)
-> m (GClosure C_SettingsWritableChangeEventCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_SettingsWritableChangeEventCallback)
 -> m (GClosure C_SettingsWritableChangeEventCallback))
-> IO (GClosure C_SettingsWritableChangeEventCallback)
-> m (GClosure C_SettingsWritableChangeEventCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsWritableChangeEventCallback
cb' = SettingsWritableChangeEventCallback
-> C_SettingsWritableChangeEventCallback
wrap_SettingsWritableChangeEventCallback SettingsWritableChangeEventCallback
cb
    C_SettingsWritableChangeEventCallback
-> IO (FunPtr C_SettingsWritableChangeEventCallback)
mk_SettingsWritableChangeEventCallback C_SettingsWritableChangeEventCallback
cb' IO (FunPtr C_SettingsWritableChangeEventCallback)
-> (FunPtr C_SettingsWritableChangeEventCallback
    -> IO (GClosure C_SettingsWritableChangeEventCallback))
-> IO (GClosure C_SettingsWritableChangeEventCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_SettingsWritableChangeEventCallback
-> IO (GClosure C_SettingsWritableChangeEventCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_SettingsWritableChangeEventCallback ::
    SettingsWritableChangeEventCallback ->
    C_SettingsWritableChangeEventCallback
wrap_SettingsWritableChangeEventCallback :: SettingsWritableChangeEventCallback
-> C_SettingsWritableChangeEventCallback
wrap_SettingsWritableChangeEventCallback SettingsWritableChangeEventCallback
_cb Ptr ()
_ Word32
key Ptr ()
_ = do
    Bool
result <- SettingsWritableChangeEventCallback
_cb  Word32
key
    let result' :: CInt
result' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
result
    CInt -> IO CInt
forall (m :: * -> *) a. Monad m => a -> m a
return CInt
result'
onSettingsWritableChangeEvent :: (IsSettings a, MonadIO m) => a -> SettingsWritableChangeEventCallback -> m SignalHandlerId
onSettingsWritableChangeEvent :: a -> SettingsWritableChangeEventCallback -> m SignalHandlerId
onSettingsWritableChangeEvent a
obj SettingsWritableChangeEventCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsWritableChangeEventCallback
cb' = SettingsWritableChangeEventCallback
-> C_SettingsWritableChangeEventCallback
wrap_SettingsWritableChangeEventCallback SettingsWritableChangeEventCallback
cb
    FunPtr C_SettingsWritableChangeEventCallback
cb'' <- C_SettingsWritableChangeEventCallback
-> IO (FunPtr C_SettingsWritableChangeEventCallback)
mk_SettingsWritableChangeEventCallback C_SettingsWritableChangeEventCallback
cb'
    a
-> Text
-> FunPtr C_SettingsWritableChangeEventCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"writable-change-event" FunPtr C_SettingsWritableChangeEventCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterSettingsWritableChangeEvent :: (IsSettings a, MonadIO m) => a -> SettingsWritableChangeEventCallback -> m SignalHandlerId
afterSettingsWritableChangeEvent :: a -> SettingsWritableChangeEventCallback -> m SignalHandlerId
afterSettingsWritableChangeEvent a
obj SettingsWritableChangeEventCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsWritableChangeEventCallback
cb' = SettingsWritableChangeEventCallback
-> C_SettingsWritableChangeEventCallback
wrap_SettingsWritableChangeEventCallback SettingsWritableChangeEventCallback
cb
    FunPtr C_SettingsWritableChangeEventCallback
cb'' <- C_SettingsWritableChangeEventCallback
-> IO (FunPtr C_SettingsWritableChangeEventCallback)
mk_SettingsWritableChangeEventCallback C_SettingsWritableChangeEventCallback
cb'
    a
-> Text
-> FunPtr C_SettingsWritableChangeEventCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"writable-change-event" FunPtr C_SettingsWritableChangeEventCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data SettingsWritableChangeEventSignalInfo
instance SignalInfo SettingsWritableChangeEventSignalInfo where
    type HaskellCallbackType SettingsWritableChangeEventSignalInfo = SettingsWritableChangeEventCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_SettingsWritableChangeEventCallback cb
        cb'' <- mk_SettingsWritableChangeEventCallback cb'
        connectSignalFunPtr obj "writable-change-event" cb'' connectMode detail
#endif
type SettingsWritableChangedCallback =
    T.Text
    
    -> IO ()
noSettingsWritableChangedCallback :: Maybe SettingsWritableChangedCallback
noSettingsWritableChangedCallback :: Maybe SettingsChangedCallback
noSettingsWritableChangedCallback = Maybe SettingsChangedCallback
forall a. Maybe a
Nothing
type C_SettingsWritableChangedCallback =
    Ptr () ->                               
    CString ->
    Ptr () ->                               
    IO ()
foreign import ccall "wrapper"
    mk_SettingsWritableChangedCallback :: C_SettingsWritableChangedCallback -> IO (FunPtr C_SettingsWritableChangedCallback)
genClosure_SettingsWritableChanged :: MonadIO m => SettingsWritableChangedCallback -> m (GClosure C_SettingsWritableChangedCallback)
genClosure_SettingsWritableChanged :: SettingsChangedCallback -> m (GClosure C_SettingsChangedCallback)
genClosure_SettingsWritableChanged SettingsChangedCallback
cb = IO (GClosure C_SettingsChangedCallback)
-> m (GClosure C_SettingsChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_SettingsChangedCallback)
 -> m (GClosure C_SettingsChangedCallback))
-> IO (GClosure C_SettingsChangedCallback)
-> m (GClosure C_SettingsChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsChangedCallback
cb' = SettingsChangedCallback -> C_SettingsChangedCallback
wrap_SettingsWritableChangedCallback SettingsChangedCallback
cb
    C_SettingsChangedCallback -> IO (FunPtr C_SettingsChangedCallback)
mk_SettingsWritableChangedCallback C_SettingsChangedCallback
cb' IO (FunPtr C_SettingsChangedCallback)
-> (FunPtr C_SettingsChangedCallback
    -> IO (GClosure C_SettingsChangedCallback))
-> IO (GClosure C_SettingsChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_SettingsChangedCallback
-> IO (GClosure C_SettingsChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_SettingsWritableChangedCallback ::
    SettingsWritableChangedCallback ->
    C_SettingsWritableChangedCallback
wrap_SettingsWritableChangedCallback :: SettingsChangedCallback -> C_SettingsChangedCallback
wrap_SettingsWritableChangedCallback SettingsChangedCallback
_cb Ptr ()
_ CString
key Ptr ()
_ = do
    Text
key' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
key
    SettingsChangedCallback
_cb  Text
key'
onSettingsWritableChanged :: (IsSettings a, MonadIO m) => a -> P.Maybe T.Text -> SettingsWritableChangedCallback -> m SignalHandlerId
onSettingsWritableChanged :: a -> Maybe Text -> SettingsChangedCallback -> m SignalHandlerId
onSettingsWritableChanged a
obj Maybe Text
detail SettingsChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsChangedCallback
cb' = SettingsChangedCallback -> C_SettingsChangedCallback
wrap_SettingsWritableChangedCallback SettingsChangedCallback
cb
    FunPtr C_SettingsChangedCallback
cb'' <- C_SettingsChangedCallback -> IO (FunPtr C_SettingsChangedCallback)
mk_SettingsWritableChangedCallback C_SettingsChangedCallback
cb'
    a
-> Text
-> FunPtr C_SettingsChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"writable-changed" FunPtr C_SettingsChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
detail
afterSettingsWritableChanged :: (IsSettings a, MonadIO m) => a -> P.Maybe T.Text -> SettingsWritableChangedCallback -> m SignalHandlerId
afterSettingsWritableChanged :: a -> Maybe Text -> SettingsChangedCallback -> m SignalHandlerId
afterSettingsWritableChanged a
obj Maybe Text
detail SettingsChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
    let cb' :: C_SettingsChangedCallback
cb' = SettingsChangedCallback -> C_SettingsChangedCallback
wrap_SettingsWritableChangedCallback SettingsChangedCallback
cb
    FunPtr C_SettingsChangedCallback
cb'' <- C_SettingsChangedCallback -> IO (FunPtr C_SettingsChangedCallback)
mk_SettingsWritableChangedCallback C_SettingsChangedCallback
cb'
    a
-> Text
-> FunPtr C_SettingsChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"writable-changed" FunPtr C_SettingsChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
detail
#if defined(ENABLE_OVERLOADING)
data SettingsWritableChangedSignalInfo
instance SignalInfo SettingsWritableChangedSignalInfo where
    type HaskellCallbackType SettingsWritableChangedSignalInfo = SettingsWritableChangedCallback
    connectSignal obj cb connectMode detail = do
        let cb' = wrap_SettingsWritableChangedCallback cb
        cb'' <- mk_SettingsWritableChangedCallback cb'
        connectSignalFunPtr obj "writable-changed" cb'' connectMode detail
#endif
   
   
   
getSettingsBackend :: (MonadIO m, IsSettings o) => o -> m (Maybe Gio.SettingsBackend.SettingsBackend)
getSettingsBackend :: o -> m (Maybe SettingsBackend)
getSettingsBackend o
obj = IO (Maybe SettingsBackend) -> m (Maybe SettingsBackend)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe SettingsBackend) -> m (Maybe SettingsBackend))
-> IO (Maybe SettingsBackend) -> m (Maybe SettingsBackend)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr SettingsBackend -> SettingsBackend)
-> IO (Maybe SettingsBackend)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"backend" ManagedPtr SettingsBackend -> SettingsBackend
Gio.SettingsBackend.SettingsBackend
constructSettingsBackend :: (IsSettings o, MIO.MonadIO m, Gio.SettingsBackend.IsSettingsBackend a) => a -> m (GValueConstruct o)
constructSettingsBackend :: a -> m (GValueConstruct o)
constructSettingsBackend a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"backend" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)
#if defined(ENABLE_OVERLOADING)
data SettingsBackendPropertyInfo
instance AttrInfo SettingsBackendPropertyInfo where
    type AttrAllowedOps SettingsBackendPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingsBackendPropertyInfo = IsSettings
    type AttrSetTypeConstraint SettingsBackendPropertyInfo = Gio.SettingsBackend.IsSettingsBackend
    type AttrTransferTypeConstraint SettingsBackendPropertyInfo = Gio.SettingsBackend.IsSettingsBackend
    type AttrTransferType SettingsBackendPropertyInfo = Gio.SettingsBackend.SettingsBackend
    type AttrGetType SettingsBackendPropertyInfo = (Maybe Gio.SettingsBackend.SettingsBackend)
    type AttrLabel SettingsBackendPropertyInfo = "backend"
    type AttrOrigin SettingsBackendPropertyInfo = Settings
    attrGet = getSettingsBackend
    attrSet = undefined
    attrTransfer _ v = do
        unsafeCastTo Gio.SettingsBackend.SettingsBackend v
    attrConstruct = constructSettingsBackend
    attrClear = undefined
#endif
   
   
   
getSettingsDelayApply :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsDelayApply :: o -> m Bool
getSettingsDelayApply o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"delay-apply"
#if defined(ENABLE_OVERLOADING)
data SettingsDelayApplyPropertyInfo
instance AttrInfo SettingsDelayApplyPropertyInfo where
    type AttrAllowedOps SettingsDelayApplyPropertyInfo = '[ 'AttrGet]
    type AttrBaseTypeConstraint SettingsDelayApplyPropertyInfo = IsSettings
    type AttrSetTypeConstraint SettingsDelayApplyPropertyInfo = (~) ()
    type AttrTransferTypeConstraint SettingsDelayApplyPropertyInfo = (~) ()
    type AttrTransferType SettingsDelayApplyPropertyInfo = ()
    type AttrGetType SettingsDelayApplyPropertyInfo = Bool
    type AttrLabel SettingsDelayApplyPropertyInfo = "delay-apply"
    type AttrOrigin SettingsDelayApplyPropertyInfo = Settings
    attrGet = getSettingsDelayApply
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif
   
   
   
getSettingsHasUnapplied :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsHasUnapplied :: o -> m Bool
getSettingsHasUnapplied o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"has-unapplied"
#if defined(ENABLE_OVERLOADING)
data SettingsHasUnappliedPropertyInfo
instance AttrInfo SettingsHasUnappliedPropertyInfo where
    type AttrAllowedOps SettingsHasUnappliedPropertyInfo = '[ 'AttrGet]
    type AttrBaseTypeConstraint SettingsHasUnappliedPropertyInfo = IsSettings
    type AttrSetTypeConstraint SettingsHasUnappliedPropertyInfo = (~) ()
    type AttrTransferTypeConstraint SettingsHasUnappliedPropertyInfo = (~) ()
    type AttrTransferType SettingsHasUnappliedPropertyInfo = ()
    type AttrGetType SettingsHasUnappliedPropertyInfo = Bool
    type AttrLabel SettingsHasUnappliedPropertyInfo = "has-unapplied"
    type AttrOrigin SettingsHasUnappliedPropertyInfo = Settings
    attrGet = getSettingsHasUnapplied
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif
   
   
   
getSettingsPath :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsPath :: o -> m (Maybe Text)
getSettingsPath o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"path"
constructSettingsPath :: (IsSettings o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingsPath :: Text -> m (GValueConstruct o)
constructSettingsPath Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"path" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data SettingsPathPropertyInfo
instance AttrInfo SettingsPathPropertyInfo where
    type AttrAllowedOps SettingsPathPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingsPathPropertyInfo = IsSettings
    type AttrSetTypeConstraint SettingsPathPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingsPathPropertyInfo = (~) T.Text
    type AttrTransferType SettingsPathPropertyInfo = T.Text
    type AttrGetType SettingsPathPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsPathPropertyInfo = "path"
    type AttrOrigin SettingsPathPropertyInfo = Settings
    attrGet = getSettingsPath
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingsPath
    attrClear = undefined
#endif
   
   
   
getSettingsSchema :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsSchema :: o -> m (Maybe Text)
getSettingsSchema o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"schema"
constructSettingsSchema :: (IsSettings o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingsSchema :: Text -> m (GValueConstruct o)
constructSettingsSchema Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"schema" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data SettingsSchemaPropertyInfo
instance AttrInfo SettingsSchemaPropertyInfo where
    type AttrAllowedOps SettingsSchemaPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingsSchemaPropertyInfo = IsSettings
    type AttrSetTypeConstraint SettingsSchemaPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingsSchemaPropertyInfo = (~) T.Text
    type AttrTransferType SettingsSchemaPropertyInfo = T.Text
    type AttrGetType SettingsSchemaPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsSchemaPropertyInfo = "schema"
    type AttrOrigin SettingsSchemaPropertyInfo = Settings
    attrGet = getSettingsSchema
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingsSchema
    attrClear = undefined
#endif
   
   
   
getSettingsSchemaId :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsSchemaId :: o -> m (Maybe Text)
getSettingsSchemaId o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"schema-id"
constructSettingsSchemaId :: (IsSettings o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructSettingsSchemaId :: Text -> m (GValueConstruct o)
constructSettingsSchemaId Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"schema-id" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data SettingsSchemaIdPropertyInfo
instance AttrInfo SettingsSchemaIdPropertyInfo where
    type AttrAllowedOps SettingsSchemaIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingsSchemaIdPropertyInfo = IsSettings
    type AttrSetTypeConstraint SettingsSchemaIdPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint SettingsSchemaIdPropertyInfo = (~) T.Text
    type AttrTransferType SettingsSchemaIdPropertyInfo = T.Text
    type AttrGetType SettingsSchemaIdPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsSchemaIdPropertyInfo = "schema-id"
    type AttrOrigin SettingsSchemaIdPropertyInfo = Settings
    attrGet = getSettingsSchemaId
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingsSchemaId
    attrClear = undefined
#endif
   
   
   
getSettingsSettingsSchema :: (MonadIO m, IsSettings o) => o -> m (Maybe Gio.SettingsSchema.SettingsSchema)
getSettingsSettingsSchema :: o -> m (Maybe SettingsSchema)
getSettingsSettingsSchema o
obj = IO (Maybe SettingsSchema) -> m (Maybe SettingsSchema)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe SettingsSchema) -> m (Maybe SettingsSchema))
-> IO (Maybe SettingsSchema) -> m (Maybe SettingsSchema)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr SettingsSchema -> SettingsSchema)
-> IO (Maybe SettingsSchema)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"settings-schema" ManagedPtr SettingsSchema -> SettingsSchema
Gio.SettingsSchema.SettingsSchema
constructSettingsSettingsSchema :: (IsSettings o, MIO.MonadIO m) => Gio.SettingsSchema.SettingsSchema -> m (GValueConstruct o)
constructSettingsSettingsSchema :: SettingsSchema -> m (GValueConstruct o)
constructSettingsSettingsSchema SettingsSchema
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe SettingsSchema -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"settings-schema" (SettingsSchema -> Maybe SettingsSchema
forall a. a -> Maybe a
P.Just SettingsSchema
val)
#if defined(ENABLE_OVERLOADING)
data SettingsSettingsSchemaPropertyInfo
instance AttrInfo SettingsSettingsSchemaPropertyInfo where
    type AttrAllowedOps SettingsSettingsSchemaPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint SettingsSettingsSchemaPropertyInfo = IsSettings
    type AttrSetTypeConstraint SettingsSettingsSchemaPropertyInfo = (~) Gio.SettingsSchema.SettingsSchema
    type AttrTransferTypeConstraint SettingsSettingsSchemaPropertyInfo = (~) Gio.SettingsSchema.SettingsSchema
    type AttrTransferType SettingsSettingsSchemaPropertyInfo = Gio.SettingsSchema.SettingsSchema
    type AttrGetType SettingsSettingsSchemaPropertyInfo = (Maybe Gio.SettingsSchema.SettingsSchema)
    type AttrLabel SettingsSettingsSchemaPropertyInfo = "settings-schema"
    type AttrOrigin SettingsSettingsSchemaPropertyInfo = Settings
    attrGet = getSettingsSettingsSchema
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructSettingsSettingsSchema
    attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Settings
type instance O.AttributeList Settings = SettingsAttributeList
type SettingsAttributeList = ('[ '("backend", SettingsBackendPropertyInfo), '("delayApply", SettingsDelayApplyPropertyInfo), '("hasUnapplied", SettingsHasUnappliedPropertyInfo), '("path", SettingsPathPropertyInfo), '("schema", SettingsSchemaPropertyInfo), '("schemaId", SettingsSchemaIdPropertyInfo), '("settingsSchema", SettingsSettingsSchemaPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
settingsBackend :: AttrLabelProxy "backend"
settingsBackend = AttrLabelProxy
settingsDelayApply :: AttrLabelProxy "delayApply"
settingsDelayApply = AttrLabelProxy
settingsHasUnapplied :: AttrLabelProxy "hasUnapplied"
settingsHasUnapplied = AttrLabelProxy
settingsPath :: AttrLabelProxy "path"
settingsPath = AttrLabelProxy
settingsSchema :: AttrLabelProxy "schema"
settingsSchema = AttrLabelProxy
settingsSchemaId :: AttrLabelProxy "schemaId"
settingsSchemaId = AttrLabelProxy
settingsSettingsSchema :: AttrLabelProxy "settingsSchema"
settingsSettingsSchema = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Settings = SettingsSignalList
type SettingsSignalList = ('[ '("changeEvent", SettingsChangeEventSignalInfo), '("changed", SettingsChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("writableChangeEvent", SettingsWritableChangeEventSignalInfo), '("writableChanged", SettingsWritableChangedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_settings_new" g_settings_new :: 
    CString ->                              
    IO (Ptr Settings)
settingsNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    T.Text
    
    -> m Settings
    
settingsNew :: Text -> m Settings
settingsNew Text
schemaId = IO Settings -> m Settings
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Settings -> m Settings) -> IO Settings -> m Settings
forall a b. (a -> b) -> a -> b
$ do
    CString
schemaId' <- Text -> IO CString
textToCString Text
schemaId
    Ptr Settings
result <- CString -> IO (Ptr Settings)
g_settings_new CString
schemaId'
    Text -> Ptr Settings -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsNew" Ptr Settings
result
    Settings
result' <- ((ManagedPtr Settings -> Settings) -> Ptr Settings -> IO Settings
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Settings -> Settings
Settings) Ptr Settings
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
schemaId'
    Settings -> IO Settings
forall (m :: * -> *) a. Monad m => a -> m a
return Settings
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_settings_new_full" g_settings_new_full :: 
    Ptr Gio.SettingsSchema.SettingsSchema -> 
    Ptr Gio.SettingsBackend.SettingsBackend -> 
    CString ->                              
    IO (Ptr Settings)
settingsNewFull ::
    (B.CallStack.HasCallStack, MonadIO m, Gio.SettingsBackend.IsSettingsBackend a) =>
    Gio.SettingsSchema.SettingsSchema
    
    -> Maybe (a)
    
    -> Maybe (T.Text)
    
    -> m Settings
    
settingsNewFull :: SettingsSchema -> Maybe a -> Maybe Text -> m Settings
settingsNewFull SettingsSchema
schema Maybe a
backend Maybe Text
path = IO Settings -> m Settings
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Settings -> m Settings) -> IO Settings -> m Settings
forall a b. (a -> b) -> a -> b
$ do
    Ptr SettingsSchema
schema' <- SettingsSchema -> IO (Ptr SettingsSchema)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr SettingsSchema
schema
    Ptr SettingsBackend
maybeBackend <- case Maybe a
backend of
        Maybe a
Nothing -> Ptr SettingsBackend -> IO (Ptr SettingsBackend)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr SettingsBackend
forall a. Ptr a
nullPtr
        Just a
jBackend -> do
            Ptr SettingsBackend
jBackend' <- a -> IO (Ptr SettingsBackend)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
jBackend
            Ptr SettingsBackend -> IO (Ptr SettingsBackend)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr SettingsBackend
jBackend'
    CString
maybePath <- case Maybe Text
path of
        Maybe Text
Nothing -> CString -> IO CString
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
        Just Text
jPath -> do
            CString
jPath' <- Text -> IO CString
textToCString Text
jPath
            CString -> IO CString
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jPath'
    Ptr Settings
result <- Ptr SettingsSchema
-> Ptr SettingsBackend -> CString -> IO (Ptr Settings)
g_settings_new_full Ptr SettingsSchema
schema' Ptr SettingsBackend
maybeBackend CString
maybePath
    Text -> Ptr Settings -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsNewFull" Ptr Settings
result
    Settings
result' <- ((ManagedPtr Settings -> Settings) -> Ptr Settings -> IO Settings
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Settings -> Settings
Settings) Ptr Settings
result
    SettingsSchema -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr SettingsSchema
schema
    Maybe a -> (a -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe a
backend a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybePath
    Settings -> IO Settings
forall (m :: * -> *) a. Monad m => a -> m a
return Settings
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_settings_new_with_backend" g_settings_new_with_backend :: 
    CString ->                              
    Ptr Gio.SettingsBackend.SettingsBackend -> 
    IO (Ptr Settings)
settingsNewWithBackend ::
    (B.CallStack.HasCallStack, MonadIO m, Gio.SettingsBackend.IsSettingsBackend a) =>
    T.Text
    
    -> a
    
    -> m Settings
    
settingsNewWithBackend :: Text -> a -> m Settings
settingsNewWithBackend Text
schemaId a
backend = IO Settings -> m Settings
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Settings -> m Settings) -> IO Settings -> m Settings
forall a b. (a -> b) -> a -> b
$ do
    CString
schemaId' <- Text -> IO CString
textToCString Text
schemaId
    Ptr SettingsBackend
backend' <- a -> IO (Ptr SettingsBackend)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
backend
    Ptr Settings
result <- CString -> Ptr SettingsBackend -> IO (Ptr Settings)
g_settings_new_with_backend CString
schemaId' Ptr SettingsBackend
backend'
    Text -> Ptr Settings -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsNewWithBackend" Ptr Settings
result
    Settings
result' <- ((ManagedPtr Settings -> Settings) -> Ptr Settings -> IO Settings
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Settings -> Settings
Settings) Ptr Settings
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
backend
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
schemaId'
    Settings -> IO Settings
forall (m :: * -> *) a. Monad m => a -> m a
return Settings
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_settings_new_with_backend_and_path" g_settings_new_with_backend_and_path :: 
    CString ->                              
    Ptr Gio.SettingsBackend.SettingsBackend -> 
    CString ->                              
    IO (Ptr Settings)
settingsNewWithBackendAndPath ::
    (B.CallStack.HasCallStack, MonadIO m, Gio.SettingsBackend.IsSettingsBackend a) =>
    T.Text
    
    -> a
    
    -> T.Text
    
    -> m Settings
    
settingsNewWithBackendAndPath :: Text -> a -> Text -> m Settings
settingsNewWithBackendAndPath Text
schemaId a
backend Text
path = IO Settings -> m Settings
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Settings -> m Settings) -> IO Settings -> m Settings
forall a b. (a -> b) -> a -> b
$ do
    CString
schemaId' <- Text -> IO CString
textToCString Text
schemaId
    Ptr SettingsBackend
backend' <- a -> IO (Ptr SettingsBackend)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
backend
    CString
path' <- Text -> IO CString
textToCString Text
path
    Ptr Settings
result <- CString -> Ptr SettingsBackend -> CString -> IO (Ptr Settings)
g_settings_new_with_backend_and_path CString
schemaId' Ptr SettingsBackend
backend' CString
path'
    Text -> Ptr Settings -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsNewWithBackendAndPath" Ptr Settings
result
    Settings
result' <- ((ManagedPtr Settings -> Settings) -> Ptr Settings -> IO Settings
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Settings -> Settings
Settings) Ptr Settings
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
backend
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
schemaId'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
path'
    Settings -> IO Settings
forall (m :: * -> *) a. Monad m => a -> m a
return Settings
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_settings_new_with_path" g_settings_new_with_path :: 
    CString ->                              
    CString ->                              
    IO (Ptr Settings)
settingsNewWithPath ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    T.Text
    
    -> T.Text
    
    -> m Settings
    
settingsNewWithPath :: Text -> Text -> m Settings
settingsNewWithPath Text
schemaId Text
path = IO Settings -> m Settings
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Settings -> m Settings) -> IO Settings -> m Settings
forall a b. (a -> b) -> a -> b
$ do
    CString
schemaId' <- Text -> IO CString
textToCString Text
schemaId
    CString
path' <- Text -> IO CString
textToCString Text
path
    Ptr Settings
result <- CString -> CString -> IO (Ptr Settings)
g_settings_new_with_path CString
schemaId' CString
path'
    Text -> Ptr Settings -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsNewWithPath" Ptr Settings
result
    Settings
result' <- ((ManagedPtr Settings -> Settings) -> Ptr Settings -> IO Settings
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Settings -> Settings
Settings) Ptr Settings
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
schemaId'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
path'
    Settings -> IO Settings
forall (m :: * -> *) a. Monad m => a -> m a
return Settings
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_settings_apply" g_settings_apply :: 
    Ptr Settings ->                         
    IO ()
settingsApply ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> m ()
settingsApply :: a -> m ()
settingsApply a
settings = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    Ptr Settings -> IO ()
g_settings_apply Ptr Settings
settings'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data SettingsApplyMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsApplyMethodInfo a signature where
    overloadedMethod = settingsApply
#endif
foreign import ccall "g_settings_bind" g_settings_bind :: 
    Ptr Settings ->                         
    CString ->                              
    Ptr GObject.Object.Object ->            
    CString ->                              
    CUInt ->                                
    IO ()
settingsBind ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a, GObject.Object.IsObject b) =>
    a
    
    -> T.Text
    
    -> b
    
    -> T.Text
    
    -> [Gio.Flags.SettingsBindFlags]
    
    -> m ()
settingsBind :: a -> Text -> b -> Text -> [SettingsBindFlags] -> m ()
settingsBind a
settings Text
key b
object Text
property [SettingsBindFlags]
flags = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr Object
object' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
object
    CString
property' <- Text -> IO CString
textToCString Text
property
    let flags' :: CUInt
flags' = [SettingsBindFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [SettingsBindFlags]
flags
    Ptr Settings -> CString -> Ptr Object -> CString -> CUInt -> IO ()
g_settings_bind Ptr Settings
settings' CString
key' Ptr Object
object' CString
property' CUInt
flags'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
object
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
property'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data SettingsBindMethodInfo
instance (signature ~ (T.Text -> b -> T.Text -> [Gio.Flags.SettingsBindFlags] -> m ()), MonadIO m, IsSettings a, GObject.Object.IsObject b) => O.MethodInfo SettingsBindMethodInfo a signature where
    overloadedMethod = settingsBind
#endif
foreign import ccall "g_settings_bind_writable" g_settings_bind_writable :: 
    Ptr Settings ->                         
    CString ->                              
    Ptr GObject.Object.Object ->            
    CString ->                              
    CInt ->                                 
    IO ()
settingsBindWritable ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a, GObject.Object.IsObject b) =>
    a
    
    -> T.Text
    
    -> b
    
    -> T.Text
    
    -> Bool
    
    -> m ()
settingsBindWritable :: a -> Text -> b -> Text -> Bool -> m ()
settingsBindWritable a
settings Text
key b
object Text
property Bool
inverted = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr Object
object' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
object
    CString
property' <- Text -> IO CString
textToCString Text
property
    let inverted' :: CInt
inverted' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
inverted
    Ptr Settings -> CString -> Ptr Object -> CString -> CInt -> IO ()
g_settings_bind_writable Ptr Settings
settings' CString
key' Ptr Object
object' CString
property' CInt
inverted'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
object
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
property'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data SettingsBindWritableMethodInfo
instance (signature ~ (T.Text -> b -> T.Text -> Bool -> m ()), MonadIO m, IsSettings a, GObject.Object.IsObject b) => O.MethodInfo SettingsBindWritableMethodInfo a signature where
    overloadedMethod = settingsBindWritable
#endif
foreign import ccall "g_settings_create_action" g_settings_create_action :: 
    Ptr Settings ->                         
    CString ->                              
    IO (Ptr Gio.Action.Action)
settingsCreateAction ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Gio.Action.Action
    
settingsCreateAction :: a -> Text -> m Action
settingsCreateAction a
settings Text
key = IO Action -> m Action
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Action -> m Action) -> IO Action -> m Action
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr Action
result <- Ptr Settings -> CString -> IO (Ptr Action)
g_settings_create_action Ptr Settings
settings' CString
key'
    Text -> Ptr Action -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsCreateAction" Ptr Action
result
    Action
result' <- ((ManagedPtr Action -> Action) -> Ptr Action -> IO Action
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Action -> Action
Gio.Action.Action) Ptr Action
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Action -> IO Action
forall (m :: * -> *) a. Monad m => a -> m a
return Action
result'
#if defined(ENABLE_OVERLOADING)
data SettingsCreateActionMethodInfo
instance (signature ~ (T.Text -> m Gio.Action.Action), MonadIO m, IsSettings a) => O.MethodInfo SettingsCreateActionMethodInfo a signature where
    overloadedMethod = settingsCreateAction
#endif
foreign import ccall "g_settings_delay" g_settings_delay :: 
    Ptr Settings ->                         
    IO ()
settingsDelay ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> m ()
settingsDelay :: a -> m ()
settingsDelay a
settings = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    Ptr Settings -> IO ()
g_settings_delay Ptr Settings
settings'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data SettingsDelayMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsDelayMethodInfo a signature where
    overloadedMethod = settingsDelay
#endif
foreign import ccall "g_settings_get_boolean" g_settings_get_boolean :: 
    Ptr Settings ->                         
    CString ->                              
    IO CInt
settingsGetBoolean ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Bool
    
settingsGetBoolean :: a -> Text -> m Bool
settingsGetBoolean a
settings Text
key = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CInt
result <- Ptr Settings -> CString -> IO CInt
g_settings_get_boolean Ptr Settings
settings' CString
key'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsGetBooleanMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetBooleanMethodInfo a signature where
    overloadedMethod = settingsGetBoolean
#endif
foreign import ccall "g_settings_get_child" g_settings_get_child :: 
    Ptr Settings ->                         
    CString ->                              
    IO (Ptr Settings)
settingsGetChild ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Settings
    
settingsGetChild :: a -> Text -> m Settings
settingsGetChild a
settings Text
name = IO Settings -> m Settings
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Settings -> m Settings) -> IO Settings -> m Settings
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
name' <- Text -> IO CString
textToCString Text
name
    Ptr Settings
result <- Ptr Settings -> CString -> IO (Ptr Settings)
g_settings_get_child Ptr Settings
settings' CString
name'
    Text -> Ptr Settings -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsGetChild" Ptr Settings
result
    Settings
result' <- ((ManagedPtr Settings -> Settings) -> Ptr Settings -> IO Settings
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Settings -> Settings
Settings) Ptr Settings
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
    Settings -> IO Settings
forall (m :: * -> *) a. Monad m => a -> m a
return Settings
result'
#if defined(ENABLE_OVERLOADING)
data SettingsGetChildMethodInfo
instance (signature ~ (T.Text -> m Settings), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetChildMethodInfo a signature where
    overloadedMethod = settingsGetChild
#endif
foreign import ccall "g_settings_get_default_value" g_settings_get_default_value :: 
    Ptr Settings ->                         
    CString ->                              
    IO (Ptr GVariant)
settingsGetDefaultValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m (Maybe GVariant)
    
settingsGetDefaultValue :: a -> Text -> m (Maybe GVariant)
settingsGetDefaultValue a
settings Text
key = IO (Maybe GVariant) -> m (Maybe GVariant)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe GVariant) -> m (Maybe GVariant))
-> IO (Maybe GVariant) -> m (Maybe GVariant)
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr GVariant
result <- Ptr Settings -> CString -> IO (Ptr GVariant)
g_settings_get_default_value Ptr Settings
settings' CString
key'
    Maybe GVariant
maybeResult <- Ptr GVariant
-> (Ptr GVariant -> IO GVariant) -> IO (Maybe GVariant)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr GVariant
result ((Ptr GVariant -> IO GVariant) -> IO (Maybe GVariant))
-> (Ptr GVariant -> IO GVariant) -> IO (Maybe GVariant)
forall a b. (a -> b) -> a -> b
$ \Ptr GVariant
result' -> do
        GVariant
result'' <- Ptr GVariant -> IO GVariant
B.GVariant.wrapGVariantPtr Ptr GVariant
result'
        GVariant -> IO GVariant
forall (m :: * -> *) a. Monad m => a -> m a
return GVariant
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Maybe GVariant -> IO (Maybe GVariant)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GVariant
maybeResult
#if defined(ENABLE_OVERLOADING)
data SettingsGetDefaultValueMethodInfo
instance (signature ~ (T.Text -> m (Maybe GVariant)), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetDefaultValueMethodInfo a signature where
    overloadedMethod = settingsGetDefaultValue
#endif
foreign import ccall "g_settings_get_double" g_settings_get_double :: 
    Ptr Settings ->                         
    CString ->                              
    IO CDouble
settingsGetDouble ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Double
    
settingsGetDouble :: a -> Text -> m Double
settingsGetDouble a
settings Text
key = IO Double -> m Double
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Double -> m Double) -> IO Double -> m Double
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CDouble
result <- Ptr Settings -> CString -> IO CDouble
g_settings_get_double Ptr Settings
settings' CString
key'
    let result' :: Double
result' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Double -> IO Double
forall (m :: * -> *) a. Monad m => a -> m a
return Double
result'
#if defined(ENABLE_OVERLOADING)
data SettingsGetDoubleMethodInfo
instance (signature ~ (T.Text -> m Double), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetDoubleMethodInfo a signature where
    overloadedMethod = settingsGetDouble
#endif
foreign import ccall "g_settings_get_enum" g_settings_get_enum :: 
    Ptr Settings ->                         
    CString ->                              
    IO Int32
settingsGetEnum ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Int32
    
settingsGetEnum :: a -> Text -> m Int32
settingsGetEnum a
settings Text
key = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Int32
result <- Ptr Settings -> CString -> IO Int32
g_settings_get_enum Ptr Settings
settings' CString
key'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data SettingsGetEnumMethodInfo
instance (signature ~ (T.Text -> m Int32), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetEnumMethodInfo a signature where
    overloadedMethod = settingsGetEnum
#endif
foreign import ccall "g_settings_get_flags" g_settings_get_flags :: 
    Ptr Settings ->                         
    CString ->                              
    IO Word32
settingsGetFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Word32
    
settingsGetFlags :: a -> Text -> m Word32
settingsGetFlags a
settings Text
key = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Word32
result <- Ptr Settings -> CString -> IO Word32
g_settings_get_flags Ptr Settings
settings' CString
key'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data SettingsGetFlagsMethodInfo
instance (signature ~ (T.Text -> m Word32), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetFlagsMethodInfo a signature where
    overloadedMethod = settingsGetFlags
#endif
foreign import ccall "g_settings_get_has_unapplied" g_settings_get_has_unapplied :: 
    Ptr Settings ->                         
    IO CInt
settingsGetHasUnapplied ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> m Bool
    
settingsGetHasUnapplied :: a -> m Bool
settingsGetHasUnapplied a
settings = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CInt
result <- Ptr Settings -> IO CInt
g_settings_get_has_unapplied Ptr Settings
settings'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsGetHasUnappliedMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetHasUnappliedMethodInfo a signature where
    overloadedMethod = settingsGetHasUnapplied
#endif
foreign import ccall "g_settings_get_int" g_settings_get_int :: 
    Ptr Settings ->                         
    CString ->                              
    IO Int32
settingsGetInt ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Int32
    
settingsGetInt :: a -> Text -> m Int32
settingsGetInt a
settings Text
key = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Int32
result <- Ptr Settings -> CString -> IO Int32
g_settings_get_int Ptr Settings
settings' CString
key'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data SettingsGetIntMethodInfo
instance (signature ~ (T.Text -> m Int32), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetIntMethodInfo a signature where
    overloadedMethod = settingsGetInt
#endif
foreign import ccall "g_settings_get_int64" g_settings_get_int64 :: 
    Ptr Settings ->                         
    CString ->                              
    IO Int64
settingsGetInt64 ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Int64
    
settingsGetInt64 :: a -> Text -> m Int64
settingsGetInt64 a
settings Text
key = IO Int64 -> m Int64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int64 -> m Int64) -> IO Int64 -> m Int64
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Int64
result <- Ptr Settings -> CString -> IO Int64
g_settings_get_int64 Ptr Settings
settings' CString
key'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Int64 -> IO Int64
forall (m :: * -> *) a. Monad m => a -> m a
return Int64
result
#if defined(ENABLE_OVERLOADING)
data SettingsGetInt64MethodInfo
instance (signature ~ (T.Text -> m Int64), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetInt64MethodInfo a signature where
    overloadedMethod = settingsGetInt64
#endif
foreign import ccall "g_settings_get_mapped" g_settings_get_mapped :: 
    Ptr Settings ->                         
    CString ->                              
    FunPtr Gio.Callbacks.C_SettingsGetMapping -> 
    Ptr () ->                               
    IO (Ptr ())
settingsGetMapped ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Gio.Callbacks.SettingsGetMapping
    
    
    -> m (Ptr ())
    
settingsGetMapped :: a -> Text -> SettingsGetMapping -> m (Ptr ())
settingsGetMapped a
settings Text
key SettingsGetMapping
mapping = IO (Ptr ()) -> m (Ptr ())
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    FunPtr C_SettingsGetMapping
mapping' <- C_SettingsGetMapping -> IO (FunPtr C_SettingsGetMapping)
Gio.Callbacks.mk_SettingsGetMapping (Maybe (Ptr (FunPtr C_SettingsGetMapping))
-> SettingsGetMapping_WithClosures -> C_SettingsGetMapping
Gio.Callbacks.wrap_SettingsGetMapping Maybe (Ptr (FunPtr C_SettingsGetMapping))
forall a. Maybe a
Nothing (SettingsGetMapping -> SettingsGetMapping_WithClosures
Gio.Callbacks.drop_closures_SettingsGetMapping SettingsGetMapping
mapping))
    let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
    Ptr ()
result <- Ptr Settings
-> CString -> FunPtr C_SettingsGetMapping -> Ptr () -> IO (Ptr ())
g_settings_get_mapped Ptr Settings
settings' CString
key' FunPtr C_SettingsGetMapping
mapping' Ptr ()
forall a. Ptr a
userData
    Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr C_SettingsGetMapping -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_SettingsGetMapping
mapping'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Ptr () -> IO (Ptr ())
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
result
#if defined(ENABLE_OVERLOADING)
data SettingsGetMappedMethodInfo
instance (signature ~ (T.Text -> Gio.Callbacks.SettingsGetMapping -> m (Ptr ())), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetMappedMethodInfo a signature where
    overloadedMethod = settingsGetMapped
#endif
foreign import ccall "g_settings_get_range" g_settings_get_range :: 
    Ptr Settings ->                         
    CString ->                              
    IO (Ptr GVariant)
{-# DEPRECATED settingsGetRange ["(Since version 2.40)","Use 'GI.Gio.Structs.SettingsSchemaKey.settingsSchemaKeyGetRange' instead."] #-}
settingsGetRange ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m GVariant
settingsGetRange :: a -> Text -> m GVariant
settingsGetRange a
settings Text
key = IO GVariant -> m GVariant
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GVariant -> m GVariant) -> IO GVariant -> m GVariant
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr GVariant
result <- Ptr Settings -> CString -> IO (Ptr GVariant)
g_settings_get_range Ptr Settings
settings' CString
key'
    Text -> Ptr GVariant -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsGetRange" Ptr GVariant
result
    GVariant
result' <- Ptr GVariant -> IO GVariant
B.GVariant.wrapGVariantPtr Ptr GVariant
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    GVariant -> IO GVariant
forall (m :: * -> *) a. Monad m => a -> m a
return GVariant
result'
#if defined(ENABLE_OVERLOADING)
data SettingsGetRangeMethodInfo
instance (signature ~ (T.Text -> m GVariant), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetRangeMethodInfo a signature where
    overloadedMethod = settingsGetRange
#endif
foreign import ccall "g_settings_get_string" g_settings_get_string :: 
    Ptr Settings ->                         
    CString ->                              
    IO CString
settingsGetString ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m T.Text
    
settingsGetString :: a -> Text -> m Text
settingsGetString a
settings Text
key = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CString
result <- Ptr Settings -> CString -> IO CString
g_settings_get_string Ptr Settings
settings' CString
key'
    Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsGetString" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data SettingsGetStringMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetStringMethodInfo a signature where
    overloadedMethod = settingsGetString
#endif
foreign import ccall "g_settings_get_strv" g_settings_get_strv :: 
    Ptr Settings ->                         
    CString ->                              
    IO (Ptr CString)
settingsGetStrv ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m [T.Text]
    
    
    
settingsGetStrv :: a -> Text -> m [Text]
settingsGetStrv a
settings Text
key = IO [Text] -> m [Text]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr CString
result <- Ptr Settings -> CString -> IO (Ptr CString)
g_settings_get_strv Ptr Settings
settings' CString
key'
    Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsGetStrv" Ptr CString
result
    [Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
    (CString -> IO ()) -> Ptr CString -> IO ()
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
    Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    [Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
data SettingsGetStrvMethodInfo
instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetStrvMethodInfo a signature where
    overloadedMethod = settingsGetStrv
#endif
foreign import ccall "g_settings_get_uint" g_settings_get_uint :: 
    Ptr Settings ->                         
    CString ->                              
    IO Word32
settingsGetUint ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Word32
    
settingsGetUint :: a -> Text -> m Word32
settingsGetUint a
settings Text
key = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Word32
result <- Ptr Settings -> CString -> IO Word32
g_settings_get_uint Ptr Settings
settings' CString
key'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data SettingsGetUintMethodInfo
instance (signature ~ (T.Text -> m Word32), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetUintMethodInfo a signature where
    overloadedMethod = settingsGetUint
#endif
foreign import ccall "g_settings_get_uint64" g_settings_get_uint64 :: 
    Ptr Settings ->                         
    CString ->                              
    IO Word64
settingsGetUint64 ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Word64
    
settingsGetUint64 :: a -> Text -> m Word64
settingsGetUint64 a
settings Text
key = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Word64
result <- Ptr Settings -> CString -> IO Word64
g_settings_get_uint64 Ptr Settings
settings' CString
key'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data SettingsGetUint64MethodInfo
instance (signature ~ (T.Text -> m Word64), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetUint64MethodInfo a signature where
    overloadedMethod = settingsGetUint64
#endif
foreign import ccall "g_settings_get_user_value" g_settings_get_user_value :: 
    Ptr Settings ->                         
    CString ->                              
    IO (Ptr GVariant)
settingsGetUserValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m (Maybe GVariant)
    
settingsGetUserValue :: a -> Text -> m (Maybe GVariant)
settingsGetUserValue a
settings Text
key = IO (Maybe GVariant) -> m (Maybe GVariant)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe GVariant) -> m (Maybe GVariant))
-> IO (Maybe GVariant) -> m (Maybe GVariant)
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr GVariant
result <- Ptr Settings -> CString -> IO (Ptr GVariant)
g_settings_get_user_value Ptr Settings
settings' CString
key'
    Maybe GVariant
maybeResult <- Ptr GVariant
-> (Ptr GVariant -> IO GVariant) -> IO (Maybe GVariant)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr GVariant
result ((Ptr GVariant -> IO GVariant) -> IO (Maybe GVariant))
-> (Ptr GVariant -> IO GVariant) -> IO (Maybe GVariant)
forall a b. (a -> b) -> a -> b
$ \Ptr GVariant
result' -> do
        GVariant
result'' <- Ptr GVariant -> IO GVariant
B.GVariant.wrapGVariantPtr Ptr GVariant
result'
        GVariant -> IO GVariant
forall (m :: * -> *) a. Monad m => a -> m a
return GVariant
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Maybe GVariant -> IO (Maybe GVariant)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GVariant
maybeResult
#if defined(ENABLE_OVERLOADING)
data SettingsGetUserValueMethodInfo
instance (signature ~ (T.Text -> m (Maybe GVariant)), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetUserValueMethodInfo a signature where
    overloadedMethod = settingsGetUserValue
#endif
foreign import ccall "g_settings_get_value" g_settings_get_value :: 
    Ptr Settings ->                         
    CString ->                              
    IO (Ptr GVariant)
settingsGetValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m GVariant
    
settingsGetValue :: a -> Text -> m GVariant
settingsGetValue a
settings Text
key = IO GVariant -> m GVariant
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GVariant -> m GVariant) -> IO GVariant -> m GVariant
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr GVariant
result <- Ptr Settings -> CString -> IO (Ptr GVariant)
g_settings_get_value Ptr Settings
settings' CString
key'
    Text -> Ptr GVariant -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsGetValue" Ptr GVariant
result
    GVariant
result' <- Ptr GVariant -> IO GVariant
B.GVariant.wrapGVariantPtr Ptr GVariant
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    GVariant -> IO GVariant
forall (m :: * -> *) a. Monad m => a -> m a
return GVariant
result'
#if defined(ENABLE_OVERLOADING)
data SettingsGetValueMethodInfo
instance (signature ~ (T.Text -> m GVariant), MonadIO m, IsSettings a) => O.MethodInfo SettingsGetValueMethodInfo a signature where
    overloadedMethod = settingsGetValue
#endif
foreign import ccall "g_settings_is_writable" g_settings_is_writable :: 
    Ptr Settings ->                         
    CString ->                              
    IO CInt
settingsIsWritable ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m Bool
    
settingsIsWritable :: a -> Text -> m Bool
settingsIsWritable a
settings Text
name = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
name' <- Text -> IO CString
textToCString Text
name
    CInt
result <- Ptr Settings -> CString -> IO CInt
g_settings_is_writable Ptr Settings
settings' CString
name'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsIsWritableMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsIsWritableMethodInfo a signature where
    overloadedMethod = settingsIsWritable
#endif
foreign import ccall "g_settings_list_children" g_settings_list_children :: 
    Ptr Settings ->                         
    IO (Ptr CString)
settingsListChildren ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> m [T.Text]
    
    
settingsListChildren :: a -> m [Text]
settingsListChildren a
settings = IO [Text] -> m [Text]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    Ptr CString
result <- Ptr Settings -> IO (Ptr CString)
g_settings_list_children Ptr Settings
settings'
    Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsListChildren" Ptr CString
result
    [Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
    (CString -> IO ()) -> Ptr CString -> IO ()
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
    Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    [Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
data SettingsListChildrenMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsSettings a) => O.MethodInfo SettingsListChildrenMethodInfo a signature where
    overloadedMethod = settingsListChildren
#endif
foreign import ccall "g_settings_list_keys" g_settings_list_keys :: 
    Ptr Settings ->                         
    IO (Ptr CString)
{-# DEPRECATED settingsListKeys ["(Since version 2.46)","Use 'GI.Gio.Structs.SettingsSchema.settingsSchemaListKeys' instead."] #-}
settingsListKeys ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> m [T.Text]
    
    
settingsListKeys :: a -> m [Text]
settingsListKeys a
settings = IO [Text] -> m [Text]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    Ptr CString
result <- Ptr Settings -> IO (Ptr CString)
g_settings_list_keys Ptr Settings
settings'
    Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsListKeys" Ptr CString
result
    [Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
    (CString -> IO ()) -> Ptr CString -> IO ()
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
    Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    [Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
data SettingsListKeysMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsSettings a) => O.MethodInfo SettingsListKeysMethodInfo a signature where
    overloadedMethod = settingsListKeys
#endif
foreign import ccall "g_settings_range_check" g_settings_range_check :: 
    Ptr Settings ->                         
    CString ->                              
    Ptr GVariant ->                         
    IO CInt
{-# DEPRECATED settingsRangeCheck ["(Since version 2.40)","Use 'GI.Gio.Structs.SettingsSchemaKey.settingsSchemaKeyRangeCheck' instead."] #-}
settingsRangeCheck ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> GVariant
    
    -> m Bool
    
settingsRangeCheck :: a -> Text -> GVariant -> m Bool
settingsRangeCheck a
settings Text
key GVariant
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr GVariant
value' <- GVariant -> IO (Ptr GVariant)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GVariant
value
    CInt
result <- Ptr Settings -> CString -> Ptr GVariant -> IO CInt
g_settings_range_check Ptr Settings
settings' CString
key' Ptr GVariant
value'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    GVariant -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GVariant
value
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsRangeCheckMethodInfo
instance (signature ~ (T.Text -> GVariant -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsRangeCheckMethodInfo a signature where
    overloadedMethod = settingsRangeCheck
#endif
foreign import ccall "g_settings_reset" g_settings_reset :: 
    Ptr Settings ->                         
    CString ->                              
    IO ()
settingsReset ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> m ()
settingsReset :: a -> Text -> m ()
settingsReset a
settings Text
key = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr Settings -> CString -> IO ()
g_settings_reset Ptr Settings
settings' CString
key'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data SettingsResetMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsResetMethodInfo a signature where
    overloadedMethod = settingsReset
#endif
foreign import ccall "g_settings_revert" g_settings_revert :: 
    Ptr Settings ->                         
    IO ()
settingsRevert ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> m ()
settingsRevert :: a -> m ()
settingsRevert a
settings = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    Ptr Settings -> IO ()
g_settings_revert Ptr Settings
settings'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data SettingsRevertMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsRevertMethodInfo a signature where
    overloadedMethod = settingsRevert
#endif
foreign import ccall "g_settings_set_boolean" g_settings_set_boolean :: 
    Ptr Settings ->                         
    CString ->                              
    CInt ->                                 
    IO CInt
settingsSetBoolean ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Bool
    
    -> m Bool
    
    
settingsSetBoolean :: a -> Text -> Bool -> m Bool
settingsSetBoolean a
settings Text
key Bool
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    let value' :: CInt
value' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
value
    CInt
result <- Ptr Settings -> CString -> CInt -> IO CInt
g_settings_set_boolean Ptr Settings
settings' CString
key' CInt
value'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetBooleanMethodInfo
instance (signature ~ (T.Text -> Bool -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetBooleanMethodInfo a signature where
    overloadedMethod = settingsSetBoolean
#endif
foreign import ccall "g_settings_set_double" g_settings_set_double :: 
    Ptr Settings ->                         
    CString ->                              
    CDouble ->                              
    IO CInt
settingsSetDouble ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Double
    
    -> m Bool
    
    
settingsSetDouble :: a -> Text -> Double -> m Bool
settingsSetDouble a
settings Text
key Double
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    let value' :: CDouble
value' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
value
    CInt
result <- Ptr Settings -> CString -> CDouble -> IO CInt
g_settings_set_double Ptr Settings
settings' CString
key' CDouble
value'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetDoubleMethodInfo
instance (signature ~ (T.Text -> Double -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetDoubleMethodInfo a signature where
    overloadedMethod = settingsSetDouble
#endif
foreign import ccall "g_settings_set_enum" g_settings_set_enum :: 
    Ptr Settings ->                         
    CString ->                              
    Int32 ->                                
    IO CInt
settingsSetEnum ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Int32
    
    -> m Bool
    
settingsSetEnum :: a -> Text -> Int32 -> m Bool
settingsSetEnum a
settings Text
key Int32
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CInt
result <- Ptr Settings -> CString -> Int32 -> IO CInt
g_settings_set_enum Ptr Settings
settings' CString
key' Int32
value
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetEnumMethodInfo
instance (signature ~ (T.Text -> Int32 -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetEnumMethodInfo a signature where
    overloadedMethod = settingsSetEnum
#endif
foreign import ccall "g_settings_set_flags" g_settings_set_flags :: 
    Ptr Settings ->                         
    CString ->                              
    Word32 ->                               
    IO CInt
settingsSetFlags ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Word32
    
    -> m Bool
    
settingsSetFlags :: a -> Text -> Word32 -> m Bool
settingsSetFlags a
settings Text
key Word32
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CInt
result <- Ptr Settings -> CString -> Word32 -> IO CInt
g_settings_set_flags Ptr Settings
settings' CString
key' Word32
value
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetFlagsMethodInfo
instance (signature ~ (T.Text -> Word32 -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetFlagsMethodInfo a signature where
    overloadedMethod = settingsSetFlags
#endif
foreign import ccall "g_settings_set_int" g_settings_set_int :: 
    Ptr Settings ->                         
    CString ->                              
    Int32 ->                                
    IO CInt
settingsSetInt ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Int32
    
    -> m Bool
    
    
settingsSetInt :: a -> Text -> Int32 -> m Bool
settingsSetInt a
settings Text
key Int32
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CInt
result <- Ptr Settings -> CString -> Int32 -> IO CInt
g_settings_set_int Ptr Settings
settings' CString
key' Int32
value
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetIntMethodInfo
instance (signature ~ (T.Text -> Int32 -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetIntMethodInfo a signature where
    overloadedMethod = settingsSetInt
#endif
foreign import ccall "g_settings_set_int64" g_settings_set_int64 :: 
    Ptr Settings ->                         
    CString ->                              
    Int64 ->                                
    IO CInt
settingsSetInt64 ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Int64
    
    -> m Bool
    
    
settingsSetInt64 :: a -> Text -> Int64 -> m Bool
settingsSetInt64 a
settings Text
key Int64
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CInt
result <- Ptr Settings -> CString -> Int64 -> IO CInt
g_settings_set_int64 Ptr Settings
settings' CString
key' Int64
value
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetInt64MethodInfo
instance (signature ~ (T.Text -> Int64 -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetInt64MethodInfo a signature where
    overloadedMethod = settingsSetInt64
#endif
foreign import ccall "g_settings_set_string" g_settings_set_string :: 
    Ptr Settings ->                         
    CString ->                              
    CString ->                              
    IO CInt
settingsSetString ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> T.Text
    
    -> m Bool
    
    
settingsSetString :: a -> Text -> Text -> m Bool
settingsSetString a
settings Text
key Text
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CString
value' <- Text -> IO CString
textToCString Text
value
    CInt
result <- Ptr Settings -> CString -> CString -> IO CInt
g_settings_set_string Ptr Settings
settings' CString
key' CString
value'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetStringMethodInfo
instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetStringMethodInfo a signature where
    overloadedMethod = settingsSetString
#endif
foreign import ccall "g_settings_set_strv" g_settings_set_strv :: 
    Ptr Settings ->                         
    CString ->                              
    Ptr CString ->                          
    IO CInt
settingsSetStrv ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Maybe ([T.Text])
    
    -> m Bool
    
    
settingsSetStrv :: a -> Text -> Maybe [Text] -> m Bool
settingsSetStrv a
settings Text
key Maybe [Text]
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr CString
maybeValue <- case Maybe [Text]
value of
        Maybe [Text]
Nothing -> Ptr CString -> IO (Ptr CString)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CString
forall a. Ptr a
nullPtr
        Just [Text]
jValue -> do
            Ptr CString
jValue' <- [Text] -> IO (Ptr CString)
packZeroTerminatedUTF8CArray [Text]
jValue
            Ptr CString -> IO (Ptr CString)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CString
jValue'
    CInt
result <- Ptr Settings -> CString -> Ptr CString -> IO CInt
g_settings_set_strv Ptr Settings
settings' CString
key' Ptr CString
maybeValue
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    (CString -> IO ()) -> Ptr CString -> IO ()
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
maybeValue
    Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
maybeValue
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetStrvMethodInfo
instance (signature ~ (T.Text -> Maybe ([T.Text]) -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetStrvMethodInfo a signature where
    overloadedMethod = settingsSetStrv
#endif
foreign import ccall "g_settings_set_uint" g_settings_set_uint :: 
    Ptr Settings ->                         
    CString ->                              
    Word32 ->                               
    IO CInt
settingsSetUint ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Word32
    
    -> m Bool
    
    
settingsSetUint :: a -> Text -> Word32 -> m Bool
settingsSetUint a
settings Text
key Word32
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CInt
result <- Ptr Settings -> CString -> Word32 -> IO CInt
g_settings_set_uint Ptr Settings
settings' CString
key' Word32
value
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetUintMethodInfo
instance (signature ~ (T.Text -> Word32 -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetUintMethodInfo a signature where
    overloadedMethod = settingsSetUint
#endif
foreign import ccall "g_settings_set_uint64" g_settings_set_uint64 :: 
    Ptr Settings ->                         
    CString ->                              
    Word64 ->                               
    IO CInt
settingsSetUint64 ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> Word64
    
    -> m Bool
    
    
settingsSetUint64 :: a -> Text -> Word64 -> m Bool
settingsSetUint64 a
settings Text
key Word64
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    CInt
result <- Ptr Settings -> CString -> Word64 -> IO CInt
g_settings_set_uint64 Ptr Settings
settings' CString
key' Word64
value
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetUint64MethodInfo
instance (signature ~ (T.Text -> Word64 -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetUint64MethodInfo a signature where
    overloadedMethod = settingsSetUint64
#endif
foreign import ccall "g_settings_set_value" g_settings_set_value :: 
    Ptr Settings ->                         
    CString ->                              
    Ptr GVariant ->                         
    IO CInt
settingsSetValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    
    -> T.Text
    
    -> GVariant
    
    -> m Bool
    
    
settingsSetValue :: a -> Text -> GVariant -> m Bool
settingsSetValue a
settings Text
key GVariant
value = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr Settings
settings' <- a -> IO (Ptr Settings)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
settings
    CString
key' <- Text -> IO CString
textToCString Text
key
    Ptr GVariant
value' <- GVariant -> IO (Ptr GVariant)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GVariant
value
    CInt
result <- Ptr Settings -> CString -> Ptr GVariant -> IO CInt
g_settings_set_value Ptr Settings
settings' CString
key' Ptr GVariant
value'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
settings
    GVariant -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GVariant
value
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data SettingsSetValueMethodInfo
instance (signature ~ (T.Text -> GVariant -> m Bool), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetValueMethodInfo a signature where
    overloadedMethod = settingsSetValue
#endif
foreign import ccall "g_settings_list_relocatable_schemas" g_settings_list_relocatable_schemas :: 
    IO (Ptr CString)
{-# DEPRECATED settingsListRelocatableSchemas ["(Since version 2.40)","Use 'GI.Gio.Structs.SettingsSchemaSource.settingsSchemaSourceListSchemas' instead"] #-}
settingsListRelocatableSchemas ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m [T.Text]
    
    
    
settingsListRelocatableSchemas :: m [Text]
settingsListRelocatableSchemas  = IO [Text] -> m [Text]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ do
    Ptr CString
result <- IO (Ptr CString)
g_settings_list_relocatable_schemas
    Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsListRelocatableSchemas" Ptr CString
result
    [Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
    [Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_settings_list_schemas" g_settings_list_schemas :: 
    IO (Ptr CString)
{-# DEPRECATED settingsListSchemas ["(Since version 2.40)","Use 'GI.Gio.Structs.SettingsSchemaSource.settingsSchemaSourceListSchemas' instead.","If you used 'GI.Gio.Objects.Settings.settingsListSchemas' to check for the presence of","a particular schema, use 'GI.Gio.Structs.SettingsSchemaSource.settingsSchemaSourceLookup' instead","of your whole loop."] #-}
settingsListSchemas ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m [T.Text]
    
    
    
settingsListSchemas :: m [Text]
settingsListSchemas  = IO [Text] -> m [Text]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ do
    Ptr CString
result <- IO (Ptr CString)
g_settings_list_schemas
    Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"settingsListSchemas" Ptr CString
result
    [Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
    [Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_settings_sync" g_settings_sync :: 
    IO ()
settingsSync ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m ()
settingsSync :: m ()
settingsSync  = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    IO ()
g_settings_sync
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_settings_unbind" g_settings_unbind :: 
    Ptr GObject.Object.Object ->            
    CString ->                              
    IO ()
settingsUnbind ::
    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
    a
    
    -> T.Text
    
    -> m ()
settingsUnbind :: a -> Text -> m ()
settingsUnbind a
object Text
property = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
    CString
property' <- Text -> IO CString
textToCString Text
property
    Ptr Object -> CString -> IO ()
g_settings_unbind Ptr Object
object' CString
property'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
property'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif