module GI.WebKit2.Objects.BackForwardList
(
BackForwardList(..) ,
BackForwardListK ,
toBackForwardList ,
noBackForwardList ,
backForwardListGetBackItem ,
backForwardListGetBackList ,
backForwardListGetBackListWithLimit ,
backForwardListGetCurrentItem ,
backForwardListGetForwardItem ,
backForwardListGetForwardList ,
backForwardListGetForwardListWithLimit ,
backForwardListGetLength ,
backForwardListGetNthItem ,
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
type BackForwardListChangedCallback =
Maybe BackForwardListItem ->
Ptr () ->
IO ()
noBackForwardListChangedCallback :: Maybe BackForwardListChangedCallback
noBackForwardListChangedCallback = Nothing
type BackForwardListChangedCallbackC =
Ptr () ->
Ptr BackForwardListItem ->
Ptr () ->
Ptr () ->
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, *)])
foreign import ccall "webkit_back_forward_list_get_back_item" webkit_back_forward_list_get_back_item ::
Ptr BackForwardList ->
IO (Ptr BackForwardListItem)
backForwardListGetBackItem ::
(MonadIO m, BackForwardListK a) =>
a ->
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'
foreign import ccall "webkit_back_forward_list_get_back_list" webkit_back_forward_list_get_back_list ::
Ptr BackForwardList ->
IO (Ptr (GList (Ptr BackForwardListItem)))
backForwardListGetBackList ::
(MonadIO m, BackForwardListK a) =>
a ->
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''
foreign import ccall "webkit_back_forward_list_get_back_list_with_limit" webkit_back_forward_list_get_back_list_with_limit ::
Ptr BackForwardList ->
Word32 ->
IO (Ptr (GList (Ptr BackForwardListItem)))
backForwardListGetBackListWithLimit ::
(MonadIO m, BackForwardListK a) =>
a ->
Word32 ->
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''
foreign import ccall "webkit_back_forward_list_get_current_item" webkit_back_forward_list_get_current_item ::
Ptr BackForwardList ->
IO (Ptr BackForwardListItem)
backForwardListGetCurrentItem ::
(MonadIO m, BackForwardListK a) =>
a ->
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'
foreign import ccall "webkit_back_forward_list_get_forward_item" webkit_back_forward_list_get_forward_item ::
Ptr BackForwardList ->
IO (Ptr BackForwardListItem)
backForwardListGetForwardItem ::
(MonadIO m, BackForwardListK a) =>
a ->
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'
foreign import ccall "webkit_back_forward_list_get_forward_list" webkit_back_forward_list_get_forward_list ::
Ptr BackForwardList ->
IO (Ptr (GList (Ptr BackForwardListItem)))
backForwardListGetForwardList ::
(MonadIO m, BackForwardListK a) =>
a ->
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''
foreign import ccall "webkit_back_forward_list_get_forward_list_with_limit" webkit_back_forward_list_get_forward_list_with_limit ::
Ptr BackForwardList ->
Word32 ->
IO (Ptr (GList (Ptr BackForwardListItem)))
backForwardListGetForwardListWithLimit ::
(MonadIO m, BackForwardListK a) =>
a ->
Word32 ->
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''
foreign import ccall "webkit_back_forward_list_get_length" webkit_back_forward_list_get_length ::
Ptr BackForwardList ->
IO Word32
backForwardListGetLength ::
(MonadIO m, BackForwardListK a) =>
a ->
m Word32
backForwardListGetLength _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_back_forward_list_get_length _obj'
touchManagedPtr _obj
return result
foreign import ccall "webkit_back_forward_list_get_nth_item" webkit_back_forward_list_get_nth_item ::
Ptr BackForwardList ->
Int32 ->
IO (Ptr BackForwardListItem)
backForwardListGetNthItem ::
(MonadIO m, BackForwardListK a) =>
a ->
Int32 ->
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'