{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.WebKit2WebExtension.Objects.DOMCSSStyleSheet
    ( 

-- * Exported types
    DOMCSSStyleSheet(..)                    ,
    IsDOMCSSStyleSheet                      ,
    toDOMCSSStyleSheet                      ,


 -- * Methods
-- ** Overloaded methods #method:Overloaded methods#

#if defined(ENABLE_OVERLOADING)
    ResolveDOMCSSStyleSheetMethod           ,
#endif


-- ** addRule #method:addRule#

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetAddRuleMethodInfo       ,
#endif
    dOMCSSStyleSheetAddRule                 ,


-- ** deleteRule #method:deleteRule#

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetDeleteRuleMethodInfo    ,
#endif
    dOMCSSStyleSheetDeleteRule              ,


-- ** getCssRules #method:getCssRules#

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetGetCssRulesMethodInfo   ,
#endif
    dOMCSSStyleSheetGetCssRules             ,


-- ** getOwnerRule #method:getOwnerRule#

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetGetOwnerRuleMethodInfo  ,
#endif
    dOMCSSStyleSheetGetOwnerRule            ,


-- ** getRules #method:getRules#

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetGetRulesMethodInfo      ,
#endif
    dOMCSSStyleSheetGetRules                ,


-- ** insertRule #method:insertRule#

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetInsertRuleMethodInfo    ,
#endif
    dOMCSSStyleSheetInsertRule              ,


-- ** removeRule #method:removeRule#

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetRemoveRuleMethodInfo    ,
#endif
    dOMCSSStyleSheetRemoveRule              ,




 -- * Properties
-- ** cssRules #attr:cssRules#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetCssRulesPropertyInfo    ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMCSSStyleSheetCssRules                ,
#endif
    getDOMCSSStyleSheetCssRules             ,


-- ** ownerRule #attr:ownerRule#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetOwnerRulePropertyInfo   ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMCSSStyleSheetOwnerRule               ,
#endif
    getDOMCSSStyleSheetOwnerRule            ,


-- ** rules #attr:rules#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    DOMCSSStyleSheetRulesPropertyInfo       ,
#endif
#if defined(ENABLE_OVERLOADING)
    dOMCSSStyleSheetRules                   ,
#endif
    getDOMCSSStyleSheetRules                ,




    ) 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.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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
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.WebKit2WebExtension.Objects.DOMCSSRule as WebKit2WebExtension.DOMCSSRule
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMCSSRuleList as WebKit2WebExtension.DOMCSSRuleList
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMStyleSheet as WebKit2WebExtension.DOMStyleSheet

-- | Memory-managed wrapper type.
newtype DOMCSSStyleSheet = DOMCSSStyleSheet (SP.ManagedPtr DOMCSSStyleSheet)
    deriving (DOMCSSStyleSheet -> DOMCSSStyleSheet -> Bool
(DOMCSSStyleSheet -> DOMCSSStyleSheet -> Bool)
-> (DOMCSSStyleSheet -> DOMCSSStyleSheet -> Bool)
-> Eq DOMCSSStyleSheet
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DOMCSSStyleSheet -> DOMCSSStyleSheet -> Bool
$c/= :: DOMCSSStyleSheet -> DOMCSSStyleSheet -> Bool
== :: DOMCSSStyleSheet -> DOMCSSStyleSheet -> Bool
$c== :: DOMCSSStyleSheet -> DOMCSSStyleSheet -> Bool
Eq)

instance SP.ManagedPtrNewtype DOMCSSStyleSheet where
    toManagedPtr :: DOMCSSStyleSheet -> ManagedPtr DOMCSSStyleSheet
toManagedPtr (DOMCSSStyleSheet ManagedPtr DOMCSSStyleSheet
p) = ManagedPtr DOMCSSStyleSheet
p

foreign import ccall "webkit_dom_css_style_sheet_get_type"
    c_webkit_dom_css_style_sheet_get_type :: IO B.Types.GType

instance B.Types.TypedObject DOMCSSStyleSheet where
    glibType :: IO GType
glibType = IO GType
c_webkit_dom_css_style_sheet_get_type

instance B.Types.GObject DOMCSSStyleSheet

-- | Convert 'DOMCSSStyleSheet' to and from 'Data.GI.Base.GValue.GValue' with 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue DOMCSSStyleSheet where
    toGValue :: DOMCSSStyleSheet -> IO GValue
toGValue DOMCSSStyleSheet
o = do
        GType
gtype <- IO GType
c_webkit_dom_css_style_sheet_get_type
        DOMCSSStyleSheet
-> (Ptr DOMCSSStyleSheet -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DOMCSSStyleSheet
o (GType
-> (GValue -> Ptr DOMCSSStyleSheet -> IO ())
-> Ptr DOMCSSStyleSheet
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr DOMCSSStyleSheet -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
        
    fromGValue :: GValue -> IO DOMCSSStyleSheet
fromGValue GValue
gv = do
        Ptr DOMCSSStyleSheet
ptr <- GValue -> IO (Ptr DOMCSSStyleSheet)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr DOMCSSStyleSheet)
        (ManagedPtr DOMCSSStyleSheet -> DOMCSSStyleSheet)
-> Ptr DOMCSSStyleSheet -> IO DOMCSSStyleSheet
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr DOMCSSStyleSheet -> DOMCSSStyleSheet
DOMCSSStyleSheet Ptr DOMCSSStyleSheet
ptr
        
    

-- | Type class for types which can be safely cast to `DOMCSSStyleSheet`, for instance with `toDOMCSSStyleSheet`.
class (SP.GObject o, O.IsDescendantOf DOMCSSStyleSheet o) => IsDOMCSSStyleSheet o
instance (SP.GObject o, O.IsDescendantOf DOMCSSStyleSheet o) => IsDOMCSSStyleSheet o

instance O.HasParentTypes DOMCSSStyleSheet
type instance O.ParentTypes DOMCSSStyleSheet = '[WebKit2WebExtension.DOMStyleSheet.DOMStyleSheet, WebKit2WebExtension.DOMObject.DOMObject, GObject.Object.Object]

-- | Cast to `DOMCSSStyleSheet`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toDOMCSSStyleSheet :: (MonadIO m, IsDOMCSSStyleSheet o) => o -> m DOMCSSStyleSheet
toDOMCSSStyleSheet :: o -> m DOMCSSStyleSheet
toDOMCSSStyleSheet = IO DOMCSSStyleSheet -> m DOMCSSStyleSheet
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMCSSStyleSheet -> m DOMCSSStyleSheet)
-> (o -> IO DOMCSSStyleSheet) -> o -> m DOMCSSStyleSheet
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr DOMCSSStyleSheet -> DOMCSSStyleSheet)
-> o -> IO DOMCSSStyleSheet
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr DOMCSSStyleSheet -> DOMCSSStyleSheet
DOMCSSStyleSheet

#if defined(ENABLE_OVERLOADING)
type family ResolveDOMCSSStyleSheetMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMCSSStyleSheetMethod "addRule" o = DOMCSSStyleSheetAddRuleMethodInfo
    ResolveDOMCSSStyleSheetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMCSSStyleSheetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMCSSStyleSheetMethod "deleteRule" o = DOMCSSStyleSheetDeleteRuleMethodInfo
    ResolveDOMCSSStyleSheetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMCSSStyleSheetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMCSSStyleSheetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMCSSStyleSheetMethod "insertRule" o = DOMCSSStyleSheetInsertRuleMethodInfo
    ResolveDOMCSSStyleSheetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMCSSStyleSheetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMCSSStyleSheetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMCSSStyleSheetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMCSSStyleSheetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMCSSStyleSheetMethod "removeRule" o = DOMCSSStyleSheetRemoveRuleMethodInfo
    ResolveDOMCSSStyleSheetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMCSSStyleSheetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMCSSStyleSheetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMCSSStyleSheetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMCSSStyleSheetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMCSSStyleSheetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMCSSStyleSheetMethod "getContentType" o = WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetGetContentTypeMethodInfo
    ResolveDOMCSSStyleSheetMethod "getCssRules" o = DOMCSSStyleSheetGetCssRulesMethodInfo
    ResolveDOMCSSStyleSheetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMCSSStyleSheetMethod "getDisabled" o = WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetGetDisabledMethodInfo
    ResolveDOMCSSStyleSheetMethod "getHref" o = WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetGetHrefMethodInfo
    ResolveDOMCSSStyleSheetMethod "getMedia" o = WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetGetMediaMethodInfo
    ResolveDOMCSSStyleSheetMethod "getOwnerNode" o = WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetGetOwnerNodeMethodInfo
    ResolveDOMCSSStyleSheetMethod "getOwnerRule" o = DOMCSSStyleSheetGetOwnerRuleMethodInfo
    ResolveDOMCSSStyleSheetMethod "getParentStyleSheet" o = WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetGetParentStyleSheetMethodInfo
    ResolveDOMCSSStyleSheetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMCSSStyleSheetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMCSSStyleSheetMethod "getRules" o = DOMCSSStyleSheetGetRulesMethodInfo
    ResolveDOMCSSStyleSheetMethod "getTitle" o = WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetGetTitleMethodInfo
    ResolveDOMCSSStyleSheetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMCSSStyleSheetMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveDOMCSSStyleSheetMethod "setDisabled" o = WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetSetDisabledMethodInfo
    ResolveDOMCSSStyleSheetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMCSSStyleSheetMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMCSSStyleSheetMethod t DOMCSSStyleSheet, O.MethodInfo info DOMCSSStyleSheet p) => OL.IsLabel t (DOMCSSStyleSheet -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#endif

-- VVV Prop "css-rules"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSRuleList"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@css-rules@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMCSSStyleSheet #cssRules
-- @
getDOMCSSStyleSheetCssRules :: (MonadIO m, IsDOMCSSStyleSheet o) => o -> m (Maybe WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList)
getDOMCSSStyleSheetCssRules :: o -> m (Maybe DOMCSSRuleList)
getDOMCSSStyleSheetCssRules o
obj = IO (Maybe DOMCSSRuleList) -> m (Maybe DOMCSSRuleList)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DOMCSSRuleList) -> m (Maybe DOMCSSRuleList))
-> IO (Maybe DOMCSSRuleList) -> m (Maybe DOMCSSRuleList)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr DOMCSSRuleList -> DOMCSSRuleList)
-> IO (Maybe DOMCSSRuleList)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"css-rules" ManagedPtr DOMCSSRuleList -> DOMCSSRuleList
WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetCssRulesPropertyInfo
instance AttrInfo DOMCSSStyleSheetCssRulesPropertyInfo where
    type AttrAllowedOps DOMCSSStyleSheetCssRulesPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMCSSStyleSheetCssRulesPropertyInfo = IsDOMCSSStyleSheet
    type AttrSetTypeConstraint DOMCSSStyleSheetCssRulesPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMCSSStyleSheetCssRulesPropertyInfo = (~) ()
    type AttrTransferType DOMCSSStyleSheetCssRulesPropertyInfo = ()
    type AttrGetType DOMCSSStyleSheetCssRulesPropertyInfo = (Maybe WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList)
    type AttrLabel DOMCSSStyleSheetCssRulesPropertyInfo = "css-rules"
    type AttrOrigin DOMCSSStyleSheetCssRulesPropertyInfo = DOMCSSStyleSheet
    attrGet = getDOMCSSStyleSheetCssRules
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

-- VVV Prop "owner-rule"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSRule"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@owner-rule@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMCSSStyleSheet #ownerRule
-- @
getDOMCSSStyleSheetOwnerRule :: (MonadIO m, IsDOMCSSStyleSheet o) => o -> m (Maybe WebKit2WebExtension.DOMCSSRule.DOMCSSRule)
getDOMCSSStyleSheetOwnerRule :: o -> m (Maybe DOMCSSRule)
getDOMCSSStyleSheetOwnerRule o
obj = IO (Maybe DOMCSSRule) -> m (Maybe DOMCSSRule)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DOMCSSRule) -> m (Maybe DOMCSSRule))
-> IO (Maybe DOMCSSRule) -> m (Maybe DOMCSSRule)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr DOMCSSRule -> DOMCSSRule)
-> IO (Maybe DOMCSSRule)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"owner-rule" ManagedPtr DOMCSSRule -> DOMCSSRule
WebKit2WebExtension.DOMCSSRule.DOMCSSRule

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetOwnerRulePropertyInfo
instance AttrInfo DOMCSSStyleSheetOwnerRulePropertyInfo where
    type AttrAllowedOps DOMCSSStyleSheetOwnerRulePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMCSSStyleSheetOwnerRulePropertyInfo = IsDOMCSSStyleSheet
    type AttrSetTypeConstraint DOMCSSStyleSheetOwnerRulePropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMCSSStyleSheetOwnerRulePropertyInfo = (~) ()
    type AttrTransferType DOMCSSStyleSheetOwnerRulePropertyInfo = ()
    type AttrGetType DOMCSSStyleSheetOwnerRulePropertyInfo = (Maybe WebKit2WebExtension.DOMCSSRule.DOMCSSRule)
    type AttrLabel DOMCSSStyleSheetOwnerRulePropertyInfo = "owner-rule"
    type AttrOrigin DOMCSSStyleSheetOwnerRulePropertyInfo = DOMCSSStyleSheet
    attrGet = getDOMCSSStyleSheetOwnerRule
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

-- VVV Prop "rules"
   -- Type: TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSRuleList"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

-- | Get the value of the “@rules@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' dOMCSSStyleSheet #rules
-- @
getDOMCSSStyleSheetRules :: (MonadIO m, IsDOMCSSStyleSheet o) => o -> m (Maybe WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList)
getDOMCSSStyleSheetRules :: o -> m (Maybe DOMCSSRuleList)
getDOMCSSStyleSheetRules o
obj = IO (Maybe DOMCSSRuleList) -> m (Maybe DOMCSSRuleList)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DOMCSSRuleList) -> m (Maybe DOMCSSRuleList))
-> IO (Maybe DOMCSSRuleList) -> m (Maybe DOMCSSRuleList)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr DOMCSSRuleList -> DOMCSSRuleList)
-> IO (Maybe DOMCSSRuleList)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"rules" ManagedPtr DOMCSSRuleList -> DOMCSSRuleList
WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetRulesPropertyInfo
instance AttrInfo DOMCSSStyleSheetRulesPropertyInfo where
    type AttrAllowedOps DOMCSSStyleSheetRulesPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint DOMCSSStyleSheetRulesPropertyInfo = IsDOMCSSStyleSheet
    type AttrSetTypeConstraint DOMCSSStyleSheetRulesPropertyInfo = (~) ()
    type AttrTransferTypeConstraint DOMCSSStyleSheetRulesPropertyInfo = (~) ()
    type AttrTransferType DOMCSSStyleSheetRulesPropertyInfo = ()
    type AttrGetType DOMCSSStyleSheetRulesPropertyInfo = (Maybe WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList)
    type AttrLabel DOMCSSStyleSheetRulesPropertyInfo = "rules"
    type AttrOrigin DOMCSSStyleSheetRulesPropertyInfo = DOMCSSStyleSheet
    attrGet = getDOMCSSStyleSheetRules
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DOMCSSStyleSheet
type instance O.AttributeList DOMCSSStyleSheet = DOMCSSStyleSheetAttributeList
type DOMCSSStyleSheetAttributeList = ('[ '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("cssRules", DOMCSSStyleSheetCssRulesPropertyInfo), '("disabled", WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetDisabledPropertyInfo), '("href", WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetHrefPropertyInfo), '("media", WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetMediaPropertyInfo), '("ownerNode", WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetOwnerNodePropertyInfo), '("ownerRule", DOMCSSStyleSheetOwnerRulePropertyInfo), '("parentStyleSheet", WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetParentStyleSheetPropertyInfo), '("rules", DOMCSSStyleSheetRulesPropertyInfo), '("title", WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetTitlePropertyInfo), '("type", WebKit2WebExtension.DOMStyleSheet.DOMStyleSheetTypePropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
dOMCSSStyleSheetCssRules :: AttrLabelProxy "cssRules"
dOMCSSStyleSheetCssRules = AttrLabelProxy

dOMCSSStyleSheetOwnerRule :: AttrLabelProxy "ownerRule"
dOMCSSStyleSheetOwnerRule = AttrLabelProxy

dOMCSSStyleSheetRules :: AttrLabelProxy "rules"
dOMCSSStyleSheetRules = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList DOMCSSStyleSheet = DOMCSSStyleSheetSignalList
type DOMCSSStyleSheetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

#endif

-- method DOMCSSStyleSheet::add_rule
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name
--                   { namespace = "WebKit2WebExtension" , name = "DOMCSSStyleSheet" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMCSSStyleSheet"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "selector"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gchar" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "style"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gchar" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "index"
--           , argType = TBasicType TULong
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gulong" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TLong)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_css_style_sheet_add_rule" webkit_dom_css_style_sheet_add_rule :: 
    Ptr DOMCSSStyleSheet ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleSheet"})
    CString ->                              -- selector : TBasicType TUTF8
    CString ->                              -- style : TBasicType TUTF8
    CULong ->                               -- index : TBasicType TULong
    Ptr (Ptr GError) ->                     -- error
    IO CLong

{-# DEPRECATED dOMCSSStyleSheetAddRule ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCSSStyleSheetAddRule ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleSheet a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCSSStyleSheet.DOMCSSStyleSheet'
    -> T.Text
    -- ^ /@selector@/: A @/gchar/@
    -> T.Text
    -- ^ /@style@/: A @/gchar/@
    -> CULong
    -- ^ /@index@/: A @/gulong/@
    -> m CLong
    -- ^ __Returns:__ A @/glong/@ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCSSStyleSheetAddRule :: a -> Text -> Text -> CULong -> m CLong
dOMCSSStyleSheetAddRule a
self Text
selector Text
style CULong
index = IO CLong -> m CLong
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CLong -> m CLong) -> IO CLong -> m CLong
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCSSStyleSheet
self' <- a -> IO (Ptr DOMCSSStyleSheet)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
selector' <- Text -> IO CString
textToCString Text
selector
    CString
style' <- Text -> IO CString
textToCString Text
style
    IO CLong -> IO () -> IO CLong
forall a b. IO a -> IO b -> IO a
onException (do
        CLong
result <- (Ptr (Ptr GError) -> IO CLong) -> IO CLong
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CLong) -> IO CLong)
-> (Ptr (Ptr GError) -> IO CLong) -> IO CLong
forall a b. (a -> b) -> a -> b
$ Ptr DOMCSSStyleSheet
-> CString -> CString -> CULong -> Ptr (Ptr GError) -> IO CLong
webkit_dom_css_style_sheet_add_rule Ptr DOMCSSStyleSheet
self' CString
selector' CString
style' CULong
index
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
selector'
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
style'
        CLong -> IO CLong
forall (m :: * -> *) a. Monad m => a -> m a
return CLong
result
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
selector'
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
style'
     )

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetAddRuleMethodInfo
instance (signature ~ (T.Text -> T.Text -> CULong -> m CLong), MonadIO m, IsDOMCSSStyleSheet a) => O.MethodInfo DOMCSSStyleSheetAddRuleMethodInfo a signature where
    overloadedMethod = dOMCSSStyleSheetAddRule

#endif

-- method DOMCSSStyleSheet::delete_rule
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name
--                   { namespace = "WebKit2WebExtension" , name = "DOMCSSStyleSheet" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMCSSStyleSheet"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "index"
--           , argType = TBasicType TULong
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gulong" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_css_style_sheet_delete_rule" webkit_dom_css_style_sheet_delete_rule :: 
    Ptr DOMCSSStyleSheet ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleSheet"})
    CULong ->                               -- index : TBasicType TULong
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMCSSStyleSheetDeleteRule ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCSSStyleSheetDeleteRule ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleSheet a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCSSStyleSheet.DOMCSSStyleSheet'
    -> CULong
    -- ^ /@index@/: A @/gulong/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCSSStyleSheetDeleteRule :: a -> CULong -> m ()
dOMCSSStyleSheetDeleteRule a
self CULong
index = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCSSStyleSheet
self' <- a -> IO (Ptr DOMCSSStyleSheet)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMCSSStyleSheet -> CULong -> Ptr (Ptr GError) -> IO ()
webkit_dom_css_style_sheet_delete_rule Ptr DOMCSSStyleSheet
self' CULong
index
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetDeleteRuleMethodInfo
instance (signature ~ (CULong -> m ()), MonadIO m, IsDOMCSSStyleSheet a) => O.MethodInfo DOMCSSStyleSheetDeleteRuleMethodInfo a signature where
    overloadedMethod = dOMCSSStyleSheetDeleteRule

#endif

-- method DOMCSSStyleSheet::get_css_rules
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name
--                   { namespace = "WebKit2WebExtension" , name = "DOMCSSStyleSheet" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMCSSStyleSheet"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name
--                    { namespace = "WebKit2WebExtension" , name = "DOMCSSRuleList" })
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_css_style_sheet_get_css_rules" webkit_dom_css_style_sheet_get_css_rules :: 
    Ptr DOMCSSStyleSheet ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleSheet"})
    IO (Ptr WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList)

{-# DEPRECATED dOMCSSStyleSheetGetCssRules ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCSSStyleSheetGetCssRules ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleSheet a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCSSStyleSheet.DOMCSSStyleSheet'
    -> m WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMCSSRuleList.DOMCSSRuleList'
dOMCSSStyleSheetGetCssRules :: a -> m DOMCSSRuleList
dOMCSSStyleSheetGetCssRules a
self = IO DOMCSSRuleList -> m DOMCSSRuleList
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMCSSRuleList -> m DOMCSSRuleList)
-> IO DOMCSSRuleList -> m DOMCSSRuleList
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCSSStyleSheet
self' <- a -> IO (Ptr DOMCSSStyleSheet)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMCSSRuleList
result <- Ptr DOMCSSStyleSheet -> IO (Ptr DOMCSSRuleList)
webkit_dom_css_style_sheet_get_css_rules Ptr DOMCSSStyleSheet
self'
    Text -> Ptr DOMCSSRuleList -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMCSSStyleSheetGetCssRules" Ptr DOMCSSRuleList
result
    DOMCSSRuleList
result' <- ((ManagedPtr DOMCSSRuleList -> DOMCSSRuleList)
-> Ptr DOMCSSRuleList -> IO DOMCSSRuleList
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DOMCSSRuleList -> DOMCSSRuleList
WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList) Ptr DOMCSSRuleList
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMCSSRuleList -> IO DOMCSSRuleList
forall (m :: * -> *) a. Monad m => a -> m a
return DOMCSSRuleList
result'

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetGetCssRulesMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList), MonadIO m, IsDOMCSSStyleSheet a) => O.MethodInfo DOMCSSStyleSheetGetCssRulesMethodInfo a signature where
    overloadedMethod = dOMCSSStyleSheetGetCssRules

#endif

-- method DOMCSSStyleSheet::get_owner_rule
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name
--                   { namespace = "WebKit2WebExtension" , name = "DOMCSSStyleSheet" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMCSSStyleSheet"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "WebKit2WebExtension" , name = "DOMCSSRule" })
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_css_style_sheet_get_owner_rule" webkit_dom_css_style_sheet_get_owner_rule :: 
    Ptr DOMCSSStyleSheet ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleSheet"})
    IO (Ptr WebKit2WebExtension.DOMCSSRule.DOMCSSRule)

{-# DEPRECATED dOMCSSStyleSheetGetOwnerRule ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCSSStyleSheetGetOwnerRule ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleSheet a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCSSStyleSheet.DOMCSSStyleSheet'
    -> m WebKit2WebExtension.DOMCSSRule.DOMCSSRule
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMCSSRule.DOMCSSRule'
dOMCSSStyleSheetGetOwnerRule :: a -> m DOMCSSRule
dOMCSSStyleSheetGetOwnerRule a
self = IO DOMCSSRule -> m DOMCSSRule
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMCSSRule -> m DOMCSSRule) -> IO DOMCSSRule -> m DOMCSSRule
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCSSStyleSheet
self' <- a -> IO (Ptr DOMCSSStyleSheet)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMCSSRule
result <- Ptr DOMCSSStyleSheet -> IO (Ptr DOMCSSRule)
webkit_dom_css_style_sheet_get_owner_rule Ptr DOMCSSStyleSheet
self'
    Text -> Ptr DOMCSSRule -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMCSSStyleSheetGetOwnerRule" Ptr DOMCSSRule
result
    DOMCSSRule
result' <- ((ManagedPtr DOMCSSRule -> DOMCSSRule)
-> Ptr DOMCSSRule -> IO DOMCSSRule
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DOMCSSRule -> DOMCSSRule
WebKit2WebExtension.DOMCSSRule.DOMCSSRule) Ptr DOMCSSRule
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMCSSRule -> IO DOMCSSRule
forall (m :: * -> *) a. Monad m => a -> m a
return DOMCSSRule
result'

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetGetOwnerRuleMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMCSSRule.DOMCSSRule), MonadIO m, IsDOMCSSStyleSheet a) => O.MethodInfo DOMCSSStyleSheetGetOwnerRuleMethodInfo a signature where
    overloadedMethod = dOMCSSStyleSheetGetOwnerRule

#endif

-- method DOMCSSStyleSheet::get_rules
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name
--                   { namespace = "WebKit2WebExtension" , name = "DOMCSSStyleSheet" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMCSSStyleSheet"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name
--                    { namespace = "WebKit2WebExtension" , name = "DOMCSSRuleList" })
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_css_style_sheet_get_rules" webkit_dom_css_style_sheet_get_rules :: 
    Ptr DOMCSSStyleSheet ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleSheet"})
    IO (Ptr WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList)

{-# DEPRECATED dOMCSSStyleSheetGetRules ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCSSStyleSheetGetRules ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleSheet a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCSSStyleSheet.DOMCSSStyleSheet'
    -> m WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList
    -- ^ __Returns:__ A t'GI.WebKit2WebExtension.Objects.DOMCSSRuleList.DOMCSSRuleList'
dOMCSSStyleSheetGetRules :: a -> m DOMCSSRuleList
dOMCSSStyleSheetGetRules a
self = IO DOMCSSRuleList -> m DOMCSSRuleList
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMCSSRuleList -> m DOMCSSRuleList)
-> IO DOMCSSRuleList -> m DOMCSSRuleList
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCSSStyleSheet
self' <- a -> IO (Ptr DOMCSSStyleSheet)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr DOMCSSRuleList
result <- Ptr DOMCSSStyleSheet -> IO (Ptr DOMCSSRuleList)
webkit_dom_css_style_sheet_get_rules Ptr DOMCSSStyleSheet
self'
    Text -> Ptr DOMCSSRuleList -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMCSSStyleSheetGetRules" Ptr DOMCSSRuleList
result
    DOMCSSRuleList
result' <- ((ManagedPtr DOMCSSRuleList -> DOMCSSRuleList)
-> Ptr DOMCSSRuleList -> IO DOMCSSRuleList
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DOMCSSRuleList -> DOMCSSRuleList
WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList) Ptr DOMCSSRuleList
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    DOMCSSRuleList -> IO DOMCSSRuleList
forall (m :: * -> *) a. Monad m => a -> m a
return DOMCSSRuleList
result'

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetGetRulesMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMCSSRuleList.DOMCSSRuleList), MonadIO m, IsDOMCSSStyleSheet a) => O.MethodInfo DOMCSSStyleSheetGetRulesMethodInfo a signature where
    overloadedMethod = dOMCSSStyleSheetGetRules

#endif

-- method DOMCSSStyleSheet::insert_rule
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name
--                   { namespace = "WebKit2WebExtension" , name = "DOMCSSStyleSheet" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMCSSStyleSheet"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "rule"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gchar" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "index"
--           , argType = TBasicType TULong
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gulong" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TULong)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_css_style_sheet_insert_rule" webkit_dom_css_style_sheet_insert_rule :: 
    Ptr DOMCSSStyleSheet ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleSheet"})
    CString ->                              -- rule : TBasicType TUTF8
    CULong ->                               -- index : TBasicType TULong
    Ptr (Ptr GError) ->                     -- error
    IO CULong

{-# DEPRECATED dOMCSSStyleSheetInsertRule ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCSSStyleSheetInsertRule ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleSheet a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCSSStyleSheet.DOMCSSStyleSheet'
    -> T.Text
    -- ^ /@rule@/: A @/gchar/@
    -> CULong
    -- ^ /@index@/: A @/gulong/@
    -> m CULong
    -- ^ __Returns:__ A @/gulong/@ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCSSStyleSheetInsertRule :: a -> Text -> CULong -> m CULong
dOMCSSStyleSheetInsertRule a
self Text
rule CULong
index = IO CULong -> m CULong
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCSSStyleSheet
self' <- a -> IO (Ptr DOMCSSStyleSheet)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
rule' <- Text -> IO CString
textToCString Text
rule
    IO CULong -> IO () -> IO CULong
forall a b. IO a -> IO b -> IO a
onException (do
        CULong
result <- (Ptr (Ptr GError) -> IO CULong) -> IO CULong
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CULong) -> IO CULong)
-> (Ptr (Ptr GError) -> IO CULong) -> IO CULong
forall a b. (a -> b) -> a -> b
$ Ptr DOMCSSStyleSheet
-> CString -> CULong -> Ptr (Ptr GError) -> IO CULong
webkit_dom_css_style_sheet_insert_rule Ptr DOMCSSStyleSheet
self' CString
rule' CULong
index
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
rule'
        CULong -> IO CULong
forall (m :: * -> *) a. Monad m => a -> m a
return CULong
result
     ) (do
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
rule'
     )

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetInsertRuleMethodInfo
instance (signature ~ (T.Text -> CULong -> m CULong), MonadIO m, IsDOMCSSStyleSheet a) => O.MethodInfo DOMCSSStyleSheetInsertRuleMethodInfo a signature where
    overloadedMethod = dOMCSSStyleSheetInsertRule

#endif

-- method DOMCSSStyleSheet::remove_rule
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface
--                 Name
--                   { namespace = "WebKit2WebExtension" , name = "DOMCSSStyleSheet" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #WebKitDOMCSSStyleSheet"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "index"
--           , argType = TBasicType TULong
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "A #gulong" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_css_style_sheet_remove_rule" webkit_dom_css_style_sheet_remove_rule :: 
    Ptr DOMCSSStyleSheet ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleSheet"})
    CULong ->                               -- index : TBasicType TULong
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMCSSStyleSheetRemoveRule ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
-- | /No description available in the introspection data./
dOMCSSStyleSheetRemoveRule ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleSheet a) =>
    a
    -- ^ /@self@/: A t'GI.WebKit2WebExtension.Objects.DOMCSSStyleSheet.DOMCSSStyleSheet'
    -> CULong
    -- ^ /@index@/: A @/gulong/@
    -> m ()
    -- ^ /(Can throw 'Data.GI.Base.GError.GError')/
dOMCSSStyleSheetRemoveRule :: a -> CULong -> m ()
dOMCSSStyleSheetRemoveRule a
self CULong
index = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr DOMCSSStyleSheet
self' <- a -> IO (Ptr DOMCSSStyleSheet)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
        (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DOMCSSStyleSheet -> CULong -> Ptr (Ptr GError) -> IO ()
webkit_dom_css_style_sheet_remove_rule Ptr DOMCSSStyleSheet
self' CULong
index
        a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     ) (do
        () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
     )

#if defined(ENABLE_OVERLOADING)
data DOMCSSStyleSheetRemoveRuleMethodInfo
instance (signature ~ (CULong -> m ()), MonadIO m, IsDOMCSSStyleSheet a) => O.MethodInfo DOMCSSStyleSheetRemoveRuleMethodInfo a signature where
    overloadedMethod = dOMCSSStyleSheetRemoveRule

#endif