webkit-0.13.0.0: Graphics/UI/Gtk/WebKit/DOM/Storage.chs
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, GlibString string) => self -> Word -> IO string
#if WEBKIT_CHECK_VERSION(2,0,0)
storageKey self index = propagateGError $ \errorPtr ->
({# call webkit_dom_storage_key #} (toStorage self) (fromIntegral index) errorPtr >>= readUTFString)
#else
storageKey self index = {# call webkit_dom_storage_key #} (toStorage self) (fromIntegral index) >>= readUTFString
#endif
storageGetItem ::
(StorageClass self, GlibString string) =>
self -> string -> IO string
#if WEBKIT_CHECK_VERSION(2,0,0)
storageGetItem self key = propagateGError $ \errorPtr -> (
(withUTFString key $ \keyPtr ->
{# call webkit_dom_storage_get_item #} (toStorage self) keyPtr errorPtr)
>>= readUTFString)
#else
storageGetItem self key =
(withUTFString key $ \keyPtr ->
{# call webkit_dom_storage_get_item #} (toStorage self) keyPtr)
>>= readUTFString
#endif
storageSetItem :: (StorageClass self, GlibString string) => self -> string -> string -> IO ()
storageSetItem self key data'
= propagateGError $
\ errorPtr_ ->
withUTFString data' $
\ dataPtr ->
withUTFString key $
\ keyPtr ->
{# call webkit_dom_storage_set_item #} (toStorage self) keyPtr
dataPtr
errorPtr_
storageRemoveItem ::
(StorageClass self, GlibString string) => self -> string -> IO ()
#if WEBKIT_CHECK_VERSION(2,0,0)
storageRemoveItem self key = propagateGError $ \errorPtr -> (
withUTFString key $ \keyPtr ->
{# call webkit_dom_storage_remove_item #} (toStorage self) keyPtr errorPtr)
#else
storageRemoveItem self key = withUTFString key $ \keyPtr ->
{# call webkit_dom_storage_remove_item #} (toStorage self) keyPtr
#endif
storageClear :: (StorageClass self) => self -> IO ()
#if WEBKIT_CHECK_VERSION(2,0,0)
storageClear self = propagateGError $ {# call webkit_dom_storage_clear #} (toStorage self)
#else
storageClear = {# call webkit_dom_storage_clear #} . toStorage
#endif
storageGetLength :: (StorageClass self) => self -> IO Word
#if WEBKIT_CHECK_VERSION(2,0,0)
storageGetLength self = fromIntegral <$> propagateGError ({# call webkit_dom_storage_get_length #} (toStorage self))
#else
storageGetLength self = fromIntegral <$> ({# call webkit_dom_storage_get_length #} (toStorage self))
#endif