{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit.Objects.BackForwardListItem
(
BackForwardListItem(..) ,
IsBackForwardListItem ,
toBackForwardListItem ,
#if defined(ENABLE_OVERLOADING)
ResolveBackForwardListItemMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
BackForwardListItemGetOriginalUriMethodInfo,
#endif
backForwardListItemGetOriginalUri ,
#if defined(ENABLE_OVERLOADING)
BackForwardListItemGetTitleMethodInfo ,
#endif
backForwardListItemGetTitle ,
#if defined(ENABLE_OVERLOADING)
BackForwardListItemGetUriMethodInfo ,
#endif
backForwardListItemGetUri ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
newtype BackForwardListItem = BackForwardListItem (SP.ManagedPtr BackForwardListItem)
deriving (BackForwardListItem -> BackForwardListItem -> Bool
(BackForwardListItem -> BackForwardListItem -> Bool)
-> (BackForwardListItem -> BackForwardListItem -> Bool)
-> Eq BackForwardListItem
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BackForwardListItem -> BackForwardListItem -> Bool
== :: BackForwardListItem -> BackForwardListItem -> Bool
$c/= :: BackForwardListItem -> BackForwardListItem -> Bool
/= :: BackForwardListItem -> BackForwardListItem -> Bool
Eq)
instance SP.ManagedPtrNewtype BackForwardListItem where
toManagedPtr :: BackForwardListItem -> ManagedPtr BackForwardListItem
toManagedPtr (BackForwardListItem ManagedPtr BackForwardListItem
p) = ManagedPtr BackForwardListItem
p
foreign import ccall "webkit_back_forward_list_item_get_type"
c_webkit_back_forward_list_item_get_type :: IO B.Types.GType
instance B.Types.TypedObject BackForwardListItem where
glibType :: IO GType
glibType = IO GType
c_webkit_back_forward_list_item_get_type
instance B.Types.GObject BackForwardListItem
class (SP.GObject o, O.IsDescendantOf BackForwardListItem o) => IsBackForwardListItem o
instance (SP.GObject o, O.IsDescendantOf BackForwardListItem o) => IsBackForwardListItem o
instance O.HasParentTypes BackForwardListItem
type instance O.ParentTypes BackForwardListItem = '[GObject.Object.Object]
toBackForwardListItem :: (MIO.MonadIO m, IsBackForwardListItem o) => o -> m BackForwardListItem
toBackForwardListItem :: forall (m :: * -> *) o.
(MonadIO m, IsBackForwardListItem o) =>
o -> m BackForwardListItem
toBackForwardListItem = IO BackForwardListItem -> m BackForwardListItem
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO BackForwardListItem -> m BackForwardListItem)
-> (o -> IO BackForwardListItem) -> o -> m BackForwardListItem
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr BackForwardListItem -> BackForwardListItem)
-> o -> IO BackForwardListItem
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr BackForwardListItem -> BackForwardListItem
BackForwardListItem
instance B.GValue.IsGValue (Maybe BackForwardListItem) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_back_forward_list_item_get_type
gvalueSet_ :: Ptr GValue -> Maybe BackForwardListItem -> IO ()
gvalueSet_ Ptr GValue
gv Maybe BackForwardListItem
P.Nothing = Ptr GValue -> Ptr BackForwardListItem -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr BackForwardListItem
forall a. Ptr a
FP.nullPtr :: FP.Ptr BackForwardListItem)
gvalueSet_ Ptr GValue
gv (P.Just BackForwardListItem
obj) = BackForwardListItem -> (Ptr BackForwardListItem -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr BackForwardListItem
obj (Ptr GValue -> Ptr BackForwardListItem -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe BackForwardListItem)
gvalueGet_ Ptr GValue
gv = do
Ptr BackForwardListItem
ptr <- Ptr GValue -> IO (Ptr BackForwardListItem)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr BackForwardListItem)
if Ptr BackForwardListItem
ptr Ptr BackForwardListItem -> Ptr BackForwardListItem -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr BackForwardListItem
forall a. Ptr a
FP.nullPtr
then BackForwardListItem -> Maybe BackForwardListItem
forall a. a -> Maybe a
P.Just (BackForwardListItem -> Maybe BackForwardListItem)
-> IO BackForwardListItem -> IO (Maybe BackForwardListItem)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr BackForwardListItem -> BackForwardListItem)
-> Ptr BackForwardListItem -> IO BackForwardListItem
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr BackForwardListItem -> BackForwardListItem
BackForwardListItem Ptr BackForwardListItem
ptr
else Maybe BackForwardListItem -> IO (Maybe BackForwardListItem)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe BackForwardListItem
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveBackForwardListItemMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveBackForwardListItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveBackForwardListItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveBackForwardListItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveBackForwardListItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveBackForwardListItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveBackForwardListItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveBackForwardListItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveBackForwardListItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveBackForwardListItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveBackForwardListItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveBackForwardListItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveBackForwardListItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveBackForwardListItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveBackForwardListItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveBackForwardListItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveBackForwardListItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveBackForwardListItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveBackForwardListItemMethod "getOriginalUri" o = BackForwardListItemGetOriginalUriMethodInfo
ResolveBackForwardListItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveBackForwardListItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveBackForwardListItemMethod "getTitle" o = BackForwardListItemGetTitleMethodInfo
ResolveBackForwardListItemMethod "getUri" o = BackForwardListItemGetUriMethodInfo
ResolveBackForwardListItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveBackForwardListItemMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveBackForwardListItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveBackForwardListItemMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveBackForwardListItemMethod t BackForwardListItem, O.OverloadedMethod info BackForwardListItem p) => OL.IsLabel t (BackForwardListItem -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveBackForwardListItemMethod t BackForwardListItem, O.OverloadedMethod info BackForwardListItem p, R.HasField t BackForwardListItem p) => R.HasField t BackForwardListItem p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveBackForwardListItemMethod t BackForwardListItem, O.OverloadedMethodInfo info BackForwardListItem) => OL.IsLabel t (O.MethodProxy info BackForwardListItem) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList BackForwardListItem
type instance O.AttributeList BackForwardListItem = BackForwardListItemAttributeList
type BackForwardListItemAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList BackForwardListItem = BackForwardListItemSignalList
type BackForwardListItemSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "webkit_back_forward_list_item_get_original_uri" webkit_back_forward_list_item_get_original_uri ::
Ptr BackForwardListItem ->
IO CString
backForwardListItemGetOriginalUri ::
(B.CallStack.HasCallStack, MonadIO m, IsBackForwardListItem a) =>
a
-> m T.Text
backForwardListItemGetOriginalUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBackForwardListItem a) =>
a -> m Text
backForwardListItemGetOriginalUri a
listItem = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr BackForwardListItem
listItem' <- a -> IO (Ptr BackForwardListItem)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
listItem
CString
result <- Ptr BackForwardListItem -> IO CString
webkit_back_forward_list_item_get_original_uri Ptr BackForwardListItem
listItem'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"backForwardListItemGetOriginalUri" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
listItem
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data BackForwardListItemGetOriginalUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsBackForwardListItem a) => O.OverloadedMethod BackForwardListItemGetOriginalUriMethodInfo a signature where
overloadedMethod = backForwardListItemGetOriginalUri
instance O.OverloadedMethodInfo BackForwardListItemGetOriginalUriMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit.Objects.BackForwardListItem.backForwardListItemGetOriginalUri",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit-6.0.2/docs/GI-WebKit-Objects-BackForwardListItem.html#v:backForwardListItemGetOriginalUri"
})
#endif
foreign import ccall "webkit_back_forward_list_item_get_title" webkit_back_forward_list_item_get_title ::
Ptr BackForwardListItem ->
IO CString
backForwardListItemGetTitle ::
(B.CallStack.HasCallStack, MonadIO m, IsBackForwardListItem a) =>
a
-> m T.Text
backForwardListItemGetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBackForwardListItem a) =>
a -> m Text
backForwardListItemGetTitle a
listItem = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr BackForwardListItem
listItem' <- a -> IO (Ptr BackForwardListItem)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
listItem
CString
result <- Ptr BackForwardListItem -> IO CString
webkit_back_forward_list_item_get_title Ptr BackForwardListItem
listItem'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"backForwardListItemGetTitle" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
listItem
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data BackForwardListItemGetTitleMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsBackForwardListItem a) => O.OverloadedMethod BackForwardListItemGetTitleMethodInfo a signature where
overloadedMethod = backForwardListItemGetTitle
instance O.OverloadedMethodInfo BackForwardListItemGetTitleMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit.Objects.BackForwardListItem.backForwardListItemGetTitle",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit-6.0.2/docs/GI-WebKit-Objects-BackForwardListItem.html#v:backForwardListItemGetTitle"
})
#endif
foreign import ccall "webkit_back_forward_list_item_get_uri" webkit_back_forward_list_item_get_uri ::
Ptr BackForwardListItem ->
IO CString
backForwardListItemGetUri ::
(B.CallStack.HasCallStack, MonadIO m, IsBackForwardListItem a) =>
a
-> m T.Text
backForwardListItemGetUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBackForwardListItem a) =>
a -> m Text
backForwardListItemGetUri a
listItem = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr BackForwardListItem
listItem' <- a -> IO (Ptr BackForwardListItem)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
listItem
CString
result <- Ptr BackForwardListItem -> IO CString
webkit_back_forward_list_item_get_uri Ptr BackForwardListItem
listItem'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"backForwardListItemGetUri" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
listItem
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data BackForwardListItemGetUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsBackForwardListItem a) => O.OverloadedMethod BackForwardListItemGetUriMethodInfo a signature where
overloadedMethod = backForwardListItemGetUri
instance O.OverloadedMethodInfo BackForwardListItemGetUriMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit.Objects.BackForwardListItem.backForwardListItemGetUri",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit-6.0.2/docs/GI-WebKit-Objects-BackForwardListItem.html#v:backForwardListItemGetUri"
})
#endif