{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)

/No description available in the introspection data./
-}

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

module GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration
    (

-- * Exported types
    DOMCSSStyleDeclaration(..)              ,
    IsDOMCSSStyleDeclaration                ,
    toDOMCSSStyleDeclaration                ,
    noDOMCSSStyleDeclaration                ,


 -- * Methods
-- ** getCssText #method:getCssText#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationGetCssTextMethodInfo,
#endif
    dOMCSSStyleDeclarationGetCssText        ,


-- ** getLength #method:getLength#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationGetLengthMethodInfo,
#endif
    dOMCSSStyleDeclarationGetLength         ,


-- ** getParentRule #method:getParentRule#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationGetParentRuleMethodInfo,
#endif
    dOMCSSStyleDeclarationGetParentRule     ,


-- ** getPropertyPriority #method:getPropertyPriority#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationGetPropertyPriorityMethodInfo,
#endif
    dOMCSSStyleDeclarationGetPropertyPriority,


-- ** getPropertyShorthand #method:getPropertyShorthand#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationGetPropertyShorthandMethodInfo,
#endif
    dOMCSSStyleDeclarationGetPropertyShorthand,


-- ** getPropertyValue #method:getPropertyValue#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationGetPropertyValueMethodInfo,
#endif
    dOMCSSStyleDeclarationGetPropertyValue  ,


-- ** isPropertyImplicit #method:isPropertyImplicit#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationIsPropertyImplicitMethodInfo,
#endif
    dOMCSSStyleDeclarationIsPropertyImplicit,


-- ** item #method:item#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationItemMethodInfo    ,
#endif
    dOMCSSStyleDeclarationItem              ,


-- ** removeProperty #method:removeProperty#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationRemovePropertyMethodInfo,
#endif
    dOMCSSStyleDeclarationRemoveProperty    ,


-- ** setCssText #method:setCssText#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationSetCssTextMethodInfo,
#endif
    dOMCSSStyleDeclarationSetCssText        ,


-- ** setProperty #method:setProperty#

#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationSetPropertyMethodInfo,
#endif
    dOMCSSStyleDeclarationSetProperty       ,




 -- * Properties
-- ** cssText #attr:cssText#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationCssTextPropertyInfo,
#endif
    clearDOMCSSStyleDeclarationCssText      ,
    constructDOMCSSStyleDeclarationCssText  ,
#if ENABLE_OVERLOADING
    dOMCSSStyleDeclarationCssText           ,
#endif
    getDOMCSSStyleDeclarationCssText        ,
    setDOMCSSStyleDeclarationCssText        ,


-- ** length #attr:length#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationLengthPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMCSSStyleDeclarationLength            ,
#endif
    getDOMCSSStyleDeclarationLength         ,


-- ** parentRule #attr:parentRule#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMCSSStyleDeclarationParentRulePropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMCSSStyleDeclarationParentRule        ,
#endif
    getDOMCSSStyleDeclarationParentRule     ,




    ) 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.WebKit2WebExtension.Objects.DOMCSSRule as WebKit2WebExtension.DOMCSSRule
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject

-- | Memory-managed wrapper type.
newtype DOMCSSStyleDeclaration = DOMCSSStyleDeclaration (ManagedPtr DOMCSSStyleDeclaration)
foreign import ccall "webkit_dom_css_style_declaration_get_type"
    c_webkit_dom_css_style_declaration_get_type :: IO GType

instance GObject DOMCSSStyleDeclaration where
    gobjectType = c_webkit_dom_css_style_declaration_get_type


-- | Type class for types which can be safely cast to `DOMCSSStyleDeclaration`, for instance with `toDOMCSSStyleDeclaration`.
class (GObject o, O.IsDescendantOf DOMCSSStyleDeclaration o) => IsDOMCSSStyleDeclaration o
instance (GObject o, O.IsDescendantOf DOMCSSStyleDeclaration o) => IsDOMCSSStyleDeclaration o

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

-- | Cast to `DOMCSSStyleDeclaration`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toDOMCSSStyleDeclaration :: (MonadIO m, IsDOMCSSStyleDeclaration o) => o -> m DOMCSSStyleDeclaration
toDOMCSSStyleDeclaration = liftIO . unsafeCastTo DOMCSSStyleDeclaration

-- | A convenience alias for `Nothing` :: `Maybe` `DOMCSSStyleDeclaration`.
noDOMCSSStyleDeclaration :: Maybe DOMCSSStyleDeclaration
noDOMCSSStyleDeclaration = Nothing

#if ENABLE_OVERLOADING
type family ResolveDOMCSSStyleDeclarationMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMCSSStyleDeclarationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "isPropertyImplicit" o = DOMCSSStyleDeclarationIsPropertyImplicitMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "item" o = DOMCSSStyleDeclarationItemMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "removeProperty" o = DOMCSSStyleDeclarationRemovePropertyMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getCssText" o = DOMCSSStyleDeclarationGetCssTextMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getLength" o = DOMCSSStyleDeclarationGetLengthMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getParentRule" o = DOMCSSStyleDeclarationGetParentRuleMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getPropertyPriority" o = DOMCSSStyleDeclarationGetPropertyPriorityMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getPropertyShorthand" o = DOMCSSStyleDeclarationGetPropertyShorthandMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getPropertyValue" o = DOMCSSStyleDeclarationGetPropertyValueMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "setCssText" o = DOMCSSStyleDeclarationSetCssTextMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMCSSStyleDeclarationMethod "setProperty" o = DOMCSSStyleDeclarationSetPropertyMethodInfo
    ResolveDOMCSSStyleDeclarationMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMCSSStyleDeclarationMethod t DOMCSSStyleDeclaration, O.MethodInfo info DOMCSSStyleDeclaration p) => OL.IsLabel t (DOMCSSStyleDeclaration -> 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

-- VVV Prop "css-text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

{- |
Get the value of the “@css-text@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMCSSStyleDeclaration #cssText
@
-}
getDOMCSSStyleDeclarationCssText :: (MonadIO m, IsDOMCSSStyleDeclaration o) => o -> m (Maybe T.Text)
getDOMCSSStyleDeclarationCssText obj = liftIO $ B.Properties.getObjectPropertyString obj "css-text"

{- |
Set the value of the “@css-text@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' dOMCSSStyleDeclaration [ #cssText 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMCSSStyleDeclarationCssText :: (MonadIO m, IsDOMCSSStyleDeclaration o) => o -> T.Text -> m ()
setDOMCSSStyleDeclarationCssText obj val = liftIO $ B.Properties.setObjectPropertyString obj "css-text" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@css-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMCSSStyleDeclarationCssText :: (IsDOMCSSStyleDeclaration o) => T.Text -> IO (GValueConstruct o)
constructDOMCSSStyleDeclarationCssText val = B.Properties.constructObjectPropertyString "css-text" (Just val)

{- |
Set the value of the “@css-text@” property to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #cssText
@
-}
clearDOMCSSStyleDeclarationCssText :: (MonadIO m, IsDOMCSSStyleDeclaration o) => o -> m ()
clearDOMCSSStyleDeclarationCssText obj = liftIO $ B.Properties.setObjectPropertyString obj "css-text" (Nothing :: Maybe T.Text)

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationCssTextPropertyInfo
instance AttrInfo DOMCSSStyleDeclarationCssTextPropertyInfo where
    type AttrAllowedOps DOMCSSStyleDeclarationCssTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMCSSStyleDeclarationCssTextPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMCSSStyleDeclarationCssTextPropertyInfo = IsDOMCSSStyleDeclaration
    type AttrGetType DOMCSSStyleDeclarationCssTextPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMCSSStyleDeclarationCssTextPropertyInfo = "css-text"
    type AttrOrigin DOMCSSStyleDeclarationCssTextPropertyInfo = DOMCSSStyleDeclaration
    attrGet _ = getDOMCSSStyleDeclarationCssText
    attrSet _ = setDOMCSSStyleDeclarationCssText
    attrConstruct _ = constructDOMCSSStyleDeclarationCssText
    attrClear _ = clearDOMCSSStyleDeclarationCssText
#endif

-- VVV Prop "length"
   -- Type: TBasicType TULong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

{- |
Get the value of the “@length@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMCSSStyleDeclaration #length
@
-}
getDOMCSSStyleDeclarationLength :: (MonadIO m, IsDOMCSSStyleDeclaration o) => o -> m CULong
getDOMCSSStyleDeclarationLength obj = liftIO $ B.Properties.getObjectPropertyULong obj "length"

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationLengthPropertyInfo
instance AttrInfo DOMCSSStyleDeclarationLengthPropertyInfo where
    type AttrAllowedOps DOMCSSStyleDeclarationLengthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMCSSStyleDeclarationLengthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMCSSStyleDeclarationLengthPropertyInfo = IsDOMCSSStyleDeclaration
    type AttrGetType DOMCSSStyleDeclarationLengthPropertyInfo = CULong
    type AttrLabel DOMCSSStyleDeclarationLengthPropertyInfo = "length"
    type AttrOrigin DOMCSSStyleDeclarationLengthPropertyInfo = DOMCSSStyleDeclaration
    attrGet _ = getDOMCSSStyleDeclarationLength
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

{- |
Get the value of the “@parent-rule@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMCSSStyleDeclaration #parentRule
@
-}
getDOMCSSStyleDeclarationParentRule :: (MonadIO m, IsDOMCSSStyleDeclaration o) => o -> m (Maybe WebKit2WebExtension.DOMCSSRule.DOMCSSRule)
getDOMCSSStyleDeclarationParentRule obj = liftIO $ B.Properties.getObjectPropertyObject obj "parent-rule" WebKit2WebExtension.DOMCSSRule.DOMCSSRule

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationParentRulePropertyInfo
instance AttrInfo DOMCSSStyleDeclarationParentRulePropertyInfo where
    type AttrAllowedOps DOMCSSStyleDeclarationParentRulePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMCSSStyleDeclarationParentRulePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMCSSStyleDeclarationParentRulePropertyInfo = IsDOMCSSStyleDeclaration
    type AttrGetType DOMCSSStyleDeclarationParentRulePropertyInfo = (Maybe WebKit2WebExtension.DOMCSSRule.DOMCSSRule)
    type AttrLabel DOMCSSStyleDeclarationParentRulePropertyInfo = "parent-rule"
    type AttrOrigin DOMCSSStyleDeclarationParentRulePropertyInfo = DOMCSSStyleDeclaration
    attrGet _ = getDOMCSSStyleDeclarationParentRule
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

#if ENABLE_OVERLOADING
instance O.HasAttributeList DOMCSSStyleDeclaration
type instance O.AttributeList DOMCSSStyleDeclaration = DOMCSSStyleDeclarationAttributeList
type DOMCSSStyleDeclarationAttributeList = ('[ '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("cssText", DOMCSSStyleDeclarationCssTextPropertyInfo), '("length", DOMCSSStyleDeclarationLengthPropertyInfo), '("parentRule", DOMCSSStyleDeclarationParentRulePropertyInfo)] :: [(Symbol, *)])
#endif

#if ENABLE_OVERLOADING
dOMCSSStyleDeclarationCssText :: AttrLabelProxy "cssText"
dOMCSSStyleDeclarationCssText = AttrLabelProxy

dOMCSSStyleDeclarationLength :: AttrLabelProxy "length"
dOMCSSStyleDeclarationLength = AttrLabelProxy

dOMCSSStyleDeclarationParentRule :: AttrLabelProxy "parentRule"
dOMCSSStyleDeclarationParentRule = AttrLabelProxy

#endif

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

#endif

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

foreign import ccall "webkit_dom_css_style_declaration_get_css_text" webkit_dom_css_style_declaration_get_css_text ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    IO CString

{-# DEPRECATED dOMCSSStyleDeclarationGetCssText ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationGetCssText ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMCSSStyleDeclarationGetCssText self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_css_style_declaration_get_css_text self'
    checkUnexpectedReturnNULL "dOMCSSStyleDeclarationGetCssText" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationGetCssTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationGetCssTextMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationGetCssText

#endif

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

foreign import ccall "webkit_dom_css_style_declaration_get_length" webkit_dom_css_style_declaration_get_length ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    IO CULong

{-# DEPRECATED dOMCSSStyleDeclarationGetLength ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationGetLength ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMCSSStyleDeclarationGetLength self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_css_style_declaration_get_length self'
    touchManagedPtr self
    return result

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationGetLengthMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationGetLengthMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationGetLength

#endif

-- method DOMCSSStyleDeclaration::get_parent_rule
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMCSSStyleDeclaration", 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_declaration_get_parent_rule" webkit_dom_css_style_declaration_get_parent_rule ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    IO (Ptr WebKit2WebExtension.DOMCSSRule.DOMCSSRule)

{-# DEPRECATED dOMCSSStyleDeclarationGetParentRule ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationGetParentRule ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> m WebKit2WebExtension.DOMCSSRule.DOMCSSRule
    {- ^ __Returns:__ A 'GI.WebKit2WebExtension.Objects.DOMCSSRule.DOMCSSRule' -}
dOMCSSStyleDeclarationGetParentRule self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_css_style_declaration_get_parent_rule self'
    checkUnexpectedReturnNULL "dOMCSSStyleDeclarationGetParentRule" result
    result' <- (wrapObject WebKit2WebExtension.DOMCSSRule.DOMCSSRule) result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationGetParentRuleMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMCSSRule.DOMCSSRule), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationGetParentRuleMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationGetParentRule

#endif

-- method DOMCSSStyleDeclaration::get_property_priority
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMCSSStyleDeclaration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "propertyName", 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}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_css_style_declaration_get_property_priority" webkit_dom_css_style_declaration_get_property_priority ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    CString ->                              -- propertyName : TBasicType TUTF8
    IO CString

{-# DEPRECATED dOMCSSStyleDeclarationGetPropertyPriority ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationGetPropertyPriority ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> T.Text
    {- ^ /@propertyName@/: A @/gchar/@ -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMCSSStyleDeclarationGetPropertyPriority self propertyName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    propertyName' <- textToCString propertyName
    result <- webkit_dom_css_style_declaration_get_property_priority self' propertyName'
    checkUnexpectedReturnNULL "dOMCSSStyleDeclarationGetPropertyPriority" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    freeMem propertyName'
    return result'

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationGetPropertyPriorityMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationGetPropertyPriorityMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationGetPropertyPriority

#endif

-- method DOMCSSStyleDeclaration::get_property_shorthand
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMCSSStyleDeclaration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "propertyName", 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}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_css_style_declaration_get_property_shorthand" webkit_dom_css_style_declaration_get_property_shorthand ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    CString ->                              -- propertyName : TBasicType TUTF8
    IO CString

{-# DEPRECATED dOMCSSStyleDeclarationGetPropertyShorthand ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationGetPropertyShorthand ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> T.Text
    {- ^ /@propertyName@/: A @/gchar/@ -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMCSSStyleDeclarationGetPropertyShorthand self propertyName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    propertyName' <- textToCString propertyName
    result <- webkit_dom_css_style_declaration_get_property_shorthand self' propertyName'
    checkUnexpectedReturnNULL "dOMCSSStyleDeclarationGetPropertyShorthand" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    freeMem propertyName'
    return result'

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationGetPropertyShorthandMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationGetPropertyShorthandMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationGetPropertyShorthand

#endif

-- method DOMCSSStyleDeclaration::get_property_value
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMCSSStyleDeclaration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "propertyName", 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}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_css_style_declaration_get_property_value" webkit_dom_css_style_declaration_get_property_value ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    CString ->                              -- propertyName : TBasicType TUTF8
    IO CString

{-# DEPRECATED dOMCSSStyleDeclarationGetPropertyValue ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationGetPropertyValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> T.Text
    {- ^ /@propertyName@/: A @/gchar/@ -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMCSSStyleDeclarationGetPropertyValue self propertyName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    propertyName' <- textToCString propertyName
    result <- webkit_dom_css_style_declaration_get_property_value self' propertyName'
    checkUnexpectedReturnNULL "dOMCSSStyleDeclarationGetPropertyValue" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    freeMem propertyName'
    return result'

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationGetPropertyValueMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationGetPropertyValueMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationGetPropertyValue

#endif

-- method DOMCSSStyleDeclaration::is_property_implicit
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMCSSStyleDeclaration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "propertyName", 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}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_css_style_declaration_is_property_implicit" webkit_dom_css_style_declaration_is_property_implicit ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    CString ->                              -- propertyName : TBasicType TUTF8
    IO CInt

{-# DEPRECATED dOMCSSStyleDeclarationIsPropertyImplicit ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationIsPropertyImplicit ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> T.Text
    {- ^ /@propertyName@/: A @/gchar/@ -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMCSSStyleDeclarationIsPropertyImplicit self propertyName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    propertyName' <- textToCString propertyName
    result <- webkit_dom_css_style_declaration_is_property_implicit self' propertyName'
    let result' = (/= 0) result
    touchManagedPtr self
    freeMem propertyName'
    return result'

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationIsPropertyImplicitMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationIsPropertyImplicitMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationIsPropertyImplicit

#endif

-- method DOMCSSStyleDeclaration::item
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMCSSStyleDeclaration", 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 TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_css_style_declaration_item" webkit_dom_css_style_declaration_item ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    CULong ->                               -- index : TBasicType TULong
    IO CString

{-# DEPRECATED dOMCSSStyleDeclarationItem ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationItem ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> CULong
    {- ^ /@index@/: A @/gulong/@ -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMCSSStyleDeclarationItem self index = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_css_style_declaration_item self' index
    checkUnexpectedReturnNULL "dOMCSSStyleDeclarationItem" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationItemMethodInfo
instance (signature ~ (CULong -> m T.Text), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationItemMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationItem

#endif

-- method DOMCSSStyleDeclaration::remove_property
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMCSSStyleDeclaration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "propertyName", 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}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_css_style_declaration_remove_property" webkit_dom_css_style_declaration_remove_property ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    CString ->                              -- propertyName : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO CString

{-# DEPRECATED dOMCSSStyleDeclarationRemoveProperty ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationRemoveProperty ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> T.Text
    {- ^ /@propertyName@/: A @/gchar/@ -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMCSSStyleDeclarationRemoveProperty self propertyName = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    propertyName' <- textToCString propertyName
    onException (do
        result <- propagateGError $ webkit_dom_css_style_declaration_remove_property self' propertyName'
        checkUnexpectedReturnNULL "dOMCSSStyleDeclarationRemoveProperty" result
        result' <- cstringToText result
        freeMem result
        touchManagedPtr self
        freeMem propertyName'
        return result'
     ) (do
        freeMem propertyName'
     )

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationRemovePropertyMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationRemovePropertyMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationRemoveProperty

#endif

-- method DOMCSSStyleDeclaration::set_css_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMCSSStyleDeclaration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", 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}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_css_style_declaration_set_css_text" webkit_dom_css_style_declaration_set_css_text ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMCSSStyleDeclarationSetCssText ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationSetCssText ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMCSSStyleDeclarationSetCssText self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_css_style_declaration_set_css_text self' value'
        touchManagedPtr self
        freeMem value'
        return ()
     ) (do
        freeMem value'
     )

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationSetCssTextMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationSetCssTextMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationSetCssText

#endif

-- method DOMCSSStyleDeclaration::set_property
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMCSSStyleDeclaration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "propertyName", 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 = "value", 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 = "priority", 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}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_css_style_declaration_set_property" webkit_dom_css_style_declaration_set_property ::
    Ptr DOMCSSStyleDeclaration ->           -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMCSSStyleDeclaration"})
    CString ->                              -- propertyName : TBasicType TUTF8
    CString ->                              -- value : TBasicType TUTF8
    CString ->                              -- priority : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{-# DEPRECATED dOMCSSStyleDeclarationSetProperty ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMCSSStyleDeclarationSetProperty ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMCSSStyleDeclaration a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMCSSStyleDeclaration.DOMCSSStyleDeclaration' -}
    -> T.Text
    {- ^ /@propertyName@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@value@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@priority@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMCSSStyleDeclarationSetProperty self propertyName value priority = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    propertyName' <- textToCString propertyName
    value' <- textToCString value
    priority' <- textToCString priority
    onException (do
        propagateGError $ webkit_dom_css_style_declaration_set_property self' propertyName' value' priority'
        touchManagedPtr self
        freeMem propertyName'
        freeMem value'
        freeMem priority'
        return ()
     ) (do
        freeMem propertyName'
        freeMem value'
        freeMem priority'
     )

#if ENABLE_OVERLOADING
data DOMCSSStyleDeclarationSetPropertyMethodInfo
instance (signature ~ (T.Text -> T.Text -> T.Text -> m ()), MonadIO m, IsDOMCSSStyleDeclaration a) => O.MethodInfo DOMCSSStyleDeclarationSetPropertyMethodInfo a signature where
    overloadedMethod _ = dOMCSSStyleDeclarationSetProperty

#endif