with GNATCOM.Dispinterface;

package MSHTML.IHTMLStyleSheet4_Interface is

   type IHTMLStyleSheet4_Type is
     new GNATCOM.Dispinterface.Dispinterface_Type with null record;

   procedure Initialize (This : in out IHTMLStyleSheet4_Type);

   function Pointer (This : IHTMLStyleSheet4_Type)
     return Pointer_To_IHTMLStyleSheet4;

   procedure Attach (This    : in out IHTMLStyleSheet4_Type;
                     Pointer : in     Pointer_To_IHTMLStyleSheet4);

   function Get_type
     (This : IHTMLStyleSheet4_Type)
     return GNATCOM.Types.BSTR;

   function Get_href
     (This : IHTMLStyleSheet4_Type)
     return GNATCOM.Types.VARIANT;

   function Get_title
     (This : IHTMLStyleSheet4_Type)
     return GNATCOM.Types.BSTR;

   function Get_ownerNode
     (This : IHTMLStyleSheet4_Type)
     return Pointer_To_IHTMLElement;

   function Get_ownerRule
     (This : IHTMLStyleSheet4_Type)
     return Pointer_To_IHTMLCSSRule;

   function Get_cssRules
     (This : IHTMLStyleSheet4_Type)
     return Pointer_To_IHTMLStyleSheetRulesCollection;

   function Get_media
     (This : IHTMLStyleSheet4_Type)
     return GNATCOM.Types.VARIANT;

   function insertRule
     (This       : IHTMLStyleSheet4_Type;
      bstrRule   : GNATCOM.Types.BSTR;
      lIndex     : Interfaces.C.long;
      Free       : Boolean := True)
     return Interfaces.C.long;

   procedure deleteRule
     (This   : IHTMLStyleSheet4_Type;
      lIndex : Interfaces.C.long);

end MSHTML.IHTMLStyleSheet4_Interface;

