with GNATCOM.Errors;

package body MSHTML.IEnumInputContext_Interface is

   procedure Initialize (This : in out IEnumInputContext_Type) is
   begin
      Set_IID (This, IID_IEnumInputContext);
   end Initialize;

   function Pointer (This : IEnumInputContext_Type)
     return Pointer_To_IEnumInputContext
   is
   begin
      return To_Pointer_To_IEnumInputContext (Address (This));
   end Pointer;

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

   procedure Clone
     (This   : IEnumInputContext_Type;
      ppEnum : Pointer_To_Pointer_To_IEnumInputContext)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Clone
         (Pointer (This),
          ppEnum));

   end Clone;

   procedure Next
     (This           : IEnumInputContext_Type;
      ulCount        : Interfaces.C.unsigned_long;
      rgInputContext : GNATCOM.Types.Pointer_To_unsigned_long;
      pcFetched      : GNATCOM.Types.Pointer_To_unsigned_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Next
         (Pointer (This),
          ulCount,
          rgInputContext,
          pcFetched));

   end Next;

   procedure reset
     (This : IEnumInputContext_Type)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.reset
         (Pointer (This)));

   end reset;

   procedure Skip
     (This    : IEnumInputContext_Type;
      ulCount : Interfaces.C.unsigned_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Skip
         (Pointer (This),
          ulCount));

   end Skip;

end MSHTML.IEnumInputContext_Interface;

