package body MSHTML.IHTMLDOMImplementation2_Object is

   function createDocumentType
     (This              : IHTMLDOMImplementation2_Type;
      bstrQualifiedName : GNATCOM.Types.VARIANT;
      pvarPublicId      : GNATCOM.Types.VARIANT;
      pvarSystemId      : GNATCOM.Types.VARIANT;
      Free              : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDOMImplementation2_createDocumentType,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => pvarSystemId,
          2 => pvarPublicId,
          3 => bstrQualifiedName),
         Free);
   end createDocumentType;

   function createDocument
     (This          : IHTMLDOMImplementation2_Type;
      pvarNS        : GNATCOM.Types.VARIANT;
      pvarTagName   : GNATCOM.Types.VARIANT;
      pDocumentType : GNATCOM.Types.VARIANT;
      Free          : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDOMImplementation2_createDocument,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => pDocumentType,
          2 => pvarTagName,
          3 => pvarNS),
         Free);
   end createDocument;

   function createHTMLDocument
     (This      : IHTMLDOMImplementation2_Type;
      bstrTitle : GNATCOM.Types.VARIANT;
      Free      : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDOMImplementation2_createHTMLDocument,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrTitle),
         Free);
   end createHTMLDocument;

   function hasFeature
     (This        : IHTMLDOMImplementation2_Type;
      bstrfeature : GNATCOM.Types.VARIANT;
      version     : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free        : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDOMImplementation2_hasFeature,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => version,
          2 => bstrfeature),
         Free);
   end hasFeature;

end MSHTML.IHTMLDOMImplementation2_Object;

