with GNATCOM.IInterface;

package MSHTML.IMarkupTextFrags_Interface is

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

   procedure Initialize (This : in out IMarkupTextFrags_Type);

   function Pointer (This : IMarkupTextFrags_Type)
     return Pointer_To_IMarkupTextFrags;

   procedure Attach (This    : in out IMarkupTextFrags_Type;
                     Pointer : in     Pointer_To_IMarkupTextFrags);

   procedure GetTextFragCount
     (This    : IMarkupTextFrags_Type;
      pcFrags : GNATCOM.Types.Pointer_To_long);

   procedure GetTextFrag
     (This         : IMarkupTextFrags_Type;
      iFrag        : Interfaces.C.long;
      pbstrFrag    : GNATCOM.Types.Pointer_To_BSTR;
      pPointerFrag : Pointer_To_IMarkupPointer);

   procedure RemoveTextFrag
     (This  : IMarkupTextFrags_Type;
      iFrag : Interfaces.C.long);

   procedure InsertTextFrag
     (This           : IMarkupTextFrags_Type;
      iFrag          : Interfaces.C.long;
      bstrInsert     : GNATCOM.Types.BSTR;
      pPointerInsert : Pointer_To_IMarkupPointer;
      Free           : Boolean := True);

   procedure FindTextFragFromMarkupPointer
     (This         : IMarkupTextFrags_Type;
      pPointerFind : Pointer_To_IMarkupPointer;
      piFrag       : GNATCOM.Types.Pointer_To_long;
      pfFragFound  : GNATCOM.Types.Pointer_To_long);

end MSHTML.IMarkupTextFrags_Interface;

