with GNATCOM.IInterface;

package MSHTML.IMarkupContainer2_Interface is

   type IMarkupContainer2_Type is
     new GNATCOM.IInterface.Interface_Type with null record;

   procedure Initialize (This : in out IMarkupContainer2_Type);

   function Pointer (This : IMarkupContainer2_Type)
     return Pointer_To_IMarkupContainer2;

   procedure Attach (This    : in out IMarkupContainer2_Type;
                     Pointer : in     Pointer_To_IMarkupContainer2);

   procedure OwningDoc
     (This  : IMarkupContainer2_Type;
      ppDoc : Pointer_To_Pointer_To_IHTMLDocument2);

   procedure CreateChangeLog
     (This        : IMarkupContainer2_Type;
      pChangeSink : Pointer_To_IHTMLChangeSink;
      ppChangeLog : Pointer_To_Pointer_To_IHTMLChangeLog;
      fForward    : Interfaces.C.long;
      fBackward   : Interfaces.C.long);

   procedure RegisterForDirtyRange
     (This        : IMarkupContainer2_Type;
      pChangeSink : Pointer_To_IHTMLChangeSink;
      pdwCookie   : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure UnRegisterForDirtyRange
     (This     : IMarkupContainer2_Type;
      dwCookie : Interfaces.C.unsigned_long);

   procedure GetAndClearDirtyRange
     (This           : IMarkupContainer2_Type;
      dwCookie       : Interfaces.C.unsigned_long;
      pIPointerBegin : Pointer_To_IMarkupPointer;
      pIPointerEnd   : Pointer_To_IMarkupPointer);

   function GetVersionNumber
     (This : IMarkupContainer2_Type)
     return Interfaces.C.long;

   procedure GetMasterElement
     (This            : IMarkupContainer2_Type;
      ppElementMaster : Pointer_To_Pointer_To_IHTMLElement);

end MSHTML.IMarkupContainer2_Interface;

