{-# LINE 1 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}

{-# LINE 2 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}

{-# LINE 3 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}

-- | <http://library.gnome.org/devel/glib/stable/glib-Datasets.html>

module Bindings.GLib.DataTypes.Datasets where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 8 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}
import Bindings.GLib.Fundamentals.BasicTypes
import Bindings.GLib.DataTypes.Quarks

foreign import ccall "inline_g_dataset_id_set_data" c'g_dataset_id_set_data
  :: C'gconstpointer -> C'GQuark -> C'gpointer -> IO ()

{-# LINE 12 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}
foreign import ccall "g_dataset_id_set_data_full" c'g_dataset_id_set_data_full
  :: C'gconstpointer -> C'GQuark -> C'gpointer -> C'GDestroyNotify -> IO ()
foreign import ccall "&g_dataset_id_set_data_full" p'g_dataset_id_set_data_full
  :: FunPtr (C'gconstpointer -> C'GQuark -> C'gpointer -> C'GDestroyNotify -> IO ())

{-# LINE 13 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}

type C'GDestroyNotify = FunPtr (C'gpointer -> IO ())
foreign import ccall "wrapper" mk'GDestroyNotify
  :: (C'gpointer -> IO ()) -> IO C'GDestroyNotify
foreign import ccall "dynamic" mK'GDestroyNotify
  :: C'GDestroyNotify -> (C'gpointer -> IO ())

{-# LINE 15 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}

foreign import ccall "g_dataset_id_get_data" c'g_dataset_id_get_data
  :: C'gconstpointer -> C'GQuark -> IO C'gpointer
foreign import ccall "&g_dataset_id_get_data" p'g_dataset_id_get_data
  :: FunPtr (C'gconstpointer -> C'GQuark -> IO C'gpointer)

{-# LINE 17 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}
foreign import ccall "inline_g_dataset_id_remove_data" c'g_dataset_id_remove_data
  :: C'gconstpointer -> C'GQuark -> IO ()

{-# LINE 18 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}
foreign import ccall "g_dataset_id_remove_no_notify" c'g_dataset_id_remove_no_notify
  :: C'gconstpointer -> C'GQuark -> IO C'gpointer
foreign import ccall "&g_dataset_id_remove_no_notify" p'g_dataset_id_remove_no_notify
  :: FunPtr (C'gconstpointer -> C'GQuark -> IO C'gpointer)

{-# LINE 19 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}

foreign import ccall "inline_g_dataset_set_data" c'g_dataset_set_data
  :: C'gconstpointer -> Ptr C'gchar -> C'gpointer -> IO ()

{-# LINE 21 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}
foreign import ccall "inline_g_dataset_set_data_full" c'g_dataset_set_data_full
  :: C'gconstpointer -> Ptr C'gchar -> C'gpointer -> C'GDestroyNotify -> IO ()

{-# LINE 22 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}
foreign import ccall "inline_g_dataset_get_data" c'g_dataset_get_data
  :: C'gconstpointer -> Ptr C'gchar -> IO C'gpointer

{-# LINE 23 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}
foreign import ccall "inline_g_dataset_remove_data" c'g_dataset_remove_data
  :: C'gconstpointer -> Ptr C'gchar -> IO C'gpointer

{-# LINE 24 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}
foreign import ccall "inline_g_dataset_remove_no_notify" c'g_dataset_remove_no_notify
  :: C'gconstpointer -> Ptr C'gchar -> IO C'gpointer

{-# LINE 25 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}

foreign import ccall "g_dataset_foreach" c'g_dataset_foreach
  :: C'gconstpointer -> C'GDataForeachFunc -> C'gpointer -> IO ()
foreign import ccall "&g_dataset_foreach" p'g_dataset_foreach
  :: FunPtr (C'gconstpointer -> C'GDataForeachFunc -> C'gpointer -> IO ())

{-# LINE 27 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}

type C'GDataForeachFunc = FunPtr (C'GQuark -> C'gpointer -> C'gpointer -> IO ())
foreign import ccall "wrapper" mk'GDataForeachFunc
  :: (C'GQuark -> C'gpointer -> C'gpointer -> IO ()) -> IO C'GDataForeachFunc
foreign import ccall "dynamic" mK'GDataForeachFunc
  :: C'GDataForeachFunc -> (C'GQuark -> C'gpointer -> C'gpointer -> IO ())

{-# LINE 29 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}

foreign import ccall "g_dataset_destroy" c'g_dataset_destroy
  :: C'gconstpointer -> IO ()
foreign import ccall "&g_dataset_destroy" p'g_dataset_destroy
  :: FunPtr (C'gconstpointer -> IO ())

{-# LINE 31 "src/Bindings/GLib/DataTypes/Datasets.hsc" #-}