with GNATCOM.Dispinterface;

package MSHTML.DispHTMLDOMImplementation_Object is

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

   function hasFeature
     (This        : DispHTMLDOMImplementation_Type;
      bstrfeature : GNATCOM.Types.VARIANT;
      version     : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free        : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function createDocumentType
     (This              : DispHTMLDOMImplementation_Type;
      bstrQualifiedName : GNATCOM.Types.VARIANT;
      pvarPublicId      : GNATCOM.Types.VARIANT;
      pvarSystemId      : GNATCOM.Types.VARIANT;
      Free              : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function createDocument
     (This          : DispHTMLDOMImplementation_Type;
      pvarNS        : GNATCOM.Types.VARIANT;
      pvarTagName   : GNATCOM.Types.VARIANT;
      pDocumentType : GNATCOM.Types.VARIANT;
      Free          : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function createHTMLDocument
     (This      : DispHTMLDOMImplementation_Type;
      bstrTitle : GNATCOM.Types.VARIANT;
      Free      : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function ie9_hasFeature
     (This        : DispHTMLDOMImplementation_Type;
      bstrfeature : GNATCOM.Types.VARIANT;
      version     : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free        : Boolean := True)
     return GNATCOM.Types.VARIANT;

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

end MSHTML.DispHTMLDOMImplementation_Object;

