-- Autogenerated by MSIL2Ada v. 2
-- By: Martin C. Carlisle
--     Department of Computer Science
--     US Air Force Academy
--     carlislem@acm.org
pragma Extensions_Allowed(On);
with MSSyst.Object;
with MSIL_Types;
use MSIL_Types;
with type MSSyst.Collections.IList.Ref is access;
with type MSSyst.Collections.ICollection.Ref is access;
with type MSSyst.Collections.IEnumerable.Ref is access;
with type MSSyst.ComponentModel.ListChangedEventHandler.Ref is access;
with type MSSyst.ComponentModel.PropertyDescriptor.Ref is access;
with type MSSyst.Object.Ref is access;
with MSSyst.ComponentModel.ListSortDirection;
package MSSyst.ComponentModel.IBindingList is
   type Typ;
   type Ref is access all Typ'Class;
   type Ref_addrof is access all Ref;
   type Ref_Arr is array(Natural range <>) of Ref;
   type Ref_Array is access all Ref_Arr;
   type Ref_Array_addrof is access all Ref_Array;
   type Typ (Self : access MSSyst.Object.Typ'Class)
      is abstract new MSSyst.Object.Typ with null record;
   pragma MSIL_Interface(Typ);
   procedure add_ListChanged(
      This : access Typ;
      value : MSSyst.ComponentModel.ListChangedEventHandler.Ref);
   procedure AddIndex(
      This : access Typ;
      property : MSSyst.ComponentModel.PropertyDescriptor.Ref);
   function AddNew(
      This : access Typ) return MSSyst.Object.Ref;
   procedure ApplySort(
      This : access Typ;
      property : MSSyst.ComponentModel.PropertyDescriptor.Ref;
      direction : MSSyst.ComponentModel.ListSortDirection.Valuetype);
   function Find(
      This : access Typ;
      property : MSSyst.ComponentModel.PropertyDescriptor.Ref;
      key : MSSyst.Object.Ref) return Integer;
   function get_AllowEdit(
      This : access Typ) return Standard.Boolean;
   function get_AllowNew(
      This : access Typ) return Standard.Boolean;
   function get_AllowRemove(
      This : access Typ) return Standard.Boolean;
   function get_IsSorted(
      This : access Typ) return Standard.Boolean;
   function get_SortDirection(
      This : access Typ) return MSSyst.ComponentModel.ListSortDirection.Valuetype;
   function get_SortProperty(
      This : access Typ) return MSSyst.ComponentModel.PropertyDescriptor.Ref;
   function get_SupportsChangeNotification(
      This : access Typ) return Standard.Boolean;
   function get_SupportsSearching(
      This : access Typ) return Standard.Boolean;
   function get_SupportsSorting(
      This : access Typ) return Standard.Boolean;
   procedure remove_ListChanged(
      This : access Typ;
      value : MSSyst.ComponentModel.ListChangedEventHandler.Ref);
   procedure RemoveIndex(
      This : access Typ;
      property : MSSyst.ComponentModel.PropertyDescriptor.Ref);
   procedure RemoveSort(
      This : access Typ);
private
   pragma Import(MSIL,add_ListChanged,"add_ListChanged");
   pragma Import(MSIL,AddIndex,"AddIndex");
   pragma Import(MSIL,AddNew,"AddNew");
   pragma Import(MSIL,ApplySort,"ApplySort");
   pragma Import(MSIL,Find,"Find");
   pragma Import(MSIL,get_AllowEdit,"get_AllowEdit");
   pragma Import(MSIL,get_AllowNew,"get_AllowNew");
   pragma Import(MSIL,get_AllowRemove,"get_AllowRemove");
   pragma Import(MSIL,get_IsSorted,"get_IsSorted");
   pragma Import(MSIL,get_SortDirection,"get_SortDirection");
   pragma Import(MSIL,get_SortProperty,"get_SortProperty");
   pragma Import(MSIL,get_SupportsChangeNotification,"get_SupportsChangeNotification");
   pragma Import(MSIL,get_SupportsSearching,"get_SupportsSearching");
   pragma Import(MSIL,get_SupportsSorting,"get_SupportsSorting");
   pragma Import(MSIL,remove_ListChanged,"remove_ListChanged");
   pragma Import(MSIL,RemoveIndex,"RemoveIndex");
   pragma Import(MSIL,RemoveSort,"RemoveSort");
end MSSyst.ComponentModel.IBindingList;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.ComponentModel.IBindingList,
   ".ver 1:0:5000:0 .publickeytoken=( 96 9d b8 05 3d 33 22 ac )",
   "[System]System.ComponentModel.IBindingList");
