package body MSHTML.IHTMLCSSMediaRule_Object is

   procedure Put_media
     (This : IHTMLCSSMediaRule_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLCSSMediaRule_Put_media,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_media;

   function Get_media
     (This : IHTMLCSSMediaRule_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLCSSMediaRule_Get_media);
   end Get_media;

   function Get_cssRules
     (This : IHTMLCSSMediaRule_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLCSSMediaRule_Get_cssRules);
   end Get_cssRules;

   function insertRule
     (This     : IHTMLCSSMediaRule_Type;
      bstrRule : GNATCOM.Types.VARIANT;
      lIndex   : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLCSSMediaRule_insertRule,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => lIndex,
          2 => bstrRule),
         Free);
   end insertRule;

   procedure deleteRule
     (This   : IHTMLCSSMediaRule_Type;
      lIndex : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free   : Boolean := True)
   is
   begin
      Invoke
        (This,
         IHTMLCSSMediaRule_deleteRule,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => lIndex),
         Free);
   end deleteRule;

end MSHTML.IHTMLCSSMediaRule_Object;

