-- 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/MimeTypeArray.chs" #-}
module Graphics.UI.Gtk.WebKit.DOM.MimeTypeArray(
item,
namedItem,
getLength,
MimeTypeArray,
castToMimeTypeArray,
gTypeMimeTypeArray,
MimeTypeArrayClass,
toMimeTypeArray,
) 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/MimeTypeArray.chs" #-}
import Graphics.UI.Gtk.WebKit.DOM.Enums

 
item ::
     (MonadIO m, MimeTypeArrayClass self) =>
       self -> Word -> m (Maybe MimeType)
item self index
  = liftIO
      (maybeNull (makeNewGObject mkMimeType)
         ((\(MimeTypeArray arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_dom_mime_type_array_item argPtr1 arg2)
{-# LINE 32 "./Graphics/UI/Gtk/WebKit/DOM/MimeTypeArray.chs" #-}
            (toMimeTypeArray self)
            (fromIntegral index)))
 
namedItem ::
          (MonadIO m, MimeTypeArrayClass self, GlibString string) =>
            self -> string -> m (Maybe MimeType)
namedItem self name
  = liftIO
      (maybeNull (makeNewGObject mkMimeType)
         (withUTFString name $
            \ namePtr ->
              (\(MimeTypeArray arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_dom_mime_type_array_named_item argPtr1 arg2)
{-# LINE 44 "./Graphics/UI/Gtk/WebKit/DOM/MimeTypeArray.chs" #-}
                (toMimeTypeArray self)
                namePtr))
 
getLength :: (MonadIO m, MimeTypeArrayClass self) => self -> m Word
getLength self
  = liftIO
      (fromIntegral <$>
         ((\(MimeTypeArray arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_dom_mime_type_array_get_length argPtr1)
{-# LINE 52 "./Graphics/UI/Gtk/WebKit/DOM/MimeTypeArray.chs" #-}
            (toMimeTypeArray self)))

foreign import ccall safe "webkit_dom_dom_mime_type_array_item"
  webkit_dom_dom_mime_type_array_item :: ((Ptr MimeTypeArray) -> (CULong -> (IO (Ptr MimeType))))

foreign import ccall safe "webkit_dom_dom_mime_type_array_named_item"
  webkit_dom_dom_mime_type_array_named_item :: ((Ptr MimeTypeArray) -> ((Ptr CChar) -> (IO (Ptr MimeType))))

foreign import ccall safe "webkit_dom_dom_mime_type_array_get_length"
  webkit_dom_dom_mime_type_array_get_length :: ((Ptr MimeTypeArray) -> (IO CULong))