type Process_Manager is new Limited_Object with private;
type A_Process_Manager is access all Process_Manager'Class;
type A_Destructor is access procedure( process : in out A_Process );
function Create_Process_Manager
( | name | : String; |
hertz | : Natural := 0; | |
minHertz | : Natural := 0 ) return A_Process_Manager; |
procedure Attach
( | this | : not null access Process_Manager'Class; |
proc | : not null A_Process ); |
procedure Detach
( | this | : not null access Process_Manager'Class; |
proc | : not null A_Process; | |
destructor | : A_Destructor := null ); |
function Get_Name
( | this | : not null access Process_Manager'Class ) return String; |
function Get_Rate
( | this | : not null access Process_Manager'Class ) return Natural; |
procedure Pause
( | this | : not null access Process_Manager'Class; |
proc | : not null A_Process; | |
paused | : Boolean ); |
procedure Start
( | this | : not null access Process_Manager'Class ); |
procedure Stop
( | this | : not null access Process_Manager'Class ); |
procedure Track_Rate
( | this | : not null access Process_Manager'Class; |
enabled | : Boolean ); |
procedure Delete
( | this | : in out A_Process_Manager ); |