
with Asis;

package Asis.Toolkit.ObjectAda.Compilation_Units is

-----------------------------------------------------------------

  function First_Container_Units (Context  : Asis.Context;
		                  All_Containers : Boolean := False;
		                  Verbose        : Boolean := False;
		                  Silently       : Boolean := True) 
	                         return Asis.Compilation_Unit_List;
                             
-----------------------------------------------------------------
-- Context - Specifies the Context to query
-- All_Containers - Overrides default returning units from all containers
-- Verbose - Outputs unit attributes to standard output.
-- Silently - Keeps Verbose quiet otherwise offers additional output.
--
-- Returns a list of all units from the first container of Context.
--
-----------------------------------------------------------------

  function Container_Units (Context  : Asis.Context;
		                  Number_Of_Containers : Natural := Natural'Last;
		                  Verbose        : Boolean := False;
		                  Silently       : Boolean := True) 
	                         return Asis.Compilation_Unit_List;

-----------------------------------------------------------------
-- Context - Specifies the Context to query
-- Number_Of_Containers - Overrides default returning units from 
-- the first Number_Of_Containers containers
-- Verbose - Outputs unit attributes to standard output.
-- Silently - Keeps Verbose quiet otherwise offers additional output.
--
-- Returns a list of all units from the first Number_Of_Containers
-- containers of Context.
--
-- Example: Container_Units(My_Context, 2) gets units from first 2
-- containers of My_Context.
--
-----------------------------------------------------------------

  function Needed_Application_Units (Context  : Asis.Context; 
				     Name     : Wide_String;
		                     Verbose  : Boolean := False;
		                     Silently : Boolean := True) 
	                            return Asis.Compilation_Unit_List;

-----------------------------------------------------------------
-- Context - Specifies the Context to query
-- Name - specifies the unit to find needed units for
-- Verbose - Outputs unit attributes to standard output.
-- Silently - Keeps Verbose quiet otherwise offers additional output.
--
-- Returns a list of all needed units of Name in elaboration order.
--
-----------------------------------------------------------------

end Asis.Toolkit.ObjectAda.Compilation_Units;


