#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Soup.Interfaces.SessionFeature
(
SessionFeature(..) ,
noSessionFeature ,
IsSessionFeature ,
toSessionFeature ,
#if ENABLE_OVERLOADING
SessionFeatureAddFeatureMethodInfo ,
#endif
sessionFeatureAddFeature ,
#if ENABLE_OVERLOADING
SessionFeatureAttachMethodInfo ,
#endif
sessionFeatureAttach ,
#if ENABLE_OVERLOADING
SessionFeatureDetachMethodInfo ,
#endif
sessionFeatureDetach ,
#if ENABLE_OVERLOADING
SessionFeatureHasFeatureMethodInfo ,
#endif
sessionFeatureHasFeature ,
#if ENABLE_OVERLOADING
SessionFeatureRemoveFeatureMethodInfo ,
#endif
sessionFeatureRemoveFeature ,
) 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
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.Text as T
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 GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Soup.Objects.Session as Soup.Session
newtype SessionFeature = SessionFeature (ManagedPtr SessionFeature)
noSessionFeature :: Maybe SessionFeature
noSessionFeature = Nothing
#if ENABLE_OVERLOADING
type instance O.SignalList SessionFeature = SessionFeatureSignalList
type SessionFeatureSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "soup_session_feature_get_type"
c_soup_session_feature_get_type :: IO GType
instance GObject SessionFeature where
gobjectType = c_soup_session_feature_get_type
class (GObject o, O.IsDescendantOf SessionFeature o) => IsSessionFeature o
instance (GObject o, O.IsDescendantOf SessionFeature o) => IsSessionFeature o
instance O.HasParentTypes SessionFeature
type instance O.ParentTypes SessionFeature = '[GObject.Object.Object]
toSessionFeature :: (MonadIO m, IsSessionFeature o) => o -> m SessionFeature
toSessionFeature = liftIO . unsafeCastTo SessionFeature
#if ENABLE_OVERLOADING
instance O.HasAttributeList SessionFeature
type instance O.AttributeList SessionFeature = SessionFeatureAttributeList
type SessionFeatureAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type family ResolveSessionFeatureMethod (t :: Symbol) (o :: *) :: * where
ResolveSessionFeatureMethod "addFeature" o = SessionFeatureAddFeatureMethodInfo
ResolveSessionFeatureMethod "attach" o = SessionFeatureAttachMethodInfo
ResolveSessionFeatureMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveSessionFeatureMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveSessionFeatureMethod "detach" o = SessionFeatureDetachMethodInfo
ResolveSessionFeatureMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveSessionFeatureMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveSessionFeatureMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveSessionFeatureMethod "hasFeature" o = SessionFeatureHasFeatureMethodInfo
ResolveSessionFeatureMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveSessionFeatureMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveSessionFeatureMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveSessionFeatureMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveSessionFeatureMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveSessionFeatureMethod "removeFeature" o = SessionFeatureRemoveFeatureMethodInfo
ResolveSessionFeatureMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveSessionFeatureMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveSessionFeatureMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveSessionFeatureMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveSessionFeatureMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveSessionFeatureMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveSessionFeatureMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveSessionFeatureMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveSessionFeatureMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveSessionFeatureMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveSessionFeatureMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveSessionFeatureMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveSessionFeatureMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSessionFeatureMethod t SessionFeature, O.MethodInfo info SessionFeature p) => OL.IsLabel t (SessionFeature -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
foreign import ccall "soup_session_feature_add_feature" soup_session_feature_add_feature ::
Ptr SessionFeature ->
CGType ->
IO CInt
sessionFeatureAddFeature ::
(B.CallStack.HasCallStack, MonadIO m, IsSessionFeature a) =>
a
-> GType
-> m Bool
sessionFeatureAddFeature feature type_ = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
let type_' = gtypeToCGType type_
result <- soup_session_feature_add_feature feature' type_'
let result' = (/= 0) result
touchManagedPtr feature
return result'
#if ENABLE_OVERLOADING
data SessionFeatureAddFeatureMethodInfo
instance (signature ~ (GType -> m Bool), MonadIO m, IsSessionFeature a) => O.MethodInfo SessionFeatureAddFeatureMethodInfo a signature where
overloadedMethod _ = sessionFeatureAddFeature
#endif
foreign import ccall "soup_session_feature_attach" soup_session_feature_attach ::
Ptr SessionFeature ->
Ptr Soup.Session.Session ->
IO ()
sessionFeatureAttach ::
(B.CallStack.HasCallStack, MonadIO m, IsSessionFeature a, Soup.Session.IsSession b) =>
a
-> b
-> m ()
sessionFeatureAttach feature session = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
session' <- unsafeManagedPtrCastPtr session
soup_session_feature_attach feature' session'
touchManagedPtr feature
touchManagedPtr session
return ()
#if ENABLE_OVERLOADING
data SessionFeatureAttachMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsSessionFeature a, Soup.Session.IsSession b) => O.MethodInfo SessionFeatureAttachMethodInfo a signature where
overloadedMethod _ = sessionFeatureAttach
#endif
foreign import ccall "soup_session_feature_detach" soup_session_feature_detach ::
Ptr SessionFeature ->
Ptr Soup.Session.Session ->
IO ()
sessionFeatureDetach ::
(B.CallStack.HasCallStack, MonadIO m, IsSessionFeature a, Soup.Session.IsSession b) =>
a
-> b
-> m ()
sessionFeatureDetach feature session = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
session' <- unsafeManagedPtrCastPtr session
soup_session_feature_detach feature' session'
touchManagedPtr feature
touchManagedPtr session
return ()
#if ENABLE_OVERLOADING
data SessionFeatureDetachMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsSessionFeature a, Soup.Session.IsSession b) => O.MethodInfo SessionFeatureDetachMethodInfo a signature where
overloadedMethod _ = sessionFeatureDetach
#endif
foreign import ccall "soup_session_feature_has_feature" soup_session_feature_has_feature ::
Ptr SessionFeature ->
CGType ->
IO CInt
sessionFeatureHasFeature ::
(B.CallStack.HasCallStack, MonadIO m, IsSessionFeature a) =>
a
-> GType
-> m Bool
sessionFeatureHasFeature feature type_ = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
let type_' = gtypeToCGType type_
result <- soup_session_feature_has_feature feature' type_'
let result' = (/= 0) result
touchManagedPtr feature
return result'
#if ENABLE_OVERLOADING
data SessionFeatureHasFeatureMethodInfo
instance (signature ~ (GType -> m Bool), MonadIO m, IsSessionFeature a) => O.MethodInfo SessionFeatureHasFeatureMethodInfo a signature where
overloadedMethod _ = sessionFeatureHasFeature
#endif
foreign import ccall "soup_session_feature_remove_feature" soup_session_feature_remove_feature ::
Ptr SessionFeature ->
CGType ->
IO CInt
sessionFeatureRemoveFeature ::
(B.CallStack.HasCallStack, MonadIO m, IsSessionFeature a) =>
a
-> GType
-> m Bool
sessionFeatureRemoveFeature feature type_ = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
let type_' = gtypeToCGType type_
result <- soup_session_feature_remove_feature feature' type_'
let result' = (/= 0) result
touchManagedPtr feature
return result'
#if ENABLE_OVERLOADING
data SessionFeatureRemoveFeatureMethodInfo
instance (signature ~ (GType -> m Bool), MonadIO m, IsSessionFeature a) => O.MethodInfo SessionFeatureRemoveFeatureMethodInfo a signature where
overloadedMethod _ = sessionFeatureRemoveFeature
#endif