packages feed

gi-gobject (empty) → 0.2.44.8

raw patch · 6 files changed

+8975/−0 lines, 6 filesdep +basedep +bytestringdep +containerssetup-changed

Dependencies added: base, bytestring, containers, gi-glib, haskell-gi-base, text, transformers

Files

+ GI/GObject.hs view
@@ -0,0 +1,8251 @@+-- Generated code.++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,+    TypeFamilies, MultiParamTypeClasses, KindSignatures,+    FlexibleInstances, UndecidableInstances, DataKinds,+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}++module GI.GObject where++import Prelude ()+import Data.GI.Base.ShortPrelude+import Data.Char+import Data.Int+import Data.Word+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)+import qualified Data.Map as Map+import Foreign.C+import Foreign.Ptr+import Foreign.ForeignPtr+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)+import Foreign.Storable (peek, poke, sizeOf)+import Control.Applicative ((<$>))+import Control.Exception (onException)+import Control.Monad.IO.Class+import qualified Data.Text as T++import Data.GI.Base.Attributes hiding (get, set)+import Data.GI.Base.BasicTypes+import Data.GI.Base.BasicConversions+import Data.GI.Base.Closure+import Data.GI.Base.GError+import Data.GI.Base.GHashTable+import Data.GI.Base.GParamSpec+import Data.GI.Base.GVariant+import Data.GI.Base.GValue+import Data.GI.Base.ManagedPtr+import Data.GI.Base.Overloading+import Data.GI.Base.Properties hiding (new)+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)+import Data.GI.Base.Utils++import qualified GI.GLib as GLib+import qualified GI.GLibAttributes as GLibA++-- callback BaseFinalizeFunc+baseFinalizeFuncClosure :: BaseFinalizeFunc -> IO Closure+baseFinalizeFuncClosure cb = newCClosure =<< mkBaseFinalizeFunc wrapped+    where wrapped = baseFinalizeFuncWrapper Nothing cb++type BaseFinalizeFuncC =+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkBaseFinalizeFunc :: BaseFinalizeFuncC -> IO (FunPtr BaseFinalizeFuncC)++type BaseFinalizeFunc =+    Ptr () ->+    IO ()++noBaseFinalizeFunc :: Maybe BaseFinalizeFunc+noBaseFinalizeFunc = Nothing++baseFinalizeFuncWrapper ::+    Maybe (Ptr (FunPtr (BaseFinalizeFuncC))) ->+    BaseFinalizeFunc ->+    Ptr () ->+    IO ()+baseFinalizeFuncWrapper funptrptr _cb g_class = do+    _cb  g_class+    maybeReleaseFunPtr funptrptr++-- callback BaseInitFunc+baseInitFuncClosure :: BaseInitFunc -> IO Closure+baseInitFuncClosure cb = newCClosure =<< mkBaseInitFunc wrapped+    where wrapped = baseInitFuncWrapper Nothing cb++type BaseInitFuncC =+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkBaseInitFunc :: BaseInitFuncC -> IO (FunPtr BaseInitFuncC)++type BaseInitFunc =+    Ptr () ->+    IO ()++noBaseInitFunc :: Maybe BaseInitFunc+noBaseInitFunc = Nothing++baseInitFuncWrapper ::+    Maybe (Ptr (FunPtr (BaseInitFuncC))) ->+    BaseInitFunc ->+    Ptr () ->+    IO ()+baseInitFuncWrapper funptrptr _cb g_class = do+    _cb  g_class+    maybeReleaseFunPtr funptrptr++-- object Binding +newtype Binding = Binding (ForeignPtr Binding)+noBinding :: Maybe Binding+noBinding = Nothing++foreign import ccall "g_binding_get_type"+    c_g_binding_get_type :: IO GType++type instance ParentTypes Binding = '[Object]++instance GObject Binding where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_g_binding_get_type+    ++class GObject o => BindingK o+instance (GObject o, IsDescendantOf Binding o) => BindingK o++toBinding :: BindingK o => o -> IO Binding+toBinding = unsafeCastTo Binding++-- method Binding::get_flags+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "BindingFlags"+-- throws : False+-- Skip return : False++foreign import ccall "g_binding_get_flags" g_binding_get_flags :: +    Ptr Binding ->                          -- _obj : TInterface "GObject" "Binding"+    IO CUInt+++bindingGetFlags ::+    (MonadIO m, BindingK a) =>+    a ->                                    -- _obj+    m [BindingFlags]+bindingGetFlags _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- g_binding_get_flags _obj'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method Binding::get_source+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "Object"+-- throws : False+-- Skip return : False++foreign import ccall "g_binding_get_source" g_binding_get_source :: +    Ptr Binding ->                          -- _obj : TInterface "GObject" "Binding"+    IO (Ptr Object)+++bindingGetSource ::+    (MonadIO m, BindingK a) =>+    a ->                                    -- _obj+    m Object+bindingGetSource _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- g_binding_get_source _obj'+    result' <- (newObject Object) result+    touchManagedPtr _obj+    return result'++-- method Binding::get_source_property+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "g_binding_get_source_property" g_binding_get_source_property :: +    Ptr Binding ->                          -- _obj : TInterface "GObject" "Binding"+    IO CString+++bindingGetSourceProperty ::+    (MonadIO m, BindingK a) =>+    a ->                                    -- _obj+    m T.Text+bindingGetSourceProperty _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- g_binding_get_source_property _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Binding::get_target+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "Object"+-- throws : False+-- Skip return : False++foreign import ccall "g_binding_get_target" g_binding_get_target :: +    Ptr Binding ->                          -- _obj : TInterface "GObject" "Binding"+    IO (Ptr Object)+++bindingGetTarget ::+    (MonadIO m, BindingK a) =>+    a ->                                    -- _obj+    m Object+bindingGetTarget _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- g_binding_get_target _obj'+    result' <- (newObject Object) result+    touchManagedPtr _obj+    return result'++-- method Binding::get_target_property+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "g_binding_get_target_property" g_binding_get_target_property :: +    Ptr Binding ->                          -- _obj : TInterface "GObject" "Binding"+    IO CString+++bindingGetTargetProperty ::+    (MonadIO m, BindingK a) =>+    a ->                                    -- _obj+    m T.Text+bindingGetTargetProperty _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- g_binding_get_target_property _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Binding::unbind+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_binding_unbind" g_binding_unbind :: +    Ptr Binding ->                          -- _obj : TInterface "GObject" "Binding"+    IO ()+++bindingUnbind ::+    (MonadIO m, BindingK a) =>+    a ->                                    -- _obj+    m ()+bindingUnbind _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_binding_unbind _obj'+    touchManagedPtr _obj+    return ()++-- Flags BindingFlags++data BindingFlags = +      BindingFlagsDefault+    | BindingFlagsBidirectional+    | BindingFlagsSyncCreate+    | BindingFlagsInvertBoolean+    | AnotherBindingFlags Int+    deriving (Show, Eq)++instance Enum BindingFlags where+    fromEnum BindingFlagsDefault = 0+    fromEnum BindingFlagsBidirectional = 1+    fromEnum BindingFlagsSyncCreate = 2+    fromEnum BindingFlagsInvertBoolean = 4+    fromEnum (AnotherBindingFlags k) = k++    toEnum 0 = BindingFlagsDefault+    toEnum 1 = BindingFlagsBidirectional+    toEnum 2 = BindingFlagsSyncCreate+    toEnum 4 = BindingFlagsInvertBoolean+    toEnum k = AnotherBindingFlags k++foreign import ccall "g_binding_flags_get_type" c_g_binding_flags_get_type :: +    IO GType++instance BoxedEnum BindingFlags where+    boxedEnumType _ = c_g_binding_flags_get_type++instance IsGFlag BindingFlags++-- callback BindingTransformFunc+bindingTransformFuncClosure :: BindingTransformFunc -> IO Closure+bindingTransformFuncClosure cb = newCClosure =<< mkBindingTransformFunc wrapped+    where wrapped = bindingTransformFuncWrapper Nothing cb++type BindingTransformFuncC =+    Ptr Binding ->+    Ptr GValue ->+    Ptr GValue ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkBindingTransformFunc :: BindingTransformFuncC -> IO (FunPtr BindingTransformFuncC)++type BindingTransformFunc =+    Binding ->+    GValue ->+    GValue ->+    IO Bool++noBindingTransformFunc :: Maybe BindingTransformFunc+noBindingTransformFunc = Nothing++bindingTransformFuncWrapper ::+    Maybe (Ptr (FunPtr (BindingTransformFuncC))) ->+    BindingTransformFunc ->+    Ptr Binding ->+    Ptr GValue ->+    Ptr GValue ->+    Ptr () ->+    IO CInt+bindingTransformFuncWrapper funptrptr _cb binding from_value to_value _ = do+    binding' <- (newObject Binding) binding+    from_value' <- (newBoxed GValue) from_value+    to_value' <- (newBoxed GValue) to_value+    result <- _cb  binding' from_value' to_value'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- callback BoxedFreeFunc+boxedFreeFuncClosure :: BoxedFreeFunc -> IO Closure+boxedFreeFuncClosure cb = newCClosure =<< mkBoxedFreeFunc wrapped+    where wrapped = boxedFreeFuncWrapper Nothing cb++type BoxedFreeFuncC =+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkBoxedFreeFunc :: BoxedFreeFuncC -> IO (FunPtr BoxedFreeFuncC)++type BoxedFreeFunc =+    Ptr () ->+    IO ()++noBoxedFreeFunc :: Maybe BoxedFreeFunc+noBoxedFreeFunc = Nothing++boxedFreeFuncWrapper ::+    Maybe (Ptr (FunPtr (BoxedFreeFuncC))) ->+    BoxedFreeFunc ->+    Ptr () ->+    IO ()+boxedFreeFuncWrapper funptrptr _cb boxed = do+    _cb  boxed+    maybeReleaseFunPtr funptrptr++-- struct CClosure+newtype CClosure = CClosure (ForeignPtr CClosure)+noCClosure :: Maybe CClosure+noCClosure = Nothing++cClosureReadClosure :: CClosure -> IO Closure+cClosureReadClosure s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Closure)+    val' <- (newBoxed Closure) val+    return val'++cClosureReadCallback :: CClosure -> IO (Ptr ())+cClosureReadCallback s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO (Ptr ())+    return val++-- callback Callback+callbackClosure :: Callback -> IO Closure+callbackClosure cb = newCClosure =<< mkCallback wrapped+    where wrapped = callbackWrapper Nothing cb++type CallbackC =+    IO ()++foreign import ccall "wrapper"+    mkCallback :: CallbackC -> IO (FunPtr CallbackC)++type Callback =+    IO ()++noCallback :: Maybe Callback+noCallback = Nothing++callbackWrapper ::+    Maybe (Ptr (FunPtr (CallbackC))) ->+    Callback ->+    IO ()+callbackWrapper funptrptr _cb = do+    _cb +    maybeReleaseFunPtr funptrptr++-- callback ClassFinalizeFunc+classFinalizeFuncClosure :: ClassFinalizeFunc -> IO Closure+classFinalizeFuncClosure cb = newCClosure =<< mkClassFinalizeFunc wrapped+    where wrapped = classFinalizeFuncWrapper Nothing cb++type ClassFinalizeFuncC =+    Ptr () ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkClassFinalizeFunc :: ClassFinalizeFuncC -> IO (FunPtr ClassFinalizeFuncC)++type ClassFinalizeFunc =+    Ptr () ->+    Ptr () ->+    IO ()++noClassFinalizeFunc :: Maybe ClassFinalizeFunc+noClassFinalizeFunc = Nothing++classFinalizeFuncWrapper ::+    Maybe (Ptr (FunPtr (ClassFinalizeFuncC))) ->+    ClassFinalizeFunc ->+    Ptr () ->+    Ptr () ->+    IO ()+classFinalizeFuncWrapper funptrptr _cb g_class class_data = do+    _cb  g_class class_data+    maybeReleaseFunPtr funptrptr++-- callback ClassInitFunc+classInitFuncClosure :: ClassInitFunc -> IO Closure+classInitFuncClosure cb = newCClosure =<< mkClassInitFunc wrapped+    where wrapped = classInitFuncWrapper Nothing cb++type ClassInitFuncC =+    Ptr () ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkClassInitFunc :: ClassInitFuncC -> IO (FunPtr ClassInitFuncC)++type ClassInitFunc =+    Ptr () ->+    Ptr () ->+    IO ()++noClassInitFunc :: Maybe ClassInitFunc+noClassInitFunc = Nothing++classInitFuncWrapper ::+    Maybe (Ptr (FunPtr (ClassInitFuncC))) ->+    ClassInitFunc ->+    Ptr () ->+    Ptr () ->+    IO ()+classInitFuncWrapper funptrptr _cb g_class class_data = do+    _cb  g_class class_data+    maybeReleaseFunPtr funptrptr++-- callback ClosureNotify+closureNotifyClosure :: ClosureNotify -> IO Closure+closureNotifyClosure cb = newCClosure =<< mkClosureNotify wrapped+    where wrapped = closureNotifyWrapper Nothing cb++type ClosureNotifyC =+    Ptr () ->+    Ptr Closure ->+    IO ()++foreign import ccall "wrapper"+    mkClosureNotify :: ClosureNotifyC -> IO (FunPtr ClosureNotifyC)++type ClosureNotify =+    Ptr () ->+    Closure ->+    IO ()++noClosureNotify :: Maybe ClosureNotify+noClosureNotify = Nothing++closureNotifyWrapper ::+    Maybe (Ptr (FunPtr (ClosureNotifyC))) ->+    ClosureNotify ->+    Ptr () ->+    Ptr Closure ->+    IO ()+closureNotifyWrapper funptrptr _cb data_ closure = do+    closure' <- (newBoxed Closure) closure+    _cb  data_ closure'+    maybeReleaseFunPtr funptrptr++-- struct ClosureNotifyData+newtype ClosureNotifyData = ClosureNotifyData (ForeignPtr ClosureNotifyData)+noClosureNotifyData :: Maybe ClosureNotifyData+noClosureNotifyData = Nothing++closureNotifyDataReadData :: ClosureNotifyData -> IO (Ptr ())+closureNotifyDataReadData s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())+    return val++-- XXX Skipped getter for "ClosureNotifyData:notify" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- Flags ConnectFlags++data ConnectFlags = +      ConnectFlagsAfter+    | ConnectFlagsSwapped+    | AnotherConnectFlags Int+    deriving (Show, Eq)++instance Enum ConnectFlags where+    fromEnum ConnectFlagsAfter = 1+    fromEnum ConnectFlagsSwapped = 2+    fromEnum (AnotherConnectFlags k) = k++    toEnum 1 = ConnectFlagsAfter+    toEnum 2 = ConnectFlagsSwapped+    toEnum k = AnotherConnectFlags k++instance IsGFlag ConnectFlags++-- struct EnumClass+newtype EnumClass = EnumClass (ForeignPtr EnumClass)+noEnumClass :: Maybe EnumClass+noEnumClass = Nothing++enumClassReadGTypeClass :: EnumClass -> IO TypeClass+enumClassReadGTypeClass s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr TypeClass)+    val' <- (newPtr 8 TypeClass) val+    return val'++enumClassReadMinimum :: EnumClass -> IO Int32+enumClassReadMinimum s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++enumClassReadMaximum :: EnumClass -> IO Int32+enumClassReadMaximum s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++enumClassReadNValues :: EnumClass -> IO Word32+enumClassReadNValues s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Word32+    return val++enumClassReadValues :: EnumClass -> IO EnumValue+enumClassReadValues s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr EnumValue)+    val' <- (newPtr 24 EnumValue) val+    return val'++-- struct EnumValue+newtype EnumValue = EnumValue (ForeignPtr EnumValue)+noEnumValue :: Maybe EnumValue+noEnumValue = Nothing++enumValueReadValue :: EnumValue -> IO Int32+enumValueReadValue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++enumValueReadValueName :: EnumValue -> IO T.Text+enumValueReadValueName s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CString+    val' <- cstringToText val+    return val'++enumValueReadValueNick :: EnumValue -> IO T.Text+enumValueReadValueNick s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CString+    val' <- cstringToText val+    return val'++-- struct FlagsClass+newtype FlagsClass = FlagsClass (ForeignPtr FlagsClass)+noFlagsClass :: Maybe FlagsClass+noFlagsClass = Nothing++flagsClassReadGTypeClass :: FlagsClass -> IO TypeClass+flagsClassReadGTypeClass s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr TypeClass)+    val' <- (newPtr 8 TypeClass) val+    return val'++flagsClassReadMask :: FlagsClass -> IO Word32+flagsClassReadMask s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Word32+    return val++flagsClassReadNValues :: FlagsClass -> IO Word32+flagsClassReadNValues s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Word32+    return val++flagsClassReadValues :: FlagsClass -> IO FlagsValue+flagsClassReadValues s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr FlagsValue)+    val' <- (newPtr 24 FlagsValue) val+    return val'++-- struct FlagsValue+newtype FlagsValue = FlagsValue (ForeignPtr FlagsValue)+noFlagsValue :: Maybe FlagsValue+noFlagsValue = Nothing++flagsValueReadValue :: FlagsValue -> IO Word32+flagsValueReadValue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++flagsValueReadValueName :: FlagsValue -> IO T.Text+flagsValueReadValueName s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CString+    val' <- cstringToText val+    return val'++flagsValueReadValueNick :: FlagsValue -> IO T.Text+flagsValueReadValueNick s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CString+    val' <- cstringToText val+    return val'++-- object InitiallyUnowned +newtype InitiallyUnowned = InitiallyUnowned (ForeignPtr InitiallyUnowned)+noInitiallyUnowned :: Maybe InitiallyUnowned+noInitiallyUnowned = Nothing++foreign import ccall "g_initially_unowned_get_type"+    c_g_initially_unowned_get_type :: IO GType++type instance ParentTypes InitiallyUnowned = '[Object]++instance GObject InitiallyUnowned where+    gobjectIsInitiallyUnowned _ = True+    gobjectType _ = c_g_initially_unowned_get_type+    ++class GObject o => InitiallyUnownedK o+instance (GObject o, IsDescendantOf InitiallyUnowned o) => InitiallyUnownedK o++toInitiallyUnowned :: InitiallyUnownedK o => o -> IO InitiallyUnowned+toInitiallyUnowned = unsafeCastTo InitiallyUnowned++-- callback InstanceInitFunc+instanceInitFuncClosure :: InstanceInitFunc -> IO Closure+instanceInitFuncClosure cb = newCClosure =<< mkInstanceInitFunc wrapped+    where wrapped = instanceInitFuncWrapper Nothing cb++type InstanceInitFuncC =+    Ptr TypeInstance ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkInstanceInitFunc :: InstanceInitFuncC -> IO (FunPtr InstanceInitFuncC)++type InstanceInitFunc =+    TypeInstance ->+    Ptr () ->+    IO ()++noInstanceInitFunc :: Maybe InstanceInitFunc+noInstanceInitFunc = Nothing++instanceInitFuncWrapper ::+    Maybe (Ptr (FunPtr (InstanceInitFuncC))) ->+    InstanceInitFunc ->+    Ptr TypeInstance ->+    Ptr () ->+    IO ()+instanceInitFuncWrapper funptrptr _cb instance_ g_class = do+    instance_' <- (newPtr 8 TypeInstance) instance_+    _cb  instance_' g_class+    maybeReleaseFunPtr funptrptr++-- callback InterfaceFinalizeFunc+interfaceFinalizeFuncClosure :: InterfaceFinalizeFunc -> IO Closure+interfaceFinalizeFuncClosure cb = newCClosure =<< mkInterfaceFinalizeFunc wrapped+    where wrapped = interfaceFinalizeFuncWrapper Nothing cb++type InterfaceFinalizeFuncC =+    Ptr () ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkInterfaceFinalizeFunc :: InterfaceFinalizeFuncC -> IO (FunPtr InterfaceFinalizeFuncC)++type InterfaceFinalizeFunc =+    Ptr () ->+    Ptr () ->+    IO ()++noInterfaceFinalizeFunc :: Maybe InterfaceFinalizeFunc+noInterfaceFinalizeFunc = Nothing++interfaceFinalizeFuncWrapper ::+    Maybe (Ptr (FunPtr (InterfaceFinalizeFuncC))) ->+    InterfaceFinalizeFunc ->+    Ptr () ->+    Ptr () ->+    IO ()+interfaceFinalizeFuncWrapper funptrptr _cb g_iface iface_data = do+    _cb  g_iface iface_data+    maybeReleaseFunPtr funptrptr++-- struct InterfaceInfo+newtype InterfaceInfo = InterfaceInfo (ForeignPtr InterfaceInfo)+noInterfaceInfo :: Maybe InterfaceInfo+noInterfaceInfo = Nothing++-- XXX Skipped getter for "InterfaceInfo:interface_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "InterfaceInfo:interface_finalize" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++interfaceInfoReadInterfaceData :: InterfaceInfo -> IO (Ptr ())+interfaceInfoReadInterfaceData s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr ())+    return val++-- callback InterfaceInitFunc+interfaceInitFuncClosure :: InterfaceInitFunc -> IO Closure+interfaceInitFuncClosure cb = newCClosure =<< mkInterfaceInitFunc wrapped+    where wrapped = interfaceInitFuncWrapper Nothing cb++type InterfaceInitFuncC =+    Ptr () ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkInterfaceInitFunc :: InterfaceInitFuncC -> IO (FunPtr InterfaceInitFuncC)++type InterfaceInitFunc =+    Ptr () ->+    Ptr () ->+    IO ()++noInterfaceInitFunc :: Maybe InterfaceInitFunc+noInterfaceInitFunc = Nothing++interfaceInitFuncWrapper ::+    Maybe (Ptr (FunPtr (InterfaceInitFuncC))) ->+    InterfaceInitFunc ->+    Ptr () ->+    Ptr () ->+    IO ()+interfaceInitFuncWrapper funptrptr _cb g_iface iface_data = do+    _cb  g_iface iface_data+    maybeReleaseFunPtr funptrptr++-- object Object +newtype Object = Object (ForeignPtr Object)+noObject :: Maybe Object+noObject = Nothing++foreign import ccall "g_object_get_type"+    c_g_object_get_type :: IO GType++type instance ParentTypes Object = '[]++instance GObject Object where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_g_object_get_type+    ++class GObject o => ObjectK o+instance (GObject o, IsDescendantOf Object o) => ObjectK o++toObject :: ObjectK o => o -> IO Object+toObject = unsafeCastTo Object++-- method Object::new+-- method type : Constructor+-- Args : [Arg {argName = "object_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_parameters", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parameters", argType = TCArray False (-1) 1 (TInterface "GObject" "Parameter"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "n_parameters", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "object_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parameters", argType = TCArray False (-1) 1 (TInterface "GObject" "Parameter"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "Object"+-- throws : False+-- Skip return : False++foreign import ccall "g_object_newv" g_object_newv :: +    CGType ->                               -- object_type : TBasicType TGType+    Word32 ->                               -- n_parameters : TBasicType TUInt32+    Ptr Parameter ->                        -- parameters : TCArray False (-1) 1 (TInterface "GObject" "Parameter")+    IO (Ptr Object)+++objectNew ::+    (MonadIO m) =>+    GType ->                                -- object_type+    [Parameter] ->                          -- parameters+    m Object+objectNew object_type parameters = liftIO $ do+    let n_parameters = fromIntegral $ length parameters+    let object_type' = gtypeToCGType object_type+    let parameters' = map unsafeManagedPtrGetPtr parameters+    parameters'' <- packBlockArray 32 parameters'+    result <- g_object_newv object_type' n_parameters parameters''+    result' <- (wrapObject Object) result+    mapM_ touchManagedPtr parameters+    freeMem parameters''+    return result'++-- method Object::bind_property+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "BindingFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "BindingFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "Binding"+-- throws : False+-- Skip return : False++foreign import ccall "g_object_bind_property" g_object_bind_property :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    CString ->                              -- source_property : TBasicType TUTF8+    Ptr Object ->                           -- target : TInterface "GObject" "Object"+    CString ->                              -- target_property : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface "GObject" "BindingFlags"+    IO (Ptr Binding)+++objectBindProperty ::+    (MonadIO m, ObjectK a, ObjectK b) =>+    a ->                                    -- _obj+    T.Text ->                               -- source_property+    b ->                                    -- target+    T.Text ->                               -- target_property+    [BindingFlags] ->                       -- flags+    m Binding+objectBindProperty _obj source_property target target_property flags = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    source_property' <- textToCString source_property+    let target' = unsafeManagedPtrCastPtr target+    target_property' <- textToCString target_property+    let flags' = gflagsToWord flags+    result <- g_object_bind_property _obj' source_property' target' target_property' flags'+    result' <- (newObject Binding) result+    touchManagedPtr _obj+    touchManagedPtr target+    freeMem source_property'+    freeMem target_property'+    return result'++-- method Object::bind_property_full+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "BindingFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "transform_to", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "transform_from", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "BindingFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "transform_to", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "transform_from", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "Binding"+-- throws : False+-- Skip return : False++foreign import ccall "g_object_bind_property_with_closures" g_object_bind_property_with_closures :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    CString ->                              -- source_property : TBasicType TUTF8+    Ptr Object ->                           -- target : TInterface "GObject" "Object"+    CString ->                              -- target_property : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface "GObject" "BindingFlags"+    Ptr Closure ->                          -- transform_to : TInterface "GObject" "Closure"+    Ptr Closure ->                          -- transform_from : TInterface "GObject" "Closure"+    IO (Ptr Binding)+++objectBindPropertyFull ::+    (MonadIO m, ObjectK a, ObjectK b) =>+    a ->                                    -- _obj+    T.Text ->                               -- source_property+    b ->                                    -- target+    T.Text ->                               -- target_property+    [BindingFlags] ->                       -- flags+    Closure ->                              -- transform_to+    Closure ->                              -- transform_from+    m Binding+objectBindPropertyFull _obj source_property target target_property flags transform_to transform_from = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    source_property' <- textToCString source_property+    let target' = unsafeManagedPtrCastPtr target+    target_property' <- textToCString target_property+    let flags' = gflagsToWord flags+    let transform_to' = unsafeManagedPtrGetPtr transform_to+    let transform_from' = unsafeManagedPtrGetPtr transform_from+    result <- g_object_bind_property_with_closures _obj' source_property' target' target_property' flags' transform_to' transform_from'+    result' <- (newObject Binding) result+    touchManagedPtr _obj+    touchManagedPtr target+    touchManagedPtr transform_to+    touchManagedPtr transform_from+    freeMem source_property'+    freeMem target_property'+    return result'++-- method Object::force_floating+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_force_floating" g_object_force_floating :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    IO ()+++objectForceFloating ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    m ()+objectForceFloating _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_object_force_floating _obj'+    touchManagedPtr _obj+    return ()++-- method Object::freeze_notify+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_freeze_notify" g_object_freeze_notify :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    IO ()+++objectFreezeNotify ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    m ()+objectFreezeNotify _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_object_freeze_notify _obj'+    touchManagedPtr _obj+    return ()++-- method Object::get_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_get_data" g_object_get_data :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    CString ->                              -- key : TBasicType TUTF8+    IO ()+++objectGetData ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- key+    m ()+objectGetData _obj key = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    key' <- textToCString key+    g_object_get_data _obj' key'+    touchManagedPtr _obj+    freeMem key'+    return ()++-- method Object::get_property+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_get_property" g_object_get_property :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    CString ->                              -- property_name : TBasicType TUTF8+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO ()+++objectGetProperty ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- property_name+    GValue ->                               -- value+    m ()+objectGetProperty _obj property_name value = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    property_name' <- textToCString property_name+    let value' = unsafeManagedPtrGetPtr value+    g_object_get_property _obj' property_name' value'+    touchManagedPtr _obj+    touchManagedPtr value+    freeMem property_name'+    return ()++-- method Object::get_qdata+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_get_qdata" g_object_get_qdata :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    Word32 ->                               -- quark : TBasicType TUInt32+    IO ()+++objectGetQdata ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- quark+    m ()+objectGetQdata _obj quark = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_object_get_qdata _obj' quark+    touchManagedPtr _obj+    return ()++-- method Object::is_floating+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_object_is_floating" g_object_is_floating :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    IO CInt+++objectIsFloating ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    m Bool+objectIsFloating _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- g_object_is_floating _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Object::notify+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_notify" g_object_notify :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    CString ->                              -- property_name : TBasicType TUTF8+    IO ()+++objectNotify ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- property_name+    m ()+objectNotify _obj property_name = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    property_name' <- textToCString property_name+    g_object_notify _obj' property_name'+    touchManagedPtr _obj+    freeMem property_name'+    return ()++-- method Object::notify_by_pspec+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_notify_by_pspec" g_object_notify_by_pspec :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    Ptr GParamSpec ->                       -- pspec : TParamSpec+    IO ()+++objectNotifyByPspec ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    GParamSpec ->                           -- pspec+    m ()+objectNotifyByPspec _obj pspec = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let pspec' = unsafeManagedPtrGetPtr pspec+    g_object_notify_by_pspec _obj' pspec'+    touchManagedPtr _obj+    return ()++-- method Object::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "Object"+-- throws : False+-- Skip return : False++foreign import ccall "g_object_ref" g_object_ref :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    IO (Ptr Object)+++objectRef ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    m Object+objectRef _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- g_object_ref _obj'+    result' <- (newObject Object) result+    touchManagedPtr _obj+    return result'++-- method Object::ref_sink+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "Object"+-- throws : False+-- Skip return : False++foreign import ccall "g_object_ref_sink" g_object_ref_sink :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    IO (Ptr Object)+++objectRefSink ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    m Object+objectRefSink _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- g_object_ref_sink _obj'+    result' <- (newObject Object) result+    touchManagedPtr _obj+    return result'++-- method Object::replace_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "oldval", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "newval", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "oldval", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "newval", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_object_replace_data" g_object_replace_data :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    CString ->                              -- key : TBasicType TUTF8+    Ptr () ->                               -- oldval : TBasicType TVoid+    Ptr () ->                               -- newval : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- destroy : TInterface "GLib" "DestroyNotify"+    FunPtr GLib.DestroyNotifyC ->           -- old_destroy : TInterface "GLib" "DestroyNotify"+    IO CInt+++objectReplaceData ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- key+    Maybe (Ptr ()) ->                       -- oldval+    Maybe (Ptr ()) ->                       -- newval+    Maybe (GLib.DestroyNotify) ->           -- destroy+    Maybe (GLib.DestroyNotify) ->           -- old_destroy+    m Bool+objectReplaceData _obj key oldval newval destroy old_destroy = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    key' <- textToCString key+    maybeOldval <- case oldval of+        Nothing -> return nullPtr+        Just jOldval -> do+            return jOldval+    maybeNewval <- case newval of+        Nothing -> return nullPtr+        Just jNewval -> do+            return jNewval+    ptrdestroy <- callocBytes $ sizeOf (undefined :: FunPtr GLib.DestroyNotifyC)+    maybeDestroy <- case destroy of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jDestroy -> do+            jDestroy' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptrdestroy) jDestroy)+            poke ptrdestroy jDestroy'+            return jDestroy'+    ptrold_destroy <- callocBytes $ sizeOf (undefined :: FunPtr GLib.DestroyNotifyC)+    maybeOld_destroy <- case old_destroy of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jOld_destroy -> do+            jOld_destroy' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptrold_destroy) jOld_destroy)+            poke ptrold_destroy jOld_destroy'+            return jOld_destroy'+    result <- g_object_replace_data _obj' key' maybeOldval maybeNewval maybeDestroy maybeOld_destroy+    let result' = (/= 0) result+    touchManagedPtr _obj+    freeMem key'+    return result'++-- method Object::replace_qdata+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "oldval", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "newval", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "oldval", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "newval", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_object_replace_qdata" g_object_replace_qdata :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    Word32 ->                               -- quark : TBasicType TUInt32+    Ptr () ->                               -- oldval : TBasicType TVoid+    Ptr () ->                               -- newval : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- destroy : TInterface "GLib" "DestroyNotify"+    FunPtr GLib.DestroyNotifyC ->           -- old_destroy : TInterface "GLib" "DestroyNotify"+    IO CInt+++objectReplaceQdata ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- quark+    Maybe (Ptr ()) ->                       -- oldval+    Maybe (Ptr ()) ->                       -- newval+    Maybe (GLib.DestroyNotify) ->           -- destroy+    Maybe (GLib.DestroyNotify) ->           -- old_destroy+    m Bool+objectReplaceQdata _obj quark oldval newval destroy old_destroy = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeOldval <- case oldval of+        Nothing -> return nullPtr+        Just jOldval -> do+            return jOldval+    maybeNewval <- case newval of+        Nothing -> return nullPtr+        Just jNewval -> do+            return jNewval+    ptrdestroy <- callocBytes $ sizeOf (undefined :: FunPtr GLib.DestroyNotifyC)+    maybeDestroy <- case destroy of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jDestroy -> do+            jDestroy' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptrdestroy) jDestroy)+            poke ptrdestroy jDestroy'+            return jDestroy'+    ptrold_destroy <- callocBytes $ sizeOf (undefined :: FunPtr GLib.DestroyNotifyC)+    maybeOld_destroy <- case old_destroy of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jOld_destroy -> do+            jOld_destroy' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptrold_destroy) jOld_destroy)+            poke ptrold_destroy jOld_destroy'+            return jOld_destroy'+    result <- g_object_replace_qdata _obj' quark maybeOldval maybeNewval maybeDestroy maybeOld_destroy+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Object::run_dispose+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_run_dispose" g_object_run_dispose :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    IO ()+++objectRunDispose ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    m ()+objectRunDispose _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_object_run_dispose _obj'+    touchManagedPtr _obj+    return ()++-- method Object::set_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_set_data" g_object_set_data :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    CString ->                              -- key : TBasicType TUTF8+    Ptr () ->                               -- data : TBasicType TVoid+    IO ()+++objectSetData ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- key+    Ptr () ->                               -- data+    m ()+objectSetData _obj key data_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    key' <- textToCString key+    g_object_set_data _obj' key' data_+    touchManagedPtr _obj+    freeMem key'+    return ()++-- method Object::set_property+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_set_property" g_object_set_property :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    CString ->                              -- property_name : TBasicType TUTF8+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO ()+++objectSetProperty ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- property_name+    GValue ->                               -- value+    m ()+objectSetProperty _obj property_name value = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    property_name' <- textToCString property_name+    let value' = unsafeManagedPtrGetPtr value+    g_object_set_property _obj' property_name' value'+    touchManagedPtr _obj+    touchManagedPtr value+    freeMem property_name'+    return ()++-- method Object::steal_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_steal_data" g_object_steal_data :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    CString ->                              -- key : TBasicType TUTF8+    IO ()+++objectStealData ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- key+    m ()+objectStealData _obj key = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    key' <- textToCString key+    g_object_steal_data _obj' key'+    touchManagedPtr _obj+    freeMem key'+    return ()++-- method Object::steal_qdata+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_steal_qdata" g_object_steal_qdata :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    Word32 ->                               -- quark : TBasicType TUInt32+    IO ()+++objectStealQdata ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- quark+    m ()+objectStealQdata _obj quark = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_object_steal_qdata _obj' quark+    touchManagedPtr _obj+    return ()++-- method Object::thaw_notify+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_thaw_notify" g_object_thaw_notify :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    IO ()+++objectThawNotify ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    m ()+objectThawNotify _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_object_thaw_notify _obj'+    touchManagedPtr _obj+    return ()++-- method Object::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_unref" g_object_unref :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    IO ()+++objectUnref ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    m ()+objectUnref _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_object_unref _obj'+    touchManagedPtr _obj+    return ()++-- method Object::watch_closure+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_watch_closure" g_object_watch_closure :: +    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"+    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    IO ()+++objectWatchClosure ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- _obj+    Closure ->                              -- closure+    m ()+objectWatchClosure _obj closure = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let closure' = unsafeManagedPtrGetPtr closure+    g_object_watch_closure _obj' closure'+    touchManagedPtr _obj+    touchManagedPtr closure+    return ()++-- method Object::compat_control+-- method type : MemberFunction+-- Args : [Arg {argName = "what", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "what", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "g_object_compat_control" g_object_compat_control :: +    Word64 ->                               -- what : TBasicType TUInt64+    Ptr () ->                               -- data : TBasicType TVoid+    IO Word64+++objectCompatControl ::+    (MonadIO m) =>+    Word64 ->                               -- what+    Ptr () ->                               -- data+    m Word64+objectCompatControl what data_ = liftIO $ do+    result <- g_object_compat_control what data_+    return result++-- method Object::interface_find_property+-- method type : MemberFunction+-- Args : [Arg {argName = "g_iface", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_iface", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_object_interface_find_property" g_object_interface_find_property :: +    Ptr () ->                               -- g_iface : TBasicType TVoid+    CString ->                              -- property_name : TBasicType TUTF8+    IO (Ptr GParamSpec)+++objectInterfaceFindProperty ::+    (MonadIO m) =>+    Ptr () ->                               -- g_iface+    T.Text ->                               -- property_name+    m GParamSpec+objectInterfaceFindProperty g_iface property_name = liftIO $ do+    property_name' <- textToCString property_name+    result <- g_object_interface_find_property g_iface property_name'+    result' <- newGParamSpecFromPtr result+    freeMem property_name'+    return result'++-- method Object::interface_install_property+-- method type : MemberFunction+-- Args : [Arg {argName = "g_iface", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_iface", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_object_interface_install_property" g_object_interface_install_property :: +    Ptr () ->                               -- g_iface : TBasicType TVoid+    Ptr GParamSpec ->                       -- pspec : TParamSpec+    IO ()+++objectInterfaceInstallProperty ::+    (MonadIO m) =>+    Ptr () ->                               -- g_iface+    GParamSpec ->                           -- pspec+    m ()+objectInterfaceInstallProperty g_iface pspec = liftIO $ do+    let pspec' = unsafeManagedPtrGetPtr pspec+    g_object_interface_install_property g_iface pspec'+    return ()++-- XXX Could not generate method Object::interface_list_properties+-- Error was : Not implemented: "unpackCArray : Don't know how to unpack C Array of type TParamSpec"+-- signal Object::notify+type ObjectNotifyCallback =+    GParamSpec ->+    IO ()++noObjectNotifyCallback :: Maybe ObjectNotifyCallback+noObjectNotifyCallback = Nothing++type ObjectNotifyCallbackC =+    Ptr () ->                               -- object+    Ptr GParamSpec ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkObjectNotifyCallback :: ObjectNotifyCallbackC -> IO (FunPtr ObjectNotifyCallbackC)++objectNotifyClosure :: ObjectNotifyCallback -> IO Closure+objectNotifyClosure cb = newCClosure =<< mkObjectNotifyCallback wrapped+    where wrapped = objectNotifyCallbackWrapper cb++objectNotifyCallbackWrapper ::+    ObjectNotifyCallback ->+    Ptr () ->+    Ptr GParamSpec ->+    Ptr () ->+    IO ()+objectNotifyCallbackWrapper _cb _ pspec _ = do+    pspec' <- newGParamSpecFromPtr pspec+    _cb  pspec'++onObjectNotify :: (GObject a, MonadIO m) => a -> ObjectNotifyCallback -> m SignalHandlerId+onObjectNotify obj cb = liftIO $ connectObjectNotify obj cb SignalConnectBefore+afterObjectNotify :: (GObject a, MonadIO m) => a -> ObjectNotifyCallback -> m SignalHandlerId+afterObjectNotify obj cb = connectObjectNotify obj cb SignalConnectAfter++connectObjectNotify :: (GObject a, MonadIO m) =>+                       a -> ObjectNotifyCallback -> SignalConnectMode -> m SignalHandlerId+connectObjectNotify obj cb after = liftIO $ do+    cb' <- mkObjectNotifyCallback (objectNotifyCallbackWrapper cb)+    connectSignalFunPtr obj "notify" cb' after++-- struct ObjectConstructParam+newtype ObjectConstructParam = ObjectConstructParam (ForeignPtr ObjectConstructParam)+noObjectConstructParam :: Maybe ObjectConstructParam+noObjectConstructParam = Nothing++objectConstructParamReadPspec :: ObjectConstructParam -> IO GParamSpec+objectConstructParamReadPspec s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr GParamSpec)+    val' <- newGParamSpecFromPtr val+    return val'++objectConstructParamReadValue :: ObjectConstructParam -> IO GValue+objectConstructParamReadValue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GValue)+    val' <- (newBoxed GValue) val+    return val'++-- callback ObjectFinalizeFunc+objectFinalizeFuncClosure :: ObjectFinalizeFunc -> IO Closure+objectFinalizeFuncClosure cb = newCClosure =<< mkObjectFinalizeFunc wrapped+    where wrapped = objectFinalizeFuncWrapper Nothing cb++type ObjectFinalizeFuncC =+    Ptr Object ->+    IO ()++foreign import ccall "wrapper"+    mkObjectFinalizeFunc :: ObjectFinalizeFuncC -> IO (FunPtr ObjectFinalizeFuncC)++type ObjectFinalizeFunc =+    Object ->+    IO ()++noObjectFinalizeFunc :: Maybe ObjectFinalizeFunc+noObjectFinalizeFunc = Nothing++objectFinalizeFuncWrapper ::+    Maybe (Ptr (FunPtr (ObjectFinalizeFuncC))) ->+    ObjectFinalizeFunc ->+    Ptr Object ->+    IO ()+objectFinalizeFuncWrapper funptrptr _cb object = do+    object' <- (newObject Object) object+    _cb  object'+    maybeReleaseFunPtr funptrptr++-- callback ObjectGetPropertyFunc+objectGetPropertyFuncClosure :: ObjectGetPropertyFunc -> IO Closure+objectGetPropertyFuncClosure cb = newCClosure =<< mkObjectGetPropertyFunc wrapped+    where wrapped = objectGetPropertyFuncWrapper Nothing cb++type ObjectGetPropertyFuncC =+    Ptr Object ->+    Word32 ->+    Ptr GValue ->+    Ptr GParamSpec ->+    IO ()++foreign import ccall "wrapper"+    mkObjectGetPropertyFunc :: ObjectGetPropertyFuncC -> IO (FunPtr ObjectGetPropertyFuncC)++type ObjectGetPropertyFunc =+    Object ->+    Word32 ->+    GValue ->+    GParamSpec ->+    IO ()++noObjectGetPropertyFunc :: Maybe ObjectGetPropertyFunc+noObjectGetPropertyFunc = Nothing++objectGetPropertyFuncWrapper ::+    Maybe (Ptr (FunPtr (ObjectGetPropertyFuncC))) ->+    ObjectGetPropertyFunc ->+    Ptr Object ->+    Word32 ->+    Ptr GValue ->+    Ptr GParamSpec ->+    IO ()+objectGetPropertyFuncWrapper funptrptr _cb object property_id value pspec = do+    object' <- (newObject Object) object+    value' <- (newBoxed GValue) value+    pspec' <- newGParamSpecFromPtr pspec+    _cb  object' property_id value' pspec'+    maybeReleaseFunPtr funptrptr++-- callback ObjectSetPropertyFunc+objectSetPropertyFuncClosure :: ObjectSetPropertyFunc -> IO Closure+objectSetPropertyFuncClosure cb = newCClosure =<< mkObjectSetPropertyFunc wrapped+    where wrapped = objectSetPropertyFuncWrapper Nothing cb++type ObjectSetPropertyFuncC =+    Ptr Object ->+    Word32 ->+    Ptr GValue ->+    Ptr GParamSpec ->+    IO ()++foreign import ccall "wrapper"+    mkObjectSetPropertyFunc :: ObjectSetPropertyFuncC -> IO (FunPtr ObjectSetPropertyFuncC)++type ObjectSetPropertyFunc =+    Object ->+    Word32 ->+    GValue ->+    GParamSpec ->+    IO ()++noObjectSetPropertyFunc :: Maybe ObjectSetPropertyFunc+noObjectSetPropertyFunc = Nothing++objectSetPropertyFuncWrapper ::+    Maybe (Ptr (FunPtr (ObjectSetPropertyFuncC))) ->+    ObjectSetPropertyFunc ->+    Ptr Object ->+    Word32 ->+    Ptr GValue ->+    Ptr GParamSpec ->+    IO ()+objectSetPropertyFuncWrapper funptrptr _cb object property_id value pspec = do+    object' <- (newObject Object) object+    value' <- (newBoxed GValue) value+    pspec' <- newGParamSpecFromPtr pspec+    _cb  object' property_id value' pspec'+    maybeReleaseFunPtr funptrptr++-- Flags ParamFlags++data ParamFlags = +      ParamFlagsReadable+    | ParamFlagsWritable+    | ParamFlagsReadwrite+    | ParamFlagsConstruct+    | ParamFlagsConstructOnly+    | ParamFlagsLaxValidation+    | ParamFlagsStaticName+    | ParamFlagsPrivate+    | ParamFlagsStaticNick+    | ParamFlagsStaticBlurb+    | ParamFlagsExplicitNotify+    | ParamFlagsDeprecated+    | AnotherParamFlags Int+    deriving (Show, Eq)++instance Enum ParamFlags where+    fromEnum ParamFlagsReadable = 1+    fromEnum ParamFlagsWritable = 2+    fromEnum ParamFlagsReadwrite = 3+    fromEnum ParamFlagsConstruct = 4+    fromEnum ParamFlagsConstructOnly = 8+    fromEnum ParamFlagsLaxValidation = 16+    fromEnum ParamFlagsStaticName = 32+    fromEnum ParamFlagsPrivate = 32+    fromEnum ParamFlagsStaticNick = 64+    fromEnum ParamFlagsStaticBlurb = 128+    fromEnum ParamFlagsExplicitNotify = 1073741824+    fromEnum ParamFlagsDeprecated = 2147483648+    fromEnum (AnotherParamFlags k) = k++    toEnum 1 = ParamFlagsReadable+    toEnum 2 = ParamFlagsWritable+    toEnum 3 = ParamFlagsReadwrite+    toEnum 4 = ParamFlagsConstruct+    toEnum 8 = ParamFlagsConstructOnly+    toEnum 16 = ParamFlagsLaxValidation+    toEnum 32 = ParamFlagsStaticName+    toEnum 64 = ParamFlagsStaticNick+    toEnum 128 = ParamFlagsStaticBlurb+    toEnum 1073741824 = ParamFlagsExplicitNotify+    toEnum 2147483648 = ParamFlagsDeprecated+    toEnum k = AnotherParamFlags k++instance IsGFlag ParamFlags++-- struct ParamSpecPool+newtype ParamSpecPool = ParamSpecPool (ForeignPtr ParamSpecPool)+noParamSpecPool :: Maybe ParamSpecPool+noParamSpecPool = Nothing++-- method ParamSpecPool::insert+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_pool_insert" g_param_spec_pool_insert :: +    Ptr ParamSpecPool ->                    -- _obj : TInterface "GObject" "ParamSpecPool"+    Ptr GParamSpec ->                       -- pspec : TParamSpec+    CGType ->                               -- owner_type : TBasicType TGType+    IO ()+++paramSpecPoolInsert ::+    (MonadIO m) =>+    ParamSpecPool ->                        -- _obj+    GParamSpec ->                           -- pspec+    GType ->                                -- owner_type+    m ()+paramSpecPoolInsert _obj pspec owner_type = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let pspec' = unsafeManagedPtrGetPtr pspec+    let owner_type' = gtypeToCGType owner_type+    g_param_spec_pool_insert _obj' pspec' owner_type'+    touchManagedPtr _obj+    return ()++-- XXX Could not generate method ParamSpecPool::list+-- Error was : Not implemented: "unpackCArray : Don't know how to unpack C Array of type TParamSpec"+-- method ParamSpecPool::list_owned+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_pool_list_owned" g_param_spec_pool_list_owned :: +    Ptr ParamSpecPool ->                    -- _obj : TInterface "GObject" "ParamSpecPool"+    CGType ->                               -- owner_type : TBasicType TGType+    IO (Ptr (GList (Ptr GParamSpec)))+++paramSpecPoolListOwned ::+    (MonadIO m) =>+    ParamSpecPool ->                        -- _obj+    GType ->                                -- owner_type+    m [GParamSpec]+paramSpecPoolListOwned _obj owner_type = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let owner_type' = gtypeToCGType owner_type+    result <- g_param_spec_pool_list_owned _obj' owner_type'+    result' <- unpackGList result+    result'' <- mapM newGParamSpecFromPtr result'+    g_list_free result+    touchManagedPtr _obj+    return result''++-- method ParamSpecPool::lookup+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "walk_ancestors", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "walk_ancestors", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_pool_lookup" g_param_spec_pool_lookup :: +    Ptr ParamSpecPool ->                    -- _obj : TInterface "GObject" "ParamSpecPool"+    CString ->                              -- param_name : TBasicType TUTF8+    CGType ->                               -- owner_type : TBasicType TGType+    CInt ->                                 -- walk_ancestors : TBasicType TBoolean+    IO (Ptr GParamSpec)+++paramSpecPoolLookup ::+    (MonadIO m) =>+    ParamSpecPool ->                        -- _obj+    T.Text ->                               -- param_name+    GType ->                                -- owner_type+    Bool ->                                 -- walk_ancestors+    m GParamSpec+paramSpecPoolLookup _obj param_name owner_type walk_ancestors = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    param_name' <- textToCString param_name+    let owner_type' = gtypeToCGType owner_type+    let walk_ancestors' = (fromIntegral . fromEnum) walk_ancestors+    result <- g_param_spec_pool_lookup _obj' param_name' owner_type' walk_ancestors'+    result' <- newGParamSpecFromPtr result+    touchManagedPtr _obj+    freeMem param_name'+    return result'++-- method ParamSpecPool::remove+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_pool_remove" g_param_spec_pool_remove :: +    Ptr ParamSpecPool ->                    -- _obj : TInterface "GObject" "ParamSpecPool"+    Ptr GParamSpec ->                       -- pspec : TParamSpec+    IO ()+++paramSpecPoolRemove ::+    (MonadIO m) =>+    ParamSpecPool ->                        -- _obj+    GParamSpec ->                           -- pspec+    m ()+paramSpecPoolRemove _obj pspec = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let pspec' = unsafeManagedPtrGetPtr pspec+    g_param_spec_pool_remove _obj' pspec'+    touchManagedPtr _obj+    return ()++-- struct ParamSpecTypeInfo+newtype ParamSpecTypeInfo = ParamSpecTypeInfo (ForeignPtr ParamSpecTypeInfo)+noParamSpecTypeInfo :: Maybe ParamSpecTypeInfo+noParamSpecTypeInfo = Nothing++paramSpecTypeInfoReadInstanceSize :: ParamSpecTypeInfo -> IO Word16+paramSpecTypeInfoReadInstanceSize s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word16+    return val++paramSpecTypeInfoReadNPreallocs :: ParamSpecTypeInfo -> IO Word16+paramSpecTypeInfoReadNPreallocs s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 2) :: IO Word16+    return val++-- XXX Skipped getter for "ParamSpecTypeInfo:instance_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++paramSpecTypeInfoReadValueType :: ParamSpecTypeInfo -> IO GType+paramSpecTypeInfoReadValueType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CGType+    let val' = GType val+    return val'++-- XXX Skipped getter for "ParamSpecTypeInfo:finalize" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "ParamSpecTypeInfo:value_set_default" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "ParamSpecTypeInfo:value_validate" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "ParamSpecTypeInfo:values_cmp" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- struct Parameter+newtype Parameter = Parameter (ForeignPtr Parameter)+noParameter :: Maybe Parameter+noParameter = Nothing++parameterReadName :: Parameter -> IO T.Text+parameterReadName s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CString+    val' <- cstringToText val+    return val'++parameterReadValue :: Parameter -> IO GValue+parameterReadValue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GValue)+    val' <- (newBoxed GValue) val+    return val'++-- callback SignalAccumulator+signalAccumulatorClosure :: SignalAccumulator -> IO Closure+signalAccumulatorClosure cb = newCClosure =<< mkSignalAccumulator wrapped+    where wrapped = signalAccumulatorWrapper Nothing cb++type SignalAccumulatorC =+    Ptr SignalInvocationHint ->+    Ptr GValue ->+    Ptr GValue ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkSignalAccumulator :: SignalAccumulatorC -> IO (FunPtr SignalAccumulatorC)++type SignalAccumulator =+    SignalInvocationHint ->+    GValue ->+    GValue ->+    Ptr () ->+    IO Bool++noSignalAccumulator :: Maybe SignalAccumulator+noSignalAccumulator = Nothing++signalAccumulatorWrapper ::+    Maybe (Ptr (FunPtr (SignalAccumulatorC))) ->+    SignalAccumulator ->+    Ptr SignalInvocationHint ->+    Ptr GValue ->+    Ptr GValue ->+    Ptr () ->+    IO CInt+signalAccumulatorWrapper funptrptr _cb ihint return_accu handler_return data_ = do+    ihint' <- (newPtr 12 SignalInvocationHint) ihint+    return_accu' <- (newBoxed GValue) return_accu+    handler_return' <- (newBoxed GValue) handler_return+    result <- _cb  ihint' return_accu' handler_return' data_+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- callback SignalEmissionHook+signalEmissionHookClosure :: SignalEmissionHook -> IO Closure+signalEmissionHookClosure cb = newCClosure =<< mkSignalEmissionHook wrapped+    where wrapped = signalEmissionHookWrapper Nothing cb++type SignalEmissionHookC =+    Ptr SignalInvocationHint ->+    Word32 ->+    Ptr GValue ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkSignalEmissionHook :: SignalEmissionHookC -> IO (FunPtr SignalEmissionHookC)++type SignalEmissionHook =+    SignalInvocationHint ->+    [GValue] ->+    Ptr () ->+    IO Bool++noSignalEmissionHook :: Maybe SignalEmissionHook+noSignalEmissionHook = Nothing++signalEmissionHookWrapper ::+    Maybe (Ptr (FunPtr (SignalEmissionHookC))) ->+    SignalEmissionHook ->+    Ptr SignalInvocationHint ->+    Word32 ->+    Ptr GValue ->+    Ptr () ->+    IO CInt+signalEmissionHookWrapper funptrptr _cb ihint n_param_values param_values data_ = do+    ihint' <- (newPtr 12 SignalInvocationHint) ihint+    param_values' <- (unpackBoxedArrayWithLength 24 n_param_values) param_values+    param_values'' <- mapM (newBoxed GValue) param_values'+    result <- _cb  ihint' param_values'' data_+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- Flags SignalFlags++data SignalFlags = +      SignalFlagsRunFirst+    | SignalFlagsRunLast+    | SignalFlagsRunCleanup+    | SignalFlagsNoRecurse+    | SignalFlagsDetailed+    | SignalFlagsAction+    | SignalFlagsNoHooks+    | SignalFlagsMustCollect+    | SignalFlagsDeprecated+    | AnotherSignalFlags Int+    deriving (Show, Eq)++instance Enum SignalFlags where+    fromEnum SignalFlagsRunFirst = 1+    fromEnum SignalFlagsRunLast = 2+    fromEnum SignalFlagsRunCleanup = 4+    fromEnum SignalFlagsNoRecurse = 8+    fromEnum SignalFlagsDetailed = 16+    fromEnum SignalFlagsAction = 32+    fromEnum SignalFlagsNoHooks = 64+    fromEnum SignalFlagsMustCollect = 128+    fromEnum SignalFlagsDeprecated = 256+    fromEnum (AnotherSignalFlags k) = k++    toEnum 1 = SignalFlagsRunFirst+    toEnum 2 = SignalFlagsRunLast+    toEnum 4 = SignalFlagsRunCleanup+    toEnum 8 = SignalFlagsNoRecurse+    toEnum 16 = SignalFlagsDetailed+    toEnum 32 = SignalFlagsAction+    toEnum 64 = SignalFlagsNoHooks+    toEnum 128 = SignalFlagsMustCollect+    toEnum 256 = SignalFlagsDeprecated+    toEnum k = AnotherSignalFlags k++instance IsGFlag SignalFlags++-- struct SignalInvocationHint+newtype SignalInvocationHint = SignalInvocationHint (ForeignPtr SignalInvocationHint)+noSignalInvocationHint :: Maybe SignalInvocationHint+noSignalInvocationHint = Nothing++signalInvocationHintReadSignalId :: SignalInvocationHint -> IO Word32+signalInvocationHintReadSignalId s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++signalInvocationHintReadDetail :: SignalInvocationHint -> IO Word32+signalInvocationHintReadDetail s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Word32+    return val++signalInvocationHintReadRunType :: SignalInvocationHint -> IO [SignalFlags]+signalInvocationHintReadRunType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CUInt+    let val' = wordToGFlags val+    return val'++-- Flags SignalMatchType++data SignalMatchType = +      SignalMatchTypeId+    | SignalMatchTypeDetail+    | SignalMatchTypeClosure+    | SignalMatchTypeFunc+    | SignalMatchTypeData+    | SignalMatchTypeUnblocked+    | AnotherSignalMatchType Int+    deriving (Show, Eq)++instance Enum SignalMatchType where+    fromEnum SignalMatchTypeId = 1+    fromEnum SignalMatchTypeDetail = 2+    fromEnum SignalMatchTypeClosure = 4+    fromEnum SignalMatchTypeFunc = 8+    fromEnum SignalMatchTypeData = 16+    fromEnum SignalMatchTypeUnblocked = 32+    fromEnum (AnotherSignalMatchType k) = k++    toEnum 1 = SignalMatchTypeId+    toEnum 2 = SignalMatchTypeDetail+    toEnum 4 = SignalMatchTypeClosure+    toEnum 8 = SignalMatchTypeFunc+    toEnum 16 = SignalMatchTypeData+    toEnum 32 = SignalMatchTypeUnblocked+    toEnum k = AnotherSignalMatchType k++instance IsGFlag SignalMatchType++-- struct SignalQuery+newtype SignalQuery = SignalQuery (ForeignPtr SignalQuery)+noSignalQuery :: Maybe SignalQuery+noSignalQuery = Nothing++signalQueryReadSignalId :: SignalQuery -> IO Word32+signalQueryReadSignalId s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++signalQueryReadSignalName :: SignalQuery -> IO T.Text+signalQueryReadSignalName s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CString+    val' <- cstringToText val+    return val'++signalQueryReadItype :: SignalQuery -> IO GType+signalQueryReadItype s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CGType+    let val' = GType val+    return val'++signalQueryReadSignalFlags :: SignalQuery -> IO [SignalFlags]+signalQueryReadSignalFlags s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CUInt+    let val' = wordToGFlags val+    return val'++signalQueryReadReturnType :: SignalQuery -> IO GType+signalQueryReadReturnType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CGType+    let val' = GType val+    return val'++signalQueryReadNParams :: SignalQuery -> IO Word32+signalQueryReadNParams s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO Word32+    return val++-- XXX Skipped getter for "SignalQuery:param_types" :: Not implemented: "Don't know how to unpack C array of type TCArray False (-1) 5 (TBasicType TGType)"++-- callback ToggleNotify+toggleNotifyClosure :: ToggleNotify -> IO Closure+toggleNotifyClosure cb = newCClosure =<< mkToggleNotify wrapped+    where wrapped = toggleNotifyWrapper Nothing cb++type ToggleNotifyC =+    Ptr () ->+    Ptr Object ->+    CInt ->+    IO ()++foreign import ccall "wrapper"+    mkToggleNotify :: ToggleNotifyC -> IO (FunPtr ToggleNotifyC)++type ToggleNotify =+    Ptr () ->+    Object ->+    Bool ->+    IO ()++noToggleNotify :: Maybe ToggleNotify+noToggleNotify = Nothing++toggleNotifyWrapper ::+    Maybe (Ptr (FunPtr (ToggleNotifyC))) ->+    ToggleNotify ->+    Ptr () ->+    Ptr Object ->+    CInt ->+    IO ()+toggleNotifyWrapper funptrptr _cb data_ object is_last_ref = do+    object' <- (newObject Object) object+    let is_last_ref' = (/= 0) is_last_ref+    _cb  data_ object' is_last_ref'+    maybeReleaseFunPtr funptrptr++-- union TypeCValue +newtype TypeCValue = TypeCValue (ForeignPtr TypeCValue)+noTypeCValue :: Maybe TypeCValue+noTypeCValue = Nothing++typeCValueReadVInt :: TypeCValue -> IO Int32+typeCValueReadVInt s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++typeCValueReadVLong :: TypeCValue -> IO Int64+typeCValueReadVLong s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int64+    return val++typeCValueReadVInt64 :: TypeCValue -> IO Int64+typeCValueReadVInt64 s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int64+    return val++typeCValueReadVDouble :: TypeCValue -> IO Double+typeCValueReadVDouble s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CDouble+    let val' = realToFrac val+    return val'++typeCValueReadVPointer :: TypeCValue -> IO (Ptr ())+typeCValueReadVPointer s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())+    return val++-- struct TypeClass+newtype TypeClass = TypeClass (ForeignPtr TypeClass)+noTypeClass :: Maybe TypeClass+noTypeClass = Nothing++-- method TypeClass::peek_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "TypeClass"+-- throws : False+-- Skip return : False++foreign import ccall "g_type_class_peek_parent" g_type_class_peek_parent :: +    Ptr TypeClass ->                        -- _obj : TInterface "GObject" "TypeClass"+    IO (Ptr TypeClass)+++typeClassPeekParent ::+    (MonadIO m) =>+    TypeClass ->                            -- _obj+    m TypeClass+typeClassPeekParent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- g_type_class_peek_parent _obj'+    result' <- (newPtr 8 TypeClass) result+    touchManagedPtr _obj+    return result'++-- method TypeClass::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_class_unref" g_type_class_unref :: +    Ptr TypeClass ->                        -- _obj : TInterface "GObject" "TypeClass"+    IO ()+++typeClassUnref ::+    (MonadIO m) =>+    TypeClass ->                            -- _obj+    m ()+typeClassUnref _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    g_type_class_unref _obj'+    touchManagedPtr _obj+    return ()++-- callback TypeClassCacheFunc+typeClassCacheFuncClosure :: TypeClassCacheFunc -> IO Closure+typeClassCacheFuncClosure cb = newCClosure =<< mkTypeClassCacheFunc wrapped+    where wrapped = typeClassCacheFuncWrapper Nothing cb++type TypeClassCacheFuncC =+    Ptr () ->+    Ptr TypeClass ->+    IO CInt++foreign import ccall "wrapper"+    mkTypeClassCacheFunc :: TypeClassCacheFuncC -> IO (FunPtr TypeClassCacheFuncC)++type TypeClassCacheFunc =+    Ptr () ->+    TypeClass ->+    IO Bool++noTypeClassCacheFunc :: Maybe TypeClassCacheFunc+noTypeClassCacheFunc = Nothing++typeClassCacheFuncWrapper ::+    Maybe (Ptr (FunPtr (TypeClassCacheFuncC))) ->+    TypeClassCacheFunc ->+    Ptr () ->+    Ptr TypeClass ->+    IO CInt+typeClassCacheFuncWrapper funptrptr _cb cache_data g_class = do+    g_class' <- (newPtr 8 TypeClass) g_class+    result <- _cb  cache_data g_class'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- Flags TypeDebugFlags+{-# DEPRECATED TypeDebugFlags ["(Since version 2.36)","g_type_init() is now done automatically"]#-}+data TypeDebugFlags = +      TypeDebugFlagsNone+    | TypeDebugFlagsObjects+    | TypeDebugFlagsSignals+    | TypeDebugFlagsInstanceCount+    | TypeDebugFlagsMask+    | AnotherTypeDebugFlags Int+    deriving (Show, Eq)++instance Enum TypeDebugFlags where+    fromEnum TypeDebugFlagsNone = 0+    fromEnum TypeDebugFlagsObjects = 1+    fromEnum TypeDebugFlagsSignals = 2+    fromEnum TypeDebugFlagsInstanceCount = 4+    fromEnum TypeDebugFlagsMask = 7+    fromEnum (AnotherTypeDebugFlags k) = k++    toEnum 0 = TypeDebugFlagsNone+    toEnum 1 = TypeDebugFlagsObjects+    toEnum 2 = TypeDebugFlagsSignals+    toEnum 4 = TypeDebugFlagsInstanceCount+    toEnum 7 = TypeDebugFlagsMask+    toEnum k = AnotherTypeDebugFlags k++instance IsGFlag TypeDebugFlags++-- Flags TypeFlags++data TypeFlags = +      TypeFlagsAbstract+    | TypeFlagsValueAbstract+    | AnotherTypeFlags Int+    deriving (Show, Eq)++instance Enum TypeFlags where+    fromEnum TypeFlagsAbstract = 16+    fromEnum TypeFlagsValueAbstract = 32+    fromEnum (AnotherTypeFlags k) = k++    toEnum 16 = TypeFlagsAbstract+    toEnum 32 = TypeFlagsValueAbstract+    toEnum k = AnotherTypeFlags k++instance IsGFlag TypeFlags++-- Flags TypeFundamentalFlags++data TypeFundamentalFlags = +      TypeFundamentalFlagsClassed+    | TypeFundamentalFlagsInstantiatable+    | TypeFundamentalFlagsDerivable+    | TypeFundamentalFlagsDeepDerivable+    | AnotherTypeFundamentalFlags Int+    deriving (Show, Eq)++instance Enum TypeFundamentalFlags where+    fromEnum TypeFundamentalFlagsClassed = 1+    fromEnum TypeFundamentalFlagsInstantiatable = 2+    fromEnum TypeFundamentalFlagsDerivable = 4+    fromEnum TypeFundamentalFlagsDeepDerivable = 8+    fromEnum (AnotherTypeFundamentalFlags k) = k++    toEnum 1 = TypeFundamentalFlagsClassed+    toEnum 2 = TypeFundamentalFlagsInstantiatable+    toEnum 4 = TypeFundamentalFlagsDerivable+    toEnum 8 = TypeFundamentalFlagsDeepDerivable+    toEnum k = AnotherTypeFundamentalFlags k++instance IsGFlag TypeFundamentalFlags++-- struct TypeFundamentalInfo+newtype TypeFundamentalInfo = TypeFundamentalInfo (ForeignPtr TypeFundamentalInfo)+noTypeFundamentalInfo :: Maybe TypeFundamentalInfo+noTypeFundamentalInfo = Nothing++typeFundamentalInfoReadTypeFlags :: TypeFundamentalInfo -> IO [TypeFundamentalFlags]+typeFundamentalInfoReadTypeFlags s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = wordToGFlags val+    return val'++-- struct TypeInfo+newtype TypeInfo = TypeInfo (ForeignPtr TypeInfo)+noTypeInfo :: Maybe TypeInfo+noTypeInfo = Nothing++typeInfoReadClassSize :: TypeInfo -> IO Word16+typeInfoReadClassSize s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word16+    return val++-- XXX Skipped getter for "TypeInfo:base_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "TypeInfo:base_finalize" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "TypeInfo:class_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "TypeInfo:class_finalize" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++typeInfoReadClassData :: TypeInfo -> IO (Ptr ())+typeInfoReadClassData s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr ())+    return val++typeInfoReadInstanceSize :: TypeInfo -> IO Word16+typeInfoReadInstanceSize s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Word16+    return val++typeInfoReadNPreallocs :: TypeInfo -> IO Word16+typeInfoReadNPreallocs s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 50) :: IO Word16+    return val++-- XXX Skipped getter for "TypeInfo:instance_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++typeInfoReadValueTable :: TypeInfo -> IO TypeValueTable+typeInfoReadValueTable s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO (Ptr TypeValueTable)+    val' <- (newPtr 64 TypeValueTable) val+    return val'++-- struct TypeInstance+newtype TypeInstance = TypeInstance (ForeignPtr TypeInstance)+noTypeInstance :: Maybe TypeInstance+noTypeInstance = Nothing++-- struct TypeInterface+newtype TypeInterface = TypeInterface (ForeignPtr TypeInterface)+noTypeInterface :: Maybe TypeInterface+noTypeInterface = Nothing++-- method TypeInterface::peek_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeInterface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeInterface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "TypeInterface"+-- throws : False+-- Skip return : False++foreign import ccall "g_type_interface_peek_parent" g_type_interface_peek_parent :: +    Ptr TypeInterface ->                    -- _obj : TInterface "GObject" "TypeInterface"+    IO (Ptr TypeInterface)+++typeInterfacePeekParent ::+    (MonadIO m) =>+    TypeInterface ->                        -- _obj+    m TypeInterface+typeInterfacePeekParent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- g_type_interface_peek_parent _obj'+    result' <- (newPtr 16 TypeInterface) result+    touchManagedPtr _obj+    return result'++-- callback TypeInterfaceCheckFunc+typeInterfaceCheckFuncClosure :: TypeInterfaceCheckFunc -> IO Closure+typeInterfaceCheckFuncClosure cb = newCClosure =<< mkTypeInterfaceCheckFunc wrapped+    where wrapped = typeInterfaceCheckFuncWrapper Nothing cb++type TypeInterfaceCheckFuncC =+    Ptr () ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkTypeInterfaceCheckFunc :: TypeInterfaceCheckFuncC -> IO (FunPtr TypeInterfaceCheckFuncC)++type TypeInterfaceCheckFunc =+    Ptr () ->+    Ptr () ->+    IO ()++noTypeInterfaceCheckFunc :: Maybe TypeInterfaceCheckFunc+noTypeInterfaceCheckFunc = Nothing++typeInterfaceCheckFuncWrapper ::+    Maybe (Ptr (FunPtr (TypeInterfaceCheckFuncC))) ->+    TypeInterfaceCheckFunc ->+    Ptr () ->+    Ptr () ->+    IO ()+typeInterfaceCheckFuncWrapper funptrptr _cb check_data g_iface = do+    _cb  check_data g_iface+    maybeReleaseFunPtr funptrptr++-- object TypeModule +newtype TypeModule = TypeModule (ForeignPtr TypeModule)+noTypeModule :: Maybe TypeModule+noTypeModule = Nothing++foreign import ccall "g_type_module_get_type"+    c_g_type_module_get_type :: IO GType++type instance ParentTypes TypeModule = '[Object, TypePlugin]++instance GObject TypeModule where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_g_type_module_get_type+    ++class GObject o => TypeModuleK o+instance (GObject o, IsDescendantOf TypeModule o) => TypeModuleK o++toTypeModule :: TypeModuleK o => o -> IO TypeModule+toTypeModule = unsafeCastTo TypeModule++-- method TypeModule::add_interface+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_info", argType = TInterface "GObject" "InterfaceInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_info", argType = TInterface "GObject" "InterfaceInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_module_add_interface" g_type_module_add_interface :: +    Ptr TypeModule ->                       -- _obj : TInterface "GObject" "TypeModule"+    CGType ->                               -- instance_type : TBasicType TGType+    CGType ->                               -- interface_type : TBasicType TGType+    Ptr InterfaceInfo ->                    -- interface_info : TInterface "GObject" "InterfaceInfo"+    IO ()+++typeModuleAddInterface ::+    (MonadIO m, TypeModuleK a) =>+    a ->                                    -- _obj+    GType ->                                -- instance_type+    GType ->                                -- interface_type+    InterfaceInfo ->                        -- interface_info+    m ()+typeModuleAddInterface _obj instance_type interface_type interface_info = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let instance_type' = gtypeToCGType instance_type+    let interface_type' = gtypeToCGType interface_type+    let interface_info' = unsafeManagedPtrGetPtr interface_info+    g_type_module_add_interface _obj' instance_type' interface_type' interface_info'+    touchManagedPtr _obj+    touchManagedPtr interface_info+    return ()++-- method TypeModule::register_enum+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_static_values", argType = TInterface "GObject" "EnumValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_static_values", argType = TInterface "GObject" "EnumValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_module_register_enum" g_type_module_register_enum :: +    Ptr TypeModule ->                       -- _obj : TInterface "GObject" "TypeModule"+    CString ->                              -- name : TBasicType TUTF8+    Ptr EnumValue ->                        -- const_static_values : TInterface "GObject" "EnumValue"+    IO CGType+++typeModuleRegisterEnum ::+    (MonadIO m, TypeModuleK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- name+    EnumValue ->                            -- const_static_values+    m GType+typeModuleRegisterEnum _obj name const_static_values = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    name' <- textToCString name+    let const_static_values' = unsafeManagedPtrGetPtr const_static_values+    result <- g_type_module_register_enum _obj' name' const_static_values'+    let result' = GType result+    touchManagedPtr _obj+    touchManagedPtr const_static_values+    freeMem name'+    return result'++-- method TypeModule::register_flags+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_static_values", argType = TInterface "GObject" "FlagsValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_static_values", argType = TInterface "GObject" "FlagsValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_module_register_flags" g_type_module_register_flags :: +    Ptr TypeModule ->                       -- _obj : TInterface "GObject" "TypeModule"+    CString ->                              -- name : TBasicType TUTF8+    Ptr FlagsValue ->                       -- const_static_values : TInterface "GObject" "FlagsValue"+    IO CGType+++typeModuleRegisterFlags ::+    (MonadIO m, TypeModuleK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- name+    FlagsValue ->                           -- const_static_values+    m GType+typeModuleRegisterFlags _obj name const_static_values = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    name' <- textToCString name+    let const_static_values' = unsafeManagedPtrGetPtr const_static_values+    result <- g_type_module_register_flags _obj' name' const_static_values'+    let result' = GType result+    touchManagedPtr _obj+    touchManagedPtr const_static_values+    freeMem name'+    return result'++-- method TypeModule::register_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_module_register_type" g_type_module_register_type :: +    Ptr TypeModule ->                       -- _obj : TInterface "GObject" "TypeModule"+    CGType ->                               -- parent_type : TBasicType TGType+    CString ->                              -- type_name : TBasicType TUTF8+    Ptr TypeInfo ->                         -- type_info : TInterface "GObject" "TypeInfo"+    CUInt ->                                -- flags : TInterface "GObject" "TypeFlags"+    IO CGType+++typeModuleRegisterType ::+    (MonadIO m, TypeModuleK a) =>+    a ->                                    -- _obj+    GType ->                                -- parent_type+    T.Text ->                               -- type_name+    TypeInfo ->                             -- type_info+    [TypeFlags] ->                          -- flags+    m GType+typeModuleRegisterType _obj parent_type type_name type_info flags = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let parent_type' = gtypeToCGType parent_type+    type_name' <- textToCString type_name+    let type_info' = unsafeManagedPtrGetPtr type_info+    let flags' = gflagsToWord flags+    result <- g_type_module_register_type _obj' parent_type' type_name' type_info' flags'+    let result' = GType result+    touchManagedPtr _obj+    touchManagedPtr type_info+    freeMem type_name'+    return result'++-- method TypeModule::set_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_module_set_name" g_type_module_set_name :: +    Ptr TypeModule ->                       -- _obj : TInterface "GObject" "TypeModule"+    CString ->                              -- name : TBasicType TUTF8+    IO ()+++typeModuleSetName ::+    (MonadIO m, TypeModuleK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- name+    m ()+typeModuleSetName _obj name = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    name' <- textToCString name+    g_type_module_set_name _obj' name'+    touchManagedPtr _obj+    freeMem name'+    return ()++-- method TypeModule::unuse+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_module_unuse" g_type_module_unuse :: +    Ptr TypeModule ->                       -- _obj : TInterface "GObject" "TypeModule"+    IO ()+++typeModuleUnuse ::+    (MonadIO m, TypeModuleK a) =>+    a ->                                    -- _obj+    m ()+typeModuleUnuse _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_type_module_unuse _obj'+    touchManagedPtr _obj+    return ()++-- method TypeModule::use+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_module_use" g_type_module_use :: +    Ptr TypeModule ->                       -- _obj : TInterface "GObject" "TypeModule"+    IO CInt+++typeModuleUse ::+    (MonadIO m, TypeModuleK a) =>+    a ->                                    -- _obj+    m Bool+typeModuleUse _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- g_type_module_use _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- interface TypePlugin ++newtype TypePlugin = TypePlugin (ForeignPtr TypePlugin)+noTypePlugin :: Maybe TypePlugin+noTypePlugin = Nothing++class ForeignPtrNewtype a => TypePluginK a+instance (ForeignPtrNewtype o, IsDescendantOf TypePlugin o) => TypePluginK o+type instance ParentTypes TypePlugin = '[]++-- method TypePlugin::complete_interface_info+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "InterfaceInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "InterfaceInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_plugin_complete_interface_info" g_type_plugin_complete_interface_info :: +    Ptr TypePlugin ->                       -- _obj : TInterface "GObject" "TypePlugin"+    CGType ->                               -- instance_type : TBasicType TGType+    CGType ->                               -- interface_type : TBasicType TGType+    Ptr InterfaceInfo ->                    -- info : TInterface "GObject" "InterfaceInfo"+    IO ()+++typePluginCompleteInterfaceInfo ::+    (MonadIO m, TypePluginK a) =>+    a ->                                    -- _obj+    GType ->                                -- instance_type+    GType ->                                -- interface_type+    InterfaceInfo ->                        -- info+    m ()+typePluginCompleteInterfaceInfo _obj instance_type interface_type info = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let instance_type' = gtypeToCGType instance_type+    let interface_type' = gtypeToCGType interface_type+    let info' = unsafeManagedPtrGetPtr info+    g_type_plugin_complete_interface_info _obj' instance_type' interface_type' info'+    touchManagedPtr _obj+    touchManagedPtr info+    return ()++-- method TypePlugin::complete_type_info+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value_table", argType = TInterface "GObject" "TypeValueTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value_table", argType = TInterface "GObject" "TypeValueTable", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_plugin_complete_type_info" g_type_plugin_complete_type_info :: +    Ptr TypePlugin ->                       -- _obj : TInterface "GObject" "TypePlugin"+    CGType ->                               -- g_type : TBasicType TGType+    Ptr TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"+    Ptr TypeValueTable ->                   -- value_table : TInterface "GObject" "TypeValueTable"+    IO ()+++typePluginCompleteTypeInfo ::+    (MonadIO m, TypePluginK a) =>+    a ->                                    -- _obj+    GType ->                                -- g_type+    TypeInfo ->                             -- info+    TypeValueTable ->                       -- value_table+    m ()+typePluginCompleteTypeInfo _obj g_type info value_table = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let g_type' = gtypeToCGType g_type+    let info' = unsafeManagedPtrGetPtr info+    let value_table' = unsafeManagedPtrGetPtr value_table+    g_type_plugin_complete_type_info _obj' g_type' info' value_table'+    touchManagedPtr _obj+    touchManagedPtr info+    touchManagedPtr value_table+    return ()++-- method TypePlugin::unuse+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_plugin_unuse" g_type_plugin_unuse :: +    Ptr TypePlugin ->                       -- _obj : TInterface "GObject" "TypePlugin"+    IO ()+++typePluginUnuse ::+    (MonadIO m, TypePluginK a) =>+    a ->                                    -- _obj+    m ()+typePluginUnuse _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_type_plugin_unuse _obj'+    touchManagedPtr _obj+    return ()++-- method TypePlugin::use+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_plugin_use" g_type_plugin_use :: +    Ptr TypePlugin ->                       -- _obj : TInterface "GObject" "TypePlugin"+    IO ()+++typePluginUse ::+    (MonadIO m, TypePluginK a) =>+    a ->                                    -- _obj+    m ()+typePluginUse _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    g_type_plugin_use _obj'+    touchManagedPtr _obj+    return ()++-- struct TypePluginClass+newtype TypePluginClass = TypePluginClass (ForeignPtr TypePluginClass)+noTypePluginClass :: Maybe TypePluginClass+noTypePluginClass = Nothing++-- XXX Skipped getter for "TypePluginClass:use_plugin" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "TypePluginClass:unuse_plugin" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "TypePluginClass:complete_type_info" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "TypePluginClass:complete_interface_info" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- callback TypePluginCompleteInterfaceInfo+-- XXX Could not generate callback wrapper for TypePluginCompleteInterfaceInfo+-- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."+-- callback TypePluginCompleteTypeInfo+-- XXX Could not generate callback wrapper for TypePluginCompleteTypeInfo+-- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."+-- callback TypePluginUnuse+-- XXX Could not generate callback wrapper for TypePluginUnuse+-- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."+-- callback TypePluginUse+-- XXX Could not generate callback wrapper for TypePluginUse+-- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."+-- struct TypeQuery+newtype TypeQuery = TypeQuery (ForeignPtr TypeQuery)+noTypeQuery :: Maybe TypeQuery+noTypeQuery = Nothing++typeQueryReadType :: TypeQuery -> IO GType+typeQueryReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CGType+    let val' = GType val+    return val'++typeQueryReadTypeName :: TypeQuery -> IO T.Text+typeQueryReadTypeName s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CString+    val' <- cstringToText val+    return val'++typeQueryReadClassSize :: TypeQuery -> IO Word32+typeQueryReadClassSize s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Word32+    return val++typeQueryReadInstanceSize :: TypeQuery -> IO Word32+typeQueryReadInstanceSize s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++-- struct TypeValueTable+newtype TypeValueTable = TypeValueTable (ForeignPtr TypeValueTable)+noTypeValueTable :: Maybe TypeValueTable+noTypeValueTable = Nothing++-- XXX Skipped getter for "TypeValueTable:value_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "TypeValueTable:value_free" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "TypeValueTable:value_copy" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++typeValueTableReadCollectFormat :: TypeValueTable -> IO T.Text+typeValueTableReadCollectFormat s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CString+    val' <- cstringToText val+    return val'++-- XXX Skipped getter for "TypeValueTable:collect_value" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++typeValueTableReadLcopyFormat :: TypeValueTable -> IO T.Text+typeValueTableReadLcopyFormat s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CString+    val' <- cstringToText val+    return val'++-- XXX Skipped getter for "TypeValueTable:lcopy_value" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- struct ValueArray+newtype ValueArray = ValueArray (ForeignPtr ValueArray)+noValueArray :: Maybe ValueArray+noValueArray = Nothing++foreign import ccall "g_value_array_get_type" c_g_value_array_get_type :: +    IO GType++instance BoxedObject ValueArray where+    boxedType _ = c_g_value_array_get_type++valueArrayReadNValues :: ValueArray -> IO Word32+valueArrayReadNValues s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++valueArrayReadValues :: ValueArray -> IO GValue+valueArrayReadValues s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GValue)+    val' <- (newBoxed GValue) val+    return val'++-- method ValueArray::new+-- method type : Constructor+-- Args : [Arg {argName = "n_prealloced", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "n_prealloced", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "ValueArray"+-- throws : False+-- Skip return : False++foreign import ccall "g_value_array_new" g_value_array_new :: +    Word32 ->                               -- n_prealloced : TBasicType TUInt32+    IO (Ptr ValueArray)++{-# DEPRECATED valueArrayNew ["(Since version 2.32)","Use #GArray and g_array_sized_new() instead."]#-}+valueArrayNew ::+    (MonadIO m) =>+    Word32 ->                               -- n_prealloced+    m ValueArray+valueArrayNew n_prealloced = liftIO $ do+    result <- g_value_array_new n_prealloced+    result' <- (wrapBoxed ValueArray) result+    return result'++-- method ValueArray::append+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "ValueArray"+-- throws : False+-- Skip return : False++foreign import ccall "g_value_array_append" g_value_array_append :: +    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO (Ptr ValueArray)++{-# DEPRECATED valueArrayAppend ["(Since version 2.32)","Use #GArray and g_array_append_val() instead."]#-}+valueArrayAppend ::+    (MonadIO m) =>+    ValueArray ->                           -- _obj+    Maybe (GValue) ->                       -- value+    m ValueArray+valueArrayAppend _obj value = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybeValue <- case value of+        Nothing -> return nullPtr+        Just jValue -> do+            let jValue' = unsafeManagedPtrGetPtr jValue+            return jValue'+    result <- g_value_array_append _obj' maybeValue+    result' <- (newBoxed ValueArray) result+    touchManagedPtr _obj+    whenJust value touchManagedPtr+    return result'++-- method ValueArray::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "ValueArray"+-- throws : False+-- Skip return : False++foreign import ccall "g_value_array_copy" g_value_array_copy :: +    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"+    IO (Ptr ValueArray)++{-# DEPRECATED valueArrayCopy ["(Since version 2.32)","Use #GArray and g_array_ref() instead."]#-}+valueArrayCopy ::+    (MonadIO m) =>+    ValueArray ->                           -- _obj+    m ValueArray+valueArrayCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- g_value_array_copy _obj'+    result' <- (wrapBoxed ValueArray) result+    touchManagedPtr _obj+    return result'++-- method ValueArray::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_value_array_free" g_value_array_free :: +    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"+    IO ()++{-# DEPRECATED valueArrayFree ["(Since version 2.32)","Use #GArray and g_array_unref() instead."]#-}+valueArrayFree ::+    (MonadIO m) =>+    ValueArray ->                           -- _obj+    m ()+valueArrayFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    g_value_array_free _obj'+    touchManagedPtr _obj+    return ()++-- method ValueArray::get_nth+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "Value"+-- throws : False+-- Skip return : False++foreign import ccall "g_value_array_get_nth" g_value_array_get_nth :: +    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"+    Word32 ->                               -- index_ : TBasicType TUInt32+    IO (Ptr GValue)++{-# DEPRECATED valueArrayGetNth ["(Since version 2.32)","Use g_array_index() instead."]#-}+valueArrayGetNth ::+    (MonadIO m) =>+    ValueArray ->                           -- _obj+    Word32 ->                               -- index_+    m GValue+valueArrayGetNth _obj index_ = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- g_value_array_get_nth _obj' index_+    result' <- (newBoxed GValue) result+    touchManagedPtr _obj+    return result'++-- method ValueArray::insert+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "ValueArray"+-- throws : False+-- Skip return : False++foreign import ccall "g_value_array_insert" g_value_array_insert :: +    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"+    Word32 ->                               -- index_ : TBasicType TUInt32+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO (Ptr ValueArray)++{-# DEPRECATED valueArrayInsert ["(Since version 2.32)","Use #GArray and g_array_insert_val() instead."]#-}+valueArrayInsert ::+    (MonadIO m) =>+    ValueArray ->                           -- _obj+    Word32 ->                               -- index_+    Maybe (GValue) ->                       -- value+    m ValueArray+valueArrayInsert _obj index_ value = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybeValue <- case value of+        Nothing -> return nullPtr+        Just jValue -> do+            let jValue' = unsafeManagedPtrGetPtr jValue+            return jValue'+    result <- g_value_array_insert _obj' index_ maybeValue+    result' <- (newBoxed ValueArray) result+    touchManagedPtr _obj+    whenJust value touchManagedPtr+    return result'++-- method ValueArray::prepend+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "ValueArray"+-- throws : False+-- Skip return : False++foreign import ccall "g_value_array_prepend" g_value_array_prepend :: +    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO (Ptr ValueArray)++{-# DEPRECATED valueArrayPrepend ["(Since version 2.32)","Use #GArray and g_array_prepend_val() instead."]#-}+valueArrayPrepend ::+    (MonadIO m) =>+    ValueArray ->                           -- _obj+    Maybe (GValue) ->                       -- value+    m ValueArray+valueArrayPrepend _obj value = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybeValue <- case value of+        Nothing -> return nullPtr+        Just jValue -> do+            let jValue' = unsafeManagedPtrGetPtr jValue+            return jValue'+    result <- g_value_array_prepend _obj' maybeValue+    result' <- (newBoxed ValueArray) result+    touchManagedPtr _obj+    whenJust value touchManagedPtr+    return result'++-- method ValueArray::remove+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "ValueArray"+-- throws : False+-- Skip return : False++foreign import ccall "g_value_array_remove" g_value_array_remove :: +    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"+    Word32 ->                               -- index_ : TBasicType TUInt32+    IO (Ptr ValueArray)++{-# DEPRECATED valueArrayRemove ["(Since version 2.32)","Use #GArray and g_array_remove_index() instead."]#-}+valueArrayRemove ::+    (MonadIO m) =>+    ValueArray ->                           -- _obj+    Word32 ->                               -- index_+    m ValueArray+valueArrayRemove _obj index_ = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- g_value_array_remove _obj' index_+    result' <- (newBoxed ValueArray) result+    touchManagedPtr _obj+    return result'++-- method ValueArray::sort+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compare_func", argType = TInterface "GLib" "CompareDataFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compare_func", argType = TInterface "GLib" "CompareDataFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "ValueArray"+-- throws : False+-- Skip return : False++foreign import ccall "g_value_array_sort_with_data" g_value_array_sort_with_data :: +    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"+    FunPtr GLib.CompareDataFuncC ->         -- compare_func : TInterface "GLib" "CompareDataFunc"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO (Ptr ValueArray)++{-# DEPRECATED valueArraySort ["(Since version 2.32)","Use #GArray and g_array_sort_with_data()."]#-}+valueArraySort ::+    (MonadIO m) =>+    ValueArray ->                           -- _obj+    GLib.CompareDataFunc ->                 -- compare_func+    m ValueArray+valueArraySort _obj compare_func = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    compare_func' <- GLib.mkCompareDataFunc (GLib.compareDataFuncWrapper Nothing compare_func)+    let user_data = nullPtr+    result <- g_value_array_sort_with_data _obj' compare_func' user_data+    result' <- (newBoxed ValueArray) result+    safeFreeFunPtr $ castFunPtrToPtr compare_func'+    touchManagedPtr _obj+    return result'++-- callback ValueTransform+valueTransformClosure :: ValueTransform -> IO Closure+valueTransformClosure cb = newCClosure =<< mkValueTransform wrapped+    where wrapped = valueTransformWrapper Nothing cb++type ValueTransformC =+    Ptr GValue ->+    Ptr GValue ->+    IO ()++foreign import ccall "wrapper"+    mkValueTransform :: ValueTransformC -> IO (FunPtr ValueTransformC)++type ValueTransform =+    GValue ->+    GValue ->+    IO ()++noValueTransform :: Maybe ValueTransform+noValueTransform = Nothing++valueTransformWrapper ::+    Maybe (Ptr (FunPtr (ValueTransformC))) ->+    ValueTransform ->+    Ptr GValue ->+    Ptr GValue ->+    IO ()+valueTransformWrapper funptrptr _cb src_value dest_value = do+    src_value' <- (newBoxed GValue) src_value+    dest_value' <- (newBoxed GValue) dest_value+    _cb  src_value' dest_value'+    maybeReleaseFunPtr funptrptr++-- callback WeakNotify+weakNotifyClosure :: WeakNotify -> IO Closure+weakNotifyClosure cb = newCClosure =<< mkWeakNotify wrapped+    where wrapped = weakNotifyWrapper Nothing cb++type WeakNotifyC =+    Ptr () ->+    Ptr Object ->+    IO ()++foreign import ccall "wrapper"+    mkWeakNotify :: WeakNotifyC -> IO (FunPtr WeakNotifyC)++type WeakNotify =+    Ptr () ->+    Object ->+    IO ()++noWeakNotify :: Maybe WeakNotify+noWeakNotify = Nothing++weakNotifyWrapper ::+    Maybe (Ptr (FunPtr (WeakNotifyC))) ->+    WeakNotify ->+    Ptr () ->+    Ptr Object ->+    IO ()+weakNotifyWrapper funptrptr _cb data_ where_the_object_was = do+    where_the_object_was' <- (newObject Object) where_the_object_was+    _cb  data_ where_the_object_was'+    maybeReleaseFunPtr funptrptr++-- struct WeakRef+newtype WeakRef = WeakRef (ForeignPtr WeakRef)+noWeakRef :: Maybe WeakRef+noWeakRef = Nothing++-- constant _PARAM_MASK++_PARAM_MASK :: Int32+_PARAM_MASK = 255+-- constant _PARAM_STATIC_STRINGS++_PARAM_STATIC_STRINGS :: Int32+_PARAM_STATIC_STRINGS = 0+-- constant _PARAM_USER_SHIFT++_PARAM_USER_SHIFT :: Int32+_PARAM_USER_SHIFT = 8+-- constant _SIGNAL_FLAGS_MASK++_SIGNAL_FLAGS_MASK :: Int32+_SIGNAL_FLAGS_MASK = 511+-- constant _SIGNAL_MATCH_MASK++_SIGNAL_MATCH_MASK :: Int32+_SIGNAL_MATCH_MASK = 63+-- constant _TYPE_FLAG_RESERVED_ID_BIT++_TYPE_FLAG_RESERVED_ID_BIT :: Word64+_TYPE_FLAG_RESERVED_ID_BIT = 1+-- constant _TYPE_FUNDAMENTAL_MAX++_TYPE_FUNDAMENTAL_MAX :: Int32+_TYPE_FUNDAMENTAL_MAX = 255+-- constant _TYPE_FUNDAMENTAL_SHIFT++_TYPE_FUNDAMENTAL_SHIFT :: Int32+_TYPE_FUNDAMENTAL_SHIFT = 2+-- constant _TYPE_RESERVED_BSE_FIRST++_TYPE_RESERVED_BSE_FIRST :: Int32+_TYPE_RESERVED_BSE_FIRST = 32+-- constant _TYPE_RESERVED_BSE_LAST++_TYPE_RESERVED_BSE_LAST :: Int32+_TYPE_RESERVED_BSE_LAST = 48+-- constant _TYPE_RESERVED_GLIB_FIRST++_TYPE_RESERVED_GLIB_FIRST :: Int32+_TYPE_RESERVED_GLIB_FIRST = 22+-- constant _TYPE_RESERVED_GLIB_LAST++_TYPE_RESERVED_GLIB_LAST :: Int32+_TYPE_RESERVED_GLIB_LAST = 31+-- constant _TYPE_RESERVED_USER_FIRST++_TYPE_RESERVED_USER_FIRST :: Int32+_TYPE_RESERVED_USER_FIRST = 49+-- constant _VALUE_COLLECT_FORMAT_MAX_LENGTH++_VALUE_COLLECT_FORMAT_MAX_LENGTH :: Int32+_VALUE_COLLECT_FORMAT_MAX_LENGTH = 8+-- constant _VALUE_NOCOPY_CONTENTS++_VALUE_NOCOPY_CONTENTS :: Int32+_VALUE_NOCOPY_CONTENTS = 134217728+-- union Value_Data_Union_ +newtype Value_Data_Union_ = Value_Data_Union_ (ForeignPtr Value_Data_Union_)+noValue_Data_Union_ :: Maybe Value_Data_Union_+noValue_Data_Union_ = Nothing++value_Data_Union_ReadVInt :: Value_Data_Union_ -> IO Int32+value_Data_Union_ReadVInt s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++value_Data_Union_ReadVUint :: Value_Data_Union_ -> IO Word32+value_Data_Union_ReadVUint s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++value_Data_Union_ReadVLong :: Value_Data_Union_ -> IO Int64+value_Data_Union_ReadVLong s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int64+    return val++value_Data_Union_ReadVUlong :: Value_Data_Union_ -> IO Word64+value_Data_Union_ReadVUlong s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word64+    return val++value_Data_Union_ReadVInt64 :: Value_Data_Union_ -> IO Int64+value_Data_Union_ReadVInt64 s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int64+    return val++value_Data_Union_ReadVUint64 :: Value_Data_Union_ -> IO Word64+value_Data_Union_ReadVUint64 s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word64+    return val++value_Data_Union_ReadVFloat :: Value_Data_Union_ -> IO Float+value_Data_Union_ReadVFloat s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CFloat+    let val' = realToFrac val+    return val'++value_Data_Union_ReadVDouble :: Value_Data_Union_ -> IO Double+value_Data_Union_ReadVDouble s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CDouble+    let val' = realToFrac val+    return val'++value_Data_Union_ReadVPointer :: Value_Data_Union_ -> IO (Ptr ())+value_Data_Union_ReadVPointer s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())+    return val++-- function g_boxed_copy+-- Args : [Arg {argName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_boxed", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_boxed", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_boxed_copy" g_boxed_copy :: +    CGType ->                               -- boxed_type : TBasicType TGType+    Ptr () ->                               -- src_boxed : TBasicType TVoid+    IO ()+++boxedCopy ::+    (MonadIO m) =>+    GType ->                                -- boxed_type+    Ptr () ->                               -- src_boxed+    m ()+boxedCopy boxed_type src_boxed = liftIO $ do+    let boxed_type' = gtypeToCGType boxed_type+    g_boxed_copy boxed_type' src_boxed+    return ()++-- function g_boxed_free+-- Args : [Arg {argName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boxed", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boxed", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_boxed_free" g_boxed_free :: +    CGType ->                               -- boxed_type : TBasicType TGType+    Ptr () ->                               -- boxed : TBasicType TVoid+    IO ()+++boxedFree ::+    (MonadIO m) =>+    GType ->                                -- boxed_type+    Ptr () ->                               -- boxed+    m ()+boxedFree boxed_type boxed = liftIO $ do+    let boxed_type' = gtypeToCGType boxed_type+    g_boxed_free boxed_type' boxed+    return ()++-- function g_cclosure_marshal_BOOLEAN__BOXED_BOXED+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_BOOLEAN__BOXED_BOXED" g_cclosure_marshal_BOOLEAN__BOXED_BOXED :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalBOOLEAN_BOXEDBOXED ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalBOOLEAN_BOXEDBOXED closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_BOOLEAN__BOXED_BOXED closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_BOOLEAN__FLAGS+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_BOOLEAN__FLAGS" g_cclosure_marshal_BOOLEAN__FLAGS :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalBOOLEAN_FLAGS ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalBOOLEAN_FLAGS closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_BOOLEAN__FLAGS closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_STRING__OBJECT_POINTER+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_STRING__OBJECT_POINTER" g_cclosure_marshal_STRING__OBJECT_POINTER :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalSTRING_OBJECTPOINTER ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalSTRING_OBJECTPOINTER closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_STRING__OBJECT_POINTER closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__BOOLEAN+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__BOOLEAN" g_cclosure_marshal_VOID__BOOLEAN :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_BOOLEAN ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_BOOLEAN closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__BOOLEAN closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__BOXED+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__BOXED" g_cclosure_marshal_VOID__BOXED :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_BOXED ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_BOXED closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__BOXED closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__CHAR+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__CHAR" g_cclosure_marshal_VOID__CHAR :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_CHAR ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_CHAR closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__CHAR closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__DOUBLE+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__DOUBLE" g_cclosure_marshal_VOID__DOUBLE :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_DOUBLE ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_DOUBLE closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__DOUBLE closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__ENUM+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__ENUM" g_cclosure_marshal_VOID__ENUM :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_ENUM ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_ENUM closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__ENUM closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__FLAGS+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__FLAGS" g_cclosure_marshal_VOID__FLAGS :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_FLAGS ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_FLAGS closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__FLAGS closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__FLOAT+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__FLOAT" g_cclosure_marshal_VOID__FLOAT :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_FLOAT ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_FLOAT closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__FLOAT closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__INT+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__INT" g_cclosure_marshal_VOID__INT :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_INT ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_INT closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__INT closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__LONG+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__LONG" g_cclosure_marshal_VOID__LONG :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_LONG ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_LONG closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__LONG closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__OBJECT+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__OBJECT" g_cclosure_marshal_VOID__OBJECT :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_OBJECT ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_OBJECT closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__OBJECT closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__PARAM+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__PARAM" g_cclosure_marshal_VOID__PARAM :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_PARAM ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_PARAM closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__PARAM closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__POINTER+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__POINTER" g_cclosure_marshal_VOID__POINTER :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_POINTER ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_POINTER closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__POINTER closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__STRING+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__STRING" g_cclosure_marshal_VOID__STRING :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_STRING ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_STRING closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__STRING closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__UCHAR+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__UCHAR" g_cclosure_marshal_VOID__UCHAR :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_UCHAR ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_UCHAR closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__UCHAR closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__UINT+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__UINT" g_cclosure_marshal_VOID__UINT :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_UINT ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_UINT closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__UINT closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__UINT_POINTER+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__UINT_POINTER" g_cclosure_marshal_VOID__UINT_POINTER :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_UINTPOINTER ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_UINTPOINTER closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__UINT_POINTER closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__ULONG+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__ULONG" g_cclosure_marshal_VOID__ULONG :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_ULONG ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_ULONG closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__ULONG closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__VARIANT+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__VARIANT" g_cclosure_marshal_VOID__VARIANT :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_VARIANT ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_VARIANT closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__VARIANT closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_VOID__VOID+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_VOID__VOID" g_cclosure_marshal_VOID__VOID :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalVOID_VOID ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_value+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalVOID_VOID closure return_value n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_value' = unsafeManagedPtrGetPtr return_value+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_VOID__VOID closure' return_value' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_value+    touchManagedPtr param_values+    return ()++-- function g_cclosure_marshal_generic+-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_gvalue", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_gvalue", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_param_values", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invocation_hint", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "marshal_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_cclosure_marshal_generic" g_cclosure_marshal_generic :: +    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr GValue ->                           -- return_gvalue : TInterface "GObject" "Value"+    Word32 ->                               -- n_param_values : TBasicType TUInt32+    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"+    Ptr () ->                               -- invocation_hint : TBasicType TVoid+    Ptr () ->                               -- marshal_data : TBasicType TVoid+    IO ()+++cclosureMarshalGeneric ::+    (MonadIO m) =>+    Closure ->                              -- closure+    GValue ->                               -- return_gvalue+    Word32 ->                               -- n_param_values+    GValue ->                               -- param_values+    Ptr () ->                               -- invocation_hint+    Ptr () ->                               -- marshal_data+    m ()+cclosureMarshalGeneric closure return_gvalue n_param_values param_values invocation_hint marshal_data = liftIO $ do+    let closure' = unsafeManagedPtrGetPtr closure+    let return_gvalue' = unsafeManagedPtrGetPtr return_gvalue+    let param_values' = unsafeManagedPtrGetPtr param_values+    g_cclosure_marshal_generic closure' return_gvalue' n_param_values param_values' invocation_hint marshal_data+    touchManagedPtr closure+    touchManagedPtr return_gvalue+    touchManagedPtr param_values+    return ()++-- function g_enum_complete_type_info+-- Args : [Arg {argName = "g_enum_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "const_values", argType = TInterface "GObject" "EnumValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_enum_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_values", argType = TInterface "GObject" "EnumValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_complete_type_info" g_enum_complete_type_info :: +    CGType ->                               -- g_enum_type : TBasicType TGType+    Ptr TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"+    Ptr EnumValue ->                        -- const_values : TInterface "GObject" "EnumValue"+    IO ()+++enumCompleteTypeInfo ::+    (MonadIO m) =>+    GType ->                                -- g_enum_type+    EnumValue ->                            -- const_values+    m (TypeInfo)+enumCompleteTypeInfo g_enum_type const_values = liftIO $ do+    let g_enum_type' = gtypeToCGType g_enum_type+    info <- callocBytes 72 :: IO (Ptr TypeInfo)+    let const_values' = unsafeManagedPtrGetPtr const_values+    g_enum_complete_type_info g_enum_type' info const_values'+    info' <- (wrapPtr TypeInfo) info+    touchManagedPtr const_values+    return info'++-- function g_enum_get_value+-- Args : [Arg {argName = "enum_class", argType = TInterface "GObject" "EnumClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "enum_class", argType = TInterface "GObject" "EnumClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "EnumValue"+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_get_value" g_enum_get_value :: +    Ptr EnumClass ->                        -- enum_class : TInterface "GObject" "EnumClass"+    Int32 ->                                -- value : TBasicType TInt32+    IO (Ptr EnumValue)+++enumGetValue ::+    (MonadIO m) =>+    EnumClass ->                            -- enum_class+    Int32 ->                                -- value+    m EnumValue+enumGetValue enum_class value = liftIO $ do+    let enum_class' = unsafeManagedPtrGetPtr enum_class+    result <- g_enum_get_value enum_class' value+    result' <- (newPtr 24 EnumValue) result+    touchManagedPtr enum_class+    return result'++-- function g_enum_get_value_by_name+-- Args : [Arg {argName = "enum_class", argType = TInterface "GObject" "EnumClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "enum_class", argType = TInterface "GObject" "EnumClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "EnumValue"+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_get_value_by_name" g_enum_get_value_by_name :: +    Ptr EnumClass ->                        -- enum_class : TInterface "GObject" "EnumClass"+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr EnumValue)+++enumGetValueByName ::+    (MonadIO m) =>+    EnumClass ->                            -- enum_class+    T.Text ->                               -- name+    m EnumValue+enumGetValueByName enum_class name = liftIO $ do+    let enum_class' = unsafeManagedPtrGetPtr enum_class+    name' <- textToCString name+    result <- g_enum_get_value_by_name enum_class' name'+    result' <- (newPtr 24 EnumValue) result+    touchManagedPtr enum_class+    freeMem name'+    return result'++-- function g_enum_get_value_by_nick+-- Args : [Arg {argName = "enum_class", argType = TInterface "GObject" "EnumClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "enum_class", argType = TInterface "GObject" "EnumClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "EnumValue"+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_get_value_by_nick" g_enum_get_value_by_nick :: +    Ptr EnumClass ->                        -- enum_class : TInterface "GObject" "EnumClass"+    CString ->                              -- nick : TBasicType TUTF8+    IO (Ptr EnumValue)+++enumGetValueByNick ::+    (MonadIO m) =>+    EnumClass ->                            -- enum_class+    T.Text ->                               -- nick+    m EnumValue+enumGetValueByNick enum_class nick = liftIO $ do+    let enum_class' = unsafeManagedPtrGetPtr enum_class+    nick' <- textToCString nick+    result <- g_enum_get_value_by_nick enum_class' nick'+    result' <- (newPtr 24 EnumValue) result+    touchManagedPtr enum_class+    freeMem nick'+    return result'++-- function g_enum_register_static+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_static_values", argType = TInterface "GObject" "EnumValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_static_values", argType = TInterface "GObject" "EnumValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_register_static" g_enum_register_static :: +    CString ->                              -- name : TBasicType TUTF8+    Ptr EnumValue ->                        -- const_static_values : TInterface "GObject" "EnumValue"+    IO CGType+++enumRegisterStatic ::+    (MonadIO m) =>+    T.Text ->                               -- name+    EnumValue ->                            -- const_static_values+    m GType+enumRegisterStatic name const_static_values = liftIO $ do+    name' <- textToCString name+    let const_static_values' = unsafeManagedPtrGetPtr const_static_values+    result <- g_enum_register_static name' const_static_values'+    let result' = GType result+    touchManagedPtr const_static_values+    freeMem name'+    return result'++-- function g_flags_complete_type_info+-- Args : [Arg {argName = "g_flags_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "const_values", argType = TInterface "GObject" "FlagsValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_flags_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_values", argType = TInterface "GObject" "FlagsValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_flags_complete_type_info" g_flags_complete_type_info :: +    CGType ->                               -- g_flags_type : TBasicType TGType+    Ptr TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"+    Ptr FlagsValue ->                       -- const_values : TInterface "GObject" "FlagsValue"+    IO ()+++flagsCompleteTypeInfo ::+    (MonadIO m) =>+    GType ->                                -- g_flags_type+    FlagsValue ->                           -- const_values+    m (TypeInfo)+flagsCompleteTypeInfo g_flags_type const_values = liftIO $ do+    let g_flags_type' = gtypeToCGType g_flags_type+    info <- callocBytes 72 :: IO (Ptr TypeInfo)+    let const_values' = unsafeManagedPtrGetPtr const_values+    g_flags_complete_type_info g_flags_type' info const_values'+    info' <- (wrapPtr TypeInfo) info+    touchManagedPtr const_values+    return info'++-- function g_flags_get_first_value+-- Args : [Arg {argName = "flags_class", argType = TInterface "GObject" "FlagsClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "flags_class", argType = TInterface "GObject" "FlagsClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "FlagsValue"+-- throws : False+-- Skip return : False++foreign import ccall "g_flags_get_first_value" g_flags_get_first_value :: +    Ptr FlagsClass ->                       -- flags_class : TInterface "GObject" "FlagsClass"+    Word32 ->                               -- value : TBasicType TUInt32+    IO (Ptr FlagsValue)+++flagsGetFirstValue ::+    (MonadIO m) =>+    FlagsClass ->                           -- flags_class+    Word32 ->                               -- value+    m FlagsValue+flagsGetFirstValue flags_class value = liftIO $ do+    let flags_class' = unsafeManagedPtrGetPtr flags_class+    result <- g_flags_get_first_value flags_class' value+    result' <- (newPtr 24 FlagsValue) result+    touchManagedPtr flags_class+    return result'++-- function g_flags_get_value_by_name+-- Args : [Arg {argName = "flags_class", argType = TInterface "GObject" "FlagsClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "flags_class", argType = TInterface "GObject" "FlagsClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "FlagsValue"+-- throws : False+-- Skip return : False++foreign import ccall "g_flags_get_value_by_name" g_flags_get_value_by_name :: +    Ptr FlagsClass ->                       -- flags_class : TInterface "GObject" "FlagsClass"+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr FlagsValue)+++flagsGetValueByName ::+    (MonadIO m) =>+    FlagsClass ->                           -- flags_class+    T.Text ->                               -- name+    m FlagsValue+flagsGetValueByName flags_class name = liftIO $ do+    let flags_class' = unsafeManagedPtrGetPtr flags_class+    name' <- textToCString name+    result <- g_flags_get_value_by_name flags_class' name'+    result' <- (newPtr 24 FlagsValue) result+    touchManagedPtr flags_class+    freeMem name'+    return result'++-- function g_flags_get_value_by_nick+-- Args : [Arg {argName = "flags_class", argType = TInterface "GObject" "FlagsClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "flags_class", argType = TInterface "GObject" "FlagsClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "FlagsValue"+-- throws : False+-- Skip return : False++foreign import ccall "g_flags_get_value_by_nick" g_flags_get_value_by_nick :: +    Ptr FlagsClass ->                       -- flags_class : TInterface "GObject" "FlagsClass"+    CString ->                              -- nick : TBasicType TUTF8+    IO (Ptr FlagsValue)+++flagsGetValueByNick ::+    (MonadIO m) =>+    FlagsClass ->                           -- flags_class+    T.Text ->                               -- nick+    m FlagsValue+flagsGetValueByNick flags_class nick = liftIO $ do+    let flags_class' = unsafeManagedPtrGetPtr flags_class+    nick' <- textToCString nick+    result <- g_flags_get_value_by_nick flags_class' nick'+    result' <- (newPtr 24 FlagsValue) result+    touchManagedPtr flags_class+    freeMem nick'+    return result'++-- function g_flags_register_static+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_static_values", argType = TInterface "GObject" "FlagsValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "const_static_values", argType = TInterface "GObject" "FlagsValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_flags_register_static" g_flags_register_static :: +    CString ->                              -- name : TBasicType TUTF8+    Ptr FlagsValue ->                       -- const_static_values : TInterface "GObject" "FlagsValue"+    IO CGType+++flagsRegisterStatic ::+    (MonadIO m) =>+    T.Text ->                               -- name+    FlagsValue ->                           -- const_static_values+    m GType+flagsRegisterStatic name const_static_values = liftIO $ do+    name' <- textToCString name+    let const_static_values' = unsafeManagedPtrGetPtr const_static_values+    result <- g_flags_register_static name' const_static_values'+    let result' = GType result+    touchManagedPtr const_static_values+    freeMem name'+    return result'++-- function g_gtype_get_type+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_gtype_get_type" g_gtype_get_type :: +    IO CGType+++gtypeGetType ::+    (MonadIO m) =>+    m GType+gtypeGetType  = liftIO $ do+    result <- g_gtype_get_type+    let result' = GType result+    return result'++-- function g_param_spec_boolean+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_boolean" g_param_spec_boolean :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CInt ->                                 -- default_value : TBasicType TBoolean+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecBoolean ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Bool ->                                 -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecBoolean name nick blurb default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let default_value' = (fromIntegral . fromEnum) default_value+    let flags' = gflagsToWord flags+    result <- g_param_spec_boolean name' nick' blurb' default_value' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_boxed+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_boxed" g_param_spec_boxed :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CGType ->                               -- boxed_type : TBasicType TGType+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecBoxed ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    GType ->                                -- boxed_type+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecBoxed name nick blurb boxed_type flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let boxed_type' = gtypeToCGType boxed_type+    let flags' = gflagsToWord flags+    result <- g_param_spec_boxed name' nick' blurb' boxed_type' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_char+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_char" g_param_spec_char :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    Int8 ->                                 -- minimum : TBasicType TInt8+    Int8 ->                                 -- maximum : TBasicType TInt8+    Int8 ->                                 -- default_value : TBasicType TInt8+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecChar ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Int8 ->                                 -- minimum+    Int8 ->                                 -- maximum+    Int8 ->                                 -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecChar name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags' = gflagsToWord flags+    result <- g_param_spec_char name' nick' blurb' minimum maximum default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_double+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_double" g_param_spec_double :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CDouble ->                              -- minimum : TBasicType TDouble+    CDouble ->                              -- maximum : TBasicType TDouble+    CDouble ->                              -- default_value : TBasicType TDouble+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecDouble ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Double ->                               -- minimum+    Double ->                               -- maximum+    Double ->                               -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecDouble name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let minimum' = realToFrac minimum+    let maximum' = realToFrac maximum+    let default_value' = realToFrac default_value+    let flags' = gflagsToWord flags+    result <- g_param_spec_double name' nick' blurb' minimum' maximum' default_value' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_enum+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enum_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enum_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_enum" g_param_spec_enum :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CGType ->                               -- enum_type : TBasicType TGType+    Int32 ->                                -- default_value : TBasicType TInt32+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecEnum ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    GType ->                                -- enum_type+    Int32 ->                                -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecEnum name nick blurb enum_type default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let enum_type' = gtypeToCGType enum_type+    let flags' = gflagsToWord flags+    result <- g_param_spec_enum name' nick' blurb' enum_type' default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_flags+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_flags" g_param_spec_flags :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CGType ->                               -- flags_type : TBasicType TGType+    Word32 ->                               -- default_value : TBasicType TUInt32+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecFlags ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    GType ->                                -- flags_type+    Word32 ->                               -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecFlags name nick blurb flags_type default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags_type' = gtypeToCGType flags_type+    let flags' = gflagsToWord flags+    result <- g_param_spec_flags name' nick' blurb' flags_type' default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_float+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_float" g_param_spec_float :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CFloat ->                               -- minimum : TBasicType TFloat+    CFloat ->                               -- maximum : TBasicType TFloat+    CFloat ->                               -- default_value : TBasicType TFloat+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecFloat ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Float ->                                -- minimum+    Float ->                                -- maximum+    Float ->                                -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecFloat name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let minimum' = realToFrac minimum+    let maximum' = realToFrac maximum+    let default_value' = realToFrac default_value+    let flags' = gflagsToWord flags+    result <- g_param_spec_float name' nick' blurb' minimum' maximum' default_value' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_gtype+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_gtype" g_param_spec_gtype :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CGType ->                               -- is_a_type : TBasicType TGType+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecGtype ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    GType ->                                -- is_a_type+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecGtype name nick blurb is_a_type flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let is_a_type' = gtypeToCGType is_a_type+    let flags' = gflagsToWord flags+    result <- g_param_spec_gtype name' nick' blurb' is_a_type' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_int+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_int" g_param_spec_int :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    Int32 ->                                -- minimum : TBasicType TInt32+    Int32 ->                                -- maximum : TBasicType TInt32+    Int32 ->                                -- default_value : TBasicType TInt32+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecInt ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Int32 ->                                -- minimum+    Int32 ->                                -- maximum+    Int32 ->                                -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecInt name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags' = gflagsToWord flags+    result <- g_param_spec_int name' nick' blurb' minimum maximum default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_int64+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_int64" g_param_spec_int64 :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    Int64 ->                                -- minimum : TBasicType TInt64+    Int64 ->                                -- maximum : TBasicType TInt64+    Int64 ->                                -- default_value : TBasicType TInt64+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecInt64 ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Int64 ->                                -- minimum+    Int64 ->                                -- maximum+    Int64 ->                                -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecInt64 name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags' = gflagsToWord flags+    result <- g_param_spec_int64 name' nick' blurb' minimum maximum default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_long+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_long" g_param_spec_long :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    Int64 ->                                -- minimum : TBasicType TInt64+    Int64 ->                                -- maximum : TBasicType TInt64+    Int64 ->                                -- default_value : TBasicType TInt64+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecLong ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Int64 ->                                -- minimum+    Int64 ->                                -- maximum+    Int64 ->                                -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecLong name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags' = gflagsToWord flags+    result <- g_param_spec_long name' nick' blurb' minimum maximum default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_object+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_object" g_param_spec_object :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CGType ->                               -- object_type : TBasicType TGType+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecObject ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    GType ->                                -- object_type+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecObject name nick blurb object_type flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let object_type' = gtypeToCGType object_type+    let flags' = gflagsToWord flags+    result <- g_param_spec_object name' nick' blurb' object_type' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_param+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "param_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_param" g_param_spec_param :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CGType ->                               -- param_type : TBasicType TGType+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecParam ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    GType ->                                -- param_type+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecParam name nick blurb param_type flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let param_type' = gtypeToCGType param_type+    let flags' = gflagsToWord flags+    result <- g_param_spec_param name' nick' blurb' param_type' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_pointer+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_pointer" g_param_spec_pointer :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecPointer ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecPointer name nick blurb flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags' = gflagsToWord flags+    result <- g_param_spec_pointer name' nick' blurb' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_pool_new+-- Args : [Arg {argName = "type_prefixing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type_prefixing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "ParamSpecPool"+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_pool_new" g_param_spec_pool_new :: +    CInt ->                                 -- type_prefixing : TBasicType TBoolean+    IO (Ptr ParamSpecPool)+++paramSpecPoolNew ::+    (MonadIO m) =>+    Bool ->                                 -- type_prefixing+    m ParamSpecPool+paramSpecPoolNew type_prefixing = liftIO $ do+    let type_prefixing' = (fromIntegral . fromEnum) type_prefixing+    result <- g_param_spec_pool_new type_prefixing'+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?+    result' <- (\x -> ParamSpecPool <$> newForeignPtr_ x) result+    return result'++-- function g_param_spec_string+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_string" g_param_spec_string :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CString ->                              -- default_value : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecString ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    T.Text ->                               -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecString name nick blurb default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    default_value' <- textToCString default_value+    let flags' = gflagsToWord flags+    result <- g_param_spec_string name' nick' blurb' default_value' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    freeMem default_value'+    return result'++-- function g_param_spec_uchar+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_uchar" g_param_spec_uchar :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    Word8 ->                                -- minimum : TBasicType TUInt8+    Word8 ->                                -- maximum : TBasicType TUInt8+    Word8 ->                                -- default_value : TBasicType TUInt8+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecUchar ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Word8 ->                                -- minimum+    Word8 ->                                -- maximum+    Word8 ->                                -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecUchar name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags' = gflagsToWord flags+    result <- g_param_spec_uchar name' nick' blurb' minimum maximum default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_uint+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_uint" g_param_spec_uint :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    Word32 ->                               -- minimum : TBasicType TUInt32+    Word32 ->                               -- maximum : TBasicType TUInt32+    Word32 ->                               -- default_value : TBasicType TUInt32+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecUint ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Word32 ->                               -- minimum+    Word32 ->                               -- maximum+    Word32 ->                               -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecUint name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags' = gflagsToWord flags+    result <- g_param_spec_uint name' nick' blurb' minimum maximum default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_uint64+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_uint64" g_param_spec_uint64 :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    Word64 ->                               -- minimum : TBasicType TUInt64+    Word64 ->                               -- maximum : TBasicType TUInt64+    Word64 ->                               -- default_value : TBasicType TUInt64+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecUint64 ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Word64 ->                               -- minimum+    Word64 ->                               -- maximum+    Word64 ->                               -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecUint64 name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags' = gflagsToWord flags+    result <- g_param_spec_uint64 name' nick' blurb' minimum maximum default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_ulong+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minimum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "maximum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_ulong" g_param_spec_ulong :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    Word64 ->                               -- minimum : TBasicType TUInt64+    Word64 ->                               -- maximum : TBasicType TUInt64+    Word64 ->                               -- default_value : TBasicType TUInt64+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecUlong ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Word64 ->                               -- minimum+    Word64 ->                               -- maximum+    Word64 ->                               -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecUlong name nick blurb minimum maximum default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let flags' = gflagsToWord flags+    result <- g_param_spec_ulong name' nick' blurb' minimum maximum default_value flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_unichar+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_unichar" g_param_spec_unichar :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    CInt ->                                 -- default_value : TBasicType TUniChar+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecUnichar ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    Char ->                                 -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecUnichar name nick blurb default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let default_value' = (fromIntegral . ord) default_value+    let flags' = gflagsToWord flags+    result <- g_param_spec_unichar name' nick' blurb' default_value' flags'+    result' <- wrapGParamSpecPtr result+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_spec_variant+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TVariant, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "default_value", argType = TVariant, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TParamSpec+-- throws : False+-- Skip return : False++foreign import ccall "g_param_spec_variant" g_param_spec_variant :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- nick : TBasicType TUTF8+    CString ->                              -- blurb : TBasicType TUTF8+    Ptr GLib.VariantType ->                 -- type : TInterface "GLib" "VariantType"+    Ptr GVariant ->                         -- default_value : TVariant+    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"+    IO (Ptr GParamSpec)+++paramSpecVariant ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- nick+    T.Text ->                               -- blurb+    GLib.VariantType ->                     -- type+    Maybe (GVariant) ->                     -- default_value+    [ParamFlags] ->                         -- flags+    m GParamSpec+paramSpecVariant name nick blurb type_ default_value flags = liftIO $ do+    name' <- textToCString name+    nick' <- textToCString nick+    blurb' <- textToCString blurb+    let type_' = unsafeManagedPtrGetPtr type_+    maybeDefault_value <- case default_value of+        Nothing -> return nullPtr+        Just jDefault_value -> do+            jDefault_value' <- refGVariant jDefault_value+            return jDefault_value'+    let flags' = gflagsToWord flags+    result <- g_param_spec_variant name' nick' blurb' type_' maybeDefault_value flags'+    result' <- wrapGParamSpecPtr result+    touchManagedPtr type_+    freeMem name'+    freeMem nick'+    freeMem blurb'+    return result'++-- function g_param_type_register_static+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec_info", argType = TInterface "GObject" "ParamSpecTypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pspec_info", argType = TInterface "GObject" "ParamSpecTypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_param_type_register_static" g_param_type_register_static :: +    CString ->                              -- name : TBasicType TUTF8+    Ptr ParamSpecTypeInfo ->                -- pspec_info : TInterface "GObject" "ParamSpecTypeInfo"+    IO CGType+++paramTypeRegisterStatic ::+    (MonadIO m) =>+    T.Text ->                               -- name+    ParamSpecTypeInfo ->                    -- pspec_info+    m GType+paramTypeRegisterStatic name pspec_info = liftIO $ do+    name' <- textToCString name+    let pspec_info' = unsafeManagedPtrGetPtr pspec_info+    result <- g_param_type_register_static name' pspec_info'+    let result' = GType result+    touchManagedPtr pspec_info+    freeMem name'+    return result'++-- function g_param_value_convert+-- Args : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strict_validation", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strict_validation", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_param_value_convert" g_param_value_convert :: +    Ptr GParamSpec ->                       -- pspec : TParamSpec+    Ptr GValue ->                           -- src_value : TInterface "GObject" "Value"+    Ptr GValue ->                           -- dest_value : TInterface "GObject" "Value"+    CInt ->                                 -- strict_validation : TBasicType TBoolean+    IO CInt+++paramValueConvert ::+    (MonadIO m) =>+    GParamSpec ->                           -- pspec+    GValue ->                               -- src_value+    GValue ->                               -- dest_value+    Bool ->                                 -- strict_validation+    m Bool+paramValueConvert pspec src_value dest_value strict_validation = liftIO $ do+    let pspec' = unsafeManagedPtrGetPtr pspec+    let src_value' = unsafeManagedPtrGetPtr src_value+    let dest_value' = unsafeManagedPtrGetPtr dest_value+    let strict_validation' = (fromIntegral . fromEnum) strict_validation+    result <- g_param_value_convert pspec' src_value' dest_value' strict_validation'+    let result' = (/= 0) result+    touchManagedPtr src_value+    touchManagedPtr dest_value+    return result'++-- function g_param_value_defaults+-- Args : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_param_value_defaults" g_param_value_defaults :: +    Ptr GParamSpec ->                       -- pspec : TParamSpec+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO CInt+++paramValueDefaults ::+    (MonadIO m) =>+    GParamSpec ->                           -- pspec+    GValue ->                               -- value+    m Bool+paramValueDefaults pspec value = liftIO $ do+    let pspec' = unsafeManagedPtrGetPtr pspec+    let value' = unsafeManagedPtrGetPtr value+    result <- g_param_value_defaults pspec' value'+    let result' = (/= 0) result+    touchManagedPtr value+    return result'++-- function g_param_value_set_default+-- Args : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_param_value_set_default" g_param_value_set_default :: +    Ptr GParamSpec ->                       -- pspec : TParamSpec+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO ()+++paramValueSetDefault ::+    (MonadIO m) =>+    GParamSpec ->                           -- pspec+    GValue ->                               -- value+    m ()+paramValueSetDefault pspec value = liftIO $ do+    let pspec' = unsafeManagedPtrGetPtr pspec+    let value' = unsafeManagedPtrGetPtr value+    g_param_value_set_default pspec' value'+    touchManagedPtr value+    return ()++-- function g_param_value_validate+-- Args : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_param_value_validate" g_param_value_validate :: +    Ptr GParamSpec ->                       -- pspec : TParamSpec+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO CInt+++paramValueValidate ::+    (MonadIO m) =>+    GParamSpec ->                           -- pspec+    GValue ->                               -- value+    m Bool+paramValueValidate pspec value = liftIO $ do+    let pspec' = unsafeManagedPtrGetPtr pspec+    let value' = unsafeManagedPtrGetPtr value+    result <- g_param_value_validate pspec' value'+    let result' = (/= 0) result+    touchManagedPtr value+    return result'++-- function g_param_values_cmp+-- Args : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value1", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value2", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value1", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value2", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_param_values_cmp" g_param_values_cmp :: +    Ptr GParamSpec ->                       -- pspec : TParamSpec+    Ptr GValue ->                           -- value1 : TInterface "GObject" "Value"+    Ptr GValue ->                           -- value2 : TInterface "GObject" "Value"+    IO Int32+++paramValuesCmp ::+    (MonadIO m) =>+    GParamSpec ->                           -- pspec+    GValue ->                               -- value1+    GValue ->                               -- value2+    m Int32+paramValuesCmp pspec value1 value2 = liftIO $ do+    let pspec' = unsafeManagedPtrGetPtr pspec+    let value1' = unsafeManagedPtrGetPtr value1+    let value2' = unsafeManagedPtrGetPtr value2+    result <- g_param_values_cmp pspec' value1' value2'+    touchManagedPtr value1+    touchManagedPtr value2+    return result++-- function g_pointer_type_register_static+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_pointer_type_register_static" g_pointer_type_register_static :: +    CString ->                              -- name : TBasicType TUTF8+    IO CGType+++pointerTypeRegisterStatic ::+    (MonadIO m) =>+    T.Text ->                               -- name+    m GType+pointerTypeRegisterStatic name = liftIO $ do+    name' <- textToCString name+    result <- g_pointer_type_register_static name'+    let result' = GType result+    freeMem name'+    return result'++-- function g_signal_accumulator_first_wins+-- Args : [Arg {argName = "ihint", argType = TInterface "GObject" "SignalInvocationHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_accu", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_return", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dummy", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "ihint", argType = TInterface "GObject" "SignalInvocationHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_accu", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_return", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dummy", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_accumulator_first_wins" g_signal_accumulator_first_wins :: +    Ptr SignalInvocationHint ->             -- ihint : TInterface "GObject" "SignalInvocationHint"+    Ptr GValue ->                           -- return_accu : TInterface "GObject" "Value"+    Ptr GValue ->                           -- handler_return : TInterface "GObject" "Value"+    Ptr () ->                               -- dummy : TBasicType TVoid+    IO CInt+++signalAccumulatorFirstWins ::+    (MonadIO m) =>+    SignalInvocationHint ->                 -- ihint+    GValue ->                               -- return_accu+    GValue ->                               -- handler_return+    Ptr () ->                               -- dummy+    m Bool+signalAccumulatorFirstWins ihint return_accu handler_return dummy = liftIO $ do+    let ihint' = unsafeManagedPtrGetPtr ihint+    let return_accu' = unsafeManagedPtrGetPtr return_accu+    let handler_return' = unsafeManagedPtrGetPtr handler_return+    result <- g_signal_accumulator_first_wins ihint' return_accu' handler_return' dummy+    let result' = (/= 0) result+    touchManagedPtr ihint+    touchManagedPtr return_accu+    touchManagedPtr handler_return+    return result'++-- function g_signal_accumulator_true_handled+-- Args : [Arg {argName = "ihint", argType = TInterface "GObject" "SignalInvocationHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_accu", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_return", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dummy", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "ihint", argType = TInterface "GObject" "SignalInvocationHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_accu", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_return", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dummy", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_accumulator_true_handled" g_signal_accumulator_true_handled :: +    Ptr SignalInvocationHint ->             -- ihint : TInterface "GObject" "SignalInvocationHint"+    Ptr GValue ->                           -- return_accu : TInterface "GObject" "Value"+    Ptr GValue ->                           -- handler_return : TInterface "GObject" "Value"+    Ptr () ->                               -- dummy : TBasicType TVoid+    IO CInt+++signalAccumulatorTrueHandled ::+    (MonadIO m) =>+    SignalInvocationHint ->                 -- ihint+    GValue ->                               -- return_accu+    GValue ->                               -- handler_return+    Ptr () ->                               -- dummy+    m Bool+signalAccumulatorTrueHandled ihint return_accu handler_return dummy = liftIO $ do+    let ihint' = unsafeManagedPtrGetPtr ihint+    let return_accu' = unsafeManagedPtrGetPtr return_accu+    let handler_return' = unsafeManagedPtrGetPtr handler_return+    result <- g_signal_accumulator_true_handled ihint' return_accu' handler_return' dummy+    let result' = (/= 0) result+    touchManagedPtr ihint+    touchManagedPtr return_accu+    touchManagedPtr handler_return+    return result'++-- function g_signal_add_emission_hook+-- Args : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hook_func", argType = TInterface "GObject" "SignalEmissionHook", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "hook_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data_destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hook_func", argType = TInterface "GObject" "SignalEmissionHook", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_add_emission_hook" g_signal_add_emission_hook :: +    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word32 ->                               -- detail : TBasicType TUInt32+    FunPtr SignalEmissionHookC ->           -- hook_func : TInterface "GObject" "SignalEmissionHook"+    Ptr () ->                               -- hook_data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- data_destroy : TInterface "GLib" "DestroyNotify"+    IO Word64+++signalAddEmissionHook ::+    (MonadIO m) =>+    Word32 ->                               -- signal_id+    Word32 ->                               -- detail+    SignalEmissionHook ->                   -- hook_func+    m Word64+signalAddEmissionHook signal_id detail hook_func = liftIO $ do+    hook_func' <- mkSignalEmissionHook (signalEmissionHookWrapper Nothing hook_func)+    let hook_data = castFunPtrToPtr hook_func'+    let data_destroy = safeFreeFunPtrPtr+    result <- g_signal_add_emission_hook signal_id detail hook_func' hook_data data_destroy+    return result++-- function g_signal_chain_from_overridden+-- Args : [Arg {argName = "instance_and_params", argType = TCArray False (-1) (-1) (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance_and_params", argType = TCArray False (-1) (-1) (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_chain_from_overridden" g_signal_chain_from_overridden :: +    Ptr (Ptr GValue) ->                     -- instance_and_params : TCArray False (-1) (-1) (TInterface "GObject" "Value")+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    IO ()+++signalChainFromOverridden ::+    (MonadIO m) =>+    Ptr (Ptr GValue) ->                     -- instance_and_params+    GValue ->                               -- return_value+    m ()+signalChainFromOverridden instance_and_params return_value = liftIO $ do+    let return_value' = unsafeManagedPtrGetPtr return_value+    g_signal_chain_from_overridden instance_and_params return_value'+    touchManagedPtr return_value+    return ()++-- function g_signal_connect_closure+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "after", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "after", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_connect_closure" g_signal_connect_closure :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    CString ->                              -- detailed_signal : TBasicType TUTF8+    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    CInt ->                                 -- after : TBasicType TBoolean+    IO Word64+++signalConnectClosure ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    T.Text ->                               -- detailed_signal+    Closure ->                              -- closure+    Bool ->                                 -- after+    m Word64+signalConnectClosure instance_ detailed_signal closure after = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    detailed_signal' <- textToCString detailed_signal+    let closure' = unsafeManagedPtrGetPtr closure+    let after' = (fromIntegral . fromEnum) after+    result <- g_signal_connect_closure instance_' detailed_signal' closure' after'+    touchManagedPtr instance_+    touchManagedPtr closure+    freeMem detailed_signal'+    return result++-- function g_signal_connect_closure_by_id+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "after", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "after", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_connect_closure_by_id" g_signal_connect_closure_by_id :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word32 ->                               -- detail : TBasicType TUInt32+    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    CInt ->                                 -- after : TBasicType TBoolean+    IO Word64+++signalConnectClosureById ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    Word32 ->                               -- signal_id+    Word32 ->                               -- detail+    Closure ->                              -- closure+    Bool ->                                 -- after+    m Word64+signalConnectClosureById instance_ signal_id detail closure after = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    let closure' = unsafeManagedPtrGetPtr closure+    let after' = (fromIntegral . fromEnum) after+    result <- g_signal_connect_closure_by_id instance_' signal_id detail closure' after'+    touchManagedPtr instance_+    touchManagedPtr closure+    return result++-- function g_signal_emitv+-- Args : [Arg {argName = "instance_and_params", argType = TCArray False (-1) (-1) (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance_and_params", argType = TCArray False (-1) (-1) (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_emitv" g_signal_emitv :: +    Ptr (Ptr GValue) ->                     -- instance_and_params : TCArray False (-1) (-1) (TInterface "GObject" "Value")+    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word32 ->                               -- detail : TBasicType TUInt32+    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"+    IO ()+++signalEmitv ::+    (MonadIO m) =>+    Ptr (Ptr GValue) ->                     -- instance_and_params+    Word32 ->                               -- signal_id+    Word32 ->                               -- detail+    GValue ->                               -- return_value+    m ()+signalEmitv instance_and_params signal_id detail return_value = liftIO $ do+    let return_value' = unsafeManagedPtrGetPtr return_value+    g_signal_emitv instance_and_params signal_id detail return_value'+    touchManagedPtr return_value+    return ()++-- function g_signal_get_invocation_hint+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "SignalInvocationHint"+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_get_invocation_hint" g_signal_get_invocation_hint :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    IO (Ptr SignalInvocationHint)+++signalGetInvocationHint ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    m SignalInvocationHint+signalGetInvocationHint instance_ = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    result <- g_signal_get_invocation_hint instance_'+    result' <- (newPtr 12 SignalInvocationHint) result+    touchManagedPtr instance_+    return result'++-- function g_signal_handler_block+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_handler_block" g_signal_handler_block :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    Word64 ->                               -- handler_id : TBasicType TUInt64+    IO ()+++signalHandlerBlock ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    Word64 ->                               -- handler_id+    m ()+signalHandlerBlock instance_ handler_id = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    g_signal_handler_block instance_' handler_id+    touchManagedPtr instance_+    return ()++-- function g_signal_handler_disconnect+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_handler_disconnect" g_signal_handler_disconnect :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    Word64 ->                               -- handler_id : TBasicType TUInt64+    IO ()+++signalHandlerDisconnect ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    Word64 ->                               -- handler_id+    m ()+signalHandlerDisconnect instance_ handler_id = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    g_signal_handler_disconnect instance_' handler_id+    touchManagedPtr instance_+    return ()++-- function g_signal_handler_find+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_handler_find" g_signal_handler_find :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    CUInt ->                                -- mask : TInterface "GObject" "SignalMatchType"+    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word32 ->                               -- detail : TBasicType TUInt32+    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr () ->                               -- func : TBasicType TVoid+    Ptr () ->                               -- data : TBasicType TVoid+    IO Word64+++signalHandlerFind ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    [SignalMatchType] ->                    -- mask+    Word32 ->                               -- signal_id+    Word32 ->                               -- detail+    Maybe (Closure) ->                      -- closure+    Ptr () ->                               -- func+    Ptr () ->                               -- data+    m Word64+signalHandlerFind instance_ mask signal_id detail closure func data_ = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    let mask' = gflagsToWord mask+    maybeClosure <- case closure of+        Nothing -> return nullPtr+        Just jClosure -> do+            let jClosure' = unsafeManagedPtrGetPtr jClosure+            return jClosure'+    result <- g_signal_handler_find instance_' mask' signal_id detail maybeClosure func data_+    touchManagedPtr instance_+    whenJust closure touchManagedPtr+    return result++-- function g_signal_handler_is_connected+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_handler_is_connected" g_signal_handler_is_connected :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    Word64 ->                               -- handler_id : TBasicType TUInt64+    IO CInt+++signalHandlerIsConnected ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    Word64 ->                               -- handler_id+    m Bool+signalHandlerIsConnected instance_ handler_id = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    result <- g_signal_handler_is_connected instance_' handler_id+    let result' = (/= 0) result+    touchManagedPtr instance_+    return result'++-- function g_signal_handler_unblock+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_handler_unblock" g_signal_handler_unblock :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    Word64 ->                               -- handler_id : TBasicType TUInt64+    IO ()+++signalHandlerUnblock ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    Word64 ->                               -- handler_id+    m ()+signalHandlerUnblock instance_ handler_id = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    g_signal_handler_unblock instance_' handler_id+    touchManagedPtr instance_+    return ()++-- function g_signal_handlers_block_matched+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_handlers_block_matched" g_signal_handlers_block_matched :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    CUInt ->                                -- mask : TInterface "GObject" "SignalMatchType"+    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word32 ->                               -- detail : TBasicType TUInt32+    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr () ->                               -- func : TBasicType TVoid+    Ptr () ->                               -- data : TBasicType TVoid+    IO Word32+++signalHandlersBlockMatched ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    [SignalMatchType] ->                    -- mask+    Word32 ->                               -- signal_id+    Word32 ->                               -- detail+    Maybe (Closure) ->                      -- closure+    Ptr () ->                               -- func+    Ptr () ->                               -- data+    m Word32+signalHandlersBlockMatched instance_ mask signal_id detail closure func data_ = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    let mask' = gflagsToWord mask+    maybeClosure <- case closure of+        Nothing -> return nullPtr+        Just jClosure -> do+            let jClosure' = unsafeManagedPtrGetPtr jClosure+            return jClosure'+    result <- g_signal_handlers_block_matched instance_' mask' signal_id detail maybeClosure func data_+    touchManagedPtr instance_+    whenJust closure touchManagedPtr+    return result++-- function g_signal_handlers_destroy+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_handlers_destroy" g_signal_handlers_destroy :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    IO ()+++signalHandlersDestroy ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    m ()+signalHandlersDestroy instance_ = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    g_signal_handlers_destroy instance_'+    touchManagedPtr instance_+    return ()++-- function g_signal_handlers_disconnect_matched+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_handlers_disconnect_matched" g_signal_handlers_disconnect_matched :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    CUInt ->                                -- mask : TInterface "GObject" "SignalMatchType"+    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word32 ->                               -- detail : TBasicType TUInt32+    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr () ->                               -- func : TBasicType TVoid+    Ptr () ->                               -- data : TBasicType TVoid+    IO Word32+++signalHandlersDisconnectMatched ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    [SignalMatchType] ->                    -- mask+    Word32 ->                               -- signal_id+    Word32 ->                               -- detail+    Maybe (Closure) ->                      -- closure+    Ptr () ->                               -- func+    Ptr () ->                               -- data+    m Word32+signalHandlersDisconnectMatched instance_ mask signal_id detail closure func data_ = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    let mask' = gflagsToWord mask+    maybeClosure <- case closure of+        Nothing -> return nullPtr+        Just jClosure -> do+            let jClosure' = unsafeManagedPtrGetPtr jClosure+            return jClosure'+    result <- g_signal_handlers_disconnect_matched instance_' mask' signal_id detail maybeClosure func data_+    touchManagedPtr instance_+    whenJust closure touchManagedPtr+    return result++-- function g_signal_handlers_unblock_matched+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_handlers_unblock_matched" g_signal_handlers_unblock_matched :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    CUInt ->                                -- mask : TInterface "GObject" "SignalMatchType"+    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word32 ->                               -- detail : TBasicType TUInt32+    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    Ptr () ->                               -- func : TBasicType TVoid+    Ptr () ->                               -- data : TBasicType TVoid+    IO Word32+++signalHandlersUnblockMatched ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    [SignalMatchType] ->                    -- mask+    Word32 ->                               -- signal_id+    Word32 ->                               -- detail+    Maybe (Closure) ->                      -- closure+    Ptr () ->                               -- func+    Ptr () ->                               -- data+    m Word32+signalHandlersUnblockMatched instance_ mask signal_id detail closure func data_ = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    let mask' = gflagsToWord mask+    maybeClosure <- case closure of+        Nothing -> return nullPtr+        Just jClosure -> do+            let jClosure' = unsafeManagedPtrGetPtr jClosure+            return jClosure'+    result <- g_signal_handlers_unblock_matched instance_' mask' signal_id detail maybeClosure func data_+    touchManagedPtr instance_+    whenJust closure touchManagedPtr+    return result++-- function g_signal_has_handler_pending+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "may_be_blocked", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "may_be_blocked", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_has_handler_pending" g_signal_has_handler_pending :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word32 ->                               -- detail : TBasicType TUInt32+    CInt ->                                 -- may_be_blocked : TBasicType TBoolean+    IO CInt+++signalHasHandlerPending ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    Word32 ->                               -- signal_id+    Word32 ->                               -- detail+    Bool ->                                 -- may_be_blocked+    m Bool+signalHasHandlerPending instance_ signal_id detail may_be_blocked = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    let may_be_blocked' = (fromIntegral . fromEnum) may_be_blocked+    result <- g_signal_has_handler_pending instance_' signal_id detail may_be_blocked'+    let result' = (/= 0) result+    touchManagedPtr instance_+    return result'++-- function g_signal_list_ids+-- Args : [Arg {argName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_ids", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_ids", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TCArray False (-1) 1 (TBasicType TUInt32)+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_list_ids" g_signal_list_ids :: +    CGType ->                               -- itype : TBasicType TGType+    Ptr Word32 ->                           -- n_ids : TBasicType TUInt32+    IO (Ptr Word32)+++signalListIds ::+    (MonadIO m) =>+    GType ->                                -- itype+    m [Word32]+signalListIds itype = liftIO $ do+    let itype' = gtypeToCGType itype+    n_ids <- allocMem :: IO (Ptr Word32)+    result <- g_signal_list_ids itype' n_ids+    n_ids' <- peek n_ids+    result' <- (unpackStorableArrayWithLength n_ids') result+    freeMem n_ids+    return result'++-- function g_signal_lookup+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_lookup" g_signal_lookup :: +    CString ->                              -- name : TBasicType TUTF8+    CGType ->                               -- itype : TBasicType TGType+    IO Word32+++signalLookup ::+    (MonadIO m) =>+    T.Text ->                               -- name+    GType ->                                -- itype+    m Word32+signalLookup name itype = liftIO $ do+    name' <- textToCString name+    let itype' = gtypeToCGType itype+    result <- g_signal_lookup name' itype'+    freeMem name'+    return result++-- function g_signal_name+-- Args : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_name" g_signal_name :: +    Word32 ->                               -- signal_id : TBasicType TUInt32+    IO CString+++signalName ::+    (MonadIO m) =>+    Word32 ->                               -- signal_id+    m T.Text+signalName signal_id = liftIO $ do+    result <- g_signal_name signal_id+    result' <- cstringToText result+    return result'++-- function g_signal_override_class_closure+-- Args : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "class_closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "class_closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_override_class_closure" g_signal_override_class_closure :: +    Word32 ->                               -- signal_id : TBasicType TUInt32+    CGType ->                               -- instance_type : TBasicType TGType+    Ptr Closure ->                          -- class_closure : TInterface "GObject" "Closure"+    IO ()+++signalOverrideClassClosure ::+    (MonadIO m) =>+    Word32 ->                               -- signal_id+    GType ->                                -- instance_type+    Closure ->                              -- class_closure+    m ()+signalOverrideClassClosure signal_id instance_type class_closure = liftIO $ do+    let instance_type' = gtypeToCGType instance_type+    let class_closure' = unsafeManagedPtrGetPtr class_closure+    g_signal_override_class_closure signal_id instance_type' class_closure'+    touchManagedPtr class_closure+    return ()++-- function g_signal_parse_name+-- Args : [Arg {argName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id_p", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "detail_p", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "force_detail_quark", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "force_detail_quark", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_parse_name" g_signal_parse_name :: +    CString ->                              -- detailed_signal : TBasicType TUTF8+    CGType ->                               -- itype : TBasicType TGType+    Ptr Word32 ->                           -- signal_id_p : TBasicType TUInt32+    Ptr Word32 ->                           -- detail_p : TBasicType TUInt32+    CInt ->                                 -- force_detail_quark : TBasicType TBoolean+    IO CInt+++signalParseName ::+    (MonadIO m) =>+    T.Text ->                               -- detailed_signal+    GType ->                                -- itype+    Bool ->                                 -- force_detail_quark+    m (Bool,Word32,Word32)+signalParseName detailed_signal itype force_detail_quark = liftIO $ do+    detailed_signal' <- textToCString detailed_signal+    let itype' = gtypeToCGType itype+    signal_id_p <- allocMem :: IO (Ptr Word32)+    detail_p <- allocMem :: IO (Ptr Word32)+    let force_detail_quark' = (fromIntegral . fromEnum) force_detail_quark+    result <- g_signal_parse_name detailed_signal' itype' signal_id_p detail_p force_detail_quark'+    let result' = (/= 0) result+    signal_id_p' <- peek signal_id_p+    detail_p' <- peek detail_p+    freeMem detailed_signal'+    freeMem signal_id_p+    freeMem detail_p+    return (result', signal_id_p', detail_p')++-- function g_signal_query+-- Args : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "query", argType = TInterface "GObject" "SignalQuery", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_query" g_signal_query :: +    Word32 ->                               -- signal_id : TBasicType TUInt32+    Ptr SignalQuery ->                      -- query : TInterface "GObject" "SignalQuery"+    IO ()+++signalQuery ::+    (MonadIO m) =>+    Word32 ->                               -- signal_id+    m (SignalQuery)+signalQuery signal_id = liftIO $ do+    query <- callocBytes 56 :: IO (Ptr SignalQuery)+    g_signal_query signal_id query+    query' <- (wrapPtr SignalQuery) query+    return query'++-- function g_signal_remove_emission_hook+-- Args : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hook_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hook_id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_remove_emission_hook" g_signal_remove_emission_hook :: +    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word64 ->                               -- hook_id : TBasicType TUInt64+    IO ()+++signalRemoveEmissionHook ::+    (MonadIO m) =>+    Word32 ->                               -- signal_id+    Word64 ->                               -- hook_id+    m ()+signalRemoveEmissionHook signal_id hook_id = liftIO $ do+    g_signal_remove_emission_hook signal_id hook_id+    return ()++-- function g_signal_stop_emission+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "signal_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_stop_emission" g_signal_stop_emission :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    Word32 ->                               -- signal_id : TBasicType TUInt32+    Word32 ->                               -- detail : TBasicType TUInt32+    IO ()+++signalStopEmission ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    Word32 ->                               -- signal_id+    Word32 ->                               -- detail+    m ()+signalStopEmission instance_ signal_id detail = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    g_signal_stop_emission instance_' signal_id detail+    touchManagedPtr instance_+    return ()++-- function g_signal_stop_emission_by_name+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_stop_emission_by_name" g_signal_stop_emission_by_name :: +    Ptr Object ->                           -- instance : TInterface "GObject" "Object"+    CString ->                              -- detailed_signal : TBasicType TUTF8+    IO ()+++signalStopEmissionByName ::+    (MonadIO m, ObjectK a) =>+    a ->                                    -- instance+    T.Text ->                               -- detailed_signal+    m ()+signalStopEmissionByName instance_ detailed_signal = liftIO $ do+    let instance_' = unsafeManagedPtrCastPtr instance_+    detailed_signal' <- textToCString detailed_signal+    g_signal_stop_emission_by_name instance_' detailed_signal'+    touchManagedPtr instance_+    freeMem detailed_signal'+    return ()++-- function g_signal_type_cclosure_new+-- Args : [Arg {argName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "struct_offset", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "struct_offset", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "Closure"+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_type_cclosure_new" g_signal_type_cclosure_new :: +    CGType ->                               -- itype : TBasicType TGType+    Word32 ->                               -- struct_offset : TBasicType TUInt32+    IO (Ptr Closure)+++signalTypeCclosureNew ::+    (MonadIO m) =>+    GType ->                                -- itype+    Word32 ->                               -- struct_offset+    m Closure+signalTypeCclosureNew itype struct_offset = liftIO $ do+    let itype' = gtypeToCGType itype+    result <- g_signal_type_cclosure_new itype' struct_offset+    result' <- (wrapBoxed Closure) result+    return result'++-- function g_source_set_closure+-- Args : [Arg {argName = "source", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "source", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_source_set_closure" g_source_set_closure :: +    Ptr GLib.Source ->                      -- source : TInterface "GLib" "Source"+    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"+    IO ()+++sourceSetClosure ::+    (MonadIO m) =>+    GLib.Source ->                          -- source+    Closure ->                              -- closure+    m ()+sourceSetClosure source closure = liftIO $ do+    let source' = unsafeManagedPtrGetPtr source+    let closure' = unsafeManagedPtrGetPtr closure+    g_source_set_closure source' closure'+    touchManagedPtr source+    touchManagedPtr closure+    return ()++-- function g_source_set_dummy_callback+-- Args : [Arg {argName = "source", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "source", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_source_set_dummy_callback" g_source_set_dummy_callback :: +    Ptr GLib.Source ->                      -- source : TInterface "GLib" "Source"+    IO ()+++sourceSetDummyCallback ::+    (MonadIO m) =>+    GLib.Source ->                          -- source+    m ()+sourceSetDummyCallback source = liftIO $ do+    let source' = unsafeManagedPtrGetPtr source+    g_source_set_dummy_callback source'+    touchManagedPtr source+    return ()++-- function g_strdup_value_contents+-- Args : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "g_strdup_value_contents" g_strdup_value_contents :: +    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO CString+++strdupValueContents ::+    (MonadIO m) =>+    GValue ->                               -- value+    m T.Text+strdupValueContents value = liftIO $ do+    let value' = unsafeManagedPtrGetPtr value+    result <- g_strdup_value_contents value'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr value+    return result'++-- function g_type_add_class_private+-- Args : [Arg {argName = "class_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "class_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_add_class_private" g_type_add_class_private :: +    CGType ->                               -- class_type : TBasicType TGType+    Word64 ->                               -- private_size : TBasicType TUInt64+    IO ()+++typeAddClassPrivate ::+    (MonadIO m) =>+    GType ->                                -- class_type+    Word64 ->                               -- private_size+    m ()+typeAddClassPrivate class_type private_size = liftIO $ do+    let class_type' = gtypeToCGType class_type+    g_type_add_class_private class_type' private_size+    return ()++-- function g_type_add_instance_private+-- Args : [Arg {argName = "class_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "class_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_type_add_instance_private" g_type_add_instance_private :: +    CGType ->                               -- class_type : TBasicType TGType+    Word64 ->                               -- private_size : TBasicType TUInt64+    IO Int32+++typeAddInstancePrivate ::+    (MonadIO m) =>+    GType ->                                -- class_type+    Word64 ->                               -- private_size+    m Int32+typeAddInstancePrivate class_type private_size = liftIO $ do+    let class_type' = gtypeToCGType class_type+    result <- g_type_add_instance_private class_type' private_size+    return result++-- function g_type_add_interface_dynamic+-- Args : [Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "plugin", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "plugin", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_add_interface_dynamic" g_type_add_interface_dynamic :: +    CGType ->                               -- instance_type : TBasicType TGType+    CGType ->                               -- interface_type : TBasicType TGType+    Ptr TypePlugin ->                       -- plugin : TInterface "GObject" "TypePlugin"+    IO ()+++typeAddInterfaceDynamic ::+    (MonadIO m, TypePluginK a) =>+    GType ->                                -- instance_type+    GType ->                                -- interface_type+    a ->                                    -- plugin+    m ()+typeAddInterfaceDynamic instance_type interface_type plugin = liftIO $ do+    let instance_type' = gtypeToCGType instance_type+    let interface_type' = gtypeToCGType interface_type+    let plugin' = unsafeManagedPtrCastPtr plugin+    g_type_add_interface_dynamic instance_type' interface_type' plugin'+    touchManagedPtr plugin+    return ()++-- function g_type_add_interface_static+-- Args : [Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "InterfaceInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "InterfaceInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_add_interface_static" g_type_add_interface_static :: +    CGType ->                               -- instance_type : TBasicType TGType+    CGType ->                               -- interface_type : TBasicType TGType+    Ptr InterfaceInfo ->                    -- info : TInterface "GObject" "InterfaceInfo"+    IO ()+++typeAddInterfaceStatic ::+    (MonadIO m) =>+    GType ->                                -- instance_type+    GType ->                                -- interface_type+    InterfaceInfo ->                        -- info+    m ()+typeAddInterfaceStatic instance_type interface_type info = liftIO $ do+    let instance_type' = gtypeToCGType instance_type+    let interface_type' = gtypeToCGType interface_type+    let info' = unsafeManagedPtrGetPtr info+    g_type_add_interface_static instance_type' interface_type' info'+    touchManagedPtr info+    return ()++-- function g_type_check_class_is_a+-- Args : [Arg {argName = "g_class", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_class", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_check_class_is_a" g_type_check_class_is_a :: +    Ptr TypeClass ->                        -- g_class : TInterface "GObject" "TypeClass"+    CGType ->                               -- is_a_type : TBasicType TGType+    IO CInt+++typeCheckClassIsA ::+    (MonadIO m) =>+    TypeClass ->                            -- g_class+    GType ->                                -- is_a_type+    m Bool+typeCheckClassIsA g_class is_a_type = liftIO $ do+    let g_class' = unsafeManagedPtrGetPtr g_class+    let is_a_type' = gtypeToCGType is_a_type+    result <- g_type_check_class_is_a g_class' is_a_type'+    let result' = (/= 0) result+    touchManagedPtr g_class+    return result'++-- function g_type_check_instance+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_check_instance" g_type_check_instance :: +    Ptr TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"+    IO CInt+++typeCheckInstance ::+    (MonadIO m) =>+    TypeInstance ->                         -- instance+    m Bool+typeCheckInstance instance_ = liftIO $ do+    let instance_' = unsafeManagedPtrGetPtr instance_+    result <- g_type_check_instance instance_'+    let result' = (/= 0) result+    touchManagedPtr instance_+    return result'++-- function g_type_check_instance_is_a+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_check_instance_is_a" g_type_check_instance_is_a :: +    Ptr TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"+    CGType ->                               -- iface_type : TBasicType TGType+    IO CInt+++typeCheckInstanceIsA ::+    (MonadIO m) =>+    TypeInstance ->                         -- instance+    GType ->                                -- iface_type+    m Bool+typeCheckInstanceIsA instance_ iface_type = liftIO $ do+    let instance_' = unsafeManagedPtrGetPtr instance_+    let iface_type' = gtypeToCGType iface_type+    result <- g_type_check_instance_is_a instance_' iface_type'+    let result' = (/= 0) result+    touchManagedPtr instance_+    return result'++-- function g_type_check_instance_is_fundamentally_a+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fundamental_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fundamental_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_check_instance_is_fundamentally_a" g_type_check_instance_is_fundamentally_a :: +    Ptr TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"+    CGType ->                               -- fundamental_type : TBasicType TGType+    IO CInt+++typeCheckInstanceIsFundamentallyA ::+    (MonadIO m) =>+    TypeInstance ->                         -- instance+    GType ->                                -- fundamental_type+    m Bool+typeCheckInstanceIsFundamentallyA instance_ fundamental_type = liftIO $ do+    let instance_' = unsafeManagedPtrGetPtr instance_+    let fundamental_type' = gtypeToCGType fundamental_type+    result <- g_type_check_instance_is_fundamentally_a instance_' fundamental_type'+    let result' = (/= 0) result+    touchManagedPtr instance_+    return result'++-- function g_type_check_is_value_type+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_check_is_value_type" g_type_check_is_value_type :: +    CGType ->                               -- type : TBasicType TGType+    IO CInt+++typeCheckIsValueType ::+    (MonadIO m) =>+    GType ->                                -- type+    m Bool+typeCheckIsValueType type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_check_is_value_type type_'+    let result' = (/= 0) result+    return result'++-- function g_type_check_value+-- Args : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_check_value" g_type_check_value :: +    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO CInt+++typeCheckValue ::+    (MonadIO m) =>+    GValue ->                               -- value+    m Bool+typeCheckValue value = liftIO $ do+    let value' = unsafeManagedPtrGetPtr value+    result <- g_type_check_value value'+    let result' = (/= 0) result+    touchManagedPtr value+    return result'++-- function g_type_check_value_holds+-- Args : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_check_value_holds" g_type_check_value_holds :: +    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    CGType ->                               -- type : TBasicType TGType+    IO CInt+++typeCheckValueHolds ::+    (MonadIO m) =>+    GValue ->                               -- value+    GType ->                                -- type+    m Bool+typeCheckValueHolds value type_ = liftIO $ do+    let value' = unsafeManagedPtrGetPtr value+    let type_' = gtypeToCGType type_+    result <- g_type_check_value_holds value' type_'+    let result' = (/= 0) result+    touchManagedPtr value+    return result'++-- function g_type_children+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_children", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_children", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TCArray False (-1) 1 (TBasicType TGType)+-- throws : False+-- Skip return : False++foreign import ccall "g_type_children" g_type_children :: +    CGType ->                               -- type : TBasicType TGType+    Ptr Word32 ->                           -- n_children : TBasicType TUInt32+    IO (Ptr CGType)+++typeChildren ::+    (MonadIO m) =>+    GType ->                                -- type+    m [GType]+typeChildren type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    n_children <- allocMem :: IO (Ptr Word32)+    result <- g_type_children type_' n_children+    n_children' <- peek n_children+    result' <- (unpackMapStorableArrayWithLength GType n_children') result+    freeMem result+    freeMem n_children+    return result'++-- function g_type_class_add_private+-- Args : [Arg {argName = "g_class", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_class", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_class_add_private" g_type_class_add_private :: +    Ptr () ->                               -- g_class : TBasicType TVoid+    Word64 ->                               -- private_size : TBasicType TUInt64+    IO ()+++typeClassAddPrivate ::+    (MonadIO m) =>+    Ptr () ->                               -- g_class+    Word64 ->                               -- private_size+    m ()+typeClassAddPrivate g_class private_size = liftIO $ do+    g_type_class_add_private g_class private_size+    return ()++-- function g_type_class_adjust_private_offset+-- Args : [Arg {argName = "g_class", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "private_size_or_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_class", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "private_size_or_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_class_adjust_private_offset" g_type_class_adjust_private_offset :: +    Ptr () ->                               -- g_class : TBasicType TVoid+    Int32 ->                                -- private_size_or_offset : TBasicType TInt32+    IO ()+++typeClassAdjustPrivateOffset ::+    (MonadIO m) =>+    Ptr () ->                               -- g_class+    Int32 ->                                -- private_size_or_offset+    m ()+typeClassAdjustPrivateOffset g_class private_size_or_offset = liftIO $ do+    g_type_class_adjust_private_offset g_class private_size_or_offset+    return ()++-- function g_type_class_peek+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "TypeClass"+-- throws : False+-- Skip return : False++foreign import ccall "g_type_class_peek" g_type_class_peek :: +    CGType ->                               -- type : TBasicType TGType+    IO (Ptr TypeClass)+++typeClassPeek ::+    (MonadIO m) =>+    GType ->                                -- type+    m TypeClass+typeClassPeek type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_class_peek type_'+    result' <- (newPtr 8 TypeClass) result+    return result'++-- function g_type_class_peek_static+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "TypeClass"+-- throws : False+-- Skip return : False++foreign import ccall "g_type_class_peek_static" g_type_class_peek_static :: +    CGType ->                               -- type : TBasicType TGType+    IO (Ptr TypeClass)+++typeClassPeekStatic ::+    (MonadIO m) =>+    GType ->                                -- type+    m TypeClass+typeClassPeekStatic type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_class_peek_static type_'+    result' <- (newPtr 8 TypeClass) result+    return result'++-- function g_type_class_ref+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "TypeClass"+-- throws : False+-- Skip return : False++foreign import ccall "g_type_class_ref" g_type_class_ref :: +    CGType ->                               -- type : TBasicType TGType+    IO (Ptr TypeClass)+++typeClassRef ::+    (MonadIO m) =>+    GType ->                                -- type+    m TypeClass+typeClassRef type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_class_ref type_'+    result' <- (newPtr 8 TypeClass) result+    return result'++-- function g_type_default_interface_peek+-- Args : [Arg {argName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "TypeInterface"+-- throws : False+-- Skip return : False++foreign import ccall "g_type_default_interface_peek" g_type_default_interface_peek :: +    CGType ->                               -- g_type : TBasicType TGType+    IO (Ptr TypeInterface)+++typeDefaultInterfacePeek ::+    (MonadIO m) =>+    GType ->                                -- g_type+    m TypeInterface+typeDefaultInterfacePeek g_type = liftIO $ do+    let g_type' = gtypeToCGType g_type+    result <- g_type_default_interface_peek g_type'+    result' <- (newPtr 16 TypeInterface) result+    return result'++-- function g_type_default_interface_ref+-- Args : [Arg {argName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "TypeInterface"+-- throws : False+-- Skip return : False++foreign import ccall "g_type_default_interface_ref" g_type_default_interface_ref :: +    CGType ->                               -- g_type : TBasicType TGType+    IO (Ptr TypeInterface)+++typeDefaultInterfaceRef ::+    (MonadIO m) =>+    GType ->                                -- g_type+    m TypeInterface+typeDefaultInterfaceRef g_type = liftIO $ do+    let g_type' = gtypeToCGType g_type+    result <- g_type_default_interface_ref g_type'+    result' <- (newPtr 16 TypeInterface) result+    return result'++-- function g_type_default_interface_unref+-- Args : [Arg {argName = "g_iface", argType = TInterface "GObject" "TypeInterface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_iface", argType = TInterface "GObject" "TypeInterface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_default_interface_unref" g_type_default_interface_unref :: +    Ptr TypeInterface ->                    -- g_iface : TInterface "GObject" "TypeInterface"+    IO ()+++typeDefaultInterfaceUnref ::+    (MonadIO m) =>+    TypeInterface ->                        -- g_iface+    m ()+typeDefaultInterfaceUnref g_iface = liftIO $ do+    let g_iface' = unsafeManagedPtrGetPtr g_iface+    g_type_default_interface_unref g_iface'+    touchManagedPtr g_iface+    return ()++-- function g_type_depth+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_type_depth" g_type_depth :: +    CGType ->                               -- type : TBasicType TGType+    IO Word32+++typeDepth ::+    (MonadIO m) =>+    GType ->                                -- type+    m Word32+typeDepth type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_depth type_'+    return result++-- function g_type_ensure+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_ensure" g_type_ensure :: +    CGType ->                               -- type : TBasicType TGType+    IO ()+++typeEnsure ::+    (MonadIO m) =>+    GType ->                                -- type+    m ()+typeEnsure type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    g_type_ensure type_'+    return ()++-- function g_type_free_instance+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_free_instance" g_type_free_instance :: +    Ptr TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"+    IO ()+++typeFreeInstance ::+    (MonadIO m) =>+    TypeInstance ->                         -- instance+    m ()+typeFreeInstance instance_ = liftIO $ do+    let instance_' = unsafeManagedPtrGetPtr instance_+    g_type_free_instance instance_'+    touchManagedPtr instance_+    return ()++-- function g_type_from_name+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_from_name" g_type_from_name :: +    CString ->                              -- name : TBasicType TUTF8+    IO CGType+++typeFromName ::+    (MonadIO m) =>+    T.Text ->                               -- name+    m GType+typeFromName name = liftIO $ do+    name' <- textToCString name+    result <- g_type_from_name name'+    let result' = GType result+    freeMem name'+    return result'++-- function g_type_fundamental+-- Args : [Arg {argName = "type_id", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type_id", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_fundamental" g_type_fundamental :: +    CGType ->                               -- type_id : TBasicType TGType+    IO CGType+++typeFundamental ::+    (MonadIO m) =>+    GType ->                                -- type_id+    m GType+typeFundamental type_id = liftIO $ do+    let type_id' = gtypeToCGType type_id+    result <- g_type_fundamental type_id'+    let result' = GType result+    return result'++-- function g_type_fundamental_next+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_fundamental_next" g_type_fundamental_next :: +    IO CGType+++typeFundamentalNext ::+    (MonadIO m) =>+    m GType+typeFundamentalNext  = liftIO $ do+    result <- g_type_fundamental_next+    let result' = GType result+    return result'++-- function g_type_get_instance_count+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_type_get_instance_count" g_type_get_instance_count :: +    CGType ->                               -- type : TBasicType TGType+    IO Int32+++typeGetInstanceCount ::+    (MonadIO m) =>+    GType ->                                -- type+    m Int32+typeGetInstanceCount type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_get_instance_count type_'+    return result++-- function g_type_get_plugin+-- XXX Could not generate function g_type_get_plugin+-- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."+-- function g_type_get_qdata+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_get_qdata" g_type_get_qdata :: +    CGType ->                               -- type : TBasicType TGType+    Word32 ->                               -- quark : TBasicType TUInt32+    IO ()+++typeGetQdata ::+    (MonadIO m) =>+    GType ->                                -- type+    Word32 ->                               -- quark+    m ()+typeGetQdata type_ quark = liftIO $ do+    let type_' = gtypeToCGType type_+    g_type_get_qdata type_' quark+    return ()++-- function g_type_get_type_registration_serial+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_type_get_type_registration_serial" g_type_get_type_registration_serial :: +    IO Word32+++typeGetTypeRegistrationSerial ::+    (MonadIO m) =>+    m Word32+typeGetTypeRegistrationSerial  = liftIO $ do+    result <- g_type_get_type_registration_serial+    return result++-- function g_type_init+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_init" g_type_init :: +    IO ()++{-# DEPRECATED typeInit ["(Since version 2.36)","the type system is now initialised automatically"]#-}+typeInit ::+    (MonadIO m) =>+    m ()+typeInit  = liftIO $ do+    g_type_init+    return ()++-- function g_type_init_with_debug_flags+-- Args : [Arg {argName = "debug_flags", argType = TInterface "GObject" "TypeDebugFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "debug_flags", argType = TInterface "GObject" "TypeDebugFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_init_with_debug_flags" g_type_init_with_debug_flags :: +    CUInt ->                                -- debug_flags : TInterface "GObject" "TypeDebugFlags"+    IO ()++{-# DEPRECATED typeInitWithDebugFlags ["(Since version 2.36)","the type system is now initialised automatically"]#-}+typeInitWithDebugFlags ::+    (MonadIO m) =>+    [TypeDebugFlags] ->                     -- debug_flags+    m ()+typeInitWithDebugFlags debug_flags = liftIO $ do+    let debug_flags' = gflagsToWord debug_flags+    g_type_init_with_debug_flags debug_flags'+    return ()++-- function g_type_interface_add_prerequisite+-- Args : [Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "prerequisite_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "prerequisite_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_interface_add_prerequisite" g_type_interface_add_prerequisite :: +    CGType ->                               -- interface_type : TBasicType TGType+    CGType ->                               -- prerequisite_type : TBasicType TGType+    IO ()+++typeInterfaceAddPrerequisite ::+    (MonadIO m) =>+    GType ->                                -- interface_type+    GType ->                                -- prerequisite_type+    m ()+typeInterfaceAddPrerequisite interface_type prerequisite_type = liftIO $ do+    let interface_type' = gtypeToCGType interface_type+    let prerequisite_type' = gtypeToCGType prerequisite_type+    g_type_interface_add_prerequisite interface_type' prerequisite_type'+    return ()++-- function g_type_interface_get_plugin+-- XXX Could not generate function g_type_interface_get_plugin+-- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."+-- function g_type_interface_peek+-- Args : [Arg {argName = "instance_class", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance_class", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GObject" "TypeInterface"+-- throws : False+-- Skip return : False++foreign import ccall "g_type_interface_peek" g_type_interface_peek :: +    Ptr TypeClass ->                        -- instance_class : TInterface "GObject" "TypeClass"+    CGType ->                               -- iface_type : TBasicType TGType+    IO (Ptr TypeInterface)+++typeInterfacePeek ::+    (MonadIO m) =>+    TypeClass ->                            -- instance_class+    GType ->                                -- iface_type+    m TypeInterface+typeInterfacePeek instance_class iface_type = liftIO $ do+    let instance_class' = unsafeManagedPtrGetPtr instance_class+    let iface_type' = gtypeToCGType iface_type+    result <- g_type_interface_peek instance_class' iface_type'+    result' <- (newPtr 16 TypeInterface) result+    touchManagedPtr instance_class+    return result'++-- function g_type_interface_prerequisites+-- Args : [Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_prerequisites", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_prerequisites", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TCArray False (-1) 1 (TBasicType TGType)+-- throws : False+-- Skip return : False++foreign import ccall "g_type_interface_prerequisites" g_type_interface_prerequisites :: +    CGType ->                               -- interface_type : TBasicType TGType+    Ptr Word32 ->                           -- n_prerequisites : TBasicType TUInt32+    IO (Ptr CGType)+++typeInterfacePrerequisites ::+    (MonadIO m) =>+    GType ->                                -- interface_type+    m [GType]+typeInterfacePrerequisites interface_type = liftIO $ do+    let interface_type' = gtypeToCGType interface_type+    n_prerequisites <- allocMem :: IO (Ptr Word32)+    result <- g_type_interface_prerequisites interface_type' n_prerequisites+    n_prerequisites' <- peek n_prerequisites+    result' <- (unpackMapStorableArrayWithLength GType n_prerequisites') result+    freeMem result+    freeMem n_prerequisites+    return result'++-- function g_type_interfaces+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_interfaces", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_interfaces", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TCArray False (-1) 1 (TBasicType TGType)+-- throws : False+-- Skip return : False++foreign import ccall "g_type_interfaces" g_type_interfaces :: +    CGType ->                               -- type : TBasicType TGType+    Ptr Word32 ->                           -- n_interfaces : TBasicType TUInt32+    IO (Ptr CGType)+++typeInterfaces ::+    (MonadIO m) =>+    GType ->                                -- type+    m [GType]+typeInterfaces type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    n_interfaces <- allocMem :: IO (Ptr Word32)+    result <- g_type_interfaces type_' n_interfaces+    n_interfaces' <- peek n_interfaces+    result' <- (unpackMapStorableArrayWithLength GType n_interfaces') result+    freeMem result+    freeMem n_interfaces+    return result'++-- function g_type_is_a+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_is_a" g_type_is_a :: +    CGType ->                               -- type : TBasicType TGType+    CGType ->                               -- is_a_type : TBasicType TGType+    IO CInt+++typeIsA ::+    (MonadIO m) =>+    GType ->                                -- type+    GType ->                                -- is_a_type+    m Bool+typeIsA type_ is_a_type = liftIO $ do+    let type_' = gtypeToCGType type_+    let is_a_type' = gtypeToCGType is_a_type+    result <- g_type_is_a type_' is_a_type'+    let result' = (/= 0) result+    return result'++-- function g_type_name+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "g_type_name" g_type_name :: +    CGType ->                               -- type : TBasicType TGType+    IO CString+++typeName ::+    (MonadIO m) =>+    GType ->                                -- type+    m T.Text+typeName type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_name type_'+    result' <- cstringToText result+    return result'++-- function g_type_name_from_class+-- Args : [Arg {argName = "g_class", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "g_class", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "g_type_name_from_class" g_type_name_from_class :: +    Ptr TypeClass ->                        -- g_class : TInterface "GObject" "TypeClass"+    IO CString+++typeNameFromClass ::+    (MonadIO m) =>+    TypeClass ->                            -- g_class+    m T.Text+typeNameFromClass g_class = liftIO $ do+    let g_class' = unsafeManagedPtrGetPtr g_class+    result <- g_type_name_from_class g_class'+    result' <- cstringToText result+    touchManagedPtr g_class+    return result'++-- function g_type_name_from_instance+-- Args : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "instance", argType = TInterface "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "g_type_name_from_instance" g_type_name_from_instance :: +    Ptr TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"+    IO CString+++typeNameFromInstance ::+    (MonadIO m) =>+    TypeInstance ->                         -- instance+    m T.Text+typeNameFromInstance instance_ = liftIO $ do+    let instance_' = unsafeManagedPtrGetPtr instance_+    result <- g_type_name_from_instance instance_'+    result' <- cstringToText result+    touchManagedPtr instance_+    return result'++-- function g_type_next_base+-- Args : [Arg {argName = "leaf_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "leaf_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_next_base" g_type_next_base :: +    CGType ->                               -- leaf_type : TBasicType TGType+    CGType ->                               -- root_type : TBasicType TGType+    IO CGType+++typeNextBase ::+    (MonadIO m) =>+    GType ->                                -- leaf_type+    GType ->                                -- root_type+    m GType+typeNextBase leaf_type root_type = liftIO $ do+    let leaf_type' = gtypeToCGType leaf_type+    let root_type' = gtypeToCGType root_type+    result <- g_type_next_base leaf_type' root_type'+    let result' = GType result+    return result'++-- function g_type_parent+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_parent" g_type_parent :: +    CGType ->                               -- type : TBasicType TGType+    IO CGType+++typeParent ::+    (MonadIO m) =>+    GType ->                                -- type+    m GType+typeParent type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_parent type_'+    let result' = GType result+    return result'++-- function g_type_qname+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "g_type_qname" g_type_qname :: +    CGType ->                               -- type : TBasicType TGType+    IO Word32+++typeQname ::+    (MonadIO m) =>+    GType ->                                -- type+    m Word32+typeQname type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_qname type_'+    return result++-- function g_type_query+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "query", argType = TInterface "GObject" "TypeQuery", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_query" g_type_query :: +    CGType ->                               -- type : TBasicType TGType+    Ptr TypeQuery ->                        -- query : TInterface "GObject" "TypeQuery"+    IO ()+++typeQuery ::+    (MonadIO m) =>+    GType ->                                -- type+    m (TypeQuery)+typeQuery type_ = liftIO $ do+    let type_' = gtypeToCGType type_+    query <- callocBytes 24 :: IO (Ptr TypeQuery)+    g_type_query type_' query+    query' <- (wrapPtr TypeQuery) query+    return query'++-- function g_type_register_dynamic+-- Args : [Arg {argName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "plugin", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "plugin", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_register_dynamic" g_type_register_dynamic :: +    CGType ->                               -- parent_type : TBasicType TGType+    CString ->                              -- type_name : TBasicType TUTF8+    Ptr TypePlugin ->                       -- plugin : TInterface "GObject" "TypePlugin"+    CUInt ->                                -- flags : TInterface "GObject" "TypeFlags"+    IO CGType+++typeRegisterDynamic ::+    (MonadIO m, TypePluginK a) =>+    GType ->                                -- parent_type+    T.Text ->                               -- type_name+    a ->                                    -- plugin+    [TypeFlags] ->                          -- flags+    m GType+typeRegisterDynamic parent_type type_name plugin flags = liftIO $ do+    let parent_type' = gtypeToCGType parent_type+    type_name' <- textToCString type_name+    let plugin' = unsafeManagedPtrCastPtr plugin+    let flags' = gflagsToWord flags+    result <- g_type_register_dynamic parent_type' type_name' plugin' flags'+    let result' = GType result+    touchManagedPtr plugin+    freeMem type_name'+    return result'++-- function g_type_register_fundamental+-- Args : [Arg {argName = "type_id", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "finfo", argType = TInterface "GObject" "TypeFundamentalInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type_id", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "finfo", argType = TInterface "GObject" "TypeFundamentalInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_register_fundamental" g_type_register_fundamental :: +    CGType ->                               -- type_id : TBasicType TGType+    CString ->                              -- type_name : TBasicType TUTF8+    Ptr TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"+    Ptr TypeFundamentalInfo ->              -- finfo : TInterface "GObject" "TypeFundamentalInfo"+    CUInt ->                                -- flags : TInterface "GObject" "TypeFlags"+    IO CGType+++typeRegisterFundamental ::+    (MonadIO m) =>+    GType ->                                -- type_id+    T.Text ->                               -- type_name+    TypeInfo ->                             -- info+    TypeFundamentalInfo ->                  -- finfo+    [TypeFlags] ->                          -- flags+    m GType+typeRegisterFundamental type_id type_name info finfo flags = liftIO $ do+    let type_id' = gtypeToCGType type_id+    type_name' <- textToCString type_name+    let info' = unsafeManagedPtrGetPtr info+    let finfo' = unsafeManagedPtrGetPtr finfo+    let flags' = gflagsToWord flags+    result <- g_type_register_fundamental type_id' type_name' info' finfo' flags'+    let result' = GType result+    touchManagedPtr info+    touchManagedPtr finfo+    freeMem type_name'+    return result'++-- function g_type_register_static+-- Args : [Arg {argName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TGType+-- throws : False+-- Skip return : False++foreign import ccall "g_type_register_static" g_type_register_static :: +    CGType ->                               -- parent_type : TBasicType TGType+    CString ->                              -- type_name : TBasicType TUTF8+    Ptr TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"+    CUInt ->                                -- flags : TInterface "GObject" "TypeFlags"+    IO CGType+++typeRegisterStatic ::+    (MonadIO m) =>+    GType ->                                -- parent_type+    T.Text ->                               -- type_name+    TypeInfo ->                             -- info+    [TypeFlags] ->                          -- flags+    m GType+typeRegisterStatic parent_type type_name info flags = liftIO $ do+    let parent_type' = gtypeToCGType parent_type+    type_name' <- textToCString type_name+    let info' = unsafeManagedPtrGetPtr info+    let flags' = gflagsToWord flags+    result <- g_type_register_static parent_type' type_name' info' flags'+    let result' = GType result+    touchManagedPtr info+    freeMem type_name'+    return result'++-- function g_type_set_qdata+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "g_type_set_qdata" g_type_set_qdata :: +    CGType ->                               -- type : TBasicType TGType+    Word32 ->                               -- quark : TBasicType TUInt32+    Ptr () ->                               -- data : TBasicType TVoid+    IO ()+++typeSetQdata ::+    (MonadIO m) =>+    GType ->                                -- type+    Word32 ->                               -- quark+    Ptr () ->                               -- data+    m ()+typeSetQdata type_ quark data_ = liftIO $ do+    let type_' = gtypeToCGType type_+    g_type_set_qdata type_' quark data_+    return ()++-- function g_type_test_flags+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_type_test_flags" g_type_test_flags :: +    CGType ->                               -- type : TBasicType TGType+    Word32 ->                               -- flags : TBasicType TUInt32+    IO CInt+++typeTestFlags ::+    (MonadIO m) =>+    GType ->                                -- type+    Word32 ->                               -- flags+    m Bool+typeTestFlags type_ flags = liftIO $ do+    let type_' = gtypeToCGType type_+    result <- g_type_test_flags type_' flags+    let result' = (/= 0) result+    return result'++-- function g_value_type_compatible+-- Args : [Arg {argName = "src_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "src_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_value_type_compatible" g_value_type_compatible :: +    CGType ->                               -- src_type : TBasicType TGType+    CGType ->                               -- dest_type : TBasicType TGType+    IO CInt+++valueTypeCompatible ::+    (MonadIO m) =>+    GType ->                                -- src_type+    GType ->                                -- dest_type+    m Bool+valueTypeCompatible src_type dest_type = liftIO $ do+    let src_type' = gtypeToCGType src_type+    let dest_type' = gtypeToCGType dest_type+    result <- g_value_type_compatible src_type' dest_type'+    let result' = (/= 0) result+    return result'++-- function g_value_type_transformable+-- Args : [Arg {argName = "src_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "src_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "g_value_type_transformable" g_value_type_transformable :: +    CGType ->                               -- src_type : TBasicType TGType+    CGType ->                               -- dest_type : TBasicType TGType+    IO CInt+++valueTypeTransformable ::+    (MonadIO m) =>+    GType ->                                -- src_type+    GType ->                                -- dest_type+    m Bool+valueTypeTransformable src_type dest_type = liftIO $ do+    let src_type' = gtypeToCGType src_type+    let dest_type' = gtypeToCGType dest_type+    result <- g_value_type_transformable src_type' dest_type'+    let result' = (/= 0) result+    return result'++-- callback ClosureMarshalFieldCallback+closureMarshalFieldCallbackClosure :: ClosureMarshalFieldCallback -> IO Closure+closureMarshalFieldCallbackClosure cb = newCClosure =<< mkClosureMarshalFieldCallback wrapped+    where wrapped = closureMarshalFieldCallbackWrapper Nothing cb++type ClosureMarshalFieldCallbackC =+    Ptr Closure ->+    Ptr GValue ->+    Word32 ->+    Ptr GValue ->+    Ptr () ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkClosureMarshalFieldCallback :: ClosureMarshalFieldCallbackC -> IO (FunPtr ClosureMarshalFieldCallbackC)++type ClosureMarshalFieldCallback =+    Closure ->+    GValue ->+    Word32 ->+    GValue ->+    Ptr () ->+    Ptr () ->+    IO ()++noClosureMarshalFieldCallback :: Maybe ClosureMarshalFieldCallback+noClosureMarshalFieldCallback = Nothing++closureMarshalFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (ClosureMarshalFieldCallbackC))) ->+    ClosureMarshalFieldCallback ->+    Ptr Closure ->+    Ptr GValue ->+    Word32 ->+    Ptr GValue ->+    Ptr () ->+    Ptr () ->+    IO ()+closureMarshalFieldCallbackWrapper funptrptr _cb closure return_value n_param_values param_values invocation_hint marshal_data = do+    closure' <- (newBoxed Closure) closure+    return_value' <- (newBoxed GValue) return_value+    param_values' <- (newBoxed GValue) param_values+    _cb  closure' return_value' n_param_values param_values' invocation_hint marshal_data+    maybeReleaseFunPtr funptrptr++-- callback ParamSpecTypeInfoInstanceInitFieldCallback+paramSpecTypeInfoInstanceInitFieldCallbackClosure :: ParamSpecTypeInfoInstanceInitFieldCallback -> IO Closure+paramSpecTypeInfoInstanceInitFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoInstanceInitFieldCallback wrapped+    where wrapped = paramSpecTypeInfoInstanceInitFieldCallbackWrapper Nothing cb++type ParamSpecTypeInfoInstanceInitFieldCallbackC =+    Ptr GParamSpec ->+    IO ()++foreign import ccall "wrapper"+    mkParamSpecTypeInfoInstanceInitFieldCallback :: ParamSpecTypeInfoInstanceInitFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoInstanceInitFieldCallbackC)++type ParamSpecTypeInfoInstanceInitFieldCallback =+    GParamSpec ->+    IO ()++noParamSpecTypeInfoInstanceInitFieldCallback :: Maybe ParamSpecTypeInfoInstanceInitFieldCallback+noParamSpecTypeInfoInstanceInitFieldCallback = Nothing++paramSpecTypeInfoInstanceInitFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (ParamSpecTypeInfoInstanceInitFieldCallbackC))) ->+    ParamSpecTypeInfoInstanceInitFieldCallback ->+    Ptr GParamSpec ->+    IO ()+paramSpecTypeInfoInstanceInitFieldCallbackWrapper funptrptr _cb pspec = do+    pspec' <- newGParamSpecFromPtr pspec+    _cb  pspec'+    maybeReleaseFunPtr funptrptr++-- callback ParamSpecTypeInfoFinalizeFieldCallback+paramSpecTypeInfoFinalizeFieldCallbackClosure :: ParamSpecTypeInfoFinalizeFieldCallback -> IO Closure+paramSpecTypeInfoFinalizeFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoFinalizeFieldCallback wrapped+    where wrapped = paramSpecTypeInfoFinalizeFieldCallbackWrapper Nothing cb++type ParamSpecTypeInfoFinalizeFieldCallbackC =+    Ptr GParamSpec ->+    IO ()++foreign import ccall "wrapper"+    mkParamSpecTypeInfoFinalizeFieldCallback :: ParamSpecTypeInfoFinalizeFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoFinalizeFieldCallbackC)++type ParamSpecTypeInfoFinalizeFieldCallback =+    GParamSpec ->+    IO ()++noParamSpecTypeInfoFinalizeFieldCallback :: Maybe ParamSpecTypeInfoFinalizeFieldCallback+noParamSpecTypeInfoFinalizeFieldCallback = Nothing++paramSpecTypeInfoFinalizeFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (ParamSpecTypeInfoFinalizeFieldCallbackC))) ->+    ParamSpecTypeInfoFinalizeFieldCallback ->+    Ptr GParamSpec ->+    IO ()+paramSpecTypeInfoFinalizeFieldCallbackWrapper funptrptr _cb pspec = do+    pspec' <- newGParamSpecFromPtr pspec+    _cb  pspec'+    maybeReleaseFunPtr funptrptr++-- callback ParamSpecTypeInfoValueSetDefaultFieldCallback+paramSpecTypeInfoValueSetDefaultFieldCallbackClosure :: ParamSpecTypeInfoValueSetDefaultFieldCallback -> IO Closure+paramSpecTypeInfoValueSetDefaultFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoValueSetDefaultFieldCallback wrapped+    where wrapped = paramSpecTypeInfoValueSetDefaultFieldCallbackWrapper Nothing cb++type ParamSpecTypeInfoValueSetDefaultFieldCallbackC =+    Ptr GParamSpec ->+    Ptr GValue ->+    IO ()++foreign import ccall "wrapper"+    mkParamSpecTypeInfoValueSetDefaultFieldCallback :: ParamSpecTypeInfoValueSetDefaultFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoValueSetDefaultFieldCallbackC)++type ParamSpecTypeInfoValueSetDefaultFieldCallback =+    GParamSpec ->+    GValue ->+    IO ()++noParamSpecTypeInfoValueSetDefaultFieldCallback :: Maybe ParamSpecTypeInfoValueSetDefaultFieldCallback+noParamSpecTypeInfoValueSetDefaultFieldCallback = Nothing++paramSpecTypeInfoValueSetDefaultFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (ParamSpecTypeInfoValueSetDefaultFieldCallbackC))) ->+    ParamSpecTypeInfoValueSetDefaultFieldCallback ->+    Ptr GParamSpec ->+    Ptr GValue ->+    IO ()+paramSpecTypeInfoValueSetDefaultFieldCallbackWrapper funptrptr _cb pspec value = do+    pspec' <- newGParamSpecFromPtr pspec+    value' <- (newBoxed GValue) value+    _cb  pspec' value'+    maybeReleaseFunPtr funptrptr++-- callback ParamSpecTypeInfoValueValidateFieldCallback+paramSpecTypeInfoValueValidateFieldCallbackClosure :: ParamSpecTypeInfoValueValidateFieldCallback -> IO Closure+paramSpecTypeInfoValueValidateFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoValueValidateFieldCallback wrapped+    where wrapped = paramSpecTypeInfoValueValidateFieldCallbackWrapper Nothing cb++type ParamSpecTypeInfoValueValidateFieldCallbackC =+    Ptr GParamSpec ->+    Ptr GValue ->+    IO CInt++foreign import ccall "wrapper"+    mkParamSpecTypeInfoValueValidateFieldCallback :: ParamSpecTypeInfoValueValidateFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoValueValidateFieldCallbackC)++type ParamSpecTypeInfoValueValidateFieldCallback =+    GParamSpec ->+    GValue ->+    IO Bool++noParamSpecTypeInfoValueValidateFieldCallback :: Maybe ParamSpecTypeInfoValueValidateFieldCallback+noParamSpecTypeInfoValueValidateFieldCallback = Nothing++paramSpecTypeInfoValueValidateFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (ParamSpecTypeInfoValueValidateFieldCallbackC))) ->+    ParamSpecTypeInfoValueValidateFieldCallback ->+    Ptr GParamSpec ->+    Ptr GValue ->+    IO CInt+paramSpecTypeInfoValueValidateFieldCallbackWrapper funptrptr _cb pspec value = do+    pspec' <- newGParamSpecFromPtr pspec+    value' <- (newBoxed GValue) value+    result <- _cb  pspec' value'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- callback ParamSpecTypeInfoValuesCmpFieldCallback+paramSpecTypeInfoValuesCmpFieldCallbackClosure :: ParamSpecTypeInfoValuesCmpFieldCallback -> IO Closure+paramSpecTypeInfoValuesCmpFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoValuesCmpFieldCallback wrapped+    where wrapped = paramSpecTypeInfoValuesCmpFieldCallbackWrapper Nothing cb++type ParamSpecTypeInfoValuesCmpFieldCallbackC =+    Ptr GParamSpec ->+    Ptr GValue ->+    Ptr GValue ->+    IO Int32++foreign import ccall "wrapper"+    mkParamSpecTypeInfoValuesCmpFieldCallback :: ParamSpecTypeInfoValuesCmpFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoValuesCmpFieldCallbackC)++type ParamSpecTypeInfoValuesCmpFieldCallback =+    GParamSpec ->+    GValue ->+    GValue ->+    IO Int32++noParamSpecTypeInfoValuesCmpFieldCallback :: Maybe ParamSpecTypeInfoValuesCmpFieldCallback+noParamSpecTypeInfoValuesCmpFieldCallback = Nothing++paramSpecTypeInfoValuesCmpFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (ParamSpecTypeInfoValuesCmpFieldCallbackC))) ->+    ParamSpecTypeInfoValuesCmpFieldCallback ->+    Ptr GParamSpec ->+    Ptr GValue ->+    Ptr GValue ->+    IO Int32+paramSpecTypeInfoValuesCmpFieldCallbackWrapper funptrptr _cb pspec value1 value2 = do+    pspec' <- newGParamSpecFromPtr pspec+    value1' <- (newBoxed GValue) value1+    value2' <- (newBoxed GValue) value2+    result <- _cb  pspec' value1' value2'+    maybeReleaseFunPtr funptrptr+    return result++-- callback TypeValueTableValueInitFieldCallback+typeValueTableValueInitFieldCallbackClosure :: TypeValueTableValueInitFieldCallback -> IO Closure+typeValueTableValueInitFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableValueInitFieldCallback wrapped+    where wrapped = typeValueTableValueInitFieldCallbackWrapper Nothing cb++type TypeValueTableValueInitFieldCallbackC =+    Ptr GValue ->+    IO ()++foreign import ccall "wrapper"+    mkTypeValueTableValueInitFieldCallback :: TypeValueTableValueInitFieldCallbackC -> IO (FunPtr TypeValueTableValueInitFieldCallbackC)++type TypeValueTableValueInitFieldCallback =+    GValue ->+    IO ()++noTypeValueTableValueInitFieldCallback :: Maybe TypeValueTableValueInitFieldCallback+noTypeValueTableValueInitFieldCallback = Nothing++typeValueTableValueInitFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (TypeValueTableValueInitFieldCallbackC))) ->+    TypeValueTableValueInitFieldCallback ->+    Ptr GValue ->+    IO ()+typeValueTableValueInitFieldCallbackWrapper funptrptr _cb value = do+    value' <- (newBoxed GValue) value+    _cb  value'+    maybeReleaseFunPtr funptrptr++-- callback TypeValueTableValueFreeFieldCallback+typeValueTableValueFreeFieldCallbackClosure :: TypeValueTableValueFreeFieldCallback -> IO Closure+typeValueTableValueFreeFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableValueFreeFieldCallback wrapped+    where wrapped = typeValueTableValueFreeFieldCallbackWrapper Nothing cb++type TypeValueTableValueFreeFieldCallbackC =+    Ptr GValue ->+    IO ()++foreign import ccall "wrapper"+    mkTypeValueTableValueFreeFieldCallback :: TypeValueTableValueFreeFieldCallbackC -> IO (FunPtr TypeValueTableValueFreeFieldCallbackC)++type TypeValueTableValueFreeFieldCallback =+    GValue ->+    IO ()++noTypeValueTableValueFreeFieldCallback :: Maybe TypeValueTableValueFreeFieldCallback+noTypeValueTableValueFreeFieldCallback = Nothing++typeValueTableValueFreeFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (TypeValueTableValueFreeFieldCallbackC))) ->+    TypeValueTableValueFreeFieldCallback ->+    Ptr GValue ->+    IO ()+typeValueTableValueFreeFieldCallbackWrapper funptrptr _cb value = do+    value' <- (newBoxed GValue) value+    _cb  value'+    maybeReleaseFunPtr funptrptr++-- callback TypeValueTableValueCopyFieldCallback+typeValueTableValueCopyFieldCallbackClosure :: TypeValueTableValueCopyFieldCallback -> IO Closure+typeValueTableValueCopyFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableValueCopyFieldCallback wrapped+    where wrapped = typeValueTableValueCopyFieldCallbackWrapper Nothing cb++type TypeValueTableValueCopyFieldCallbackC =+    Ptr GValue ->+    Ptr GValue ->+    IO ()++foreign import ccall "wrapper"+    mkTypeValueTableValueCopyFieldCallback :: TypeValueTableValueCopyFieldCallbackC -> IO (FunPtr TypeValueTableValueCopyFieldCallbackC)++type TypeValueTableValueCopyFieldCallback =+    GValue ->+    GValue ->+    IO ()++noTypeValueTableValueCopyFieldCallback :: Maybe TypeValueTableValueCopyFieldCallback+noTypeValueTableValueCopyFieldCallback = Nothing++typeValueTableValueCopyFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (TypeValueTableValueCopyFieldCallbackC))) ->+    TypeValueTableValueCopyFieldCallback ->+    Ptr GValue ->+    Ptr GValue ->+    IO ()+typeValueTableValueCopyFieldCallbackWrapper funptrptr _cb src_value dest_value = do+    src_value' <- (newBoxed GValue) src_value+    dest_value' <- (newBoxed GValue) dest_value+    _cb  src_value' dest_value'+    maybeReleaseFunPtr funptrptr++-- callback TypeValueTableCollectValueFieldCallback+typeValueTableCollectValueFieldCallbackClosure :: TypeValueTableCollectValueFieldCallback -> IO Closure+typeValueTableCollectValueFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableCollectValueFieldCallback wrapped+    where wrapped = typeValueTableCollectValueFieldCallbackWrapper Nothing cb++type TypeValueTableCollectValueFieldCallbackC =+    Ptr GValue ->+    Word32 ->+    Ptr TypeCValue ->+    Word32 ->+    IO CString++foreign import ccall "wrapper"+    mkTypeValueTableCollectValueFieldCallback :: TypeValueTableCollectValueFieldCallbackC -> IO (FunPtr TypeValueTableCollectValueFieldCallbackC)++type TypeValueTableCollectValueFieldCallback =+    GValue ->+    Word32 ->+    TypeCValue ->+    Word32 ->+    IO T.Text++noTypeValueTableCollectValueFieldCallback :: Maybe TypeValueTableCollectValueFieldCallback+noTypeValueTableCollectValueFieldCallback = Nothing++typeValueTableCollectValueFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (TypeValueTableCollectValueFieldCallbackC))) ->+    TypeValueTableCollectValueFieldCallback ->+    Ptr GValue ->+    Word32 ->+    Ptr TypeCValue ->+    Word32 ->+    IO CString+typeValueTableCollectValueFieldCallbackWrapper funptrptr _cb value n_collect_values collect_values collect_flags = do+    value' <- (newBoxed GValue) value+    collect_values' <- (newPtr 8 TypeCValue) collect_values+    result <- _cb  value' n_collect_values collect_values' collect_flags+    maybeReleaseFunPtr funptrptr+    result' <- textToCString result+    return result'++-- callback TypeValueTableLcopyValueFieldCallback+typeValueTableLcopyValueFieldCallbackClosure :: TypeValueTableLcopyValueFieldCallback -> IO Closure+typeValueTableLcopyValueFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableLcopyValueFieldCallback wrapped+    where wrapped = typeValueTableLcopyValueFieldCallbackWrapper Nothing cb++type TypeValueTableLcopyValueFieldCallbackC =+    Ptr GValue ->+    Word32 ->+    Ptr TypeCValue ->+    Word32 ->+    IO CString++foreign import ccall "wrapper"+    mkTypeValueTableLcopyValueFieldCallback :: TypeValueTableLcopyValueFieldCallbackC -> IO (FunPtr TypeValueTableLcopyValueFieldCallbackC)++type TypeValueTableLcopyValueFieldCallback =+    GValue ->+    Word32 ->+    TypeCValue ->+    Word32 ->+    IO T.Text++noTypeValueTableLcopyValueFieldCallback :: Maybe TypeValueTableLcopyValueFieldCallback+noTypeValueTableLcopyValueFieldCallback = Nothing++typeValueTableLcopyValueFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (TypeValueTableLcopyValueFieldCallbackC))) ->+    TypeValueTableLcopyValueFieldCallback ->+    Ptr GValue ->+    Word32 ->+    Ptr TypeCValue ->+    Word32 ->+    IO CString+typeValueTableLcopyValueFieldCallbackWrapper funptrptr _cb value n_collect_values collect_values collect_flags = do+    value' <- (newBoxed GValue) value+    collect_values' <- (newPtr 8 TypeCValue) collect_values+    result <- _cb  value' n_collect_values collect_values' collect_flags+    maybeReleaseFunPtr funptrptr+    result' <- textToCString result+    return result'+
+ GI/GObjectAttributes.hs view
@@ -0,0 +1,163 @@+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-unused-imports #-}++-- Generated code.++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,+    TypeFamilies, MultiParamTypeClasses, KindSignatures,+    FlexibleInstances, UndecidableInstances, DataKinds,+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}++module GI.GObjectAttributes where++import Prelude ()+import Data.GI.Base.ShortPrelude+import Data.Char+import Data.Int+import Data.Word+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)+import qualified Data.Map as Map+import Foreign.C+import Foreign.Ptr+import Foreign.ForeignPtr+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)+import Foreign.Storable (peek, poke, sizeOf)+import Control.Applicative ((<$>))+import Control.Exception (onException)+import Control.Monad.IO.Class+import qualified Data.Text as T++import Data.GI.Base.Attributes hiding (get, set)+import Data.GI.Base.BasicTypes+import Data.GI.Base.BasicConversions+import Data.GI.Base.Closure+import Data.GI.Base.GError+import Data.GI.Base.GHashTable+import Data.GI.Base.GParamSpec+import Data.GI.Base.GVariant+import Data.GI.Base.GValue+import Data.GI.Base.ManagedPtr+import Data.GI.Base.Overloading+import Data.GI.Base.Properties hiding (new)+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)+import Data.GI.Base.Utils++import GI.GObject++-- VVV Prop "flags"+   -- Type: TInterface "GObject" "BindingFlags"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getBindingFlags :: (MonadIO m, BindingK o) => o -> m [BindingFlags]+getBindingFlags obj = liftIO $ getObjectPropertyFlags obj "flags"++constructBindingFlags :: [BindingFlags] -> IO ([Char], GValue)+constructBindingFlags val = constructObjectPropertyFlags "flags" val++data BindingFlagsPropertyInfo+instance AttrInfo BindingFlagsPropertyInfo where+    type AttrAllowedOps BindingFlagsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint BindingFlagsPropertyInfo = (~) [BindingFlags]+    type AttrBaseTypeConstraint BindingFlagsPropertyInfo = BindingK+    type AttrGetType BindingFlagsPropertyInfo = [BindingFlags]+    type AttrLabel BindingFlagsPropertyInfo = "Binding::flags"+    attrGet _ = getBindingFlags+    attrSet _ = undefined+    attrConstruct _ = constructBindingFlags++-- VVV Prop "source"+   -- Type: TInterface "GObject" "Object"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getBindingSource :: (MonadIO m, BindingK o) => o -> m Object+getBindingSource obj = liftIO $ getObjectPropertyObject obj "source" Object++constructBindingSource :: (ObjectK a) => a -> IO ([Char], GValue)+constructBindingSource val = constructObjectPropertyObject "source" val++data BindingSourcePropertyInfo+instance AttrInfo BindingSourcePropertyInfo where+    type AttrAllowedOps BindingSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint BindingSourcePropertyInfo = ObjectK+    type AttrBaseTypeConstraint BindingSourcePropertyInfo = BindingK+    type AttrGetType BindingSourcePropertyInfo = Object+    type AttrLabel BindingSourcePropertyInfo = "Binding::source"+    attrGet _ = getBindingSource+    attrSet _ = undefined+    attrConstruct _ = constructBindingSource++-- VVV Prop "source-property"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getBindingSourceProperty :: (MonadIO m, BindingK o) => o -> m T.Text+getBindingSourceProperty obj = liftIO $ getObjectPropertyString obj "source-property"++constructBindingSourceProperty :: T.Text -> IO ([Char], GValue)+constructBindingSourceProperty val = constructObjectPropertyString "source-property" val++data BindingSourcePropertyPropertyInfo+instance AttrInfo BindingSourcePropertyPropertyInfo where+    type AttrAllowedOps BindingSourcePropertyPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint BindingSourcePropertyPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint BindingSourcePropertyPropertyInfo = BindingK+    type AttrGetType BindingSourcePropertyPropertyInfo = T.Text+    type AttrLabel BindingSourcePropertyPropertyInfo = "Binding::source-property"+    attrGet _ = getBindingSourceProperty+    attrSet _ = undefined+    attrConstruct _ = constructBindingSourceProperty++-- VVV Prop "target"+   -- Type: TInterface "GObject" "Object"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getBindingTarget :: (MonadIO m, BindingK o) => o -> m Object+getBindingTarget obj = liftIO $ getObjectPropertyObject obj "target" Object++constructBindingTarget :: (ObjectK a) => a -> IO ([Char], GValue)+constructBindingTarget val = constructObjectPropertyObject "target" val++data BindingTargetPropertyInfo+instance AttrInfo BindingTargetPropertyInfo where+    type AttrAllowedOps BindingTargetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint BindingTargetPropertyInfo = ObjectK+    type AttrBaseTypeConstraint BindingTargetPropertyInfo = BindingK+    type AttrGetType BindingTargetPropertyInfo = Object+    type AttrLabel BindingTargetPropertyInfo = "Binding::target"+    attrGet _ = getBindingTarget+    attrSet _ = undefined+    attrConstruct _ = constructBindingTarget++-- VVV Prop "target-property"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getBindingTargetProperty :: (MonadIO m, BindingK o) => o -> m T.Text+getBindingTargetProperty obj = liftIO $ getObjectPropertyString obj "target-property"++constructBindingTargetProperty :: T.Text -> IO ([Char], GValue)+constructBindingTargetProperty val = constructObjectPropertyString "target-property" val++data BindingTargetPropertyPropertyInfo+instance AttrInfo BindingTargetPropertyPropertyInfo where+    type AttrAllowedOps BindingTargetPropertyPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint BindingTargetPropertyPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint BindingTargetPropertyPropertyInfo = BindingK+    type AttrGetType BindingTargetPropertyPropertyInfo = T.Text+    type AttrLabel BindingTargetPropertyPropertyInfo = "Binding::target-property"+    attrGet _ = getBindingTargetProperty+    attrSet _ = undefined+    attrConstruct _ = constructBindingTargetProperty++type instance AttributeList Binding = '[ '("flags", BindingFlagsPropertyInfo), '("source", BindingSourcePropertyInfo), '("source-property", BindingSourcePropertyPropertyInfo), '("target", BindingTargetPropertyInfo), '("target-property", BindingTargetPropertyPropertyInfo)]++type instance AttributeList InitiallyUnowned = '[ ]++type instance AttributeList Object = '[ ]++type instance AttributeList TypeModule = '[ ]++type instance AttributeList TypePlugin = '[ ]+
+ GI/GObjectSignals.hs view
@@ -0,0 +1,31 @@+-- Generated code.++{-# OPTIONS_GHC -fno-warn-orphans #-}++{-# LANGUAGE DataKinds,    FlexibleInstances,+             TypeFamilies, MultiParamTypeClasses,+               TypeOperators #-}++module GI.GObjectSignals where++import Data.GI.Base.Properties (GObjectNotifySignalInfo)+import Data.GI.Base.Signals+import Data.GI.Base.Overloading++import GI.GObject++type instance SignalList Binding = '[ '("notify", ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList InitiallyUnowned = '[ '("notify", ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data ObjectNotifySignalInfo+instance SignalInfo ObjectNotifySignalInfo where+    type HaskellCallbackType ObjectNotifySignalInfo = ObjectNotifyCallback+    connectSignal _ = connectObjectNotify++type instance SignalList Object = '[ '("notify", ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList TypeModule = '[ '("notify", ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList TypePlugin = '[ ]+
+ LICENSE view
@@ -0,0 +1,502 @@+                  GNU LESSER GENERAL PUBLIC LICENSE+                       Version 2.1, February 1999++ Copyright (C) 1991, 1999 Free Software Foundation, Inc.+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA+ Everyone is permitted to copy and distribute verbatim copies+ of this license document, but changing it is not allowed.++[This is the first released version of the Lesser GPL.  It also counts+ as the successor of the GNU Library Public License, version 2, hence+ the version number 2.1.]++                            Preamble++  The licenses for most software are designed to take away your+freedom to share and change it.  By contrast, the GNU General Public+Licenses are intended to guarantee your freedom to share and change+free software--to make sure the software is free for all its users.++  This license, the Lesser General Public License, applies to some+specially designated software packages--typically libraries--of the+Free Software Foundation and other authors who decide to use it.  You+can use it too, but we suggest you first think carefully about whether+this license or the ordinary General Public License is the better+strategy to use in any particular case, based on the explanations below.++  When we speak of free software, we are referring to freedom of use,+not price.  Our General Public Licenses are designed to make sure that+you have the freedom to distribute copies of free software (and charge+for this service if you wish); that you receive source code or can get+it if you want it; that you can change the software and use pieces of+it in new free programs; and that you are informed that you can do+these things.++  To protect your rights, we need to make restrictions that forbid+distributors to deny you these rights or to ask you to surrender these+rights.  These restrictions translate to certain responsibilities for+you if you distribute copies of the library or if you modify it.++  For example, if you distribute copies of the library, whether gratis+or for a fee, you must give the recipients all the rights that we gave+you.  You must make sure that they, too, receive or can get the source+code.  If you link other code with the library, you must provide+complete object files to the recipients, so that they can relink them+with the library after making changes to the library and recompiling+it.  And you must show them these terms so they know their rights.++  We protect your rights with a two-step method: (1) we copyright the+library, and (2) we offer you this license, which gives you legal+permission to copy, distribute and/or modify the library.++  To protect each distributor, we want to make it very clear that+there is no warranty for the free library.  Also, if the library is+modified by someone else and passed on, the recipients should know+that what they have is not the original version, so that the original+author's reputation will not be affected by problems that might be+introduced by others.++  Finally, software patents pose a constant threat to the existence of+any free program.  We wish to make sure that a company cannot+effectively restrict the users of a free program by obtaining a+restrictive license from a patent holder.  Therefore, we insist that+any patent license obtained for a version of the library must be+consistent with the full freedom of use specified in this license.++  Most GNU software, including some libraries, is covered by the+ordinary GNU General Public License.  This license, the GNU Lesser+General Public License, applies to certain designated libraries, and+is quite different from the ordinary General Public License.  We use+this license for certain libraries in order to permit linking those+libraries into non-free programs.++  When a program is linked with a library, whether statically or using+a shared library, the combination of the two is legally speaking a+combined work, a derivative of the original library.  The ordinary+General Public License therefore permits such linking only if the+entire combination fits its criteria of freedom.  The Lesser General+Public License permits more lax criteria for linking other code with+the library.++  We call this license the "Lesser" General Public License because it+does Less to protect the user's freedom than the ordinary General+Public License.  It also provides other free software developers Less+of an advantage over competing non-free programs.  These disadvantages+are the reason we use the ordinary General Public License for many+libraries.  However, the Lesser license provides advantages in certain+special circumstances.++  For example, on rare occasions, there may be a special need to+encourage the widest possible use of a certain library, so that it becomes+a de-facto standard.  To achieve this, non-free programs must be+allowed to use the library.  A more frequent case is that a free+library does the same job as widely used non-free libraries.  In this+case, there is little to gain by limiting the free library to free+software only, so we use the Lesser General Public License.++  In other cases, permission to use a particular library in non-free+programs enables a greater number of people to use a large body of+free software.  For example, permission to use the GNU C Library in+non-free programs enables many more people to use the whole GNU+operating system, as well as its variant, the GNU/Linux operating+system.++  Although the Lesser General Public License is Less protective of the+users' freedom, it does ensure that the user of a program that is+linked with the Library has the freedom and the wherewithal to run+that program using a modified version of the Library.++  The precise terms and conditions for copying, distribution and+modification follow.  Pay close attention to the difference between a+"work based on the library" and a "work that uses the library".  The+former contains code derived from the library, whereas the latter must+be combined with the library in order to run.++                  GNU LESSER GENERAL PUBLIC LICENSE+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION++  0. This License Agreement applies to any software library or other+program which contains a notice placed by the copyright holder or+other authorized party saying it may be distributed under the terms of+this Lesser General Public License (also called "this License").+Each licensee is addressed as "you".++  A "library" means a collection of software functions and/or data+prepared so as to be conveniently linked with application programs+(which use some of those functions and data) to form executables.++  The "Library", below, refers to any such software library or work+which has been distributed under these terms.  A "work based on the+Library" means either the Library or any derivative work under+copyright law: that is to say, a work containing the Library or a+portion of it, either verbatim or with modifications and/or translated+straightforwardly into another language.  (Hereinafter, translation is+included without limitation in the term "modification".)++  "Source code" for a work means the preferred form of the work for+making modifications to it.  For a library, complete source code means+all the source code for all modules it contains, plus any associated+interface definition files, plus the scripts used to control compilation+and installation of the library.++  Activities other than copying, distribution and modification are not+covered by this License; they are outside its scope.  The act of+running a program using the Library is not restricted, and output from+such a program is covered only if its contents constitute a work based+on the Library (independent of the use of the Library in a tool for+writing it).  Whether that is true depends on what the Library does+and what the program that uses the Library does.++  1. You may copy and distribute verbatim copies of the Library's+complete source code as you receive it, in any medium, provided that+you conspicuously and appropriately publish on each copy an+appropriate copyright notice and disclaimer of warranty; keep intact+all the notices that refer to this License and to the absence of any+warranty; and distribute a copy of this License along with the+Library.++  You may charge a fee for the physical act of transferring a copy,+and you may at your option offer warranty protection in exchange for a+fee.++  2. You may modify your copy or copies of the Library or any portion+of it, thus forming a work based on the Library, and copy and+distribute such modifications or work under the terms of Section 1+above, provided that you also meet all of these conditions:++    a) The modified work must itself be a software library.++    b) You must cause the files modified to carry prominent notices+    stating that you changed the files and the date of any change.++    c) You must cause the whole of the work to be licensed at no+    charge to all third parties under the terms of this License.++    d) If a facility in the modified Library refers to a function or a+    table of data to be supplied by an application program that uses+    the facility, other than as an argument passed when the facility+    is invoked, then you must make a good faith effort to ensure that,+    in the event an application does not supply such function or+    table, the facility still operates, and performs whatever part of+    its purpose remains meaningful.++    (For example, a function in a library to compute square roots has+    a purpose that is entirely well-defined independent of the+    application.  Therefore, Subsection 2d requires that any+    application-supplied function or table used by this function must+    be optional: if the application does not supply it, the square+    root function must still compute square roots.)++These requirements apply to the modified work as a whole.  If+identifiable sections of that work are not derived from the Library,+and can be reasonably considered independent and separate works in+themselves, then this License, and its terms, do not apply to those+sections when you distribute them as separate works.  But when you+distribute the same sections as part of a whole which is a work based+on the Library, the distribution of the whole must be on the terms of+this License, whose permissions for other licensees extend to the+entire whole, and thus to each and every part regardless of who wrote+it.++Thus, it is not the intent of this section to claim rights or contest+your rights to work written entirely by you; rather, the intent is to+exercise the right to control the distribution of derivative or+collective works based on the Library.++In addition, mere aggregation of another work not based on the Library+with the Library (or with a work based on the Library) on a volume of+a storage or distribution medium does not bring the other work under+the scope of this License.++  3. You may opt to apply the terms of the ordinary GNU General Public+License instead of this License to a given copy of the Library.  To do+this, you must alter all the notices that refer to this License, so+that they refer to the ordinary GNU General Public License, version 2,+instead of to this License.  (If a newer version than version 2 of the+ordinary GNU General Public License has appeared, then you can specify+that version instead if you wish.)  Do not make any other change in+these notices.++  Once this change is made in a given copy, it is irreversible for+that copy, so the ordinary GNU General Public License applies to all+subsequent copies and derivative works made from that copy.++  This option is useful when you wish to copy part of the code of+the Library into a program that is not a library.++  4. You may copy and distribute the Library (or a portion or+derivative of it, under Section 2) in object code or executable form+under the terms of Sections 1 and 2 above provided that you accompany+it with the complete corresponding machine-readable source code, which+must be distributed under the terms of Sections 1 and 2 above on a+medium customarily used for software interchange.++  If distribution of object code is made by offering access to copy+from a designated place, then offering equivalent access to copy the+source code from the same place satisfies the requirement to+distribute the source code, even though third parties are not+compelled to copy the source along with the object code.++  5. A program that contains no derivative of any portion of the+Library, but is designed to work with the Library by being compiled or+linked with it, is called a "work that uses the Library".  Such a+work, in isolation, is not a derivative work of the Library, and+therefore falls outside the scope of this License.++  However, linking a "work that uses the Library" with the Library+creates an executable that is a derivative of the Library (because it+contains portions of the Library), rather than a "work that uses the+library".  The executable is therefore covered by this License.+Section 6 states terms for distribution of such executables.++  When a "work that uses the Library" uses material from a header file+that is part of the Library, the object code for the work may be a+derivative work of the Library even though the source code is not.+Whether this is true is especially significant if the work can be+linked without the Library, or if the work is itself a library.  The+threshold for this to be true is not precisely defined by law.++  If such an object file uses only numerical parameters, data+structure layouts and accessors, and small macros and small inline+functions (ten lines or less in length), then the use of the object+file is unrestricted, regardless of whether it is legally a derivative+work.  (Executables containing this object code plus portions of the+Library will still fall under Section 6.)++  Otherwise, if the work is a derivative of the Library, you may+distribute the object code for the work under the terms of Section 6.+Any executables containing that work also fall under Section 6,+whether or not they are linked directly with the Library itself.++  6. As an exception to the Sections above, you may also combine or+link a "work that uses the Library" with the Library to produce a+work containing portions of the Library, and distribute that work+under terms of your choice, provided that the terms permit+modification of the work for the customer's own use and reverse+engineering for debugging such modifications.++  You must give prominent notice with each copy of the work that the+Library is used in it and that the Library and its use are covered by+this License.  You must supply a copy of this License.  If the work+during execution displays copyright notices, you must include the+copyright notice for the Library among them, as well as a reference+directing the user to the copy of this License.  Also, you must do one+of these things:++    a) Accompany the work with the complete corresponding+    machine-readable source code for the Library including whatever+    changes were used in the work (which must be distributed under+    Sections 1 and 2 above); and, if the work is an executable linked+    with the Library, with the complete machine-readable "work that+    uses the Library", as object code and/or source code, so that the+    user can modify the Library and then relink to produce a modified+    executable containing the modified Library.  (It is understood+    that the user who changes the contents of definitions files in the+    Library will not necessarily be able to recompile the application+    to use the modified definitions.)++    b) Use a suitable shared library mechanism for linking with the+    Library.  A suitable mechanism is one that (1) uses at run time a+    copy of the library already present on the user's computer system,+    rather than copying library functions into the executable, and (2)+    will operate properly with a modified version of the library, if+    the user installs one, as long as the modified version is+    interface-compatible with the version that the work was made with.++    c) Accompany the work with a written offer, valid for at+    least three years, to give the same user the materials+    specified in Subsection 6a, above, for a charge no more+    than the cost of performing this distribution.++    d) If distribution of the work is made by offering access to copy+    from a designated place, offer equivalent access to copy the above+    specified materials from the same place.++    e) Verify that the user has already received a copy of these+    materials or that you have already sent this user a copy.++  For an executable, the required form of the "work that uses the+Library" must include any data and utility programs needed for+reproducing the executable from it.  However, as a special exception,+the materials to be distributed need not include anything that is+normally distributed (in either source or binary form) with the major+components (compiler, kernel, and so on) of the operating system on+which the executable runs, unless that component itself accompanies+the executable.++  It may happen that this requirement contradicts the license+restrictions of other proprietary libraries that do not normally+accompany the operating system.  Such a contradiction means you cannot+use both them and the Library together in an executable that you+distribute.++  7. You may place library facilities that are a work based on the+Library side-by-side in a single library together with other library+facilities not covered by this License, and distribute such a combined+library, provided that the separate distribution of the work based on+the Library and of the other library facilities is otherwise+permitted, and provided that you do these two things:++    a) Accompany the combined library with a copy of the same work+    based on the Library, uncombined with any other library+    facilities.  This must be distributed under the terms of the+    Sections above.++    b) Give prominent notice with the combined library of the fact+    that part of it is a work based on the Library, and explaining+    where to find the accompanying uncombined form of the same work.++  8. You may not copy, modify, sublicense, link with, or distribute+the Library except as expressly provided under this License.  Any+attempt otherwise to copy, modify, sublicense, link with, or+distribute the Library is void, and will automatically terminate your+rights under this License.  However, parties who have received copies,+or rights, from you under this License will not have their licenses+terminated so long as such parties remain in full compliance.++  9. You are not required to accept this License, since you have not+signed it.  However, nothing else grants you permission to modify or+distribute the Library or its derivative works.  These actions are+prohibited by law if you do not accept this License.  Therefore, by+modifying or distributing the Library (or any work based on the+Library), you indicate your acceptance of this License to do so, and+all its terms and conditions for copying, distributing or modifying+the Library or works based on it.++  10. Each time you redistribute the Library (or any work based on the+Library), the recipient automatically receives a license from the+original licensor to copy, distribute, link with or modify the Library+subject to these terms and conditions.  You may not impose any further+restrictions on the recipients' exercise of the rights granted herein.+You are not responsible for enforcing compliance by third parties with+this License.++  11. If, as a consequence of a court judgment or allegation of patent+infringement or for any other reason (not limited to patent issues),+conditions are imposed on you (whether by court order, agreement or+otherwise) that contradict the conditions of this License, they do not+excuse you from the conditions of this License.  If you cannot+distribute so as to satisfy simultaneously your obligations under this+License and any other pertinent obligations, then as a consequence you+may not distribute the Library at all.  For example, if a patent+license would not permit royalty-free redistribution of the Library by+all those who receive copies directly or indirectly through you, then+the only way you could satisfy both it and this License would be to+refrain entirely from distribution of the Library.++If any portion of this section is held invalid or unenforceable under any+particular circumstance, the balance of the section is intended to apply,+and the section as a whole is intended to apply in other circumstances.++It is not the purpose of this section to induce you to infringe any+patents or other property right claims or to contest validity of any+such claims; this section has the sole purpose of protecting the+integrity of the free software distribution system which is+implemented by public license practices.  Many people have made+generous contributions to the wide range of software distributed+through that system in reliance on consistent application of that+system; it is up to the author/donor to decide if he or she is willing+to distribute software through any other system and a licensee cannot+impose that choice.++This section is intended to make thoroughly clear what is believed to+be a consequence of the rest of this License.++  12. If the distribution and/or use of the Library is restricted in+certain countries either by patents or by copyrighted interfaces, the+original copyright holder who places the Library under this License may add+an explicit geographical distribution limitation excluding those countries,+so that distribution is permitted only in or among countries not thus+excluded.  In such case, this License incorporates the limitation as if+written in the body of this License.++  13. The Free Software Foundation may publish revised and/or new+versions of the Lesser General Public License from time to time.+Such new versions will be similar in spirit to the present version,+but may differ in detail to address new problems or concerns.++Each version is given a distinguishing version number.  If the Library+specifies a version number of this License which applies to it and+"any later version", you have the option of following the terms and+conditions either of that version or of any later version published by+the Free Software Foundation.  If the Library does not specify a+license version number, you may choose any version ever published by+the Free Software Foundation.++  14. If you wish to incorporate parts of the Library into other free+programs whose distribution conditions are incompatible with these,+write to the author to ask for permission.  For software which is+copyrighted by the Free Software Foundation, write to the Free+Software Foundation; we sometimes make exceptions for this.  Our+decision will be guided by the two goals of preserving the free status+of all derivatives of our free software and of promoting the sharing+and reuse of software generally.++                            NO WARRANTY++  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.++  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH+DAMAGES.++                     END OF TERMS AND CONDITIONS++           How to Apply These Terms to Your New Libraries++  If you develop a new library, and you want it to be of the greatest+possible use to the public, we recommend making it free software that+everyone can redistribute and change.  You can do so by permitting+redistribution under these terms (or, alternatively, under the terms of the+ordinary General Public License).++  To apply these terms, attach the following notices to the library.  It is+safest to attach them to the start of each source file to most effectively+convey the exclusion of warranty; and each file should have at least the+"copyright" line and a pointer to where the full notice is found.++    <one line to give the library's name and a brief idea of what it does.>+    Copyright (C) <year>  <name of author>++    This library is free software; you can redistribute it and/or+    modify it under the terms of the GNU Lesser General Public+    License as published by the Free Software Foundation; either+    version 2.1 of the License, or (at your option) any later version.++    This library is distributed in the hope that it will be useful,+    but WITHOUT ANY WARRANTY; without even the implied warranty of+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU+    Lesser General Public License for more details.++    You should have received a copy of the GNU Lesser General Public+    License along with this library; if not, write to the Free Software+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA++Also add information on how to contact you by electronic and paper mail.++You should also get your employer (if you work as a programmer) or your+school, if any, to sign a "copyright disclaimer" for the library, if+necessary.  Here is a sample; alter the names:++  Yoyodyne, Inc., hereby disclaims all copyright interest in the+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.++  <signature of Ty Coon>, 1 April 1990+  Ty Coon, President of Vice++That's all there is to it!
+ Setup.hs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+import Distribution.Simple+main = defaultMain
+ gi-gobject.cabal view
@@ -0,0 +1,25 @@+-- Autogenerated, do not edit.+name:               gi-gobject+version:            0.2.44.8+synopsis:           GObject bindings+description:        Bindings for GObject, autogenerated by haskell-gi.+homepage:           https://github.com/haskell-gi/haskell-gi+license:            LGPL-2.1+license-file:       LICENSE+author:             Will Thompson, Iñaki García Etxebarria and Jonas Platte+maintainer:         Iñaki García Etxebarria (garetxe@gmail.com)+category:           Bindings+build-type:         Simple+cabal-version:      >=1.10++library+    default-language:   Haskell2010+    exposed-modules:    GI.GObject, GI.GObjectAttributes, GI.GObjectSignals+    pkgconfig-depends:  gobject-2.0 >= 2.44+    build-depends: base >= 4.6 && <4.9,+        haskell-gi-base >= 0.8 && < 1,+        gi-glib >= 0.2.44.8 && < 0.3,+        bytestring >= 0.10,+        containers >= 0.5,+        text >= 1.0,+        transformers >= 0.3