{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit2WebExtension.Objects.DOMStyleSheet
    ( 

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


 -- * Methods
-- ** getContentType #method:getContentType#
    DOMStyleSheetGetContentTypeMethodInfo   ,
    dOMStyleSheetGetContentType             ,


-- ** getDisabled #method:getDisabled#
    DOMStyleSheetGetDisabledMethodInfo      ,
    dOMStyleSheetGetDisabled                ,


-- ** getHref #method:getHref#
    DOMStyleSheetGetHrefMethodInfo          ,
    dOMStyleSheetGetHref                    ,


-- ** getMedia #method:getMedia#
    DOMStyleSheetGetMediaMethodInfo         ,
    dOMStyleSheetGetMedia                   ,


-- ** getOwnerNode #method:getOwnerNode#
    DOMStyleSheetGetOwnerNodeMethodInfo     ,
    dOMStyleSheetGetOwnerNode               ,


-- ** getParentStyleSheet #method:getParentStyleSheet#
    DOMStyleSheetGetParentStyleSheetMethodInfo,
    dOMStyleSheetGetParentStyleSheet        ,


-- ** getTitle #method:getTitle#
    DOMStyleSheetGetTitleMethodInfo         ,
    dOMStyleSheetGetTitle                   ,


-- ** setDisabled #method:setDisabled#
    DOMStyleSheetSetDisabledMethodInfo      ,
    dOMStyleSheetSetDisabled                ,




 -- * Properties
-- ** disabled #attr:disabled#
    DOMStyleSheetDisabledPropertyInfo       ,
    constructDOMStyleSheetDisabled          ,
    dOMStyleSheetDisabled                   ,
    getDOMStyleSheetDisabled                ,
    setDOMStyleSheetDisabled                ,


-- ** href #attr:href#
    DOMStyleSheetHrefPropertyInfo           ,
    dOMStyleSheetHref                       ,
    getDOMStyleSheetHref                    ,


-- ** media #attr:media#
    DOMStyleSheetMediaPropertyInfo          ,
    dOMStyleSheetMedia                      ,
    getDOMStyleSheetMedia                   ,


-- ** ownerNode #attr:ownerNode#
    DOMStyleSheetOwnerNodePropertyInfo      ,
    dOMStyleSheetOwnerNode                  ,
    getDOMStyleSheetOwnerNode               ,


-- ** parentStyleSheet #attr:parentStyleSheet#
    DOMStyleSheetParentStyleSheetPropertyInfo,
    dOMStyleSheetParentStyleSheet           ,
    getDOMStyleSheetParentStyleSheet        ,


-- ** title #attr:title#
    DOMStyleSheetTitlePropertyInfo          ,
    dOMStyleSheetTitle                      ,
    getDOMStyleSheetTitle                   ,


-- ** type #attr:type#
    DOMStyleSheetTypePropertyInfo           ,
    dOMStyleSheetType                       ,
    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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 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

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
    

class GObject o => IsDOMStyleSheet o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMStyleSheet a) =>
    IsDOMStyleSheet a
#endif
instance IsDOMStyleSheet DOMStyleSheet
instance WebKit2WebExtension.DOMObject.IsDOMObject DOMStyleSheet
instance GObject.Object.IsObject DOMStyleSheet

toDOMStyleSheet :: IsDOMStyleSheet o => o -> IO DOMStyleSheet
toDOMStyleSheet = unsafeCastTo DOMStyleSheet

noDOMStyleSheet :: Maybe DOMStyleSheet
noDOMStyleSheet = Nothing

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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMStyleSheetMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    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) => O.IsLabelProxy t (DOMStyleSheet -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDOMStyleSheetMethod t DOMStyleSheet, O.MethodInfo info DOMStyleSheet p) => O.IsLabel t (DOMStyleSheet -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- VVV Prop "disabled"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getDOMStyleSheetDisabled :: (MonadIO m, IsDOMStyleSheet o) => o -> m Bool
getDOMStyleSheetDisabled obj = liftIO $ getObjectPropertyBool obj "disabled"

setDOMStyleSheetDisabled :: (MonadIO m, IsDOMStyleSheet o) => o -> Bool -> m ()
setDOMStyleSheetDisabled obj val = liftIO $ setObjectPropertyBool obj "disabled" val

constructDOMStyleSheetDisabled :: (IsDOMStyleSheet o) => Bool -> IO (GValueConstruct o)
constructDOMStyleSheetDisabled val = constructObjectPropertyBool "disabled" val

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

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

getDOMStyleSheetHref :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe T.Text)
getDOMStyleSheetHref obj = liftIO $ getObjectPropertyString obj "href"

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

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

getDOMStyleSheetMedia :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe WebKit2WebExtension.DOMMediaList.DOMMediaList)
getDOMStyleSheetMedia obj = liftIO $ getObjectPropertyObject obj "media" WebKit2WebExtension.DOMMediaList.DOMMediaList

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

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

getDOMStyleSheetOwnerNode :: (MonadIO m, IsDOMStyleSheet o) => o -> m WebKit2WebExtension.DOMNode.DOMNode
getDOMStyleSheetOwnerNode obj = liftIO $ checkUnexpectedNothing "getDOMStyleSheetOwnerNode" $ getObjectPropertyObject obj "owner-node" WebKit2WebExtension.DOMNode.DOMNode

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

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

getDOMStyleSheetParentStyleSheet :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe DOMStyleSheet)
getDOMStyleSheetParentStyleSheet obj = liftIO $ getObjectPropertyObject obj "parent-style-sheet" DOMStyleSheet

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

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

getDOMStyleSheetTitle :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe T.Text)
getDOMStyleSheetTitle obj = liftIO $ getObjectPropertyString obj "title"

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

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

getDOMStyleSheetType :: (MonadIO m, IsDOMStyleSheet o) => o -> m (Maybe T.Text)
getDOMStyleSheetType obj = liftIO $ getObjectPropertyString obj "type"

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

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, *)])

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

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

-- 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

{- |
/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'

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

-- 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

{- |
/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'

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

-- 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

{- |
/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'

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

-- 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)

{- |
/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'

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

-- 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)

{- |
/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'

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

-- 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)

{- |
/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'

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

-- 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

{- |
/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'

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

-- 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 ()

{- |
/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 ()

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