with GNATCOM.Errors;

package body MSHTML.IHTMLEditServices_Interface is

   procedure Initialize (This : in out IHTMLEditServices_Type) is
   begin
      Set_IID (This, IID_IHTMLEditServices);
   end Initialize;

   function Pointer (This : IHTMLEditServices_Type)
     return Pointer_To_IHTMLEditServices
   is
   begin
      return To_Pointer_To_IHTMLEditServices (Address (This));
   end Pointer;

   procedure Attach (This    : in out IHTMLEditServices_Type;
                     Pointer : in     Pointer_To_IHTMLEditServices)
   is
   begin
      Attach (This, GNATCOM.IInterface.To_Pointer_To_IUnknown
              (Pointer.all'Address));
   end Attach;

   procedure AddDesigner
     (This       : IHTMLEditServices_Type;
      pIDesigner : Pointer_To_IHTMLEditDesigner)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.AddDesigner
         (Pointer (This),
          pIDesigner));

   end AddDesigner;

   procedure RemoveDesigner
     (This       : IHTMLEditServices_Type;
      pIDesigner : Pointer_To_IHTMLEditDesigner)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.RemoveDesigner
         (Pointer (This),
          pIDesigner));

   end RemoveDesigner;

   procedure GetSelectionServices
     (This        : IHTMLEditServices_Type;
      pIContainer : Pointer_To_IMarkupContainer;
      ppSelSvc    : Pointer_To_Pointer_To_ISelectionServices)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.GetSelectionServices
         (Pointer (This),
          pIContainer,
          ppSelSvc));

   end GetSelectionServices;

   procedure MoveToSelectionAnchor
     (This          : IHTMLEditServices_Type;
      pIStartAnchor : Pointer_To_IMarkupPointer)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveToSelectionAnchor
         (Pointer (This),
          pIStartAnchor));

   end MoveToSelectionAnchor;

   procedure MoveToSelectionEnd
     (This        : IHTMLEditServices_Type;
      pIEndAnchor : Pointer_To_IMarkupPointer)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveToSelectionEnd
         (Pointer (This),
          pIEndAnchor));

   end MoveToSelectionEnd;

   procedure SelectRange
     (This   : IHTMLEditServices_Type;
      pStart : Pointer_To_IMarkupPointer;
      pEnd   : Pointer_To_IMarkupPointer;
      eType  : uSELECTION_TYPE)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.SelectRange
         (Pointer (This),
          pStart,
          pEnd,
          eType));

   end SelectRange;

end MSHTML.IHTMLEditServices_Interface;

