with GNATCOM.Dispinterface;

package MSHTML.IHTMLOpsProfile_Interface is

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

   procedure Initialize (This : in out IHTMLOpsProfile_Type);

   function Pointer (This : IHTMLOpsProfile_Type)
     return Pointer_To_IHTMLOpsProfile;

   procedure Attach (This    : in out IHTMLOpsProfile_Type;
                     Pointer : in     Pointer_To_IHTMLOpsProfile);

   function addRequest
     (This     : IHTMLOpsProfile_Type;
      name     : GNATCOM.Types.BSTR;
      reserved : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure clearRequest
     (This : IHTMLOpsProfile_Type);

   procedure doRequest
     (This     : IHTMLOpsProfile_Type;
      usage    : GNATCOM.Types.VARIANT;
      fname    : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      domain   : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      path     : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      expire   : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      reserved : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True);

   function getAttribute
     (This  : IHTMLOpsProfile_Type;
      name  : GNATCOM.Types.BSTR;
      Free  : Boolean := True)
     return GNATCOM.Types.BSTR;

   function setAttribute
     (This    : IHTMLOpsProfile_Type;
      name    : GNATCOM.Types.BSTR;
      value   : GNATCOM.Types.BSTR;
      prefs   : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   function commitChanges
     (This    : IHTMLOpsProfile_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function addReadRequest
     (This     : IHTMLOpsProfile_Type;
      name     : GNATCOM.Types.BSTR;
      reserved : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure doReadRequest
     (This     : IHTMLOpsProfile_Type;
      usage    : GNATCOM.Types.VARIANT;
      fname    : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      domain   : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      path     : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      expire   : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      reserved : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True);

   function doWriteRequest
     (This    : IHTMLOpsProfile_Type)
     return GNATCOM.Types.VARIANT_BOOL;

end MSHTML.IHTMLOpsProfile_Interface;

