gi-webkit2-0.2.8.12: GI/WebKit2/Objects/BackForwardList.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.WebKit2.Objects.BackForwardList
(
-- * Exported types
BackForwardList(..) ,
BackForwardListK ,
toBackForwardList ,
noBackForwardList ,
-- * Methods
-- ** backForwardListGetBackItem
backForwardListGetBackItem ,
-- ** backForwardListGetBackList
backForwardListGetBackList ,
-- ** backForwardListGetBackListWithLimit
backForwardListGetBackListWithLimit ,
-- ** backForwardListGetCurrentItem
backForwardListGetCurrentItem ,
-- ** backForwardListGetForwardItem
backForwardListGetForwardItem ,
-- ** backForwardListGetForwardList
backForwardListGetForwardList ,
-- ** backForwardListGetForwardListWithLimit
backForwardListGetForwardListWithLimit ,
-- ** backForwardListGetLength
backForwardListGetLength ,
-- ** backForwardListGetNthItem
backForwardListGetNthItem ,
-- * Signals
-- ** Changed
BackForwardListChangedCallback ,
BackForwardListChangedCallbackC ,
BackForwardListChangedSignalInfo ,
afterBackForwardListChanged ,
backForwardListChangedCallbackWrapper ,
backForwardListChangedClosure ,
mkBackForwardListChangedCallback ,
noBackForwardListChangedCallback ,
onBackForwardListChanged ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.WebKit2.Types
import GI.WebKit2.Callbacks
import qualified GI.GObject as GObject
newtype BackForwardList = BackForwardList (ForeignPtr BackForwardList)
foreign import ccall "webkit_back_forward_list_get_type"
c_webkit_back_forward_list_get_type :: IO GType
type instance ParentTypes BackForwardList = BackForwardListParentTypes
type BackForwardListParentTypes = '[GObject.Object]
instance GObject BackForwardList where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_webkit_back_forward_list_get_type
class GObject o => BackForwardListK o
instance (GObject o, IsDescendantOf BackForwardList o) => BackForwardListK o
toBackForwardList :: BackForwardListK o => o -> IO BackForwardList
toBackForwardList = unsafeCastTo BackForwardList
noBackForwardList :: Maybe BackForwardList
noBackForwardList = Nothing
-- signal BackForwardList::changed
type BackForwardListChangedCallback =
Maybe BackForwardListItem ->
Ptr () ->
IO ()
noBackForwardListChangedCallback :: Maybe BackForwardListChangedCallback
noBackForwardListChangedCallback = Nothing
type BackForwardListChangedCallbackC =
Ptr () -> -- object
Ptr BackForwardListItem ->
Ptr () ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkBackForwardListChangedCallback :: BackForwardListChangedCallbackC -> IO (FunPtr BackForwardListChangedCallbackC)
backForwardListChangedClosure :: BackForwardListChangedCallback -> IO Closure
backForwardListChangedClosure cb = newCClosure =<< mkBackForwardListChangedCallback wrapped
where wrapped = backForwardListChangedCallbackWrapper cb
backForwardListChangedCallbackWrapper ::
BackForwardListChangedCallback ->
Ptr () ->
Ptr BackForwardListItem ->
Ptr () ->
Ptr () ->
IO ()
backForwardListChangedCallbackWrapper _cb _ item_added items_removed _ = do
maybeItem_added <-
if item_added == nullPtr
then return Nothing
else do
item_added' <- (newObject BackForwardListItem) item_added
return $ Just item_added'
_cb maybeItem_added items_removed
onBackForwardListChanged :: (GObject a, MonadIO m) => a -> BackForwardListChangedCallback -> m SignalHandlerId
onBackForwardListChanged obj cb = liftIO $ connectBackForwardListChanged obj cb SignalConnectBefore
afterBackForwardListChanged :: (GObject a, MonadIO m) => a -> BackForwardListChangedCallback -> m SignalHandlerId
afterBackForwardListChanged obj cb = connectBackForwardListChanged obj cb SignalConnectAfter
connectBackForwardListChanged :: (GObject a, MonadIO m) =>
a -> BackForwardListChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectBackForwardListChanged obj cb after = liftIO $ do
cb' <- mkBackForwardListChangedCallback (backForwardListChangedCallbackWrapper cb)
connectSignalFunPtr obj "changed" cb' after
type instance AttributeList BackForwardList = BackForwardListAttributeList
type BackForwardListAttributeList = ('[ ] :: [(Symbol, *)])
data BackForwardListChangedSignalInfo
instance SignalInfo BackForwardListChangedSignalInfo where
type HaskellCallbackType BackForwardListChangedSignalInfo = BackForwardListChangedCallback
connectSignal _ = connectBackForwardListChanged
type instance SignalList BackForwardList = BackForwardListSignalList
type BackForwardListSignalList = ('[ '("changed", BackForwardListChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method BackForwardList::get_back_item
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2" "BackForwardListItem"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_back_forward_list_get_back_item" webkit_back_forward_list_get_back_item ::
Ptr BackForwardList -> -- _obj : TInterface "WebKit2" "BackForwardList"
IO (Ptr BackForwardListItem)
backForwardListGetBackItem ::
(MonadIO m, BackForwardListK a) =>
a -> -- _obj
m BackForwardListItem
backForwardListGetBackItem _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_back_item _obj'
checkUnexpectedReturnNULL "webkit_back_forward_list_get_back_item" result
result' <- (newObject BackForwardListItem) result
touchManagedPtr _obj
return result'
-- method BackForwardList::get_back_list
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TGList (TInterface "WebKit2" "BackForwardListItem")
-- throws : False
-- Skip return : False
foreign import ccall "webkit_back_forward_list_get_back_list" webkit_back_forward_list_get_back_list ::
Ptr BackForwardList -> -- _obj : TInterface "WebKit2" "BackForwardList"
IO (Ptr (GList (Ptr BackForwardListItem)))
backForwardListGetBackList ::
(MonadIO m, BackForwardListK a) =>
a -> -- _obj
m [BackForwardListItem]
backForwardListGetBackList _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_back_list _obj'
checkUnexpectedReturnNULL "webkit_back_forward_list_get_back_list" result
result' <- unpackGList result
result'' <- mapM (newObject BackForwardListItem) result'
g_list_free result
touchManagedPtr _obj
return result''
-- method BackForwardList::get_back_list_with_limit
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "limit", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "limit", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TGList (TInterface "WebKit2" "BackForwardListItem")
-- throws : False
-- Skip return : False
foreign import ccall "webkit_back_forward_list_get_back_list_with_limit" webkit_back_forward_list_get_back_list_with_limit ::
Ptr BackForwardList -> -- _obj : TInterface "WebKit2" "BackForwardList"
Word32 -> -- limit : TBasicType TUInt32
IO (Ptr (GList (Ptr BackForwardListItem)))
backForwardListGetBackListWithLimit ::
(MonadIO m, BackForwardListK a) =>
a -> -- _obj
Word32 -> -- limit
m [BackForwardListItem]
backForwardListGetBackListWithLimit _obj limit = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_back_list_with_limit _obj' limit
checkUnexpectedReturnNULL "webkit_back_forward_list_get_back_list_with_limit" result
result' <- unpackGList result
result'' <- mapM (newObject BackForwardListItem) result'
g_list_free result
touchManagedPtr _obj
return result''
-- method BackForwardList::get_current_item
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2" "BackForwardListItem"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_back_forward_list_get_current_item" webkit_back_forward_list_get_current_item ::
Ptr BackForwardList -> -- _obj : TInterface "WebKit2" "BackForwardList"
IO (Ptr BackForwardListItem)
backForwardListGetCurrentItem ::
(MonadIO m, BackForwardListK a) =>
a -> -- _obj
m BackForwardListItem
backForwardListGetCurrentItem _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_current_item _obj'
checkUnexpectedReturnNULL "webkit_back_forward_list_get_current_item" result
result' <- (newObject BackForwardListItem) result
touchManagedPtr _obj
return result'
-- method BackForwardList::get_forward_item
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2" "BackForwardListItem"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_back_forward_list_get_forward_item" webkit_back_forward_list_get_forward_item ::
Ptr BackForwardList -> -- _obj : TInterface "WebKit2" "BackForwardList"
IO (Ptr BackForwardListItem)
backForwardListGetForwardItem ::
(MonadIO m, BackForwardListK a) =>
a -> -- _obj
m BackForwardListItem
backForwardListGetForwardItem _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_forward_item _obj'
checkUnexpectedReturnNULL "webkit_back_forward_list_get_forward_item" result
result' <- (newObject BackForwardListItem) result
touchManagedPtr _obj
return result'
-- method BackForwardList::get_forward_list
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TGList (TInterface "WebKit2" "BackForwardListItem")
-- throws : False
-- Skip return : False
foreign import ccall "webkit_back_forward_list_get_forward_list" webkit_back_forward_list_get_forward_list ::
Ptr BackForwardList -> -- _obj : TInterface "WebKit2" "BackForwardList"
IO (Ptr (GList (Ptr BackForwardListItem)))
backForwardListGetForwardList ::
(MonadIO m, BackForwardListK a) =>
a -> -- _obj
m [BackForwardListItem]
backForwardListGetForwardList _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_forward_list _obj'
checkUnexpectedReturnNULL "webkit_back_forward_list_get_forward_list" result
result' <- unpackGList result
result'' <- mapM (newObject BackForwardListItem) result'
g_list_free result
touchManagedPtr _obj
return result''
-- method BackForwardList::get_forward_list_with_limit
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "limit", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "limit", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TGList (TInterface "WebKit2" "BackForwardListItem")
-- throws : False
-- Skip return : False
foreign import ccall "webkit_back_forward_list_get_forward_list_with_limit" webkit_back_forward_list_get_forward_list_with_limit ::
Ptr BackForwardList -> -- _obj : TInterface "WebKit2" "BackForwardList"
Word32 -> -- limit : TBasicType TUInt32
IO (Ptr (GList (Ptr BackForwardListItem)))
backForwardListGetForwardListWithLimit ::
(MonadIO m, BackForwardListK a) =>
a -> -- _obj
Word32 -> -- limit
m [BackForwardListItem]
backForwardListGetForwardListWithLimit _obj limit = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_forward_list_with_limit _obj' limit
checkUnexpectedReturnNULL "webkit_back_forward_list_get_forward_list_with_limit" result
result' <- unpackGList result
result'' <- mapM (newObject BackForwardListItem) result'
g_list_free result
touchManagedPtr _obj
return result''
-- method BackForwardList::get_length
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "webkit_back_forward_list_get_length" webkit_back_forward_list_get_length ::
Ptr BackForwardList -> -- _obj : TInterface "WebKit2" "BackForwardList"
IO Word32
backForwardListGetLength ::
(MonadIO m, BackForwardListK a) =>
a -> -- _obj
m Word32
backForwardListGetLength _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_length _obj'
touchManagedPtr _obj
return result
-- method BackForwardList::get_nth_item
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "BackForwardList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit2" "BackForwardListItem"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_back_forward_list_get_nth_item" webkit_back_forward_list_get_nth_item ::
Ptr BackForwardList -> -- _obj : TInterface "WebKit2" "BackForwardList"
Int32 -> -- index : TBasicType TInt32
IO (Ptr BackForwardListItem)
backForwardListGetNthItem ::
(MonadIO m, BackForwardListK a) =>
a -> -- _obj
Int32 -> -- index
m BackForwardListItem
backForwardListGetNthItem _obj index = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_nth_item _obj' index
checkUnexpectedReturnNULL "webkit_back_forward_list_get_nth_item" result
result' <- (newObject BackForwardListItem) result
touchManagedPtr _obj
return result'