with GNATCOM.Dispinterface;

package MSHTML.IHTMLXMLHttpRequest_Object is

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

   function Get_readyState
     (This : IHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   function Get_responseBody
     (This : IHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   function Get_responseText
     (This : IHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   function Get_responseXML
     (This : IHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   function Get_status
     (This : IHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   function Get_statusText
     (This : IHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onreadystatechange
     (This : IHTMLXMLHttpRequest_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onreadystatechange
     (This : IHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   procedure uabort
     (This : IHTMLXMLHttpRequest_Type);

   procedure open
     (This        : IHTMLXMLHttpRequest_Type;
      bstrMethod  : GNATCOM.Types.VARIANT;
      bstrURL     : GNATCOM.Types.VARIANT;
      varAsync    : GNATCOM.Types.VARIANT;
      varUser     : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      varPassword : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free        : Boolean := True);

   procedure send
     (This    : IHTMLXMLHttpRequest_Type;
      varBody : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True);

   function getAllResponseHeaders
     (This : IHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   function getResponseHeader
     (This       : IHTMLXMLHttpRequest_Type;
      bstrHeader : GNATCOM.Types.VARIANT;
      Free       : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure setRequestHeader
     (This       : IHTMLXMLHttpRequest_Type;
      bstrHeader : GNATCOM.Types.VARIANT;
      bstrValue  : GNATCOM.Types.VARIANT;
      Free       : Boolean := True);

end MSHTML.IHTMLXMLHttpRequest_Object;

