-- GENERATED by C->Haskell Compiler, version 0.13.12 (gtk2hs branch) "Bin IO", 27 May 2012 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "./Graphics/UI/Gtk/WebKit/DOM/TreeWalker.chs" #-}
module Graphics.UI.Gtk.WebKit.DOM.TreeWalker
       (treeWalkerGetRoot, treeWalkerGetWhatToShow, treeWalkerGetFilter,
        treeWalkerGetExpandEntityReferences, treeWalkerSetCurrentNode,
        treeWalkerGetCurrentNode, TreeWalker(..), TreeWalkerClass(..),
        castToTreeWalker, gTypeTreeWalker, toTreeWalker)
       where
import System.Glib.FFI
import System.Glib.UTFString
import Control.Applicative
import Graphics.UI.Gtk.WebKit.Types
{-# LINE 10 "./Graphics/UI/Gtk/WebKit/DOM/TreeWalker.chs" #-}
import System.Glib.GError
import Graphics.UI.Gtk.WebKit.DOM.EventM
 
treeWalkerGetRoot ::
                  (TreeWalkerClass self) => self -> IO (Maybe Node)
treeWalkerGetRoot self
  = maybeNull (makeNewGObject mkNode)
      ((\(TreeWalker arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_tree_walker_get_root argPtr1) (toTreeWalker self))
 
treeWalkerGetWhatToShow ::
                        (TreeWalkerClass self) => self -> IO Word
treeWalkerGetWhatToShow self
  = fromIntegral <$>
      ((\(TreeWalker arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_tree_walker_get_what_to_show argPtr1)
{-# LINE 24 "./Graphics/UI/Gtk/WebKit/DOM/TreeWalker.chs" #-}
         (toTreeWalker self))
 
treeWalkerGetFilter ::
                    (TreeWalkerClass self) => self -> IO (Maybe NodeFilter)
treeWalkerGetFilter self
  = maybeNull (makeNewGObject mkNodeFilter)
      ((\(TreeWalker arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_tree_walker_get_filter argPtr1) (toTreeWalker self))
 
treeWalkerGetExpandEntityReferences ::
                                    (TreeWalkerClass self) => self -> IO Bool
treeWalkerGetExpandEntityReferences self
  = toBool <$>
      ((\(TreeWalker arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_tree_walker_get_expand_entity_references argPtr1)
{-# LINE 37 "./Graphics/UI/Gtk/WebKit/DOM/TreeWalker.chs" #-}
         (toTreeWalker self))
 
treeWalkerSetCurrentNode ::
                         (NodeClass val, TreeWalkerClass self) => self -> Maybe val -> IO ()
treeWalkerSetCurrentNode self val
  = propagateGError $
      \ errorPtr_ ->
        (\(TreeWalker arg1) (Node arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->webkit_dom_tree_walker_set_current_node argPtr1 argPtr2 arg3)
{-# LINE 45 "./Graphics/UI/Gtk/WebKit/DOM/TreeWalker.chs" #-}
          (toTreeWalker self)
          (maybe (Node nullForeignPtr) toNode val)
          errorPtr_
 
treeWalkerGetCurrentNode ::
                         (TreeWalkerClass self) => self -> IO (Maybe Node)
treeWalkerGetCurrentNode self
  = maybeNull (makeNewGObject mkNode)
      ((\(TreeWalker arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_tree_walker_get_current_node argPtr1)
{-# LINE 54 "./Graphics/UI/Gtk/WebKit/DOM/TreeWalker.chs" #-}
         (toTreeWalker self))

foreign import ccall safe "webkit_dom_tree_walker_get_root"
  webkit_dom_tree_walker_get_root :: ((Ptr TreeWalker) -> (IO (Ptr Node)))

foreign import ccall safe "webkit_dom_tree_walker_get_what_to_show"
  webkit_dom_tree_walker_get_what_to_show :: ((Ptr TreeWalker) -> (IO CULong))

foreign import ccall safe "webkit_dom_tree_walker_get_filter"
  webkit_dom_tree_walker_get_filter :: ((Ptr TreeWalker) -> (IO (Ptr NodeFilter)))

foreign import ccall safe "webkit_dom_tree_walker_get_expand_entity_references"
  webkit_dom_tree_walker_get_expand_entity_references :: ((Ptr TreeWalker) -> (IO CInt))

foreign import ccall safe "webkit_dom_tree_walker_set_current_node"
  webkit_dom_tree_walker_set_current_node :: ((Ptr TreeWalker) -> ((Ptr Node) -> ((Ptr (Ptr ())) -> (IO ()))))

foreign import ccall safe "webkit_dom_tree_walker_get_current_node"
  webkit_dom_tree_walker_get_current_node :: ((Ptr TreeWalker) -> (IO (Ptr Node)))