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_Async
( | this | : not null access Process_Manager'Class; |
proc | : not null A_Process ); |
procedure Detach_Async
( | this | : not null access Process_Manager'Class; |
proc | : not null A_Process ); |
procedure Detach_Async
( | this | : not null access Process_Manager'Class; |
proc | : in out A_Process; | |
destructor | : not null A_Destructor ); |
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_Async
( | 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 ); |