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


{-# LINE 1 "./Graphics/UI/Gtk/WebKit/DOM/HTMLCollection.chs" #-}
module Graphics.UI.Gtk.WebKit.DOM.HTMLCollection(
item,
namedItem,
getLength,
HTMLCollection,
castToHTMLCollection,
gTypeHTMLCollection,
HTMLCollectionClass,
toHTMLCollection,
) where
import Prelude hiding (drop, error, print)
import Data.Typeable (Typeable)
import Foreign.Marshal (maybePeek, maybeWith)
import System.Glib.FFI (maybeNull, withForeignPtr, nullForeignPtr, Ptr, nullPtr, castPtr, Word, Int64, Word64, CChar(..), CInt(..), CUInt(..), CLong(..), CULong(..), CLLong(..), CULLong(..), CShort(..), CUShort(..), CFloat(..), CDouble(..), toBool, fromBool)
import System.Glib.UTFString (GlibString(..), readUTFString)
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Monad.IO.Class (MonadIO(..))
import System.Glib.GError
import Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
import Graphics.UI.Gtk.WebKit.DOM.EventM
import Graphics.UI.Gtk.WebKit.Types
{-# LINE 22 "./Graphics/UI/Gtk/WebKit/DOM/HTMLCollection.chs" #-}
import Graphics.UI.Gtk.WebKit.DOM.Enums

 
item ::
     (MonadIO m, HTMLCollectionClass self) =>
       self -> Word -> m (Maybe Node)
item self index
  = liftIO
      (maybeNull (makeNewGObject mkNode)
         ((\(HTMLCollection arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_html_collection_item argPtr1 arg2) (toHTMLCollection self)
            (fromIntegral index)))
 
namedItem ::
          (MonadIO m, HTMLCollectionClass self, GlibString string) =>
            self -> string -> m (Maybe Node)
namedItem self name
  = liftIO
      (maybeNull (makeNewGObject mkNode)
         (withUTFString name $
            \ namePtr ->
              (\(HTMLCollection arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_html_collection_named_item argPtr1 arg2)
{-# LINE 43 "./Graphics/UI/Gtk/WebKit/DOM/HTMLCollection.chs" #-}
                (toHTMLCollection self)
                namePtr))
 
getLength ::
          (MonadIO m, HTMLCollectionClass self) => self -> m Word
getLength self
  = liftIO
      (fromIntegral <$>
         ((\(HTMLCollection arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_html_collection_get_length argPtr1)
{-# LINE 52 "./Graphics/UI/Gtk/WebKit/DOM/HTMLCollection.chs" #-}
            (toHTMLCollection self)))

foreign import ccall safe "webkit_dom_html_collection_item"
  webkit_dom_html_collection_item :: ((Ptr HTMLCollection) -> (CULong -> (IO (Ptr Node))))

foreign import ccall safe "webkit_dom_html_collection_named_item"
  webkit_dom_html_collection_named_item :: ((Ptr HTMLCollection) -> ((Ptr CChar) -> (IO (Ptr Node))))

foreign import ccall safe "webkit_dom_html_collection_get_length"
  webkit_dom_html_collection_get_length :: ((Ptr HTMLCollection) -> (IO CULong))