{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Soup.Objects.WebsocketExtensionDeflate
(
WebsocketExtensionDeflate(..) ,
IsWebsocketExtensionDeflate ,
toWebsocketExtensionDeflate ,
#if defined(ENABLE_OVERLOADING)
ResolveWebsocketExtensionDeflateMethod ,
#endif
) 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
import {-# SOURCE #-} qualified GI.Soup.Objects.WebsocketExtension as Soup.WebsocketExtension
newtype WebsocketExtensionDeflate = WebsocketExtensionDeflate (SP.ManagedPtr WebsocketExtensionDeflate)
deriving (WebsocketExtensionDeflate -> WebsocketExtensionDeflate -> Bool
(WebsocketExtensionDeflate -> WebsocketExtensionDeflate -> Bool)
-> (WebsocketExtensionDeflate -> WebsocketExtensionDeflate -> Bool)
-> Eq WebsocketExtensionDeflate
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WebsocketExtensionDeflate -> WebsocketExtensionDeflate -> Bool
== :: WebsocketExtensionDeflate -> WebsocketExtensionDeflate -> Bool
$c/= :: WebsocketExtensionDeflate -> WebsocketExtensionDeflate -> Bool
/= :: WebsocketExtensionDeflate -> WebsocketExtensionDeflate -> Bool
Eq)
instance SP.ManagedPtrNewtype WebsocketExtensionDeflate where
toManagedPtr :: WebsocketExtensionDeflate -> ManagedPtr WebsocketExtensionDeflate
toManagedPtr (WebsocketExtensionDeflate ManagedPtr WebsocketExtensionDeflate
p) = ManagedPtr WebsocketExtensionDeflate
p
foreign import ccall "soup_websocket_extension_deflate_get_type"
c_soup_websocket_extension_deflate_get_type :: IO B.Types.GType
instance B.Types.TypedObject WebsocketExtensionDeflate where
glibType :: IO GType
glibType = IO GType
c_soup_websocket_extension_deflate_get_type
instance B.Types.GObject WebsocketExtensionDeflate
class (SP.GObject o, O.IsDescendantOf WebsocketExtensionDeflate o) => IsWebsocketExtensionDeflate o
instance (SP.GObject o, O.IsDescendantOf WebsocketExtensionDeflate o) => IsWebsocketExtensionDeflate o
instance O.HasParentTypes WebsocketExtensionDeflate
type instance O.ParentTypes WebsocketExtensionDeflate = '[Soup.WebsocketExtension.WebsocketExtension, GObject.Object.Object]
toWebsocketExtensionDeflate :: (MIO.MonadIO m, IsWebsocketExtensionDeflate o) => o -> m WebsocketExtensionDeflate
toWebsocketExtensionDeflate :: forall (m :: * -> *) o.
(MonadIO m, IsWebsocketExtensionDeflate o) =>
o -> m WebsocketExtensionDeflate
toWebsocketExtensionDeflate = IO WebsocketExtensionDeflate -> m WebsocketExtensionDeflate
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO WebsocketExtensionDeflate -> m WebsocketExtensionDeflate)
-> (o -> IO WebsocketExtensionDeflate)
-> o
-> m WebsocketExtensionDeflate
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr WebsocketExtensionDeflate -> WebsocketExtensionDeflate)
-> o -> IO WebsocketExtensionDeflate
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr WebsocketExtensionDeflate -> WebsocketExtensionDeflate
WebsocketExtensionDeflate
instance B.GValue.IsGValue (Maybe WebsocketExtensionDeflate) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_soup_websocket_extension_deflate_get_type
gvalueSet_ :: Ptr GValue -> Maybe WebsocketExtensionDeflate -> IO ()
gvalueSet_ Ptr GValue
gv Maybe WebsocketExtensionDeflate
P.Nothing = Ptr GValue -> Ptr WebsocketExtensionDeflate -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr WebsocketExtensionDeflate
forall a. Ptr a
FP.nullPtr :: FP.Ptr WebsocketExtensionDeflate)
gvalueSet_ Ptr GValue
gv (P.Just WebsocketExtensionDeflate
obj) = WebsocketExtensionDeflate
-> (Ptr WebsocketExtensionDeflate -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr WebsocketExtensionDeflate
obj (Ptr GValue -> Ptr WebsocketExtensionDeflate -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe WebsocketExtensionDeflate)
gvalueGet_ Ptr GValue
gv = do
Ptr WebsocketExtensionDeflate
ptr <- Ptr GValue -> IO (Ptr WebsocketExtensionDeflate)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr WebsocketExtensionDeflate)
if Ptr WebsocketExtensionDeflate
ptr Ptr WebsocketExtensionDeflate
-> Ptr WebsocketExtensionDeflate -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr WebsocketExtensionDeflate
forall a. Ptr a
FP.nullPtr
then WebsocketExtensionDeflate -> Maybe WebsocketExtensionDeflate
forall a. a -> Maybe a
P.Just (WebsocketExtensionDeflate -> Maybe WebsocketExtensionDeflate)
-> IO WebsocketExtensionDeflate
-> IO (Maybe WebsocketExtensionDeflate)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr WebsocketExtensionDeflate -> WebsocketExtensionDeflate)
-> Ptr WebsocketExtensionDeflate -> IO WebsocketExtensionDeflate
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr WebsocketExtensionDeflate -> WebsocketExtensionDeflate
WebsocketExtensionDeflate Ptr WebsocketExtensionDeflate
ptr
else Maybe WebsocketExtensionDeflate
-> IO (Maybe WebsocketExtensionDeflate)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe WebsocketExtensionDeflate
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveWebsocketExtensionDeflateMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveWebsocketExtensionDeflateMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveWebsocketExtensionDeflateMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveWebsocketExtensionDeflateMethod "configure" o = Soup.WebsocketExtension.WebsocketExtensionConfigureMethodInfo
ResolveWebsocketExtensionDeflateMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveWebsocketExtensionDeflateMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveWebsocketExtensionDeflateMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveWebsocketExtensionDeflateMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveWebsocketExtensionDeflateMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveWebsocketExtensionDeflateMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveWebsocketExtensionDeflateMethod "processIncomingMessage" o = Soup.WebsocketExtension.WebsocketExtensionProcessIncomingMessageMethodInfo
ResolveWebsocketExtensionDeflateMethod "processOutgoingMessage" o = Soup.WebsocketExtension.WebsocketExtensionProcessOutgoingMessageMethodInfo
ResolveWebsocketExtensionDeflateMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveWebsocketExtensionDeflateMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveWebsocketExtensionDeflateMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveWebsocketExtensionDeflateMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveWebsocketExtensionDeflateMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveWebsocketExtensionDeflateMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveWebsocketExtensionDeflateMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveWebsocketExtensionDeflateMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveWebsocketExtensionDeflateMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveWebsocketExtensionDeflateMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveWebsocketExtensionDeflateMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveWebsocketExtensionDeflateMethod "getRequestParams" o = Soup.WebsocketExtension.WebsocketExtensionGetRequestParamsMethodInfo
ResolveWebsocketExtensionDeflateMethod "getResponseParams" o = Soup.WebsocketExtension.WebsocketExtensionGetResponseParamsMethodInfo
ResolveWebsocketExtensionDeflateMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveWebsocketExtensionDeflateMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveWebsocketExtensionDeflateMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveWebsocketExtensionDeflateMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveWebsocketExtensionDeflateMethod t WebsocketExtensionDeflate, O.OverloadedMethod info WebsocketExtensionDeflate p) => OL.IsLabel t (WebsocketExtensionDeflate -> 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 ~ ResolveWebsocketExtensionDeflateMethod t WebsocketExtensionDeflate, O.OverloadedMethod info WebsocketExtensionDeflate p, R.HasField t WebsocketExtensionDeflate p) => R.HasField t WebsocketExtensionDeflate p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveWebsocketExtensionDeflateMethod t WebsocketExtensionDeflate, O.OverloadedMethodInfo info WebsocketExtensionDeflate) => OL.IsLabel t (O.MethodProxy info WebsocketExtensionDeflate) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList WebsocketExtensionDeflate
type instance O.AttributeList WebsocketExtensionDeflate = WebsocketExtensionDeflateAttributeList
type WebsocketExtensionDeflateAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList WebsocketExtensionDeflate = WebsocketExtensionDeflateSignalList
type WebsocketExtensionDeflateSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif