This file is indexed.

/usr/share/doc/polyorb-doc/examples/corba/send/interop/tao/send.cpp 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
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
#include "printC.h"
#include "ace/Get_Opt.h"

ACE_RCSID(Printer, send, "send.cpp")

static char* conf[] = {"", "-ORBsvcconf", "client.conf"};
static int nb_conf_param = 3;

enum mode {S, L, TWS, TWL};

int
main (int argc, char *argv[])
{
  mode curr_mode = S;

  conf[0] = argv[0];

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

      switch (argc) {
      case 2: break;
      case 3: 
	if (strcmp(argv[2], "s") == 0) {
	  curr_mode = S;
	  break;
	}
	else if (strcmp(argv[2], "l") == 0) {
	  curr_mode = L;
	  break;
	}
	else if (strcmp(argv[2], "tws") == 0) {
	  curr_mode = TWS;
	  break;
	}
	else if (strcmp(argv[2], "twl") == 0) {
	  curr_mode = TWL;
	  break;
	}
      default:
	cout << "usage:  " << argv[0] << " ior [s|l|tws|twl]" << "\n";
	return 1;
      }

      CORBA::Object_var tmp =
        orb->string_to_object(argv[1] ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      /* Do an unchecked narrow since there's no way to do an is_a on
       * a multicast reference (yet...).
       */
      Test::Printer_var p =
        Test::Printer::_unchecked_narrow (tmp.in () ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      if (CORBA::is_nil (p.in ()))
        {
          ACE_ERROR_RETURN ((LM_DEBUG,
                             "Nil Test::Printer reference <%s>\n",
                             argv[1]),
                            1);
        }

      switch (curr_mode) {
      case S:
	p->printString ("Hello multicast world !" ACE_ENV_ARG_PARAMETER);
	ACE_TRY_CHECK;
	break;
      case L:
	p->printLong (42 ACE_ENV_ARG_PARAMETER);
	ACE_TRY_CHECK;
	break;
      case TWS:
	{
#define STR_TEST "Hello multicast world !"
	  char* str = p->echoString (STR_TEST ACE_ENV_ARG_PARAMETER);
	  if (strcmp (str, STR_TEST) != 0) cout << "Echo string failed" << "\n";
	  ACE_TRY_CHECK;
	  break;
	}
      case TWL:
	{
#define K 42
	  CORBA::Long l = p->echoLong (K ACE_ENV_ARG_PARAMETER);
	  if (l != K) cout << "Echo long failed" << "\n";
	  ACE_TRY_CHECK;
	  break;
	}
      }

      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;
}