This file is indexed.

/usr/share/doc/polyorb-doc/examples/corba/echo/echo_dynimpl.adb is in polyorb-doc 2.11~20140418-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
------------------------------------------------------------------------------
--                                                                          --
--                           POLYORB COMPONENTS                             --
--                                                                          --
--                         E C H O _ D Y N I M P L                          --
--                                                                          --
--                                 B o d y                                  --
--                                                                          --
--         Copyright (C) 2004-2012, Free Software Foundation, Inc.          --
--                                                                          --
-- This is free software;  you can redistribute it  and/or modify it  under --
-- terms of the  GNU General Public License as published  by the Free Soft- --
-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
-- sion.  This software is distributed in the hope  that it will be useful, --
-- but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN- --
-- TABILITY 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 and    --
-- a copy of the GCC Runtime Library Exception along with this program;     --
-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
-- <http://www.gnu.org/licenses/>.                                          --
--                                                                          --
--                  PolyORB is maintained by AdaCore                        --
--                     (email: sales@adacore.com)                           --
--                                                                          --
------------------------------------------------------------------------------

pragma Ada_2005;

with CORBA.NVList;
with CORBA.ORB;

package body Echo_DynImpl is

   ------------
   -- Invoke --
   ------------

   overriding procedure Invoke
     (Self    : access Object;
      Request : CORBA.ServerRequest.Object_Ptr)
   is
      pragma Unreferenced (Self);

      Operation : constant Standard.String
        := CORBA.To_Standard_String
        (CORBA.ServerRequest.Operation (Request.all));

   begin
      if Operation = "echoString" then
         declare
            Mesg          : CORBA.String;
            Arg_Name_Mesg : constant CORBA.Identifier :=
                              CORBA.To_CORBA_String ("Mesg");
            Argument_Mesg : constant CORBA.Any := CORBA.To_Any (Mesg);

            Result          : CORBA.String;
            Argument_Result : CORBA.Any;
            Arg_List        : CORBA.NVList.Ref;
         begin
            --  Create argument list

            CORBA.ORB.Create_List (0, Arg_List);
            CORBA.NVList.Add_Item (Arg_List,
                                   Arg_Name_Mesg,
                                   Argument_Mesg,
                                   CORBA.ARG_IN);

            CORBA.ServerRequest.Arguments (Request, Arg_List);

            begin
               --  Convert arguments from their Any

               Mesg := CORBA.From_Any (Argument_Mesg);

               --  Actual implementation of the echoString function:
               --  simply return the argument

               Result := Mesg;
            end;

            --  Set Result

            Argument_Result := CORBA.To_Any (Result);
            CORBA.ServerRequest.Set_Result (Request, Argument_Result);
            return;
         end;
      end if;

      CORBA.Raise_Bad_Operation (CORBA.Default_Sys_Member);
   end Invoke;

end Echo_DynImpl;