module Graphics.UI.Gtk.WebKit.DOM.Storage
(storageKey, storageGetItem, storageSetItem, storageRemoveItem,
storageClear, storageGetLength, Storage, StorageClass,
castToStorage, gTypeStorage, toStorage)
where
import System.Glib.FFI
import System.Glib.UTFString
import Control.Applicative
import Graphics.UI.Gtk.WebKit.Types
import System.Glib.GError
import Graphics.UI.Gtk.WebKit.DOM.EventM
storageKey :: (StorageClass self) => self -> Word -> IO String
storageKey self index = (\(Storage arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_storage_key argPtr1 arg2) (toStorage self) (fromIntegral index) >>= readUTFString
storageGetItem :: (StorageClass self) => self -> String -> IO String
storageGetItem self key =
(withUTFString key $ \keyPtr ->
(\(Storage arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_storage_get_item argPtr1 arg2) (toStorage self) keyPtr)
>>= readUTFString
storageSetItem :: (StorageClass self) => self -> String -> String -> IO ()
storageSetItem self key data'
= propagateGError $
\ errorPtr_ ->
withUTFString data' $
\ dataPtr ->
withUTFString key $
\ keyPtr ->
(\(Storage arg1) arg2 arg3 arg4 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_storage_set_item argPtr1 arg2 arg3 arg4) (toStorage self) keyPtr
dataPtr
errorPtr_
storageRemoveItem :: (StorageClass self) => self -> String -> IO ()
storageRemoveItem self key = withUTFString key $ \keyPtr ->
(\(Storage arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_storage_remove_item argPtr1 arg2) (toStorage self) keyPtr
storageClear :: (StorageClass self) => self -> IO ()
storageClear = (\(Storage arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_storage_clear argPtr1) . toStorage
storageGetLength :: (StorageClass self) => self -> IO Word
storageGetLength self = fromIntegral <$> ((\(Storage arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_storage_get_length argPtr1) (toStorage self))
foreign import ccall safe "dist/build/Graphics/UI/Gtk/WebKit/DOM/Storage.h webkit_dom_storage_key"
webkit_dom_storage_key :: ((Ptr Storage) -> (CULong -> (IO (Ptr CChar))))
foreign import ccall safe "dist/build/Graphics/UI/Gtk/WebKit/DOM/Storage.h webkit_dom_storage_get_item"
webkit_dom_storage_get_item :: ((Ptr Storage) -> ((Ptr CChar) -> (IO (Ptr CChar))))
foreign import ccall safe "dist/build/Graphics/UI/Gtk/WebKit/DOM/Storage.h webkit_dom_storage_set_item"
webkit_dom_storage_set_item :: ((Ptr Storage) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr (Ptr ())) -> (IO ())))))
foreign import ccall safe "dist/build/Graphics/UI/Gtk/WebKit/DOM/Storage.h webkit_dom_storage_remove_item"
webkit_dom_storage_remove_item :: ((Ptr Storage) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "dist/build/Graphics/UI/Gtk/WebKit/DOM/Storage.h webkit_dom_storage_clear"
webkit_dom_storage_clear :: ((Ptr Storage) -> (IO ()))
foreign import ccall safe "dist/build/Graphics/UI/Gtk/WebKit/DOM/Storage.h webkit_dom_storage_get_length"
webkit_dom_storage_get_length :: ((Ptr Storage) -> (IO CULong))