This file is indexed.

/usr/share/doc/polyorb-doc/examples/corba/send/interop/tao/listener.cpp is in polyorb-doc 2.11~20140418-3.2.

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
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include "Printer.h"
#include "ace/Get_Opt.h"

ACE_RCSID (Printer, listener, "listener.cpp")
  
static char* conf[] = {"", "-ORBsvcconf", "server.conf"};
static int nb_conf_param = 3;
static const char* groupURL_file = "groupURL";

bool print_ior = false;

int
main (int argc, char *argv[])
{
  ACE_TRY_NEW_ENV
    {
      conf[0] = argv[0];

      CORBA::ORB_var orb =
        CORBA::ORB_init (nb_conf_param, conf, "" ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      CORBA::Object_var poa_object =
        orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      PortableServer::POA_var root_poa =
        PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      if (CORBA::is_nil (root_poa.in ()))
        ACE_ERROR_RETURN ((LM_ERROR,
                           " (%P|%t) Panic: nil RootPOA\n"),
                          1);

      PortableServer::POAManager_var poa_manager =
        root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;

      switch (argc) {
      case 1: break;
      case 2: if (strcmp (argv[1], "-v") == 0) {
	print_ior = true;
	break;
      }
      default:
	cout << "usage:  " << argv[0] << " [-v]" << "\n";
	return 1;
      }

      // Get the group IOR.
      FILE *input_file= ACE_OS::fopen (groupURL_file, "r");
      if (input_file == 0)
        ACE_ERROR_RETURN ((LM_ERROR,
                           "Cannot open intput file for reading IOR: %s",
                           groupURL_file),
			  1);
      char groupURL[1000];
      int i = 0;
      int k;
      while ((k = ACE_OS::fgetc (input_file)) > 32) {
	groupURL[i++] = k;
	  }
      groupURL[i] = 0;
      ACE_OS::fclose (input_file);

      CORBA::String_var ior = CORBA::string_dup (groupURL);
      CORBA::Object_var group1 =
        orb->string_to_object (ior.in () ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      cout << "Group IOR : '" << ior.in () << "'\n";
      PortableServer::ObjectId_var id =
        root_poa->create_id_for_reference (group1.in ()
                                           ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      // Create and activate an instance of our servant.
      Printer server_impl (orb.in (), 0);

      root_poa->activate_object_with_id (id.in (),
                                         &server_impl
                                         ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (print_ior) {
	Test::Printer_var server =
	  server_impl._this (ACE_ENV_SINGLE_ARG_PARAMETER);
	ACE_TRY_CHECK;
	
	cout << "Object IOR : '" << orb->object_to_string (server.in () ACE_ENV_ARG_PARAMETER) << "'\n";
      }

      poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;

      orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;

      ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));

      root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
  ACE_CATCHANY
    {
      ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
                           "Exception caught:");
      return 1;
    }
  ACE_ENDTRY;

  return 0;
}