with GNATCOM.Errors;

package body MSHTML.ISegmentListIterator_Interface is

   procedure Initialize (This : in out ISegmentListIterator_Type) is
   begin
      Set_IID (This, IID_ISegmentListIterator);
   end Initialize;

   function Pointer (This : ISegmentListIterator_Type)
     return Pointer_To_ISegmentListIterator
   is
   begin
      return To_Pointer_To_ISegmentListIterator (Address (This));
   end Pointer;

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

   procedure Current
     (This       : ISegmentListIterator_Type;
      ppISegment : Pointer_To_Pointer_To_ISegment)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Current
         (Pointer (This),
          ppISegment));

   end Current;

   procedure First
     (This : ISegmentListIterator_Type)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.First
         (Pointer (This)));

   end First;

   procedure IsDone
     (This : ISegmentListIterator_Type)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsDone
         (Pointer (This)));

   end IsDone;

   procedure Advance
     (This : ISegmentListIterator_Type)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Advance
         (Pointer (This)));

   end Advance;

end MSHTML.ISegmentListIterator_Interface;

