with GNATCOM.Dispinterface;

package MSHTML.DispHTMLXMLHttpRequest_Object is

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

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

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

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

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

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

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

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

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

   procedure uabort
     (This : DispHTMLXMLHttpRequest_Type);

   procedure open
     (This        : DispHTMLXMLHttpRequest_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    : DispHTMLXMLHttpRequest_Type;
      varBody : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True);

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

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

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

   procedure Put_timeout
     (This : DispHTMLXMLHttpRequest_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_timeout
     (This : DispHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ontimeout
     (This : DispHTMLXMLHttpRequest_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ontimeout
     (This : DispHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   function Get_constructor
     (This : DispHTMLXMLHttpRequest_Type)
     return GNATCOM.Types.VARIANT;

   procedure addEventListener
     (This       : DispHTMLXMLHttpRequest_Type;
      utype      : GNATCOM.Types.VARIANT;
      listener   : GNATCOM.Types.VARIANT;
      useCapture : GNATCOM.Types.VARIANT;
      Free       : Boolean := True);

   procedure removeEventListener
     (This       : DispHTMLXMLHttpRequest_Type;
      utype      : GNATCOM.Types.VARIANT;
      listener   : GNATCOM.Types.VARIANT;
      useCapture : GNATCOM.Types.VARIANT;
      Free       : Boolean := True);

   function dispatchEvent
     (This : DispHTMLXMLHttpRequest_Type;
      evt  : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT;

end MSHTML.DispHTMLXMLHttpRequest_Object;

