4.3.4. GNATCOLL.Scripts.Projects

package GNATCOLL.Scripts.Projects is

   type Project_Tree_Retriever is abstract tagged null record;
   --  This type provides access to project tree for scripting API

   not overriding function Get_Project_Tree
     (Self : Project_Tree_Retriever)
      return GNATCOLL.Projects.Project_Tree_Access is abstract;
   --  Get current project tree

   function Project_Tree return GNATCOLL.Projects.Project_Tree_Access;
   --  Get project tree from assigned project tree retriever pointer

   procedure Register_Commands
     (Repo  : not null access Scripts_Repository_Record'Class;
      Value : not null access Project_Tree_Retriever'Class);
   --  Add script commands for Project class and an object to access project
   --  tree from scripting API.

   --  Next subprogram could be useful to define new commands

   function Get_Project_Class
     (Repo : access Scripts_Repository_Record'Class)
      return Class_Type;
   --  Return the class to use for projects. This encapsulates a Project_Type

   function Get_Data (Data : Callback_Data'Class; N : Positive)
      return GNATCOLL.Projects.Project_Type;
   --  Retrieve some project information in Instance

   function Create_Project
     (Script  : access Scripting_Language_Record'Class;
      Project : GNATCOLL.Projects.Project_Type) return Class_Instance;
   --  Return a new project

end GNATCOLL.Scripts.Projects;