3 type Base_Controller
is
4 abstract new Ada
.Finalization
.Limited_Controlled
with null record;
6 type Extended_Controller
is
7 abstract new Base_Controller
with private;
9 type Task_Object
(Controller
: access Extended_Controller
'Class) is
12 type String_Access
is access string;
14 type Extended_Controller
is
15 abstract new Base_Controller
with record
16 Thread
: aliased Task_Object
(Extended_Controller
'Access);
17 Name
: String_Access
:= new string'("the_name_of_the_task");
20 task type Task_Object (Controller : access Extended_Controller'Class) is pragma Task_Name (Controller.Name.all);