{- | 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'