with GNATCOM.IInterface;

package MSHTML.ISelectionServices_Interface is

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

   procedure Initialize (This : in out ISelectionServices_Type);

   function Pointer (This : ISelectionServices_Type)
     return Pointer_To_ISelectionServices;

   procedure Attach (This    : in out ISelectionServices_Type;
                     Pointer : in     Pointer_To_ISelectionServices);

   procedure SetSelectionType
     (This       : ISelectionServices_Type;
      eType      : uSELECTION_TYPE;
      pIListener : Pointer_To_ISelectionServicesListener);

   procedure GetMarkupContainer
     (This         : ISelectionServices_Type;
      ppIContainer : Pointer_To_Pointer_To_IMarkupContainer);

   procedure AddSegment
     (This            : ISelectionServices_Type;
      pIStart         : Pointer_To_IMarkupPointer;
      pIEnd           : Pointer_To_IMarkupPointer;
      ppISegmentAdded : Pointer_To_Pointer_To_ISegment);

   procedure AddElementSegment
     (This            : ISelectionServices_Type;
      pIElement       : Pointer_To_IHTMLElement;
      ppISegmentAdded : Pointer_To_Pointer_To_IElementSegment);

   procedure RemoveSegment
     (This      : ISelectionServices_Type;
      pISegment : Pointer_To_ISegment);

   procedure GetSelectionServicesListener
     (This                         : ISelectionServices_Type;
      ppISelectionServicesListener : Pointer_To_Pointer_To_ISelectionServicesListener);

end MSHTML.ISelectionServices_Interface;

