ocarina_lib_1.1.0_56e84ebe/examples/priorities/repository.adb

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
------------------------------------------------------------------------------
--                                                                          --
--                           OCARINA COMPONENTS                             --
--                                                                          --
--                           R E P O S I T O R Y                            --
--                                                                          --
--                                 B o d y                                  --
--                                                                          --
--               Copyright (C) 2006-2007, GET-Telecom Paris.                --
--                                                                          --
-- Ocarina  is free software;  you  can  redistribute  it and/or  modify    --
-- it under terms of the GNU General Public License as published by the     --
-- Free Software Foundation; either version 2, or (at your option) any      --
-- later version. Ocarina is distributed  in  the  hope  that it will be    --
-- useful, but WITHOUT ANY WARRANTY;  without even the implied warranty of  --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General --
-- Public License for more details. You should have received  a copy of the --
-- GNU General Public License distributed with Ocarina; see file COPYING.   --
-- If not, write to the Free Software Foundation, 51 Franklin Street, Fifth --
-- Floor, Boston, MA 02111-1301, USA.                                       --
--                                                                          --
-- As a special exception,  if other files  instantiate  generics from this --
-- unit, or you link  this unit with other files  to produce an executable, --
-- this  unit  does not  by itself cause  the resulting  executable to be   --
-- covered  by the  GNU  General  Public  License. This exception does not  --
-- however invalidate  any other reasons why the executable file might be   --
-- covered by the GNU Public License.                                       --
--                                                                          --
--                 Ocarina is maintained by the Ocarina team                --
--                       (ocarina-users@listes.enst.fr)                     --
--                                                                          --
------------------------------------------------------------------------------

with Ada.Text_IO;
with Ada.Dynamic_Priorities;

package body Repository is

   function Getpid return Integer;
   pragma Import (C, Getpid);

   ------------------------
   -- Send_Broadcast_msg --
   ------------------------

   procedure Send_Broadcast_Msg
     (Msg_Out : out Partition.Message)
   is
   begin
      Msg_Out := 0;
      Ada.Text_IO.Put_Line
        (Integer'Image (Getpid)
         & " Broadcasted : "
         & Integer'Image (Integer (Msg_Out)));
   end Send_Broadcast_Msg;

   --------------------
   -- Send_Message_1 --
   --------------------

   procedure Send_Message_1
     (Msg_In : in Partition.Message;
      Msg_Out : out Partition.Message)
   is
      pragma Unreferenced (Msg_In);
   begin
      Msg_Out := 1;
      Ada.Text_IO.Put_Line
        (Integer'Image (Getpid)
         & " Replied : "
         & Integer'Image (Integer (Msg_Out)));
   end Send_Message_1;

   --------------------
   -- Send_Message_2 --
   --------------------

   procedure Send_Message_2
     (Msg_In : in Partition.Message;
      Msg_Out : out Partition.Message)
   is
      pragma Unreferenced (Msg_In);
   begin
      Msg_Out := 2;
      Ada.Text_IO.Put_Line
        (Integer'Image (Getpid)
         & " Replied : "
         & Integer'Image (Integer (Msg_Out)));
   end Send_Message_2;

   ------------------------
   -- Print_Received_Msg --
   ------------------------

   procedure Print_Received_Msg
     (Msg_In : in Partition.Message)
   is
   begin
      Ada.Text_IO.Put_Line
        (Integer'Image (Getpid)
         & " Received : "
         & Integer'Image (Integer (Msg_In)));
      Ada.Text_IO.Put_Line
        ("Priority : " &
         Integer'Image (Integer (Ada.Dynamic_Priorities.Get_Priority)));

   end Print_Received_Msg;

   -----------
   -- Dummy --
   -----------

   procedure Dummy is
   begin
      null;
   end Dummy;

end Repository;