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;