{- |
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.DOMStyleSheet
    (

-- * Exported types
    DOMStyleSheet(..)                       ,
    IsDOMStyleSheet                         ,
    toDOMStyleSheet                         ,
    noDOMStyleSheet                         ,


 -- * Methods
-- ** getContentType #method:getContentType#

#if ENABLE_OVERLOADING
    DOMStyleSheetGetContentTypeMethodInfo   ,
#endif
    dOMStyleSheetGetContentType             ,


-- ** getDisabled #method:getDisabled#

#if ENABLE_OVERLOADING
    DOMStyleSheetGetDisabledMethodInfo      ,
#endif
    dOMStyleSheetGetDisabled                ,


-- ** getHref #method:getHref#

#if ENABLE_OVERLOADING
    DOMStyleSheetGetHrefMethodInfo          ,
#endif
    dOMStyleSheetGetHref                    ,


-- ** getMedia #method:getMedia#

#if ENABLE_OVERLOADING
    DOMStyleSheetGetMediaMethodInfo         ,
#endif
    dOMStyleSheetGetMedia                   ,


-- ** getOwnerNode #method:getOwnerNode#

#if ENABLE_OVERLOADING
    DOMStyleSheetGetOwnerNodeMethodInfo     ,
#endif
    dOMStyleSheetGetOwnerNode               ,


-- ** getParentStyleSheet #method:getParentStyleSheet#

#if ENABLE_OVERLOADING
    DOMStyleSheetGetParentStyleSheetMethodInfo,
#endif
    dOMStyleSheetGetParentStyleSheet        ,


-- ** getTitle #method:getTitle#

#if ENABLE_OVERLOADING
    DOMStyleSheetGetTitleMethodInfo         ,
#endif
    dOMStyleSheetGetTitle                   ,


-- ** setDisabled #method:setDisabled#

#if ENABLE_OVERLOADING
    DOMStyleSheetSetDisabledMethodInfo      ,
#endif
    dOMStyleSheetSetDisabled                ,




 -- * Properties
-- ** disabled #attr:disabled#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMStyleSheetDisabledPropertyInfo       ,
#endif
    constructDOMStyleSheetDisabled          ,
#if ENABLE_OVERLOADING
    dOMStyleSheetDisabled                   ,
#endif
    getDOMStyleSheetDisabled                ,
    setDOMStyleSheetDisabled                ,


-- ** href #attr:href#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMStyleSheetHrefPropertyInfo           ,
#endif
#if ENABLE_OVERLOADING
    dOMStyleSheetHref                       ,
#endif
    getDOMStyleSheetHref                    ,


-- ** media #attr:media#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMStyleSheetMediaPropertyInfo          ,
#endif
#if ENABLE_OVERLOADING
    dOMStyleSheetMedia                      ,
#endif
    getDOMStyleSheetMedia                   ,


-- ** ownerNode #attr:ownerNode#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMStyleSheetOwnerNodePropertyInfo      ,
#endif
#if ENABLE_OVERLOADING
    dOMStyleSheetOwnerNode                  ,
#endif
    getDOMStyleSheetOwnerNode               ,


-- ** parentStyleSheet #attr:parentStyleSheet#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMStyleSheetParentStyleSheetPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMStyleSheetParentStyleSheet           ,
#endif
    getDOMStyleSheetParentStyleSheet        ,


-- ** title #attr:title#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMStyleSheetTitlePropertyInfo          ,
#endif
#if ENABLE_OVERLOADING
    dOMStyleSheetTitle                      ,
#endif
    getDOMStyleSheetTitle                   ,


-- ** type #attr:type#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMStyleSheetTypePropertyInfo           ,
#endif
#if ENABLE_OVERLOADING
    dOMStyleSheetType                       ,
#endif
    getDOMStyleSheetType                    ,




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

-- | Memory-managed wrapper type.
newtype DOMStyleSheet = DOMStyleSheet (ManagedPtr DOMStyleSheet)
foreign import ccall "webkit_dom_style_sheet_get_type"
    c_webkit_dom_style_sheet_get_type :: IO GType

instance GObject DOMStyleSheet where
    gobjectType = c_webkit_dom_style_sheet_get_type


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

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

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

-- | A convenience alias for `Nothing` :: `Maybe` `DOMStyleSheet`.
noDOMStyleSheet :: Maybe DOMStyleSheet
noDOMStyleSheet = Nothing

#if ENABLE_OVERLOADING
type family ResolveDOMStyleSheetMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMStyleSheetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMStyleSheetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMStyleSheetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMStyleSheetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMStyleSheetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMStyleSheetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMStyleSheetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMStyleSheetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMStyleSheetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMStyleSheetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMStyleSheetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMStyleSheetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMStyleSheetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMStyleSheetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMStyleSheetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMStyleSheetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMStyleSheetMethod "getContentType" o = DOMStyleSheetGetContentTypeMethodInfo
    ResolveDOMStyleSheetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMStyleSheetMethod "getDisabled" o = DOMStyleSheetGetDisabledMethodInfo
    ResolveDOMStyleSheetMethod "getHref" o = DOMStyleSheetGetHrefMethodInfo
    ResolveDOMStyleSheetMethod "getMedia" o = DOMStyleSheetGetMediaMethodInfo
    ResolveDOMStyleSheetMethod "getOwnerNode" o = DOMStyleSheetGetOwnerNodeMethodInfo
    ResolveDOMStyleSheetMethod "getParentStyleSheet" o = DOMStyleSheetGetParentStyleSheetMethodInfo
    ResolveDOMStyleSheetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMStyleSheetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMStyleSheetMethod "getTitle" o = DOMStyleSheetGetTitleMethodInfo
    ResolveDOMStyleSheetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMStyleSheetMethod "setDisabled" o = DOMStyleSheetSetDisabledMethodInfo
    ResolveDOMStyleSheetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMStyleSheetMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMStyleSheetMethod t DOMStyleSheet, O.MethodInfo info DOMStyleSheet p) => OL.IsLabel t (DOMStyleSheet -> 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 "disabled"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

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

@
'Data.GI.Base.Attributes.get' dOMStyleSheet #disabled
@
-}
getDOMStyleSheetDisabled :: (MonadIO m, IsDOMStyleSheet o) => o -> m Bool
getDOMStyleSheetDisabled obj = liftIO $ B.Properties.getObjectPropertyBool obj "disabled"

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

@
'Data.GI.Base.Attributes.set' dOMStyleSheet [ #disabled 'Data.GI.Base.Attributes.:=' value ]
@
-}
setDOMStyleSheetDisabled :: (MonadIO m, IsDOMStyleSheet o) => o -> Bool -> m ()
setDOMStyleSheetDisabled obj val = liftIO $ B.Properties.setObjectPropertyBool obj "disabled" val

{- |
Construct a `GValueConstruct` with valid value for the “@disabled@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructDOMStyleSheetDisabled :: (IsDOMStyleSheet o) => Bool -> IO (GValueConstruct o)
constructDOMStyleSheetDisabled val = B.Properties.constructObjectPropertyBool "disabled" val

#if ENABLE_OVERLOADING
data DOMStyleSheetDisabledPropertyInfo
instance AttrInfo DOMStyleSheetDisabledPropertyInfo where
    type AttrAllowedOps DOMStyleSheetDisabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMStyleSheetDisabledPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMStyleSheetDisabledPropertyInfo = IsDOMStyleSheet
    type AttrGetType DOMStyleSheetDisabledPropertyInfo = Bool
    type AttrLabel DOMStyleSheetDisabledPropertyInfo = "disabled"
    type AttrOrigin DOMStyleSheetDisabledPropertyInfo = DOMStyleSheet
    attrGet _ = getDOMStyleSheetDisabled
    attrSet _ = setDOMStyleSheetDisabled
    attrConstruct _ = constructDOMStyleSheetDisabled
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMStyleSheet #href
@
-}
getDOMStyleSheetHref :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe T.Text)
getDOMStyleSheetHref obj = liftIO $ B.Properties.getObjectPropertyString obj "href"

#if ENABLE_OVERLOADING
data DOMStyleSheetHrefPropertyInfo
instance AttrInfo DOMStyleSheetHrefPropertyInfo where
    type AttrAllowedOps DOMStyleSheetHrefPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMStyleSheetHrefPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMStyleSheetHrefPropertyInfo = IsDOMStyleSheet
    type AttrGetType DOMStyleSheetHrefPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMStyleSheetHrefPropertyInfo = "href"
    type AttrOrigin DOMStyleSheetHrefPropertyInfo = DOMStyleSheet
    attrGet _ = getDOMStyleSheetHref
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMStyleSheet #media
@
-}
getDOMStyleSheetMedia :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe WebKit2WebExtension.DOMMediaList.DOMMediaList)
getDOMStyleSheetMedia obj = liftIO $ B.Properties.getObjectPropertyObject obj "media" WebKit2WebExtension.DOMMediaList.DOMMediaList

#if ENABLE_OVERLOADING
data DOMStyleSheetMediaPropertyInfo
instance AttrInfo DOMStyleSheetMediaPropertyInfo where
    type AttrAllowedOps DOMStyleSheetMediaPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMStyleSheetMediaPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMStyleSheetMediaPropertyInfo = IsDOMStyleSheet
    type AttrGetType DOMStyleSheetMediaPropertyInfo = (Maybe WebKit2WebExtension.DOMMediaList.DOMMediaList)
    type AttrLabel DOMStyleSheetMediaPropertyInfo = "media"
    type AttrOrigin DOMStyleSheetMediaPropertyInfo = DOMStyleSheet
    attrGet _ = getDOMStyleSheetMedia
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMStyleSheet #ownerNode
@
-}
getDOMStyleSheetOwnerNode :: (MonadIO m, IsDOMStyleSheet o) => o -> m WebKit2WebExtension.DOMNode.DOMNode
getDOMStyleSheetOwnerNode obj = liftIO $ checkUnexpectedNothing "getDOMStyleSheetOwnerNode" $ B.Properties.getObjectPropertyObject obj "owner-node" WebKit2WebExtension.DOMNode.DOMNode

#if ENABLE_OVERLOADING
data DOMStyleSheetOwnerNodePropertyInfo
instance AttrInfo DOMStyleSheetOwnerNodePropertyInfo where
    type AttrAllowedOps DOMStyleSheetOwnerNodePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMStyleSheetOwnerNodePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMStyleSheetOwnerNodePropertyInfo = IsDOMStyleSheet
    type AttrGetType DOMStyleSheetOwnerNodePropertyInfo = WebKit2WebExtension.DOMNode.DOMNode
    type AttrLabel DOMStyleSheetOwnerNodePropertyInfo = "owner-node"
    type AttrOrigin DOMStyleSheetOwnerNodePropertyInfo = DOMStyleSheet
    attrGet _ = getDOMStyleSheetOwnerNode
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMStyleSheet #parentStyleSheet
@
-}
getDOMStyleSheetParentStyleSheet :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe DOMStyleSheet)
getDOMStyleSheetParentStyleSheet obj = liftIO $ B.Properties.getObjectPropertyObject obj "parent-style-sheet" DOMStyleSheet

#if ENABLE_OVERLOADING
data DOMStyleSheetParentStyleSheetPropertyInfo
instance AttrInfo DOMStyleSheetParentStyleSheetPropertyInfo where
    type AttrAllowedOps DOMStyleSheetParentStyleSheetPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMStyleSheetParentStyleSheetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMStyleSheetParentStyleSheetPropertyInfo = IsDOMStyleSheet
    type AttrGetType DOMStyleSheetParentStyleSheetPropertyInfo = (Maybe DOMStyleSheet)
    type AttrLabel DOMStyleSheetParentStyleSheetPropertyInfo = "parent-style-sheet"
    type AttrOrigin DOMStyleSheetParentStyleSheetPropertyInfo = DOMStyleSheet
    attrGet _ = getDOMStyleSheetParentStyleSheet
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMStyleSheet #title
@
-}
getDOMStyleSheetTitle :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe T.Text)
getDOMStyleSheetTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "title"

#if ENABLE_OVERLOADING
data DOMStyleSheetTitlePropertyInfo
instance AttrInfo DOMStyleSheetTitlePropertyInfo where
    type AttrAllowedOps DOMStyleSheetTitlePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMStyleSheetTitlePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMStyleSheetTitlePropertyInfo = IsDOMStyleSheet
    type AttrGetType DOMStyleSheetTitlePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMStyleSheetTitlePropertyInfo = "title"
    type AttrOrigin DOMStyleSheetTitlePropertyInfo = DOMStyleSheet
    attrGet _ = getDOMStyleSheetTitle
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

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

@
'Data.GI.Base.Attributes.get' dOMStyleSheet #type
@
-}
getDOMStyleSheetType :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe T.Text)
getDOMStyleSheetType obj = liftIO $ B.Properties.getObjectPropertyString obj "type"

#if ENABLE_OVERLOADING
data DOMStyleSheetTypePropertyInfo
instance AttrInfo DOMStyleSheetTypePropertyInfo where
    type AttrAllowedOps DOMStyleSheetTypePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMStyleSheetTypePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMStyleSheetTypePropertyInfo = IsDOMStyleSheet
    type AttrGetType DOMStyleSheetTypePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMStyleSheetTypePropertyInfo = "type"
    type AttrOrigin DOMStyleSheetTypePropertyInfo = DOMStyleSheet
    attrGet _ = getDOMStyleSheetType
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

#if ENABLE_OVERLOADING
instance O.HasAttributeList DOMStyleSheet
type instance O.AttributeList DOMStyleSheet = DOMStyleSheetAttributeList
type DOMStyleSheetAttributeList = ('[ '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("disabled", DOMStyleSheetDisabledPropertyInfo), '("href", DOMStyleSheetHrefPropertyInfo), '("media", DOMStyleSheetMediaPropertyInfo), '("ownerNode", DOMStyleSheetOwnerNodePropertyInfo), '("parentStyleSheet", DOMStyleSheetParentStyleSheetPropertyInfo), '("title", DOMStyleSheetTitlePropertyInfo), '("type", DOMStyleSheetTypePropertyInfo)] :: [(Symbol, *)])
#endif

#if ENABLE_OVERLOADING
dOMStyleSheetDisabled :: AttrLabelProxy "disabled"
dOMStyleSheetDisabled = AttrLabelProxy

dOMStyleSheetHref :: AttrLabelProxy "href"
dOMStyleSheetHref = AttrLabelProxy

dOMStyleSheetMedia :: AttrLabelProxy "media"
dOMStyleSheetMedia = AttrLabelProxy

dOMStyleSheetOwnerNode :: AttrLabelProxy "ownerNode"
dOMStyleSheetOwnerNode = AttrLabelProxy

dOMStyleSheetParentStyleSheet :: AttrLabelProxy "parentStyleSheet"
dOMStyleSheetParentStyleSheet = AttrLabelProxy

dOMStyleSheetTitle :: AttrLabelProxy "title"
dOMStyleSheetTitle = AttrLabelProxy

dOMStyleSheetType :: AttrLabelProxy "type"
dOMStyleSheetType = AttrLabelProxy

#endif

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

#endif

-- method DOMStyleSheet::get_content_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMStyleSheet", 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_style_sheet_get_content_type" webkit_dom_style_sheet_get_content_type ::
    Ptr DOMStyleSheet ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"})
    IO CString

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

#if ENABLE_OVERLOADING
data DOMStyleSheetGetContentTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMStyleSheet a) => O.MethodInfo DOMStyleSheetGetContentTypeMethodInfo a signature where
    overloadedMethod _ = dOMStyleSheetGetContentType

#endif

-- method DOMStyleSheet::get_disabled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMStyleSheet", 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_style_sheet_get_disabled" webkit_dom_style_sheet_get_disabled ::
    Ptr DOMStyleSheet ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"})
    IO CInt

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

#if ENABLE_OVERLOADING
data DOMStyleSheetGetDisabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMStyleSheet a) => O.MethodInfo DOMStyleSheetGetDisabledMethodInfo a signature where
    overloadedMethod _ = dOMStyleSheetGetDisabled

#endif

-- method DOMStyleSheet::get_href
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMStyleSheet", 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_style_sheet_get_href" webkit_dom_style_sheet_get_href ::
    Ptr DOMStyleSheet ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"})
    IO CString

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

#if ENABLE_OVERLOADING
data DOMStyleSheetGetHrefMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMStyleSheet a) => O.MethodInfo DOMStyleSheetGetHrefMethodInfo a signature where
    overloadedMethod _ = dOMStyleSheetGetHref

#endif

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

foreign import ccall "webkit_dom_style_sheet_get_media" webkit_dom_style_sheet_get_media ::
    Ptr DOMStyleSheet ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"})
    IO (Ptr WebKit2WebExtension.DOMMediaList.DOMMediaList)

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

#if ENABLE_OVERLOADING
data DOMStyleSheetGetMediaMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMMediaList.DOMMediaList), MonadIO m, IsDOMStyleSheet a) => O.MethodInfo DOMStyleSheetGetMediaMethodInfo a signature where
    overloadedMethod _ = dOMStyleSheetGetMedia

#endif

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

foreign import ccall "webkit_dom_style_sheet_get_owner_node" webkit_dom_style_sheet_get_owner_node ::
    Ptr DOMStyleSheet ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"})
    IO (Ptr WebKit2WebExtension.DOMNode.DOMNode)

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

#if ENABLE_OVERLOADING
data DOMStyleSheetGetOwnerNodeMethodInfo
instance (signature ~ (m WebKit2WebExtension.DOMNode.DOMNode), MonadIO m, IsDOMStyleSheet a) => O.MethodInfo DOMStyleSheetGetOwnerNodeMethodInfo a signature where
    overloadedMethod _ = dOMStyleSheetGetOwnerNode

#endif

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

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

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

#if ENABLE_OVERLOADING
data DOMStyleSheetGetParentStyleSheetMethodInfo
instance (signature ~ (m DOMStyleSheet), MonadIO m, IsDOMStyleSheet a) => O.MethodInfo DOMStyleSheetGetParentStyleSheetMethodInfo a signature where
    overloadedMethod _ = dOMStyleSheetGetParentStyleSheet

#endif

-- method DOMStyleSheet::get_title
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMStyleSheet", 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_style_sheet_get_title" webkit_dom_style_sheet_get_title ::
    Ptr DOMStyleSheet ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"})
    IO CString

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

#if ENABLE_OVERLOADING
data DOMStyleSheetGetTitleMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMStyleSheet a) => O.MethodInfo DOMStyleSheetGetTitleMethodInfo a signature where
    overloadedMethod _ = dOMStyleSheetGetTitle

#endif

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

foreign import ccall "webkit_dom_style_sheet_set_disabled" webkit_dom_style_sheet_set_disabled ::
    Ptr DOMStyleSheet ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMStyleSheet"})
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()

{-# DEPRECATED dOMStyleSheetSetDisabled ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/No description available in the introspection data./
-}
dOMStyleSheetSetDisabled ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMStyleSheet a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMStyleSheet.DOMStyleSheet' -}
    -> Bool
    {- ^ /@value@/: A 'Bool' -}
    -> m ()
dOMStyleSheetSetDisabled self value = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_style_sheet_set_disabled self' value'
    touchManagedPtr self
    return ()

#if ENABLE_OVERLOADING
data DOMStyleSheetSetDisabledMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsDOMStyleSheet a) => O.MethodInfo DOMStyleSheetSetDisabledMethodInfo a signature where
    overloadedMethod _ = dOMStyleSheetSetDisabled

#endif