summaryrefslogtreecommitdiff
path: root/TAO/IIOP/tests/Cubit/TAO
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-05-22 03:00:08 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-05-22 03:00:08 +0000
commitd7fba4ec70714ccdf7fb29ce85584a71898b7626 (patch)
tree94d56571cfade12aedab53a01e77d3498f6de7f4 /TAO/IIOP/tests/Cubit/TAO
parent89479b1202f3656b2eab09efe64b1e9e8fd4ced9 (diff)
downloadATCD-TAO-0_1_23.tar.gz
This commit was manufactured by cvs2svn to create tag 'TAO-0_1_23'.TAO-0_1_23
Diffstat (limited to 'TAO/IIOP/tests/Cubit/TAO')
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/Makefile121
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/clnt.cpp510
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/cubit.cpp578
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/cubit.h108
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/cubit.idl42
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/cubitC.cpp383
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/cubitC.h104
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/cubitS.cpp234
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/cubitS.h84
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/cubit_i.cpp93
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/cubit_i.h56
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/method_db.i69
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/svr.cpp214
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/test.mak463
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/test.mdpbin43008 -> 0 bytes
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/test1.cpp392
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/test1.h126
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/test1.idl80
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/test1_clnt.cpp680
-rw-r--r--TAO/IIOP/tests/Cubit/TAO/test1_svr.cpp693
20 files changed, 0 insertions, 5030 deletions
diff --git a/TAO/IIOP/tests/Cubit/TAO/Makefile b/TAO/IIOP/tests/Cubit/TAO/Makefile
deleted file mode 100644
index 04f34a6cc36..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/Makefile
+++ /dev/null
@@ -1,121 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Top-level Makefile for the ACE-ified Sun Ref. implementation
-# of IIOP ORB
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-LDLIBS = -lcorba
-
-PROG_SRCS = svr.cpp clnt.cpp cubit.cpp \
- test1.cpp test1_clnt.cpp test1_svr.cpp \
- echo_clnt.cpp echo_svr.cpp
-
-LSRC = $(PROG_SRCS)
-
-CUBIT_SVR_OBJS = svr.o cubit_i.o cubitS.o
-CUBIT_CLT_OBJS = clnt.o cubitC.o
-
-BASIC_SVR_OBJS = test1.o test1_svr.o
-BASIC_CLT_OBJS = test1.o test1_clnt.o
-
-ECHO_SVR_OBJS = test1.o echo_svr.o
-ECHO_CLT_OBJS = test1.o echo_clnt.o
-
-BIN = svr clnt test1_svr test1_clnt
-BUILD = $(BIN)
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# Local modifications to variables imported by includes above.
-LDFLAGS += -L../../../proto/lib
-CPPFLAGS += -I../../../proto/include -DUSE_ACE_EVENT_HANDLING -DDEBUG
-
-svr: $(addprefix $(VDIR),$(CUBIT_SVR_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-clnt: $(addprefix $(VDIR),$(CUBIT_CLT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-test1_svr: $(addprefix $(VDIR),$(BASIC_SVR_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-test1_clnt: $(addprefix $(VDIR),$(BASIC_CLT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-########
-# Sanity check builds by running basic functionality tests.
-#
-# "sleep 5" in the server startup is usually enough to get the
-# objref into the file so the client can read it.
-#
-check: $(TESTS)
- @echo "testing with 'cube' calls, stub + DII, IOR strings"
- @./svr -i30 -o non-internet > obj.1 & sleep 5
- @./clnt -n250 -O `cat obj.1` -x
- @echo ''
- @echo "testing request forwarding with 'cube' calls, stub + DII"
- @./svr -f -i30 > obj.2 & sleep 5
- @./clnt -n250 -O `cat obj.2` -x
- @echo ''
- @echo "testing transmission of primitive data types"
- @./test1_svr -i30 > obj.3 & sleep 5
- @./test1_clnt -n50 -O `cat obj.3` -x
- @echo ''
-# @echo "testing echo of primitive data values"
-# @./echo_svr -i30 > obj.4 & sleep 5
-# @./echo_clnt -O `cat obj.4` -x
-# @echo ''
- @echo "testing with 'cube' calls, MT-ized (no forwarding)"
- @./svr -t -i30 -o non-internet > obj.5 & sleep 5
- @./clnt -n250 -O `cat obj.5` -x
- @echo ''
-
-ifdef LOCALRULES
-########
-# CUBIT test
-svr: svr.o cubit.o
- $(LINK.cc) -o svr svr.o cubit.o $(LDLIBS) $(POSTLINK)
-clnt: cubit.o clnt.o
- $(LINK.cc) -o clnt clnt.o cubit.o $(LDLIBS) $(POSTLINK)
-
-########
-# BASIC DATATYPES test
-test1_clnt: test1.o test1_clnt.o
- $(LINK.cc) -o test1_clnt test1_clnt.o test1.o $(LDLIBS) $(POSTLINK)
-test1_svr: test1.o test1_svr.o
- $(LINK.cc) -o test1_svr test1_svr.o test1.o $(LDLIBS) $(POSTLINK)
-
-########
-# ECHO test ... "test1" where the operation semantics are violated;
-# this aids some porting work, but is a less rigorous test
-echo_clnt: test1.o echo_clnt.o
- $(LINK.cc) -o echo_clnt echo_clnt.o test1.o $(LDLIBS) $(POSTLINK)
-echo_svr: test1.o echo_svr.o
- $(LINK.cc) -o echo_svr echo_svr.o test1.o $(LDLIBS) $(POSTLINK)
-endif
-
-clean:
- -rm -rf *.o $(BIN) obj.* core Templates.DB .make.state
-
-install:
- -@echo "Nothing to install, these are tests!"
-
-
-
-
-
diff --git a/TAO/IIOP/tests/Cubit/TAO/clnt.cpp b/TAO/IIOP/tests/Cubit/TAO/clnt.cpp
deleted file mode 100644
index 3e78e8be2f1..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/clnt.cpp
+++ /dev/null
@@ -1,510 +0,0 @@
-// $Id$
-
-// @(#)clnt.cpp 1.2 05/14/97
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// TEST: Simple "cube" client, calling hand-crafted stubs.
-//
-// Modified version of Cubit Example written by Sun Microsystems Inc.
-// Modified by: Brian Mendel
-
-#include <ace/Get_Opt.h>
-//#include <crtdbg.h>
-
-#if unix
-# include <unistd.h>
-# include <sys/time.h>
-
-#elif defined (VXWORKS)
-# include <unistd.h>
-# include <time.h>
-
-#else // windows
-
-#endif // unix
-
-#include "cubitC.h"
-
-#include <corba/debug.h>
-
-
-#if !defined (_WIN32)
-extern char *optarg; // missing on some platforms
-#endif
-
-inline int func (unsigned i) { return i - 117; }
-
-extern void
-print_exception (const CORBA_Exception *, const char *, FILE *f=stdout);
-
-
-//
-// forward declarations
-//
-static void cube_union_stub(unsigned, unsigned&, unsigned&,
- CORBA_Object_ptr, CORBA_Environment &);
-
-static void cube_union_dii(unsigned &, unsigned &,
- CORBA_Object_ptr, CORBA_Environment &);
-
-// Global variables
-const char* TAO_arg_ior = 0;
-unsigned loop_count = 1;
-int exit_later = 0;
-
-// = TITLE
-// Parses the command line arguments and returns an error status
-//
-// = DESCRIPTION
-// This method parses the command line arguments
-int parse_args(int argc, char *argv[])
-{
- ACE_Get_Opt opts (argc, argv, "dn:O:x");
- int c;
-
- while ((c = opts ()) != -1)
- switch (c) {
-
- case 'd': // debug flag
- TAO_debug_level++;
- continue;
-
- case 'n': // loop count
- loop_count = (unsigned) ACE_OS::atoi (opts.optarg);
- continue;
-
- case 'O': // stringified objref
- {
- TAO_arg_ior = ACE_OS::strdup(opts.optarg);
- }
- continue;
-
- case 'x':
- exit_later++;
- continue;
-
- case '?':
- default:
- ACE_OS::fprintf (stderr, "usage: %s"
- " [-d]"
- " [-n loopcount]"
- " [-O objref]"
- " [-x]"
- "\n", argv [0]
- );
- return 1;
- }
-
- return 0; // Indicates successful parsing of command line
-}
-
-int
-main (int argc, char *argv[])
-{
- CORBA_ORB_ptr orb_ptr;
- CORBA_Object_ptr objref = CORBA_Object::_nil();
- CORBA_Environment env;
-
- orb_ptr = CORBA_ORB_init(argc, argv, "internet", env);
- if (env.exception() != 0)
- {
- print_exception(env.exception(), "ORB initialization");
- return 1;
- }
-
- //
- // Parse command line and verify parameters.
- //
- parse_args(argc, argv);
-
- if (TAO_arg_ior == 0)
- ACE_ERROR_RETURN((LM_ERROR, "%s: must specify an object reference using -O <ior>\n", argv[0]), 1);
-
- objref = orb_ptr->string_to_object ((CORBA_String)TAO_arg_ior, env);
-
- ACE_OS::free((void*)TAO_arg_ior);
- TAO_arg_ior = 0;
-
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "string2object");
- return 1;
- }
-
- if (CORBA_is_nil (objref) == CORBA_B_TRUE)
- ACE_ERROR_RETURN((LM_ERROR, "%s: must identify non-null target objref\n", argv [0]), 1);
-
- // Narrow the CORBA_Object reference to the stub object, checking
- // the type along the way using _is_a
- Cubit_ptr aCubit = Cubit::_narrow(objref);
- if (aCubit == 0)
- ACE_ERROR_RETURN((LM_ERROR, "(%P|%t) Unable to narrow object reference to a Cubit_ptr.\n"), 1);
-
- //
- // Make the calls in a loop.
- //
- unsigned i;
- unsigned call_count, error_count;
-
- call_count = 0;
- error_count = 0;
-
- ACE_Time_Value before, after;
-
- before = ACE_OS::gettimeofday();
-
- for (i = 0; i < loop_count; i++)
- {
- //
- // Cube an octet.
- //
- CORBA_Octet arg_octet, ret_octet;
-
- call_count++;
- ret_octet = aCubit->Cubit_cube_octet (arg_octet = func (i), env);
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "from cube_octet");
- error_count++;
- }
- else
- {
- dmsg2 ("cube octet: %d --> %d\n", arg_octet, ret_octet);
- arg_octet = arg_octet * arg_octet * arg_octet;
- if (arg_octet != ret_octet) {
- ACE_OS::printf ("** cube_octet(%d) ERROR (--> %d)\n",
- (CORBA_Octet) func (i), ret_octet);
- error_count++;
- }
- }
-
- //
- // Cube a short.
- //
- CORBA_Short arg_short, ret_short;
-
- call_count++;
- ret_short = aCubit->Cubit_cube_short (arg_short = func (i), env);
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "from cube_short");
- error_count++;
- }
- else
- {
- dmsg2 ("cube short: %d --> %d\n", arg_short, ret_short);
- arg_short = arg_short * arg_short * arg_short;
- if (arg_short != ret_short)
- {
- ACE_OS::printf ("** cube_short(%d) ERROR (--> %d)\n",
- (CORBA_Short) func (i), ret_short);
- error_count++;
- }
- }
-
- //
- // Cube a long.
- //
- CORBA_Long arg_long, ret_long;
-
- call_count++;
- ret_long = aCubit->Cubit_cube_long (arg_long = func (i), env);
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "from cube_long");
- error_count++;
- }
- else
- {
- dmsg2 ("cube long: %d --> %d\n", arg_long, ret_long);
- arg_long = arg_long * arg_long * arg_long;
- if (arg_long != ret_long) {
- ACE_OS::printf ("** cube_long(%ld) ERROR (--> %ld)\n",
- (CORBA_Long) func (i), ret_long);
- error_count++;
- }
- }
-
- //
- // Cube a "struct" ...
- //
- Cubit_Many arg_struct, *ret_struct;
-
- call_count++;
-
- arg_struct.l = func (i);
- arg_struct.s = func (i);
- arg_struct.o = func (i);
-
- ret_struct = aCubit->Cubit_cube_struct (arg_struct, env);
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "from cube_struct");
- error_count++;
- }
- else
- {
- dmsg ("cube struct ...");
- arg_struct.l = arg_struct.l * arg_struct.l * arg_struct.l;
- arg_struct.s = arg_struct.s * arg_struct.s * arg_struct.s;
- arg_struct.o = arg_struct.o * arg_struct.o * arg_struct.o;
-
- if (arg_struct.l != ret_struct->l
- || arg_struct.s != ret_struct->s
- || arg_struct.o != ret_struct->o)
- {
- ACE_OS::printf ("** cube_struct ERROR\n");
- error_count++;
- }
- delete ret_struct;
- }
-
- }
-
- after = ACE_OS::gettimeofday();
-
- if (call_count > 0)
- {
- if (error_count == 0)
- {
- ACE_Time_Value diff = after - before;
- unsigned long us = diff.sec() * 1000 * 1000 + diff.usec();
-
- us /= call_count;
-
- if (us > 0)
- ACE_OS::printf ("cube average call ACE_OS::time\t= %ld.%.03ldms, \t"
- "%ld calls/second\n",
- us / 1000, us % 1000,
- 1000000L / us);
- }
-
- ACE_OS::printf ("%d calls, %d errors\n", call_count, error_count);
- }
-
- //
- // Simple test for DII: call "cube_struct". (It's not timed
- // since the copious mallocation of DII would bias numbers against
- // typical stub-based calls.)
- //
- do {
- //
- // Create the request ...
- //
- CORBA_Request_ptr req;
-
- req = objref->_request ((const CORBA_String) "cube_struct", env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "DII request create");
- break;
- }
-
- //
- // ... initialise the argument list and result ...
- //
- Cubit_Many arg, *result;
-
- arg.o = 3; arg.l = 5; arg.s = -7;
-
- CORBA_Any tmp_arg (TC_Cubit_Many, &arg, CORBA_B_FALSE);
-
- req->arguments ()->add_value (0, tmp_arg, CORBA_ARG_IN, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "DII request arg add");
- CORBA_release (req);
- break;
- }
-
- req->result ()->value ()
- ->replace (TC_Cubit_Many, 0, CORBA_B_TRUE, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "DII request result type");
- CORBA_release (req);
- break;
- }
-
- //
- // Make the invocation, verify the result
- //
- req->invoke ();
- if (req->env ()->exception () != 0) {
- print_exception (req->env ()->exception (), "DII invoke");
- CORBA_release (req);
- break;
- }
-
- result = (Cubit_Many *) req->result ()->value ()->value ();
-
- if (result->o != 27 || result->l != 125 || result->s != -343)
- ACE_OS::fprintf (stderr, "DII cube_struct -- bad results\n");
- else
- dmsg ("DII cube_struct ... success!!");
-
- CORBA_release (req);
-
- } while (0);
-
- //
- // Two more tests, using the "cube_union" function
- //
- cube_union_dii(call_count, error_count, objref, env);
- if (env.exception () != 0)
- error_count++;
-
- cube_union_stub(i, call_count, error_count, objref, env);
- if (env.exception () != 0)
- error_count++;
-
- if (exit_later) {
- aCubit->Cubit_please_exit (env);
- dexc (env, "server, please ACE_OS::exit");
- }
-
- CORBA_release (objref);
-
- return (error_count == 0) ? 0 : 1;
-}
-
-
-static void
-cube_union_stub(unsigned i,
- unsigned &call_count,
- unsigned &error_count,
- CORBA_Object_ptr objref,
- CORBA_Environment &env)
-{
- Cubit_ptr aCubit = Cubit::_narrow(objref);
- //
- // Cube a "union" ...
- //
- Cubit_oneof u, *r;
-
- call_count++;
-
- u._disc = e_2nd;
- u.l = 3;
-
- r = aCubit->Cubit_cube_union (u, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "from cube_union");
- error_count++;
- } else {
- dmsg ("cube union ...");
- u.l = u.l * u.l * u.l ;
-
- if (u.l != r->l) {
- ACE_OS::printf ("** cube_union ERROR\n");
- error_count++;
- }
-
- delete r;
- }
-
- //
- // Cube another "union" which uses the default arm ...
- //
- call_count++;
-
- u._disc = e_5th;
- u.cm.l = func (i);
- u.cm.s = func (i);
- u.cm.o = func (i);
-
- u.cm.l = 7;
- u.cm.s = 5;
- u.cm.o = 3;
-
- r = aCubit->Cubit_cube_union (u, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "from cube_union");
- error_count++;
- } else {
- dmsg ("cube union ...");
- u.cm.l = u.cm.l * u.cm.l * u.cm.l;
- u.cm.s = u.cm.s * u.cm.s * u.cm.s;
- u.cm.o = u.cm.o * u.cm.o * u.cm.o;
-
- if (u.cm.l != r->cm.l
- || u.cm.s != r->cm.s
- || u.cm.o != r->cm.o) {
- ACE_OS::printf ("** cube_union ERROR\n");
- error_count++;
- }
-
- delete r;
- }
-}
-
-
-static void
-cube_union_dii (unsigned &call_count,
- unsigned &error_count,
- CORBA_Object_ptr objref,
- CORBA_Environment &env)
-{
- //
- // Create the request ...
- //
- CORBA_Request_ptr req;
-
- call_count++;
-
- req = objref->_request ((const CORBA_String) "cube_union", env);
- if (env.exception () != 0) {
- error_count++;
-
- print_exception (env.exception (), "cube_union_dii request create");
- return;
- }
-
- //
- // ... initialise the argument list and result ...
- //
- Cubit_oneof u, *r;
-
- u._disc = e_3rd;
- u.cm.l = 5;
- u.cm.s = -7;
- u.cm.o = 3;
-
- CORBA_Any tmp_arg (TC_Cubit_oneof, &u, CORBA_B_FALSE);
-
- req->arguments ()->add_value (0, tmp_arg, CORBA_ARG_IN, env);
- if (env.exception () != 0) {
- error_count++;
- print_exception (env.exception (), "cube_union_dii request arg add");
- CORBA_release (req);
- return;
- }
-
- req->result ()->value ()->replace (TC_Cubit_oneof, 0, CORBA_B_TRUE, env);
- if (env.exception () != 0) {
- error_count++;
- print_exception (env.exception (), "cube_union_dii result type");
- CORBA_release (req);
- return;
- }
-
- //
- // Make the invocation, verify the result
- //
- req->invoke ();
- if (req->env ()->exception () != 0) {
- error_count++;
- print_exception (req->env ()->exception (),"cube_union_dii invoke");
- CORBA_release (req);
- return;
- }
-
- r = (Cubit_oneof *) req->result ()->value ()->value ();
-
- if (r->cm.o != 27 || r->cm.l != 125 || r->cm.s != -343) {
- error_count++;
- ACE_OS::fprintf (stderr, "cube_union_dii -- bad results\n");
- }
- else
- dmsg ("cube_union_dii ... success!!");
-
- CORBA_release (req);
-}
diff --git a/TAO/IIOP/tests/Cubit/TAO/cubit.cpp b/TAO/IIOP/tests/Cubit/TAO/cubit.cpp
deleted file mode 100644
index 38f23fac373..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/cubit.cpp
+++ /dev/null
@@ -1,578 +0,0 @@
-// $Id$
-
-// @(#)cubit.cpp 1.2 95/09/29
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// TEST: hand-written C-style "Cubit" stubs and "skeletons"
-//
-// NOTE: these "skeletons" are really the methods, using DSI. No real
-// ORB would be implemented in this particular way. Several things would
-// be more typical of real (static) skeletons:
-//
-// * Most of the "in" (and much of the "out") parameter data would
-// be preallocated on the stack, not heap allocated. (Static
-// preallocation doesnt' really work in a multithreaded system,
-// and moreover can waste a lot of space.)
-//
-// * The ORB core wouldn't be told about parameters using heap
-// allocated data structures (e.g. NVList).
-//
-// * Skeletons would need to some kind of "marshal the response NOW"
-// API so that stack-allocated "out" values wouldn't become invalid
-// up until they were safely marshaled.
-//
-// * They'd handle exceptions rather than just generating debugging
-// messages when they happen.
-//
-// * Method code would be called by the skeletons, not written as
-// part of the "skeleton" itself!
-//
-// A key part of turning this code into a complete ORB would be to ensure
-// that skeletons were always efficient and correct. They might not need
-// to be sharable between different implementations of the same OMG-IDL
-// object interface, but many ORBs choose to be structured that way.
-//
-
-#include "cubit.h" // for stubs ...
-#include <corba/boa.h> // ... and skeletons
-
-#include <corba/debug.h> // ... and debugging
-
-
-//
-// CUBE OCTET
-//
-
-static const TAO_Param_Data Cubit_cube_octet_params [] = {
- { _tc_CORBA_Octet, PARAM_RETURN, 0 },
- { _tc_CORBA_Octet, PARAM_IN, 0 }
-};
-
-static const TAO_Call_Data Cubit_cube_octet_calldata = {
- "cube_octet", CORBA_B_TRUE,
- 2, &Cubit_cube_octet_params [0],
- 0, 0
-};
-
-
-CORBA_Octet
-Cubit_cube_octet (
- Cubit_ptr target,
- CORBA_Octet o,
- CORBA_Environment &env
-)
-{
- CORBA_Octet retval = 0;
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data)
- != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else {
- data->do_call (env, &Cubit_cube_octet_calldata,
- &retval, &o);
- data->Release ();
- }
- return retval;
-}
-
-static void
-_cube_octet_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (_tc_CORBA_Octet);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_octet, add value");
-
- req.params (nvlist, env);
- dexc (env, "cube_octet, get params");
-
- CORBA_Octet* value = new CORBA_Octet;
-
- *value = *(CORBA_Octet *)nv->value ()->value ();
- // dmsg1 ("cube octet, parameter '%d'", *value);
- *value = (CORBA_Octet) ((*value) * (*value) * (*value));
- // dmsg1 ("cube octet, result '%d'", *value);
-
- CORBA_Any* any =
- new CORBA_Any (_tc_CORBA_Octet, value, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_octet, result");
-}
-
-
-//
-// CUBE SHORT
-//
-
-static const TAO_Param_Data Cubit_cube_short_params [] = {
- { _tc_CORBA_Short, PARAM_RETURN, 0 },
- { _tc_CORBA_Short, PARAM_IN, 0 }
-};
-
-static const TAO_Call_Data Cubit_cube_short_calldata = {
- "cube_short", CORBA_B_TRUE,
- 2, &Cubit_cube_short_params [0],
- 0, 0
-};
-
-
-CORBA_Short
-Cubit_cube_short (Cubit_ptr target,
- CORBA_Short s,
- CORBA_Environment &env)
-{
- CORBA_Short retval;
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data)
- != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else {
- data->do_call (env, &Cubit_cube_short_calldata,
- &retval, &s);
- data->Release ();
- }
- return retval;
-}
-
-static void
-_cube_short_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (_tc_CORBA_Short);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_short, add_value");
-
- req.params (nvlist, env);
- dexc (env, "cube_short, get params");
-
- CORBA_Short* value = new CORBA_Short;
-
- *value = *(CORBA_Short *)nv->value ()->value ();
- // dmsg1 ("cube short, parameter '%d'", *value);
- *value =(CORBA_Short) ((*value) * (*value) * (*value));
- // dmsg1 ("cube short, result '%d'", *value);
-
- CORBA_Any* any =
- new CORBA_Any (_tc_CORBA_Short, value, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_short, result");
-}
-
-
-//
-// CUBE LONG
-//
-
-static const TAO_Param_Data Cubit_cube_long_params [] = {
- { _tc_CORBA_Long, PARAM_RETURN, 0 },
- { _tc_CORBA_Long, PARAM_IN, 0 }
-};
-
-static const TAO_Call_Data Cubit_cube_long_calldata = {
- "cube_long", CORBA_B_TRUE,
- 2, &Cubit_cube_long_params [0],
- 0, 0
-};
-
-
-CORBA_Long
-Cubit_cube_long (Cubit_ptr target,
- CORBA_Long l,
- CORBA_Environment &env)
-{
- CORBA_Long retval;
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data) != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else
- {
- data->do_call (env, &Cubit_cube_long_calldata,
- &retval, &l);
- data->Release ();
- }
- return retval;
-}
-
-
-static void
-_cube_long_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (_tc_CORBA_Long);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_long, add_value");
-
- req.params (nvlist, env);
- dexc (env, "cube_long, get params");
-
- CORBA_Long* value = new CORBA_Long;
-
- *value = *(CORBA_Long *)nv->value ()->value ();
- // dmsg1 ("cube long, parameter '%d'", *value);
- *value = (*value) * (*value) * (*value);
- // dmsg1 ("cube long, result '%d'", *value);
-
- CORBA_Any* any =
- new CORBA_Any (_tc_CORBA_Long, value, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_long, result");
-}
-
-//
-// Encapsulated parameters for struct "Cubit_Many" typecode.
-// None of these parameters is complicated, so this is just
-// a linear sequence of element encodings
-//
-// NOTE: it's important that this be longword aligned!!
-//
-static const CORBA_Long _oc_Cubit_Many [] = {
- 1, // byte order flag (TRICKY!)
-
- 1, 0, // empty string: repository/type ID
- 1, 0, // empty string: struct name
-
- 3, // three struct elements
-
- // First structure element: name, typecode for Octet
- 1, 0, // empty string: name "o"
- tk_octet,
-
- // Second structure element: name, typecode for Long
- 1, 0, // empty string: name "l"
- tk_long,
-
- // Third structure element: name, typecode for Short
- 1, 0, // empty string: name "s"
- tk_short,
-};
-
-static CORBA_TypeCode _tc_Cubit_Many (tk_struct,
- sizeof _oc_Cubit_Many, (unsigned char *) &_oc_Cubit_Many,
- CORBA_B_FALSE);
-CORBA_TypeCode_ptr TC_Cubit_Many = &_tc_Cubit_Many;
-
-
-//
-// CUBE STRUCT
-//
-
-static const TAO_Param_Data Cubit_cube_struct_params [] = {
- { &_tc_Cubit_Many, PARAM_RETURN, sizeof (Cubit_Many) },
- { &_tc_Cubit_Many, PARAM_IN, 0 }
-};
-
-static const TAO_Call_Data Cubit_cube_struct_calldata = {
- "cube_struct", CORBA_B_TRUE,
- 2, &Cubit_cube_struct_params [0],
- 0, 0
-};
-
-Cubit_Many *
-Cubit_cube_struct (Cubit_ptr target,
- Cubit_Many &values,
- CORBA_Environment &env)
-{
- Cubit_Many *retval;
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data) != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else
- {
- data->do_call (env, &Cubit_cube_struct_calldata,
- &retval, &values);
- data->Release ();
- }
- return retval;
-}
-
-
-static void
-_cube_struct_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (TC_Cubit_Many);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_struct, add_value");
-
- req.params (nvlist, env);
- dexc (env, "cube_struct, get params");
-
- Cubit_Many *value;
- Cubit_Many *retval = new Cubit_Many;
-
- value = (Cubit_Many *)nv->value ()->value ();
-
- retval->o = (CORBA_Octet) (value->o * value->o * value->o);
- retval->s = (CORBA_Short) (value->s * value->s * value->s);
- retval->l = value->l * value->l * value->l;
-
- // dmsg2 ("cube struct.o, %d -> %d", value->o, retval->o);
- // dmsg2 ("cube struct.s, %d -> %d", value->s, retval->s);
- // dmsg2 ("cube struct.l, %d -> %d", value->l, retval->l);
-
- CORBA_Any *any =
- new CORBA_Any (TC_Cubit_Many, retval, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_struct, result");
-}
-
-//
-// CUBE UNION
-//
-
-//
-// NOTE: not all union typecodes can be encoded as an array
-// of "long "values, but this one can. Ones with discriminants
-// that are one or two bytes long can't easily be coded portably.
-//
-// The benefit of doing it as an array of "long" values is
-// twofold: (a) easier to read; (b) on most systems it's then
-// adequately aligned for the typecode interpreter to use, so
-// no additional runtime copy needs to be made.
-//
-static const CORBA_Long _oc_Cubit_oneof [] = {
- 1, // byte order flag (TRICKY)
- 1, 0, // omitted repository/type ID
- 1, 0, // omitted struct name, "oneof"
-
- //
- // discriminant typecode:
- //
- tk_enum, // tk_enum
- 72, // encapsulation length
-
- 1, // byte order flag (TRICKY)
- 1, 0, // omitted repository/type ID
- 1, 0, // omitted enum name, "discrim"
- 6, // 5 elements in the enum
-
- 1, 0, // omitted member name, "e_0th"
- 1, 0, // omitted member name, "e_1st"
- 1, 0, // omitted member name, "e_2nd"
- 1, 0, // omitted member name, "e_3rd"
- 1, 0, // omitted member name, "e_4th"
- 1, 0, // omitted member name, "e_5th"
-
- 4, // default member index (zero based)
- 5, // number of union members
-
- // the 1st union branch arm
- e_0th, // member label value
- 1, 0, // omitted member name, "o"
- tk_octet, // member typecode
-
- // the 2nd union branch arm
- e_1st, // member label value
- 1, 0, // omitted member name, "s"
- tk_short, // member typecode
-
- // the 3rd union branch arm
- e_2nd, // member label value
- 1, 0, // omitted member name, "l"
- tk_long, // member typecode
-
- // the 4th union branch arm
- e_3rd, // member label value
- 1, 0, // omitted member name, "cm"
-
- // the 4th union member typecode
- tk_struct, // tk_struct
- 60, // encap length
-
- 1, // byte order flag (TRICKY)
- 1, 0, // omitted repository/type ID
- 1, 0, // omitted struct name, "Many"
- 3, // three struct members
-
- // First structure element
- 1, 0, // omitted member name, "o"
- tk_octet, // member type, tk_octet
-
- // Second structure element
- 1, 0, // omitted member name, "l"
- tk_long, // member type, tk_long
-
- // Third structure element
- 1, 0, // omitted member name, "s"
- tk_short, // member type, tk_short
-
- // the 5th union branch arm
- 4, // the 5th member label value
- 1, 0, // omitted member name, "cm"
- ~0, // indirected typecode (~0)
- -84 // offset to struct "Many" typecode
-};
-
-static CORBA_TypeCode _tc_Cubit_oneof (tk_union,
- (sizeof _oc_Cubit_oneof), (unsigned char *) &_oc_Cubit_oneof,
- CORBA_B_FALSE);
-CORBA_TypeCode_ptr TC_Cubit_oneof = &_tc_Cubit_oneof;
-
-static const TAO_Param_Data Cubit_cube_union_params [] = {
- { &_tc_Cubit_oneof, PARAM_RETURN, sizeof (Cubit_oneof) },
- { &_tc_Cubit_oneof, PARAM_IN, 0 }
-};
-
-static const TAO_Call_Data Cubit_cube_union_calldata = {
- "cube_union", CORBA_B_TRUE,
- 2, &Cubit_cube_union_params [0],
- 0, 0
-};
-
-Cubit_oneof *
-Cubit_cube_union (Cubit_ptr target,
- Cubit_oneof &values,
- CORBA_Environment &env)
-{
- Cubit_oneof *retval;
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data) != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else
- {
- data->do_call (env, &Cubit_cube_union_calldata,
- &retval, &values);
- data->Release ();
- }
- return retval;
-}
-
-
-static void
-_cube_union_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (TC_Cubit_oneof);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_union_3rd, add_value");
-
- req.params (nvlist, env);
- dexc (env, "cube_union_3rd, get params");
-
- Cubit_oneof *v;
- Cubit_oneof *r = new Cubit_oneof;
-
- v = (Cubit_oneof *)nv->value ()->value ();
- r->_disc = v->_disc;
-
- switch (v->_disc) {
- case e_0th:
- r->o = (CORBA_Octet) (v->o * v->o * v->o);
- break;
-
- case e_1st:
- r->s = (CORBA_Short) (v->s * v->s * v->s);
- break;
-
- case e_2nd:
- r->l = v->l * v->l * v->l;
- break;
-
- case e_3rd:
- default:
- r->cm.o = (CORBA_Octet) (v->cm.o * v->cm.o * v->cm.o);
- r->cm.s = (CORBA_Short) (v->cm.s * v->cm.s * v->cm.s);
- r->cm.l = v->cm.l * v->cm.l * v->cm.l;
- break;
- }
-
- CORBA_Any *any = new CORBA_Any (TC_Cubit_oneof, r, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_struct, result");
-}
-
-
-//
-// PLEASE EXIT
-//
-
-static const TAO_Call_Data Cubit_please_exit_calldata = {
- "please_exit", CORBA_B_FALSE,
- 0, 0,
- 0, 0
-};
-
-void
-Cubit_please_exit (
- Cubit_ptr target,
- CORBA_Environment &env
-)
-{
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data)
- != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else {
- data->do_call (env, &Cubit_please_exit_calldata
- );
- data->Release ();
- }
-}
-
-static void
-_please_exit_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- dmsg ("I've been asked to shut down...");
- req.oa ()->please_shutdown (env);
- dexc (env, "please_exit, please_shutdown");
-}
-
-
-const CORBA_Char *Cubit__id = (CORBA_Char *)
- "IDL:Eng.SUN.COM/Cubit:1.1";
-
-
-//
-// table of all operations, used by operation dispatch to get to the
-// right skeleton ... could be sorted by the IDL compiler so bsearch
-// is effective, perhaps with help from opname hashes and a small cache
-// (e.g. like Obj-C?). for now, just lsearch.
-//
-const TAO_Skel_Entry Cubit_operations [] = {
- { &Cubit_cube_octet_calldata, _cube_octet_skel },
- { &Cubit_cube_short_calldata, _cube_short_skel },
- { &Cubit_cube_long_calldata, _cube_long_skel },
- { &Cubit_cube_struct_calldata, _cube_struct_skel },
- { &Cubit_cube_union_calldata, _cube_union_skel },
- { &Cubit_please_exit_calldata, _please_exit_skel },
- { 0, 0 } // last entry
-};
diff --git a/TAO/IIOP/tests/Cubit/TAO/cubit.h b/TAO/IIOP/tests/Cubit/TAO/cubit.h
deleted file mode 100644
index 78d6b604052..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/cubit.h
+++ /dev/null
@@ -1,108 +0,0 @@
-// $Id$
-
-// @(#)cubit.hh 1.1 95/09/10
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// Hand-crafted C language binding glue ...
-//
-// This doesn't use C++ since doing the obvious derivation
-// (all parent interfaces are virtual public parents) makes
-// object references have different "views". That is, a
-// pointer to a Cubit (i.e. a Cubit_ptr) would not have
-// the same binary value as a pointer to a CORBA_Object
-// (i.e. a CORBA_Object_ptr, generic objref). That'd
-// mean lots of narrowing/widening/RTTI infrastructure.
-//
-
-#ifndef _CUBIT_HH
-#define _CUBIT_HH
-
-#ifdef _MSC_VER
-#pragma pack (push, 1) // VC++, known padding rules
-#endif // VC++
-
-#include <corba/orb.h>
-#include <corba/stub.h>
-
-
-//
-// C style binding
-//
-
-typedef CORBA_Object Cubit;
-typedef Cubit *Cubit_ptr, *CubitRef;
-
-extern CORBA_TypeCode_ptr TC_Cubit_Many;
-extern CORBA_TypeCode_ptr TC_Cubit_oneof;
-
-struct Cubit_Many {
- CORBA_Octet o;
- CORBA_Long l;
- CORBA_Short s;
-};
-
-enum Cubit_discrim {e_0th = 0, e_1st = 1, e_2nd = 2,
- e_3rd = 3, e_4th = 4, e_5th = 5};
-
-struct Cubit_oneof {
- Cubit_discrim _disc;
-
- union {
- CORBA_Octet o;
- CORBA_Short s;
- CORBA_Long l;
- Cubit_Many cm;
- };
-};
-
-CORBA_Octet
-Cubit_cube_octet (
- Cubit_ptr target,
- CORBA_Octet o,
- CORBA_Environment &env
-);
-
-CORBA_Short
-Cubit_cube_short (
- Cubit_ptr target,
- CORBA_Short s,
- CORBA_Environment &env
-);
-
-CORBA_Long
-Cubit_cube_long (
- Cubit_ptr target,
- CORBA_Long l,
- CORBA_Environment &env
-);
-
-Cubit_Many *
-Cubit_cube_struct (
- Cubit_ptr target,
- Cubit_Many &values,
- CORBA_Environment &env
-);
-
-Cubit_oneof *
-Cubit_cube_union (
- Cubit_ptr target,
- Cubit_oneof &values,
- CORBA_Environment &env
-);
-
-void
-Cubit_please_exit (
- Cubit_ptr target,
- CORBA_Environment &env
-);
-
-extern const CORBA_Char *Cubit__id; // type ID
-
-extern const TAO_Skel_Entry Cubit_operations [];
-
-#ifdef _MSC_VER
-#pragma pack (pop) // VC++, go back to other padding rules
-#endif // VC++
-
-#endif // _CUBIT_HH
diff --git a/TAO/IIOP/tests/Cubit/TAO/cubit.idl b/TAO/IIOP/tests/Cubit/TAO/cubit.idl
deleted file mode 100644
index d4f1610e2a8..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/cubit.idl
+++ /dev/null
@@ -1,42 +0,0 @@
-// $Id$
-
-// @(#)cubit.idl 1.1 95/09/10
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-
-#pragma prefix "Eng.SUN.COM"
-#pragma version Cubit 1.1
-
-interface Cubit {
- octet cube_octet (in octet o);
- short cube_short (in short s);
- long cube_long (in long l);
-
- struct Many {
- octet o; // + 3 bytes padding (normally) ...
- long l;
- short s; // + 2 bytes padding (normally) ...
- };
-
- Many cube_struct (in Many values);
-
- enum discrim {e_0th, e_1st, e_2nd, e_3rd, e_4th, e_5th};
-
- union oneof
- switch (discrim) {
- // this is an easy union to interpret; no padding
- // is needed between discriminant and value.
- case e_0th:
- octet o;
- case e_1st:
- short s;
- case e_2nd:
- long l;
- case e_3rd:
- default:
- Many cm;
- };
-
- oneof cube_union (in oneof values);
-
- oneway void please_exit ();
-};
diff --git a/TAO/IIOP/tests/Cubit/TAO/cubitC.cpp b/TAO/IIOP/tests/Cubit/TAO/cubitC.cpp
deleted file mode 100644
index 8bcb0b4f4d9..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/cubitC.cpp
+++ /dev/null
@@ -1,383 +0,0 @@
-// $Id$
-
-// @(#)cubitC.cpp 05/14/97
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// Modified version of Cubit Example written by Sun Microsystems Inc.
-// Modified by: Brian Mendel
-
-#include "cubitC.h" // for stubs ...
-
-Cubit_ptr Cubit::_duplicate(Cubit_ptr obj)
-{
- if (obj)
- obj->AddRef();
-
- return obj;
-}
-
-Cubit_ptr Cubit::_narrow(CORBA_Object_ptr obj)
-{
- CORBA_Environment env;
- if (obj->_is_a("IDL:Cubit:1.0", env))
- {
- STUB_Object *istub;
- if (obj->QueryInterface(IID_STUB_Object, (void **)&istub) != NOERROR)
- {
- return Cubit::_nil();
- }
- Cubit_ptr new_obj = new Cubit(istub);
- return Cubit::_duplicate(new_obj);
- }
- return Cubit::_nil();
-}
-
-Cubit_ptr Cubit::_nil()
-{
- return (Cubit_ptr)NULL;
-}
-
-//
-// CUBE OCTET
-//
-
-static const TAO_Param_Data Cubit_cube_octet_params [] =
-{
- { _tc_CORBA_Octet, PARAM_RETURN, 0 },
- { _tc_CORBA_Octet, PARAM_IN, 0 }
-};
-
-
-static const TAO_Call_Data Cubit_cube_octet_calldata =
-{
- "cube_octet", CORBA_B_TRUE,
- 2, &Cubit_cube_octet_params [0],
- 0, 0
-};
-
-
-CORBA_Octet
-Cubit::Cubit_cube_octet (CORBA_Octet o,
- CORBA_Environment &env)
-{
- CORBA_Octet retval;
-
- STUB_Object *istub;
- if (this->QueryInterface(IID_STUB_Object, (void **)&istub) != NOERROR)
- {
- env.exception(new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return 0;
- }
-
- istub->do_call (env, &Cubit_cube_octet_calldata,
- &retval, &o);
- istub->Release ();
-
- return retval;
-}
-
-
-//
-// CUBE SHORT
-//
-
-static const TAO_Param_Data Cubit_cube_short_params [] =
-{
- { _tc_CORBA_Short, PARAM_RETURN, 0 },
- { _tc_CORBA_Short, PARAM_IN, 0 }
-};
-
-static const TAO_Call_Data Cubit_cube_short_calldata =
-{
- "cube_short", CORBA_B_TRUE,
- 2, &Cubit_cube_short_params [0],
- 0, 0
-};
-
-
-CORBA_Short
-Cubit::Cubit_cube_short (CORBA_Short s,
- CORBA_Environment &env)
-{
- CORBA_Short retval;
-
- STUB_Object *istub;
- if (this->QueryInterface(IID_STUB_Object, (void **)&istub) != NOERROR)
- {
- env.exception(new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return 0;
- }
-
- istub->do_call(env, &Cubit_cube_short_calldata,
- &retval, &s);
-
- istub->Release ();
-
- return retval;
-}
-
-//
-// CUBE LONG
-//
-
-static const TAO_Param_Data Cubit_cube_long_params [] =
-{
- { _tc_CORBA_Long, PARAM_RETURN, 0 },
- { _tc_CORBA_Long, PARAM_IN, 0 }
-};
-
-static const TAO_Call_Data Cubit_cube_long_calldata =
-{
- "cube_long", CORBA_B_TRUE,
- 2, &Cubit_cube_long_params [0],
- 0, 0
-};
-
-
-CORBA_Long
-Cubit::Cubit_cube_long (CORBA_Long l,
- CORBA_Environment &env)
-{
- CORBA_Long retval;
-
- STUB_Object *istub;
- if (this->QueryInterface(IID_STUB_Object, (void **)&istub) != NOERROR)
- {
- env.exception(new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return 0;
- }
-
- istub->do_call (env, &Cubit_cube_long_calldata,
- &retval, &l);
- istub->Release ();
-
- return retval;
-}
-
-
-//
-// Encapsulated parameters for struct "Cubit_Many" typecode.
-// None of these parameters is complicated, so this is just
-// a linear sequence of element encodings
-//
-// NOTE: it's important that this be longword aligned!!
-//
-static const CORBA_Long _oc_Cubit_Many [] =
-{
- 1, // byte order flag (TRICKY!)
-
- 1, 0, // empty string: repository/type ID
- 1, 0, // empty string: struct name
-
- 3, // three struct elements
-
- // First structure element: name, typecode for Octet
- 1, 0, // empty string: name "o"
- tk_octet,
-
- // Second structure element: name, typecode for Long
- 1, 0, // empty string: name "l"
- tk_long,
-
- // Third structure element: name, typecode for Short
- 1, 0, // empty string: name "s"
- tk_short,
-};
-
-static CORBA_TypeCode _tc_Cubit_Many (tk_struct,
- sizeof _oc_Cubit_Many, (unsigned char *) &_oc_Cubit_Many,
- CORBA_B_FALSE);
-CORBA_TypeCode_ptr TC_Cubit_Many = &_tc_Cubit_Many;
-
-
-//
-// CUBE STRUCT
-//
-
-static const TAO_Param_Data Cubit_cube_struct_params [] =
-{
- { &_tc_Cubit_Many, PARAM_RETURN, sizeof (Cubit_Many) },
- { &_tc_Cubit_Many, PARAM_IN, 0 }
-};
-
-static const TAO_Call_Data Cubit_cube_struct_calldata =
-{
- "cube_struct", CORBA_B_TRUE,
- 2, &Cubit_cube_struct_params [0],
- 0, 0
-};
-
-Cubit_Many*
-Cubit::Cubit_cube_struct (Cubit_Many &values,
- CORBA_Environment &env)
-{
- Cubit_Many *retval;
-
- STUB_Object *istub;
- if (this->QueryInterface(IID_STUB_Object, (void **)&istub) != NOERROR)
- {
- env.exception(new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return 0;
- }
-
- istub->do_call (env, &Cubit_cube_struct_calldata,
- &retval, &values);
- istub->Release ();
-
- return retval;
-}
-
-
-//
-// CUBE UNION
-//
-
-//
-// NOTE: not all union typecodes can be encoded as an array
-// of "long "values, but this one can. Ones with discriminants
-// that are one or two bytes long can't easily be coded portably.
-//
-// The benefit of doing it as an array of "long" values is
-// twofold: (a) easier to read; (b) on most systems it's then
-// adequately aligned for the typecode interpreter to use, so
-// no additional runtime copy needs to be made.
-//
-static const CORBA_Long _oc_Cubit_oneof [] =
-{
- 1, // byte order flag (TRICKY)
- 1, 0, // omitted repository/type ID
- 1, 0, // omitted struct name, "oneof"
-
- //
- // discriminant typecode:
- //
- tk_enum, // tk_enum
- 72, // encapsulation length
-
- 1, // byte order flag (TRICKY)
- 1, 0, // omitted repository/type ID
- 1, 0, // omitted enum name, "discrim"
- 6, // 5 elements in the enum
-
- 1, 0, // omitted member name, "e_0th"
- 1, 0, // omitted member name, "e_1st"
- 1, 0, // omitted member name, "e_2nd"
- 1, 0, // omitted member name, "e_3rd"
- 1, 0, // omitted member name, "e_4th"
- 1, 0, // omitted member name, "e_5th"
-
- 4, // default member index (zero based)
- 5, // number of union members
-
- // the 1st union branch arm
- e_0th, // member label value
- 1, 0, // omitted member name, "o"
- tk_octet, // member typecode
-
- // the 2nd union branch arm
- e_1st, // member label value
- 1, 0, // omitted member name, "s"
- tk_short, // member typecode
-
- // the 3rd union branch arm
- e_2nd, // member label value
- 1, 0, // omitted member name, "l"
- tk_long, // member typecode
-
- // the 4th union branch arm
- e_3rd, // member label value
- 1, 0, // omitted member name, "cm"
-
- // the 4th union member typecode
- tk_struct, // tk_struct
- 60, // encap length
-
- 1, // byte order flag (TRICKY)
- 1, 0, // omitted repository/type ID
- 1, 0, // omitted struct name, "Many"
- 3, // three struct members
-
- // First structure element
- 1, 0, // omitted member name, "o"
- tk_octet, // member type, tk_octet
-
- // Second structure element
- 1, 0, // omitted member name, "l"
- tk_long, // member type, tk_long
-
- // Third structure element
- 1, 0, // omitted member name, "s"
- tk_short, // member type, tk_short
-
- // the 5th union branch arm
- 4, // the 5th member label value
- 1, 0, // omitted member name, "cm"
- ~0, // indirected typecode (~0)
- -84 // offset to struct "Many" typecode
-};
-
-static CORBA_TypeCode _tc_Cubit_oneof (tk_union,
- (sizeof _oc_Cubit_oneof), (unsigned char *) &_oc_Cubit_oneof,
- CORBA_B_FALSE);
-CORBA_TypeCode_ptr TC_Cubit_oneof = &_tc_Cubit_oneof;
-
-static const TAO_Param_Data Cubit_cube_union_params [] =
-{
- { &_tc_Cubit_oneof, PARAM_RETURN, sizeof (Cubit_oneof) },
- { &_tc_Cubit_oneof, PARAM_IN, 0 }
-};
-
-static const TAO_Call_Data Cubit_cube_union_calldata =
-{
- "cube_union", CORBA_B_TRUE,
- 2, &Cubit_cube_union_params [0],
- 0, 0
-};
-
-Cubit_oneof*
-Cubit::Cubit_cube_union (Cubit_oneof &values,
- CORBA_Environment &env)
-{
- Cubit_oneof *retval;
-
- STUB_Object *istub;
- if (this->QueryInterface(IID_STUB_Object, (void **)&istub) != NOERROR)
- {
- env.exception(new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return 0;
- }
-
- istub->do_call (env, &Cubit_cube_union_calldata,
- &retval, &values);
- istub->Release ();
-
- return retval;
-}
-
-
-
-//
-// PLEASE EXIT
-//
-
-static const TAO_Call_Data Cubit_please_exit_calldata =
-{
- "please_exit", CORBA_B_FALSE,
- 0, 0,
- 0, 0
-};
-
-void
-Cubit::Cubit_please_exit (CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface(IID_STUB_Object, (void **)&istub) != NOERROR)
- {
- env.exception(new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
-
- istub->do_call (env, &Cubit_please_exit_calldata);
- istub->Release ();
-}
diff --git a/TAO/IIOP/tests/Cubit/TAO/cubitC.h b/TAO/IIOP/tests/Cubit/TAO/cubitC.h
deleted file mode 100644
index 98610b55116..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/cubitC.h
+++ /dev/null
@@ -1,104 +0,0 @@
-// $Id$
-
-// @(#)cubitC.h 05/14/97
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// Modified version of Cubit Example written by Sun Microsystems Inc.
-// Modified by: Brian Mendel
-
-/**************************************************************************
-This file has been hand-crafted to work with the ORB API of the SUN's IIOP
-implementation
-***************************************************************************/
-
-#ifndef _CUBIT_HH
-#define _CUBIT_HH
-
-#ifdef _MSC_VER
-#pragma pack (push, 1) // VC++, known padding rules
-#endif // VC++
-
-#include "corba/orb.h"
-#include "corba/stub.h"
-
-#include <iostream.h>
-
-extern CORBA_TypeCode_ptr TC_Cubit_Many;
-extern CORBA_TypeCode_ptr TC_Cubit_oneof;
-
-struct Cubit_Many
-{
- CORBA_Octet o;
- CORBA_Long l;
- CORBA_Short s;
-};
-
-enum Cubit_discrim
- { e_0th = 0, e_1st = 1, e_2nd = 2,
- e_3rd = 3, e_4th = 4, e_5th = 5 };
-
-struct Cubit_oneof
-{
- Cubit_discrim _disc;
-
- union
- {
- CORBA_Octet o;
- CORBA_Short s;
- CORBA_Long l;
- Cubit_Many cm;
- };
-};
-
-class Cubit;
-typedef Cubit *Cubit_ptr;
-typedef Cubit_ptr Cubit_ref;
-
-class Cubit : public virtual CORBA_Object
-{
-public:
-
- static Cubit_ptr _duplicate(Cubit_ptr obj);
- static Cubit_ptr _narrow(CORBA_Object_ptr obj);
- static Cubit_ptr _nil();
-
- virtual
- CORBA_Octet Cubit_cube_octet (CORBA_Octet o,
- CORBA_Environment &env);
-
- virtual
- CORBA_Short Cubit_cube_short (CORBA_Short s,
- CORBA_Environment &env);
-
- virtual
- CORBA_Long Cubit_cube_long (CORBA_Long l,
- CORBA_Environment &env);
-
- virtual
- Cubit_Many* Cubit_cube_struct (Cubit_Many &values,
- CORBA_Environment &env);
-
- virtual
- Cubit_oneof* Cubit_cube_union (Cubit_oneof &values,
- CORBA_Environment &env);
-
- virtual
- void Cubit_please_exit (CORBA_Environment &env);
-
-protected:
- Cubit() { }
- Cubit(STUB_Object *objref)
- : CORBA_Object(objref) { }
- virtual ~Cubit() { }
-
-
-};
-
-extern const CORBA_Char *Cubit__id; // type ID
-
-#ifdef _MSC_VER
-#pragma pack (pop) // VC++, go back to other padding rules
-#endif // VC++
-
-#endif // _CUBIT_HH
diff --git a/TAO/IIOP/tests/Cubit/TAO/cubitS.cpp b/TAO/IIOP/tests/Cubit/TAO/cubitS.cpp
deleted file mode 100644
index bf77e70abd6..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/cubitS.cpp
+++ /dev/null
@@ -1,234 +0,0 @@
-// $Id$
-
-// @(#)cubitS.cpp 05/14/97
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// TEST: hand-written C-style "Cubit" stubs and "skeletons"
-//
-
-#include "cubitS.h"
-#include "cubitC.cpp"
-
-#include "connect.h"
-#include "params.h"
-
-#include "corba/debug.h" // ... and debugging
-#include "corba/optable.h" // TAO Dynamic Operation Table
-#include "method_db.i"
-#include "iiopobj.h"
-
-#if defined(CUBIT_USE_DYNAMIC_HASH)
-TAO_Dynamic_Hash_OpTable tao_cubit_optable(7); // Dynamic Operation Table
-#else
-TAO_Linear_OpTable tao_cubit_optable(7);
-#endif
-
-_skel_Cubit::_skel_Cubit(const char* obj_name)
-{
- const char* mn = "_skel_Cubit::_skel_Cubit()";
-
- // Initialize Method Database
- initialize_method_db (&tao_cubit_optable);
-
- char *type_id = "IDL:Cubit:1.0";
- // CORBA_String type_id = "IDL:Cubit:1.0";
- IIOP_Object *data;
-
- CORBA_BOA_ptr oa = TAO_OA_PARAMS::instance()->oa();
- if (oa == 0)
- {
- // We just have to assume that oa will be good, or we have to
- // throw an exception. For now we "assume", but we'll
- ACE_ERROR((LM_ERROR, "(%P|%t) %s Unable to locate a valid object adapter\n", mn));
- return;
- }
-
- this->optable_ = &tao_cubit_optable;
- data = new IIOP_Object(type_id);
-
- data->profile.iiop_version.major = IIOP::MY_MAJOR;
- data->profile.iiop_version.minor = IIOP::MY_MINOR;
- data->profile.host = ACE_OS::strdup(oa->get_addr().get_host_name());
- data->profile.port = oa->get_addr().get_port_number();
- data->profile.object_key.length = ACE_OS::strlen(obj_name);
- data->profile.object_key.maximum = data->profile.object_key.length;
- data->profile.object_key.buffer = new CORBA_Octet [(size_t)data->profile.object_key.length+1];
-
- ACE_OS::memcpy (data->profile.object_key.buffer,
- obj_name,
- data->profile.object_key.length+1);
-
- this->set_parent(data);
- this->sub_ = this;
-
- if (oa->bind(data->profile.object_key, this) == -1)
- {
- ACE_ERROR((LM_ERROR, "(%P|%t) %s Unable to bind object to key '%s': %p\n", mn, data->profile.object_key.buffer));
- return;
- }
-}
-
-void
-_skel_Cubit::_cube_octet_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (_tc_CORBA_Octet);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_octet, add value");
-
- req.params (nvlist, env);
- dexc (env, "cube_octet, get params");
-
- // Call Implementation
- CORBA_Octet *value = new CORBA_Octet;
- Cubit *the_cubit = (Cubit*)obj->get_subclass();
-
- *value = the_cubit->Cubit_cube_octet(*(CORBA_Octet *)nv->value()->value(), env);
-
- CORBA_Any *any = new CORBA_Any (_tc_CORBA_Octet, value, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_octet, result");
-}
-
-void
-_skel_Cubit::_cube_short_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (_tc_CORBA_Short);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_short, add_value");
-
- req.params (nvlist, env);
- dexc (env, "cube_short, get params");
-
- // Call Implementation
- CORBA_Short *value = new CORBA_Short;
- Cubit *the_cubit = (Cubit*)obj->get_subclass();
- *value = the_cubit->Cubit_cube_short(*(CORBA_Short *)nv->value ()->value (), env);
-
- CORBA_Any *any = new CORBA_Any (_tc_CORBA_Short, value, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_short, result");
-}
-
-void
-_skel_Cubit::_cube_long_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (_tc_CORBA_Long);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_long, add_value");
-
- req.params (nvlist, env);
- dexc (env, "cube_long, get params");
-
- // Call Implementation
- CORBA_Long *value = new CORBA_Long;
- Cubit *the_cubit = (Cubit*)obj->get_subclass();
- *value = the_cubit->Cubit_cube_long(*(CORBA_Long *)nv->value ()->value (), env);
-
- CORBA_Any *any =
- new CORBA_Any (_tc_CORBA_Long, value, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_long, result");
-}
-
-void
-_skel_Cubit::_cube_struct_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (TC_Cubit_Many);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_struct, add_value");
-
- req.params (nvlist, env);
- dexc (env, "cube_struct, get params");
-
- // Call Implementation
- Cubit_Many *value;
- Cubit *the_cubit = (Cubit*)obj->get_subclass();
- value = the_cubit->Cubit_cube_struct(*(Cubit_Many*)nv->value()->value(), env);
-
- Cubit_Many *retval = new Cubit_Many;
- retval->o = (CORBA_Octet)value->o;
- retval->s = (CORBA_Short)value->s;
- retval->l = value->l;
-
- // dmsg2 ("cube struct.o, %d -> %d", value->o, retval->o);
- // dmsg2 ("cube struct.s, %d -> %d", value->s, retval->s);
- // dmsg2 ("cube struct.l, %d -> %d", value->l, retval->l);
-
- CORBA_Any *any = new CORBA_Any (TC_Cubit_Many, retval, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_struct, result");
-}
-
-void
-_skel_Cubit::_cube_union_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (TC_Cubit_oneof);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
- dexc (env, "cube_union_3rd, add_value");
-
- req.params (nvlist, env);
- dexc (env, "cube_union_3rd, get params");
-
- // Call Implementation
- Cubit_oneof *v;
- Cubit *the_cubit = (Cubit*)obj->get_subclass();
- v = the_cubit->Cubit_cube_union(*(Cubit_oneof *)nv->value ()->value (), env);
-
- Cubit_oneof *r = new Cubit_oneof;
- r->_disc = v->_disc;
- r->o = (CORBA_Octet) (v->o);
- r->s = (CORBA_Short) (v->s);
- r->l = v->l;
- r->cm.o = (CORBA_Octet) (v->cm.o);
- r->cm.s = (CORBA_Short) (v->cm.s);
- r->cm.l = v->cm.l;
-
- CORBA_Any *any = new CORBA_Any (TC_Cubit_oneof, r, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "cube_struct, result");
-}
-
-void
-_skel_Cubit::_please_exit_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- Cubit *the_cubit = (Cubit*)obj->get_subclass();
- the_cubit->Cubit_please_exit(env);
-}
diff --git a/TAO/IIOP/tests/Cubit/TAO/cubitS.h b/TAO/IIOP/tests/Cubit/TAO/cubitS.h
deleted file mode 100644
index a4b4b853901..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/cubitS.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// $Id$
-
-// @(#)cubitS.h 05/14/97
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// Modified version of Cubit Example written by Sun Microsystems Inc.
-// Modified by: Brian Mendel
-
-/**************************************************************************
-This file has been hand-crafted to work with the ORB API of the SUN's IIOP
-implementation
-***************************************************************************/
-
-#ifndef _SKEL_CUBIT_HH
-#define _SKEL_CUBIT_HH
-
-#include "cubitC.h"
-
-class _skel_Cubit;
-typedef _skel_Cubit *_skel_Cubit_ptr;
-typedef _skel_Cubit_ptr _skel_Cubit_ref;
-
-class _skel_Cubit : public Cubit
-{
-public:
- virtual
- CORBA_Octet Cubit_cube_octet (CORBA_Octet o,
- CORBA_Environment &env) = 0;
- static
- void _cube_octet_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
-
- virtual
- CORBA_Short Cubit_cube_short (CORBA_Short s,
- CORBA_Environment &env) = 0;
-
- static
- void _cube_short_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
-
- virtual
- CORBA_Long Cubit_cube_long (CORBA_Long l,
- CORBA_Environment &env) = 0;
-
- static
- void _cube_long_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
-
- virtual
- Cubit_Many* Cubit_cube_struct (Cubit_Many &values,
- CORBA_Environment &env) = 0;
-
- static
- void _cube_struct_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
-
- virtual
- Cubit_oneof* Cubit_cube_union (Cubit_oneof &values,
- CORBA_Environment &env) = 0;
-
- static
- void _cube_union_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
-
- virtual
- void Cubit_please_exit (CORBA_Environment &env) = 0;
-
- static
- void _please_exit_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
-protected:
- _skel_Cubit(const char* obj_name = 0);
- virtual ~_skel_Cubit() { }
-
-};
-
-#endif // _SKEL_CUBIT_HH
diff --git a/TAO/IIOP/tests/Cubit/TAO/cubit_i.cpp b/TAO/IIOP/tests/Cubit/TAO/cubit_i.cpp
deleted file mode 100644
index ec3d3717768..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/cubit_i.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// $Id$
-
-// @(#)cubit_i.cpp 05/14/97
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// TEST: hand-written Cubit Implementation
-//
-// Modified version of Cubit Example written by Sun Microsystems Inc.
-// Modified by: Brian Mendel
-
-#include "cubit_i.h"
-
-#include <corba/boa.h> // ... and skeletons
-#include <corba/debug.h> // ... and debugging
-
-#include "connect.h"
-#include "params.h"
-
-Cubit_i::Cubit_i(const char* obj_name)
-: _skel_Cubit(obj_name)
-{
-}
-
-Cubit_i::~Cubit_i()
-{
-}
-
-CORBA_Octet
-Cubit_i::Cubit_cube_octet (CORBA_Octet o,
- CORBA_Environment &env)
-{
-
- return (CORBA_Octet) (o * o * o);
-}
-
-CORBA_Short
-Cubit_i::Cubit_cube_short (CORBA_Short s,
- CORBA_Environment &env)
-{
- return (CORBA_Short) (s * s * s);
-}
-
-
-CORBA_Long
-Cubit_i::Cubit_cube_long (CORBA_Long l,
- CORBA_Environment &env)
-{
- return (CORBA_Long) (l * l * l);
-}
-
-Cubit_Many*
-Cubit_i::Cubit_cube_struct (Cubit_Many &values,
- CORBA_Environment &env)
-{
- values.o = values.o * values.o * values.o;
- values.s = values.s * values.s * values.s;
- values.l = values.l * values.l * values.l;
-
- return &values;
-}
-
-Cubit_oneof*
-Cubit_i::Cubit_cube_union (Cubit_oneof &values,
- CORBA_Environment &env)
-{
- switch (values._disc) {
- case e_0th:
- values.o = (CORBA_Octet) (values.o * values.o * values.o);
- break;
- case e_1st:
- values.s = (CORBA_Short) (values.s * values.s * values.s);
- break;
- case e_2nd:
- values.l = values.l * values.l * values.l;
- break;
- case e_3rd:
- default:
- values.cm.o = (CORBA_Octet) (values.cm.o * values.cm.o * values.cm.o);
- values.cm.s = (CORBA_Short) (values.cm.s * values.cm.s * values.cm.s);
- values.cm.l = values.cm.l * values.cm.l * values.cm.l;
- }
- return &values;
-}
-
-void Cubit_i::Cubit_please_exit (CORBA_Environment &env)
-{
- TAO_OA_Parameters* params = TAO_OA_PARAMS::instance();
-
- dmsg ("I've been asked to shut down...");
- params->oa()->please_shutdown(env);
- dexc (env, "please_exit, please_shutdown");
-}
diff --git a/TAO/IIOP/tests/Cubit/TAO/cubit_i.h b/TAO/IIOP/tests/Cubit/TAO/cubit_i.h
deleted file mode 100644
index 7ddf1947cd3..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/cubit_i.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// $Id$
-
-// @(#)cubit_i.cpp 05/14/97
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// TEST: hand-written Cubit Implementation
-//
-// Modified version of Cubit Example written by Sun Microsystems Inc.
-// Modified by: Brian Mendel
-
-/**************************************************************************
-This file has been hand-crafted to work with the ORB API of the SUN's IIOP
-implementation
-***************************************************************************/
-
-#ifndef _CUBIT_I_HH
-#define _CUBIT_I_HH
-
-#include "cubitS.h"
-
-class Cubit_i;
-typedef Cubit_i *Cubit_i_ptr;
-typedef Cubit_i_ptr Cubit_i_ref;
-
-class Cubit_i : public _skel_Cubit
-{
-public:
- Cubit_i(const char* obj_name = 0);
- ~Cubit_i();
-
- virtual
- CORBA_Octet Cubit_cube_octet (CORBA_Octet o,
- CORBA_Environment &env);
-
- virtual
- CORBA_Short Cubit_cube_short (CORBA_Short s,
- CORBA_Environment &env);
-
- virtual
- CORBA_Long Cubit_cube_long (CORBA_Long l,
- CORBA_Environment &env);
-
- virtual
- Cubit_Many* Cubit_cube_struct (Cubit_Many &values,
- CORBA_Environment &env);
-
- virtual
- Cubit_oneof* Cubit_cube_union (Cubit_oneof &values,
- CORBA_Environment &env);
-
- virtual
- void Cubit_please_exit (CORBA_Environment &env);
-};
-
-#endif // _CUBIT_I_HH
diff --git a/TAO/IIOP/tests/Cubit/TAO/method_db.i b/TAO/IIOP/tests/Cubit/TAO/method_db.i
deleted file mode 100644
index a95573043ac..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/method_db.i
+++ /dev/null
@@ -1,69 +0,0 @@
-// $Id$
-
-// @(#)method_db.i 05/14/97
-
-// This file provides a way of initializing the method database
-// Written by: Brian Mendel
-
-#include "cubitS.h"
-
-static void
-is_a_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (_tc_CORBA_String);
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
-
- req.params (nvlist, env);
- if (env.exception () != 0)
- {
- dexc (env, "is_a_skel, get params");
- return;
- }
-
- CORBA_Boolean *retval;
- CORBA_String value = *(CORBA_String *) nv->value()->value();
-
- if (ACE_OS::strcmp ((char*)value, "IDL:Cubit:1.0") == 0
- || ACE_OS::strcmp ((char *)value, _tc_CORBA_Object->id (env)) == 0)
- retval = new CORBA_Boolean (CORBA_B_TRUE);
- else
- retval = new CORBA_Boolean (CORBA_B_FALSE);
-
- CORBA_Any *any = new CORBA_Any (_tc_CORBA_Boolean, retval, CORBA_B_TRUE);
-
- req.result (any, env);
- dexc (env, "_is_a, result");
-}
-
-
-struct method_db
-{
- CORBA_String opname;
- TAO_Skeleton skel_ptr;
-};
-
-static const method_db cubit_operations[] = {
- { "_is_a", &is_a_skel },
- { "cube_octet", &_skel_Cubit::_cube_octet_skel },
- { "cube_short", &_skel_Cubit::_cube_short_skel },
- { "cube_long", &_skel_Cubit::_cube_long_skel },
- { "cube_struct", &_skel_Cubit::_cube_struct_skel },
- { "cube_union", &_skel_Cubit::_cube_union_skel },
- { "please_exit", &_skel_Cubit::_please_exit_skel },
- { 0, 0 }
-};
-
-
-void initialize_method_db (TAO_Operation_Table *the_optable)
-{
- for (int ndx = 0; ndx < 7; ndx++)
- the_optable->bind(cubit_operations[ndx].opname,
- cubit_operations[ndx].skel_ptr);
-
-}
diff --git a/TAO/IIOP/tests/Cubit/TAO/svr.cpp b/TAO/IIOP/tests/Cubit/TAO/svr.cpp
deleted file mode 100644
index f96a537dbb4..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/svr.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-// $Id$
-
-// @(#)svr.cpp 05/14/97
-// Copyright 1994-1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// TEST: simple IIOP server for "cubit.idl" interface.
-//
-// Starts up, builds an objref, prints its string in debug mode,
-// listens for messages, responds to them.
-//
-// Modified version of Cubit Example written by Sun Microsystems Inc.
-// Modified by: Brian Mendel
-
-#include "ace/Get_Opt.h"
-#include "ace/Log_Msg.h"
-
-#include "corba/orb.h"
-#include "corba/debug.h"
-#include "connect.h"
-
-#include "cubit_i.h"
-
-extern void
-print_exception (const CORBA_Exception *, const char *, FILE *f=stdout);
-
-// Global Variables
-CORBA_String key = (CORBA_String)"key0";
-int num_of_objs = 1;
-
-// = TITLE
-// Parses the command line arguments and returns an error status
-//
-// = DESCRIPTION
-// This method parses the command line arguments
-int parse_args(int argc, char *argv[])
-{
- ACE_Get_Opt opts (argc, argv, "dk:n:");
- int c;
-
- while ((c = opts ()) != -1)
- switch (c) {
-
- case 'd': // debug flag
- TAO_debug_level++;
- continue;
-
- case 'k': // key (str)
- key = (CORBA_String) opts.optarg;
- continue;
-
- case 'n': // idle seconds b4 exit
- num_of_objs = ACE_OS::atoi(opts.optarg);
- continue;
-
- case '?':
- default:
- ACE_OS::fprintf (stderr, "usage: %s"
- " [-d]"
- " [-k {object_key}]"
- "\n", argv [0]
- );
- return 1;
- }
-
- return 0; // Indicates successful parsing of command line
-}
-
-
-//
-// Standard command line parsing utilities used.
-//
-int
-main (int argc, char *argv[])
-{
- CORBA_Environment env;
- CORBA_Object_ptr obj = 0;
- CORBA_ORB_ptr orb_ptr;
- CORBA_BOA_ptr oa_ptr;
- char *orb_name = "internet";
- int idle = -1;
-
- orb_ptr = CORBA_ORB_init (argc, argv, orb_name, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "ORB init");
- return 1;
- }
-
- // Initialize the Basic Object Adapter
- oa_ptr = orb_ptr->BOA_init(argc, argv, "ROA");
- if (oa_ptr == 0)
- ACE_ERROR_RETURN((LM_ERROR, "(%P|%t) Unable to initialize the BOA.\n"), 1);
-
-
- //
- // Parse remaining command line and verify parameters.
- //
- parse_args(argc, argv);
-
- // Create implementation object with user specified key
- Cubit_i_ptr *my_cubit = new Cubit_i_ptr[num_of_objs];
- for (int ndx = 0; ndx < num_of_objs; ndx++)
- {
- CORBA_String obj_str = CORBA_string_alloc(ACE_OS::strlen ((char *)key)+2);
- sprintf(obj_str, "%s%d", (char*)key, ndx);
- my_cubit[ndx] = new Cubit_i(obj_str);
- if (my_cubit[ndx] == 0)
- ACE_ERROR_RETURN((LM_ERROR, "(%P|%t) Unable to create implementation object&d\n", ndx), 2);
-
- if (TAO_debug_level >= 1)
- {
- // Why are we getting the BOA_ptr from here when we've already
- // got it above?
- CORBA_OctetSeq obj_key;
- obj_key.buffer = (CORBA_Octet *) obj_str;
- obj_key.length = obj_key.maximum = ACE_OS::strlen (obj_str);
-
- if (oa_ptr->find(obj_key, obj) == -1)
- ACE_ERROR_RETURN((LM_ERROR, "(%P|%t) Unable to locate object with key '%s', %p\n", key), 3);
-
- //
- // Stringify the objref we'll be implementing, and
- // print it to stdout. Someone will take that string
- // and give it to some client. Then release the object.
- //
- CORBA_String str;
-
- str = orb_ptr->object_to_string (obj, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "object2string");
- return 1;
- }
- ACE_OS::puts ((char *)str);
- ACE_OS::fflush (stdout);
- dmsg1 ("Object Created at: '%ul'", obj);
- dmsg1 ("listening as object '%s'", str);
-
- }
- CORBA_string_free(obj_str);
- }
-// Cubit_i_ptr my_cubit = new Cubit_i(key);
-// if (my_cubit1 == 0)
-// ACE_ERROR_RETURN((LM_ERROR, "(%P|%t) Unable to create implementation object\n"), 2);
-
-/* if (TAO_debug_level >= 1)
- {
- // Why are we getting the BOA_ptr from here when we've already
- // got it above?
- CORBA_OctetSeq obj_key;
- obj_key.buffer = (CORBA_Octet *) key;
- obj_key.length = obj_key.maximum = ACE_OS::strlen ((char *)key);
-
- if (oa_ptr->find(obj_key, obj) == -1)
- ACE_ERROR_RETURN((LM_ERROR, "(%P|%t) Unable to locate object with key '%s', %p\n", key), 3);
-
- //
- // Stringify the objref we'll be implementing, and
- // print it to stdout. Someone will take that string
- // and give it to some client. Then release the object.
- //
- CORBA_String str;
-
- str = orb_ptr->object_to_string (obj, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "object2string");
- return 1;
- }
- ACE_OS::puts ((char *)str);
- ACE_OS::fflush (stdout);
- dmsg1 ("listening as object '%s'", str);
-
- obj_key.buffer = (CORBA_Octet *)"key1";
- obj_key.length = obj_key.maximum = 4;
- if (oa_ptr->find(obj_key, obj) == -1)
- ACE_ERROR_RETURN((LM_ERROR, "(%P|%t) Unable to locate object with key '%s', %p\n", key), 3);
-
- str = orb_ptr->object_to_string (obj, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "object2string");
- return 1;
- }
- ACE_OS::puts ((char *)str);
- ACE_OS::fflush (stdout);
- dmsg1 ("listening as object '%s'", str);
- }
-*/
- // Handle requests for this object until we're killed, or one of
- // the methods asks us to exit.
- //
- int terminationStatus = 0;
-
-
-#if !defined(USE_HOMEBREW_EVENT_LOOP)
- ACE_Reactor::run_event_loop();
-#else
- while (1)
- {
- int result = params->reactor()->handle_events ();
-
- if (result == -1)
- {
- terminationStatus = -1;
- break;
- }
- }
-#endif
-
- //
- // Shut down the OA -- recycles all underlying resources (e.g. file
- // descriptors, etc).
- //
- oa_ptr->clean_shutdown (env);
- return 0;
-}
diff --git a/TAO/IIOP/tests/Cubit/TAO/test.mak b/TAO/IIOP/tests/Cubit/TAO/test.mak
deleted file mode 100644
index 58b77c28283..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/test.mak
+++ /dev/null
@@ -1,463 +0,0 @@
-# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-!IF "$(CFG)" == ""
-CFG=server - Win32 Debug
-!MESSAGE No configuration specified. Defaulting to server - Win32 Debug.
-!ENDIF
-
-!IF "$(CFG)" != "client - Win32 Release" && "$(CFG)" != "client - Win32 Debug"\
- && "$(CFG)" != "server - Win32 Release" && "$(CFG)" != "server - Win32 Debug"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE on this makefile
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "test.mak" CFG="server - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "client - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "client - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "server - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "server - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-!ERROR An invalid configuration is specified.
-!ENDIF
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE
-NULL=nul
-!ENDIF
-################################################################################
-# Begin Project
-# PROP Target_Last_Scanned "server - Win32 Debug"
-RSC=rc.exe
-CPP=cl.exe
-
-!IF "$(CFG)" == "client - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "client\Release"
-# PROP BASE Intermediate_Dir "client\Release"
-# PROP BASE Target_Dir "client"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir "client"
-OUTDIR=.
-INTDIR=.\Release
-
-ALL : "$(OUTDIR)\client.exe"
-
-CLEAN :
- -@erase "$(INTDIR)\clnt.obj"
- -@erase "$(INTDIR)\cubitC.obj"
- -@erase "$(OUTDIR)\client.exe"
-
-"$(INTDIR)" :
- if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\proto\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "..\proto\include" /D "WIN32" /D "NDEBUG"\
- /D "_CONSOLE" /Fp"$(INTDIR)/client.pch" /YX /Fo"$(INTDIR)/" /c
-CPP_OBJS=.\Release/
-CPP_SBRS=.\.
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/client.bsc"
-BSC32_SBRS= \
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ace.lib ..\lib\TAO.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-LINK32_FLAGS=ace.lib ..\lib\TAO.lib kernel32.lib user32.lib gdi32.lib\
- winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib\
- uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no\
- /pdb:"$(OUTDIR)/client.pdb" /machine:I386 /out:"$(OUTDIR)/client.exe"
-LINK32_OBJS= \
- "$(INTDIR)\clnt.obj" \
- "$(INTDIR)\cubitC.obj"
-
-"$(OUTDIR)\client.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "client - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "client\Debug"
-# PROP BASE Intermediate_Dir "client\Debug"
-# PROP BASE Target_Dir "client"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir "client"
-OUTDIR=.
-INTDIR=.\Debug
-
-ALL : "$(OUTDIR)\client.exe"
-
-CLEAN :
- -@erase "$(INTDIR)\clnt.obj"
- -@erase "$(INTDIR)\cubitC.obj"
- -@erase "$(INTDIR)\vc40.idb"
- -@erase "$(INTDIR)\vc40.pdb"
- -@erase "$(OUTDIR)\client.exe"
- -@erase "$(OUTDIR)\client.ilk"
- -@erase "$(OUTDIR)\client.pdb"
-
-"$(INTDIR)" :
- if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\proto\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\proto\include" /D "WIN32" /D\
- "_DEBUG" /D "_CONSOLE" /Fp"$(INTDIR)/client.pch" /YX /Fo"$(INTDIR)/"\
- /Fd"$(INTDIR)/" /c
-CPP_OBJS=.\Debug/
-CPP_SBRS=.\.
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/client.bsc"
-BSC32_SBRS= \
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
-# ADD LINK32 aced.lib ..\lib\TAO.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
-LINK32_FLAGS=aced.lib ..\lib\TAO.lib kernel32.lib user32.lib gdi32.lib\
- winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib\
- uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes\
- /pdb:"$(OUTDIR)/client.pdb" /debug /machine:I386 /out:"$(OUTDIR)/client.exe"
-LINK32_OBJS= \
- "$(INTDIR)\clnt.obj" \
- "$(INTDIR)\cubitC.obj"
-
-"$(OUTDIR)\client.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "server - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "server\Release"
-# PROP BASE Intermediate_Dir "server\Release"
-# PROP BASE Target_Dir "server"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir "server"
-OUTDIR=.
-INTDIR=.\Release
-
-ALL : "$(OUTDIR)\server.exe"
-
-CLEAN :
- -@erase "$(INTDIR)\cubit_i.obj"
- -@erase "$(INTDIR)\cubitS.obj"
- -@erase "$(INTDIR)\svr.obj"
- -@erase "$(OUTDIR)\server.exe"
-
-"$(INTDIR)" :
- if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\proto\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "..\proto\include" /D "WIN32" /D "NDEBUG"\
- /D "_CONSOLE" /Fp"$(INTDIR)/server.pch" /YX /Fo"$(INTDIR)/" /c
-CPP_OBJS=.\Release/
-CPP_SBRS=.\.
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/server.bsc"
-BSC32_SBRS= \
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ace.lib ..\lib\TAO.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-LINK32_FLAGS=ace.lib ..\lib\TAO.lib kernel32.lib user32.lib gdi32.lib\
- winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib\
- uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no\
- /pdb:"$(OUTDIR)/server.pdb" /machine:I386 /out:"$(OUTDIR)/server.exe"
-LINK32_OBJS= \
- "$(INTDIR)\cubit_i.obj" \
- "$(INTDIR)\cubitS.obj" \
- "$(INTDIR)\svr.obj"
-
-"$(OUTDIR)\server.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "server - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "server\Debug"
-# PROP BASE Intermediate_Dir "server\Debug"
-# PROP BASE Target_Dir "server"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir "server"
-OUTDIR=.
-INTDIR=.\Debug
-
-ALL : "$(OUTDIR)\server.exe"
-
-CLEAN :
- -@erase "$(INTDIR)\cubit_i.obj"
- -@erase "$(INTDIR)\cubitS.obj"
- -@erase "$(INTDIR)\svr.obj"
- -@erase "$(INTDIR)\vc40.idb"
- -@erase "$(INTDIR)\vc40.pdb"
- -@erase "$(OUTDIR)\server.exe"
- -@erase "$(OUTDIR)\server.ilk"
- -@erase "$(OUTDIR)\server.pdb"
-
-"$(INTDIR)" :
- if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\proto\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\proto\include" /D "WIN32" /D\
- "_DEBUG" /D "_CONSOLE" /Fp"$(INTDIR)/server.pch" /YX /Fo"$(INTDIR)/"\
- /Fd"$(INTDIR)/" /c
-CPP_OBJS=.\Debug/
-CPP_SBRS=.\.
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/server.bsc"
-BSC32_SBRS= \
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
-# ADD LINK32 aced.lib ..\lib\TAO.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
-LINK32_FLAGS=aced.lib ..\lib\TAO.lib kernel32.lib user32.lib gdi32.lib\
- winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib\
- uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes\
- /pdb:"$(OUTDIR)/server.pdb" /debug /machine:I386 /out:"$(OUTDIR)/server.exe"
-LINK32_OBJS= \
- "$(INTDIR)\cubit_i.obj" \
- "$(INTDIR)\cubitS.obj" \
- "$(INTDIR)\svr.obj"
-
-"$(OUTDIR)\server.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ENDIF
-
-.c{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.c{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-################################################################################
-# Begin Target
-
-# Name "client - Win32 Release"
-# Name "client - Win32 Debug"
-
-!IF "$(CFG)" == "client - Win32 Release"
-
-!ELSEIF "$(CFG)" == "client - Win32 Debug"
-
-!ENDIF
-
-################################################################################
-# Begin Source File
-
-SOURCE=.\clnt.cpp
-DEP_CPP_CLNT_=\
- "..\..\..\..\..\ace\config-win32.h"\
- ".\cubitC.h"\
- {$(INCLUDE)}"\ace\ACE.h"\
- {$(INCLUDE)}"\ace\ACE.i"\
- {$(INCLUDE)}"\ace\Auto_Ptr.cpp"\
- {$(INCLUDE)}"\ace\Auto_Ptr.h"\
- {$(INCLUDE)}"\ace\Auto_Ptr.i"\
- {$(INCLUDE)}"\ace\config-win32-common.h"\
- {$(INCLUDE)}"\ace\config.h"\
- {$(INCLUDE)}"\ace\Get_Opt.h"\
- {$(INCLUDE)}"\ace\Get_Opt.i"\
- {$(INCLUDE)}"\ace\Log_Msg.h"\
- {$(INCLUDE)}"\ace\Log_Priority.h"\
- {$(INCLUDE)}"\ace\Log_Record.h"\
- {$(INCLUDE)}"\ace\Log_Record.i"\
- {$(INCLUDE)}"\ace\Object_Manager.h"\
- {$(INCLUDE)}"\ace\Object_Manager.i"\
- {$(INCLUDE)}"\ace\OS.h"\
- {$(INCLUDE)}"\ace\OS.i"\
- {$(INCLUDE)}"\ace\SString.h"\
- {$(INCLUDE)}"\ace\SString.i"\
- {$(INCLUDE)}"\ace\stdcpp.h"\
- {$(INCLUDE)}"\ace\Trace.h"\
- {$(INCLUDE)}"\ace\ws2tcpip.h"\
-
-NODEP_CPP_CLNT_=\
- ".\corba\orb.h"\
- ".\corba\stub.h"\
-
-
-"$(INTDIR)\clnt.obj" : $(SOURCE) $(DEP_CPP_CLNT_) "$(INTDIR)"
-
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cubitC.cpp
-DEP_CPP_CUBIT=\
- ".\cubitC.h"\
-
-NODEP_CPP_CUBIT=\
- ".\corba\orb.h"\
- ".\corba\stub.h"\
-
-
-"$(INTDIR)\cubitC.obj" : $(SOURCE) $(DEP_CPP_CUBIT) "$(INTDIR)"
-
-
-# End Source File
-# End Target
-################################################################################
-# Begin Target
-
-# Name "server - Win32 Release"
-# Name "server - Win32 Debug"
-
-!IF "$(CFG)" == "server - Win32 Release"
-
-!ELSEIF "$(CFG)" == "server - Win32 Debug"
-
-!ENDIF
-
-################################################################################
-# Begin Source File
-
-SOURCE=.\cubitS.cpp
-DEP_CPP_CUBITS=\
- ".\cubitC.cpp"\
- ".\cubitC.h"\
- ".\cubitS.h"\
- ".\method_db.i"\
-
-NODEP_CPP_CUBITS=\
- ".\connect.h"\
- ".\corba\debug.h"\
- ".\corba\optable.h"\
- ".\corba\orb.h"\
- ".\corba\stub.h"\
- ".\iiopobj.h"\
- ".\params.h"\
-
-
-"$(INTDIR)\cubitS.obj" : $(SOURCE) $(DEP_CPP_CUBITS) "$(INTDIR)"
-
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cubit_i.cpp
-DEP_CPP_CUBIT_=\
- ".\cubit_i.h"\
- ".\cubitC.h"\
- ".\cubitS.h"\
-
-NODEP_CPP_CUBIT_=\
- ".\connect.h"\
- ".\corba\orb.h"\
- ".\corba\stub.h"\
- ".\params.h"\
-
-
-"$(INTDIR)\cubit_i.obj" : $(SOURCE) $(DEP_CPP_CUBIT_) "$(INTDIR)"
-
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\svr.cpp
-DEP_CPP_SVR_C=\
- "..\..\..\..\..\ace\config-win32.h"\
- ".\cubit_i.h"\
- ".\cubitC.h"\
- ".\cubitS.h"\
- {$(INCLUDE)}"\ace\ACE.h"\
- {$(INCLUDE)}"\ace\ACE.i"\
- {$(INCLUDE)}"\ace\Auto_Ptr.cpp"\
- {$(INCLUDE)}"\ace\Auto_Ptr.h"\
- {$(INCLUDE)}"\ace\Auto_Ptr.i"\
- {$(INCLUDE)}"\ace\config-win32-common.h"\
- {$(INCLUDE)}"\ace\config.h"\
- {$(INCLUDE)}"\ace\Get_Opt.h"\
- {$(INCLUDE)}"\ace\Get_Opt.i"\
- {$(INCLUDE)}"\ace\Log_Msg.h"\
- {$(INCLUDE)}"\ace\Log_Priority.h"\
- {$(INCLUDE)}"\ace\Log_Record.h"\
- {$(INCLUDE)}"\ace\Log_Record.i"\
- {$(INCLUDE)}"\ace\Object_Manager.h"\
- {$(INCLUDE)}"\ace\Object_Manager.i"\
- {$(INCLUDE)}"\ace\OS.h"\
- {$(INCLUDE)}"\ace\OS.i"\
- {$(INCLUDE)}"\ace\SString.h"\
- {$(INCLUDE)}"\ace\SString.i"\
- {$(INCLUDE)}"\ace\stdcpp.h"\
- {$(INCLUDE)}"\ace\Trace.h"\
- {$(INCLUDE)}"\ace\ws2tcpip.h"\
-
-NODEP_CPP_SVR_C=\
- ".\connect.h"\
- ".\corba\debug.h"\
- ".\corba\orb.h"\
- ".\corba\stub.h"\
-
-
-"$(INTDIR)\svr.obj" : $(SOURCE) $(DEP_CPP_SVR_C) "$(INTDIR)"
-
-
-# End Source File
-# End Target
-# End Project
-################################################################################
diff --git a/TAO/IIOP/tests/Cubit/TAO/test.mdp b/TAO/IIOP/tests/Cubit/TAO/test.mdp
deleted file mode 100644
index eccc5e94b69..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/test.mdp
+++ /dev/null
Binary files differ
diff --git a/TAO/IIOP/tests/Cubit/TAO/test1.cpp b/TAO/IIOP/tests/Cubit/TAO/test1.cpp
deleted file mode 100644
index 753a3784e43..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/test1.cpp
+++ /dev/null
@@ -1,392 +0,0 @@
-// $Id$
-
-// @(#)test1.cpp 1.4 95/09/28
-// Copyright 1995 by Sun Microsystems, Inc.
-// All Rights Reserved
-//
-// TEST stubs for "test1"
-//
-
-#include <stdio.h>
-
-#include "test1.h"
-
-
-//
-// Define all the stubs ... it's a lot less error prone to do it with
-// macros than by hand!
-//
-// NOTE: the "calldata" is exported for use by the skeletons. At some
-// point skeletons will probably be fully abstracted; for now they aren't.
-//
-// Also, for some reason, name mangling is changed by the explicit
-// declaration as "extern" -- if it's not done, linking fails.
-//
-#define DEFINE_TEST3(typename, truetype, truetypename) \
- static const TAO_Param_Data test1_ ## typename ## _paramdata [4] = { \
- { _tc_CORBA_ ## truetypename, PARAM_RETURN, 0 }, \
- { _tc_CORBA_ ## truetypename, PARAM_IN, 0 }, \
- { _tc_CORBA_ ## truetypename, PARAM_OUT, 0 }, \
- { _tc_CORBA_ ## truetypename, PARAM_INOUT, 0 }, \
- }; \
- \
- extern const TAO_Call_Data test1_ ## typename ## _calldata; \
- \
- const TAO_Call_Data test1_ ## typename ## _calldata = { \
- "test_" #typename, CORBA_B_TRUE, \
- 4, &test1_ ## typename ## _paramdata [0], \
- 0, 0, \
- }; \
- \
- CORBA_ ## truetype \
- test1_test_ ## typename (test1_ptr target, \
- CORBA_ ## truetype in_a1, \
- CORBA_ ## truetype &out_a2, \
- CORBA_ ## truetype &inout_a3, \
- CORBA_Environment &env) { \
- CORBA_ ## truetype _retval; \
- STUB_Object *_obj; \
- if (target->QueryInterface (IID_STUB_Object, (void **)&_obj) \
- != NOERROR) \
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO)); \
- else { \
- _obj->do_call (env, &test1_ ## typename ## _calldata, \
- &_retval, &in_a1, &out_a2, &inout_a3); \
- _obj->Release (); \
- } \
- return _retval; \
- }
-
-// changed extern const calldata test1_ ## typename ## _calldata;
-// to const calldata test1_ ## typename ## _calldata; \
-
-// changed CORBA_ ## truetype _retval = 0; to changed CORBA_ ## truetype _retval;
-
-#define DEFINE_TEST(typename, truetype) \
- DEFINE_TEST3(typename, truetype, truetype)
-
-
-//
-// Generate a system exception, passing an operation ID that's
-// not allowed by IIOP (much less this interface) and verifying
-// that the server returns some kind of system exception.
-//
-static const TAO_Call_Data illegal_calldata = {
- "+_illegal", CORBA_B_TRUE,
- 0, 0,
- 0, 0
-};
-
-void
-test_illegal (test1_ptr target, CORBA_Environment &env)
-{
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data)
- != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else {
- data->do_call (env, &illegal_calldata
- );
- data->Release ();
- }
-}
-
-
-extern const TAO_Call_Data test1_void_calldata;
-const TAO_Call_Data test1_void_calldata = {
- "test_void", CORBA_B_TRUE,
- 0, 0,
- 0, 0
-};
-
-void
-test1_test_void (test1_ptr target, CORBA_Environment &env)
-{
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data)
- != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else {
- data->do_call (env, &test1_void_calldata
- );
- data->Release ();
- }
-}
-
-DEFINE_TEST (short, Short);
-DEFINE_TEST (long, Long);
-DEFINE_TEST (ushort, UShort);
-DEFINE_TEST (ulong, ULong);
-
-#if defined(MIPS)
-//
-// NOTE: C/C++ compilers as a rule pass a "float" in the space that
-// a "double" takes up. Conversions are evidently optional; portability
-// forces the following "explicit temporary" hack to work on at least
-// one MIPS platform, which converts the parameter to "double" and
-// hence changes the binary representation. (Even if that is a compiler
-// bug, it's probably required by now for binary compatibility!)
-//
-// A "-k ansi" compiler flag may be needed to get correct behaviour;
-// passing the "in" parameters by reference apparently works too. At
-// this time, none of these solutions is used by default.
-//
-// This stub-level hackery seems like it could be replaced inside of the
-// stub interpreter, which could just manually convert "float" parameters
-// (all of them) as special cases. But of course, that would slow the
-// interpreter down on _every_ call, not just the ones that require it
-// (such as this one). Tradeoffs!
-//
-static const TAO_Param_Data test1_float_paramdata [4] = {
- { _tc_CORBA_Float , PARAM_RETURN , 0 },
- { _tc_CORBA_Float , PARAM_IN , 0 },
- { _tc_CORBA_Float , PARAM_OUT , 0 },
- { _tc_CORBA_Float , PARAM_INOUT , 0 }
-};
-
-extern const TAO_Call_Data test1_float_calldata;
-
-const TAO_Call_Data test1_float_calldata = {
- "test_float", CORBA_B_TRUE,
- 4 , &test1_float_paramdata [0],
- 0 , 0
-};
-
-CORBA_Float
-test1_test_float (
- test1_ptr target,
- CORBA_Float in_a1,
- CORBA_Float &out_a2,
- CORBA_Float &inout_a3,
- CORBA_Environment &env
-)
-{
- CORBA_Float _retval;
-
- // These three temporaries required due to MIPS compiler bug
- CORBA_Float _in_a1 = in_a1;
- CORBA_Float _out_a2 = out_a2;
- CORBA_Float _inout_a3 = inout_a3;
-
- target -> data -> do_call (env,
- &test1_float_calldata,
- &_retval,
- &_in_a1,
- &_out_a2,
- &_inout_a3);
- return _retval;
-}
-
-#else
-DEFINE_TEST (float, Float);
-#endif // MIPS
-
-
-DEFINE_TEST (double, Double);
-DEFINE_TEST (boolean, Boolean);
-DEFINE_TEST (char, Char);
-DEFINE_TEST (octet, Octet);
-
-/*
-CORBA_Any *
-test1_test_any (test1_ptr target,
- const CORBA_Any &in_a1,
- CORBA_Any *&out_a2,
- CORBA_Any &inout_a3,
- CORBA_Environment &env)
-{
- // XXX implement this stub! ... annoying that C++ mapping
- // calls for so much special casing
-}
-*/
-
-
-DEFINE_TEST3 (TypeCode, TypeCode_ptr, TypeCode);
-DEFINE_TEST3 (Principal, Principal_ptr, Principal);
-DEFINE_TEST3 (Object, Object_ptr, Object);
-
-// NOTE: C++ mapping has "in" strings as "const", which doesn't
-// show up in this macro ...
-DEFINE_TEST3 (string, Char *, String);
-
-DEFINE_TEST (longlong, LongLong);
-DEFINE_TEST (ulonglong, ULongLong);
-DEFINE_TEST (wchar, WChar);
-
-// NOTE: C++ mapping has "in" strings as "const", which doesn't
-// show up in this macro ...
-DEFINE_TEST3 (wstring, WChar *, WString);
-
-#if !defined(NONNATIVE_LONGDOUBLE)
-DEFINE_TEST (longdouble, LongDouble);
-#endif
-
-#undef DEFINE_TEST
-
-
-//
-// Utility macros used to construct octet codes that are aligned
-// on longword boundaries, and with a known byte order. This
-// happens to use big endian encoding since it was convenient.
-// (Longword alignment is a happy accident of the specification
-// of OMG-IDL ... it could have been much worse!)
-//
-// It'd be much simpler to lay out such data in assembler!
-//
-
-#if defined (WORDS_BIGENDIAN)
-# define MAKE_BIG_LONG(a,b,c,d) \
- ((((a) & 0xff) << 24) | (((b) & 0xff) << 16) \
- | (((c) & 0xff) << 8) | ((d) & 0xff))
-# define BIG_ENDIAN_LONG(x) (x)
-
-#else // LITTLE_ENDIAN
-# define MAKE_BIG_LONG(a,b,c,d) \
- ((((d) & 0xff) << 24) | (((c) & 0xff) << 16) \
- | (((b) & 0xff) << 8) | ((a) & 0xff))
-# define BYTE_FROM(n,integer) (((integer)>>(8*(n)))&0xff)
-# define BIG_ENDIAN_LONG(integer) \
- MAKE_BIG_LONG (BYTE_FROM(3,integer), BYTE_FROM(2,integer),\
- BYTE_FROM(1,integer), BYTE_FROM(0,integer))
-#endif
-
-
-
-//
-// "x1" exception typecode ... must be longword aligned
-//
-static CORBA_Long oc_x1 [] = {
- 0, // big endian flag + padding
- BIG_ENDIAN_LONG (29), // length of ID string + NUL
- MAKE_BIG_LONG ('I', 'D', 'L', ':'), // bytes of ID string
- MAKE_BIG_LONG ('E', 'n', 'g', '.'),
- MAKE_BIG_LONG ('S', 'U', 'N', '.'),
- MAKE_BIG_LONG ('C', 'O', 'M', '/'),
- MAKE_BIG_LONG ('t', 'e', 's', 't'),
- MAKE_BIG_LONG ('1', '/', 'x', '1'),
- MAKE_BIG_LONG (':', '1', '.', '0'),
- 0,
- BIG_ENDIAN_LONG (1), // (empty) namelen + NUL
- 0,
- BIG_ENDIAN_LONG (1), // only one struct member
- BIG_ENDIAN_LONG (1), // (empty) member name + NUL
- 0,
- BIG_ENDIAN_LONG (tk_long)
-};
-static CORBA_TypeCode tc_x1 (tk_except, sizeof oc_x1,
- (unsigned char *)&oc_x1, CORBA_B_FALSE);
-CORBA_TypeCode_ptr _tc_test1_x1 = &tc_x1;
-
-
-
-//
-// "x2" exception typecode ... must be longword aligned
-//
-static CORBA_Long oc_x2 [] = {
- 0, // big endian flag + padding
- BIG_ENDIAN_LONG (29), // length of ID string + NUL
- MAKE_BIG_LONG ('I', 'D', 'L', ':'), // bytes of ID string
- MAKE_BIG_LONG ('E', 'n', 'g', '.'),
- MAKE_BIG_LONG ('S', 'U', 'N', '.'),
- MAKE_BIG_LONG ('C', 'O', 'M', '/'),
- MAKE_BIG_LONG ('t', 'e', 's', 't'),
- MAKE_BIG_LONG ('1', '/', 'x', '2'),
- MAKE_BIG_LONG (':', '1', '.', '0'),
- 0,
- BIG_ENDIAN_LONG (1), // (empty) namelen + NUL
- 0,
- BIG_ENDIAN_LONG (2), // two struct members
-
- BIG_ENDIAN_LONG (1), // (empty) member name + NUL
- 0,
- BIG_ENDIAN_LONG (tk_objref),
- BIG_ENDIAN_LONG (29), // type ID + NUL
- MAKE_BIG_LONG ('I', 'D', 'L', ':'), // bytes of ID string
- MAKE_BIG_LONG ('o', 'm', 'g', '.'),
- MAKE_BIG_LONG ('o', 'r', 'g', '/'),
- MAKE_BIG_LONG ('C', 'O', 'R', 'B'),
- MAKE_BIG_LONG ('A', '/', 'O', 'b'),
- MAKE_BIG_LONG ('j', 'e', 'c', 't'),
- MAKE_BIG_LONG (':', '1', '.', '0'),
- 0,
-
- BIG_ENDIAN_LONG (1), // (empty) member name + NUL
- 0,
- BIG_ENDIAN_LONG (tk_long)
-};
-static CORBA_TypeCode tc_x2 (tk_except, sizeof oc_x2,
- (unsigned char *)&oc_x2, CORBA_B_FALSE);
-CORBA_TypeCode_ptr _tc_test1_x2 = &tc_x2;
-
-
-//
-// parameter, exception, and call descriptions for "test_throw"
-//
-static const TAO_Param_Data test1_test_throw_paramdata [1] = {
- { _tc_CORBA_Long, PARAM_IN, 0 }
-};
-
-static CORBA_TypeCode_ptr test1_test_throw_excepts [2] = {
- &tc_x1, &tc_x2
-};
-
-extern const TAO_Call_Data test1_test_throw_calldata;
-
-const TAO_Call_Data test1_test_throw_calldata = {
- "test_throw", CORBA_B_TRUE,
- 1, &test1_test_throw_paramdata [0],
- 2, &test1_test_throw_excepts [0]
-};
-
-//
-// "test_throw" stub
-//
-void
-test1_test_throw (
- test1_ptr target,
- CORBA_Long case_num,
- CORBA_Environment &env // throw (x1, x2)
-)
-{
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data)
- != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else {
- data->do_call (env, &test1_test_throw_calldata,
- &case_num);
- data->Release ();
- }
-}
-
-//
-// PLEASE EXIT
-//
-
-static const TAO_Call_Data test1_please_exit_calldata = {
- "please_exit", CORBA_B_FALSE,
- 0, 0,
- 0, 0
-};
-
-void
-test1_please_exit (
- test1_ptr target,
- CORBA_Environment &env
-)
-{
- STUB_Object *data;
-
- if (target->QueryInterface (IID_STUB_Object, (void **)&data)
- != NOERROR)
- env.exception (new CORBA_INV_OBJREF (COMPLETED_NO));
- else {
- data->do_call (env, &test1_please_exit_calldata
- );
- data->Release ();
- }
-}
-
diff --git a/TAO/IIOP/tests/Cubit/TAO/test1.h b/TAO/IIOP/tests/Cubit/TAO/test1.h
deleted file mode 100644
index 63e409d36c3..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/test1.h
+++ /dev/null
@@ -1,126 +0,0 @@
-// $Id$
-
-// @(#)test1.hh 1.2 95/09/12
-// Copyright 1995 by Sun Microsystems, Inc.
-// All Rights Reserved
-//
-// TEST interface for "test1"
-//
-
-#ifndef _TEST1_HH
-#define _TEST1_HH
-
-#include <corba/orb.h>
-#include <corba/stub.h>
-
-
-#ifdef _MSC_VER
-#pragma pack (push, 1) // VC++, known padding rules
-#endif // VC++
-
-typedef CORBA_UShort test1_ushort;
-typedef CORBA_ULong test1_ulong;
-
-typedef CORBA_LongLong test1_longlong;
-typedef CORBA_ULongLong test1_ulonglong;
-typedef CORBA_LongDouble test1_longdouble;
-
-typedef CORBA_Object test1;
-typedef test1 *test1_ptr;
-
-#define DECL_TEST(typename, truetype) \
- truetype \
- test1_test_ ## typename ( \
- test1_ptr target, \
- truetype in_a1, \
- truetype &out_a2, \
- truetype &inout_a3, \
- CORBA_Environment &env \
- )
-
-void test_illegal (test1_ptr target, CORBA_Environment &env);
-void test1_test_void (test1_ptr target, CORBA_Environment &env);
-
-DECL_TEST (short, CORBA_Short);
-DECL_TEST (long, CORBA_Long);
-DECL_TEST (ushort, CORBA_UShort);
-DECL_TEST (ulong, CORBA_ULong);
-DECL_TEST (float, CORBA_Float);
-DECL_TEST (double, CORBA_Double);
-DECL_TEST (boolean, CORBA_Boolean);
-DECL_TEST (char, CORBA_Char);
-DECL_TEST (octet, CORBA_Octet);
-
-CORBA_Any *
-test1_test_any (
- test1_ptr target,
- const CORBA_Any &in_a1,
- CORBA_Any *&out_a2,
- CORBA_Any &inout_a3,
- CORBA_Environment &env
-);
-
-DECL_TEST (TypeCode, CORBA_TypeCode_ptr);
-DECL_TEST (Principal, CORBA_Principal_ptr);
-DECL_TEST (Object, CORBA_Object_ptr);
-
-// NOTE: CORBA C++ mapping says the "in" string is const
-DECL_TEST (string, CORBA_String);
-
-DECL_TEST (longlong, CORBA_LongLong);
-DECL_TEST (ulonglong, CORBA_ULongLong);
-DECL_TEST (wchar, CORBA_WChar);
-
-// NOTE: CORBA C++ mapping says the "in" string is const
-DECL_TEST (wstring, CORBA_WString);
-
-DECL_TEST (longdouble, CORBA_LongDouble);
-
-#undef DECL_TEST
-
-extern CORBA_TypeCode_ptr _tc_test1_x1;
-
-class test1_x1 : public CORBA_UserException {
- public:
- CORBA_Long case_num;
-
- test1_x1 (CORBA_Long n)
- : CORBA_UserException (_tc_test1_x1), case_num (n)
- { }
-};
-
-extern CORBA_TypeCode_ptr _tc_test1_x2;
-
-class test1_x2 : public CORBA_UserException {
- public:
- CORBA_Object_ptr obj;
- CORBA_Long case_num;
-
- test1_x2 (CORBA_Object_ptr obj1,
- CORBA_Long n)
- : CORBA_UserException (_tc_test1_x2),
- obj (obj1), case_num (n) { }
-
- ~test1_x2 ()
- { CORBA_release (obj); }
-};
-
-void
-test1_test_throw (
- test1_ptr target,
- CORBA_Long case_num,
- CORBA_Environment &env // throw (x1, x2)
-);
-
-void
-test1_please_exit (
- test1_ptr target,
- CORBA_Environment &env
-);
-
-#ifdef _MSC_VER
-#pragma pack (pop) // VC++, go back to other padding rules
-#endif // VC++
-
-#endif // _TEST1_HH
-
diff --git a/TAO/IIOP/tests/Cubit/TAO/test1.idl b/TAO/IIOP/tests/Cubit/TAO/test1.idl
deleted file mode 100644
index d47ab676ef5..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/test1.idl
+++ /dev/null
@@ -1,80 +0,0 @@
-// $Id$
-
-// @(#)test1.idl 1.1 95/09/11
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-//
-// TEST basic marshaling tests for all IDL primitive types, modes
-//
-// This test omits constructed types (struct, union, enum, sequence, and
-// array types), and only tests very simple user defined exceptions.
-//
-// Values returned are well defined functions of the input values:
-//
-// * For numeric types (octet, short, long, longlong, float, double,
-// longdouble, and unsigned variants) the value is cubed.
-// * For Boolean, it's the negation.
-// * For Any, TypeCode, Principal, Object, char and wchar,
-// string and wstring, it's the input value.
-//
-// The "return" and "out" parameter is the function of the "in" parameter;
-// the "inout" parameter is the function of its original value.
-//
-// The "echo" test has all output values be the input values, with no
-// changes to the bit patterns originally transmitted. While easier to
-// use to identify some kinds of problem, it is not as complete a test.
-//
-
-#define DECL_TEST(type) \
- type test_ ## type ( in type a1, out type a2, inout type a3)
-
-#pragma prefix "Eng.SUN.COM" // only for Sun-defined interfaces
-
-interface test1 {
- void test_void ();
-
- typedef unsigned short ushort;
- typedef unsigned long ulong;
-
- typedef long long longlong;
- typedef unsigned long long ulonglong;
- typedef long double longdouble;
-
- DECL_TEST (short);
- DECL_TEST (long);
- DECL_TEST (ushort);
- DECL_TEST (ulong);
- DECL_TEST (float);
- DECL_TEST (double);
- DECL_TEST (boolean);
- DECL_TEST (char);
- DECL_TEST (octet);
- DECL_TEST (any);
- DECL_TEST (TypeCode);
- DECL_TEST (Principal);
- DECL_TEST (Object); // CORBA::Object
- DECL_TEST (string); // unbounded string
-
- DECL_TEST (longlong);
- DECL_TEST (ulonglong);
- DECL_TEST (wchar);
- DECL_TEST (wstring); // unbounded wstring
- DECL_TEST (longdouble);
-
- //
- // All cases, "case_num" in the exception is the same as the 'in' param
- // * negative or zero, throws x1
- // * positive even cases, throws x2 with obj = null objref
- // * positive odd cases, throws x2 with obj = target objref
- //
- exception x1 { long case_num; };
- exception x2 { Object obj; long case_num; };
-
- void test_throw (in long case_num) raises (x1, x2);
-
- //
- // Aid for test cleanup in case server's not told to quit after
- // being idle for some time period
- //
- oneway void please_exit ();
-};
-
diff --git a/TAO/IIOP/tests/Cubit/TAO/test1_clnt.cpp b/TAO/IIOP/tests/Cubit/TAO/test1_clnt.cpp
deleted file mode 100644
index 85853f13c8f..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/test1_clnt.cpp
+++ /dev/null
@@ -1,680 +0,0 @@
-// $Id$
-
-// @(#)test1_clnt.cpp 1.5 95/09/24
-// Copyright 1995 by Sun Microsystems, Inc.
-// All Rights Reserved
-//
-// TEST client driver for "test1"
-//
-
-#ifdef USE_IOSTREAM
-#include <iostream.h>
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <ace/Get_Opt.h>
-
-#if unix
-# include <unistd.h>
-
-#else // windows
-
-#endif // unix
-
-#include "test1.h"
-#include <corba/debug.h>
-
-
-#if !defined (_WIN32)
-extern char *optarg; // missing on some platforms
-#endif
-
-extern void
-print_exception (const CORBA_Exception *, const char *, FILE *f=stdout);
-
-// All tests are specified so that the return value and "out" (second)
-// parameters are easily tested functions of the "in" (first)
-// parameter, and the "inout" (third) parameter is the same function
-// the its initial value. Caller is expected to specify two different
-// "in" values. This helps make the marshaled bits vary, and turn up
-// a class of potential problems that'd be hidden if parameter order
-// had no effect on the test.
-//
-// PERFORM_TEST calls a test for a given type, reporting in cases
-// where the ORB or operation failed. The COMPARE symbol can be
-// redefined to achieve different functions -- e.g. cubing numbers,
-// identity, negation, etc. It should return true iff the correct
-// result was returned.
-//
-// BAD_COMPARE_VALUES is to produce diagnostics when a test fails,
-// showing the actual and expected values of returned parameters.
-// This helps diagnose specific porting problems.
-//
-// The RELEASE symbol may be defined to free memory, eliminating
-// client side memory leaks in the test.
-//
-#define RELEASE(X) // NOP by default
-#define PERFORM_TEST(name,type,value1,value2) \
- { \
- CORBA_ ## type v1, v2, v3; \
- \
- v1 = (CORBA_ ## type)(value1); \
- v2 = 0; \
- v3 = (CORBA_ ## type)(value2); \
- \
- test_count++; \
- v1 = test1_test_ ## name (target, v1, v2, v3, env); \
- if (env.exception () != 0) { \
- print_exception (env.exception (), "perform test_" #name); \
- error_count++; \
- } else if (!COMPARE (CORBA_ ## type, v1, value1) \
- || !COMPARE (CORBA_ ## type, v2, value1) \
- || !COMPARE (CORBA_ ## type, v3, value2) ) { \
- ACE_OS::fprintf (stderr, "bad comparison, test_" #name "\n"); \
- BAD_COMPARE_VALUES(type,v1,v2,v3,value1,value2) \
- error_count++; \
- } \
- RELEASE (v1); RELEASE (v2); RELEASE (v3); \
- }
-
-//
-// This messing about is because the ostream op << cannot always
-// be used with all kinds of data ... e.g. LongDouble, TypeCode.
-//
-#ifdef USE_IOSTREAM
-# define DO_IO(x) x
-#else
-# define DO_IO(x)
-#endif
-#define BAD_COMPARE_VALUE_OUT(type,v1,v2,v3,value1,value2) \
- DO_IO( cerr << " v1=" << v1; \
- cerr << " expecting " << EXPVAL(CORBA_ ## type, value1) << "\n"; \
- cerr << " v2=" << v2; \
- cerr << " expecting " << EXPVAL(CORBA_ ## type, value1) << "\n"; \
- cerr << " v3=" << v3; \
- cerr << " expecting " << EXPVAL(CORBA_ ## type, value2) << "\n");
-#define BAD_COMPARE_VALUES(type,v1,v2,v3,value1,value2) \
- BAD_COMPARE_VALUE_OUT(type,v1,v2,v3,value1,value2)
-
-// test utility -- should be able to just use is_equivalent() directly
-// but this implementation uses null pointers for nil, so this must
-// check for nulls first. (May be noncompliant with C++ mapping!)
-
-static CORBA_Boolean
-compare_objrefs (CORBA_Object_ptr v1,
- CORBA_Object_ptr v2)
-{
- CORBA_Boolean temp;
- CORBA_Environment env;
-
- if (v1 == v2)
- return CORBA_B_TRUE;
-
- if (CORBA_is_nil (v1))
- return CORBA_is_nil (v2);
-
- temp = v1->_is_equivalent (v2, env);
-
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "compare objref");
- return CORBA_B_FALSE;
- }
- return temp;
-}
-
-
-//
-// Helper routine to help sure math (especially for floating point)
-// gets done correctly.
-//
-template <class Type>
-Type cube (Type arg)
-{
- Type temp = arg;
-
- temp = temp * arg;
- temp = temp * arg;
- return temp;
-}
-
-static int skip_longdouble = 0;
-
-// This just performs the tests ...
-
-void
-do_tests (test1_ptr target,
- unsigned loop_count,
- unsigned &test_count,
- unsigned &error_count)
-{
- int count;
-
- for (count = 0; count < loop_count; count++)
- {
- CORBA_Environment env;
- CORBA_Environment env2; // XXX
-
- //
- // test_void
- //
- test_count++;
- test1_test_void (target, env);
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "perform test_void");
- error_count++;
- }
-
- //
- // Numeric tests ... try some variety in computation, no real
- // rationale in the choice of initial parameter values except
- // not to use the same values all the time.
- //
-#define EXPVAL(type,original_value) ((type) cube((type)(original_value)))
-#define COMPARE(type,retval,original_value) \
- ((retval) == EXPVAL(type, original_value))
-
- PERFORM_TEST (octet, Octet, count + 29, count - 22);
-
- PERFORM_TEST (short, Short, count - 23, count + 19);
- PERFORM_TEST (ushort, UShort, count + 23, count - 19);
-
- PERFORM_TEST (long, Long, count - 17, count + 20);
- PERFORM_TEST (ulong, ULong, count + 17, count - 20);
-
-#if !defined (NONNATIVE_LONGLONG)
- // don't try this on platforms that don't support
- // math on longlongs ...
- PERFORM_TEST (longlong, LongLong, count - 177, count + 3);
- PERFORM_TEST (ulonglong, ULongLong, count + 177, count - 3);
-#endif // !NONNATIVE_LONGLONG
-
-#if !defined (i386)
- //
- // XXX not sure what's wrong with the COMPARE macro with respect to
- // floating point on x86, since fprintf shows the values basically
- // look correct ... but these float/double tests fail.
- //
- PERFORM_TEST (float, Float, count - 0.29, count + 3.14159);
- PERFORM_TEST (double, Double, count * 1.77, count * 2.71);
-#endif // !defined (i386)
-
-
-#ifndef NONNATIVE_LONGDOUBLE
-#undef BAD_COMPARE_VALUES
-#define BAD_COMPARE_VALUES(type,v1,v2,v3,value1,value2) // NOP
-
- //
- // don't try this between two platforms that don't provide
- // arithmetic support for LongDouble values ...
- //
- if (!skip_longdouble)
- PERFORM_TEST (longdouble, LongDouble,
- count - 2.33, count * 3.14159);
-
-# undef BAD_COMPARE_VALUES
-# define BAD_COMPARE_VALUES(type,v1,v2,v3,value1,value2) \
- BAD_COMPARE_VALUE_OUT(type,v1,v2,v3,value1,value2)
-#endif // !NONNATIVE_LONGDOUBLE
-
-#undef COMPARE
-#undef EXPVAL
-
-
- //
- // Boolean -- negation
- //
-#define EXPVAL(type,original_value) (!(type)(original_value))
-#define COMPARE(type,retval,original_value) \
- (((type)(retval)) == EXPVAL(type,original_value))
-
- PERFORM_TEST (boolean, Boolean,
- (count & 0x01) != 0, (count & 0x01) == 0);
-#undef COMPARE
-#undef EXPVAL
-
- //
- // Char, WChar -- identity
- //
-#define EXPVAL(type,original_value) ((type)(original_value))
-#define COMPARE(type,retval,original_value) \
- (((type)(retval)) == EXPVAL(type,original_value))
-
- PERFORM_TEST (char, Char, count + 26, count - 5);
- PERFORM_TEST (wchar, WChar, count, count + 25);
-#undef COMPARE
-#undef EXPVAL
-
- //
- // Object_ptr -- identity (special comparision)
- //
-#define EXPVAL(type,original_value) ((type)(original_value))
-#define COMPARE(type,retval,original_value) \
- (compare_objrefs (retval, original_value) == CORBA_B_TRUE)
-#undef RELEASE
-#define RELEASE(obj) \
- { CORBA_release (obj); }
-
- PERFORM_TEST (Object, Object_ptr, target, CORBA_Object::_nil ());
-#undef COMPARE
-#undef EXPVAL
-
- //
- // TypeCode_ptr -- identity (special comparision), and verifies
- // that most of the built-in typecode constants exist.
- //
- // XXX should try this on all standard and system exceptions!
- //
- // XXX this currently tests only marshaling/unmarshaling of
- // "no parameter" TypeCodes ... complex ones (objref, struct,
- // union, enum, sequence, array, alias, exception) are _NOT_
- // currently attempted.
- //
- // XXX for the simple typecodes (string, wstring), the single
- // "bound" parameter isn't exercised/verified as it should be.
- //
-#define EXPVAL(type,original_value) ((type)(original_value))
-#define COMPARE(type,retval,original) \
- (((retval) == (original)) || \
- ((retval)->_kind == (original)->_kind))
-
-#undef RELEASE
-#define RELEASE(tc) \
- { CORBA_release (tc); }
-
-#undef BAD_COMPARE_VALUES
-#define BAD_COMPARE_VALUES(type,v1,v2,v3,value1,value2) // NOP
-
- {
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_Null, _tc_CORBA_Void);
-
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_Short, _tc_CORBA_UShort);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_Long, _tc_CORBA_ULong);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_LongLong, _tc_CORBA_ULongLong);
-
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_Float, _tc_CORBA_Double);
-
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_Boolean, _tc_CORBA_Octet);
-
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_Any, _tc_CORBA_TypeCode);
-
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_LongDouble, _tc_CORBA_Principal);
-
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_Char, _tc_CORBA_String);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_WChar, _tc_CORBA_WString);
-
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_LongDouble, _tc_CORBA_Octet);
-
- //
- // Try all of the standard exception typecodes.
- //
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_UNKNOWN, _tc_CORBA_BAD_PARAM);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_NO_MEMORY, _tc_CORBA_IMP_LIMIT);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_COMM_FAILURE, _tc_CORBA_INV_OBJREF);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_OBJECT_NOT_EXIST, _tc_CORBA_NO_PERMISSION);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_INTERNAL, _tc_CORBA_MARSHAL);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_INITIALIZE, _tc_CORBA_NO_IMPLEMENT);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_BAD_TYPECODE, _tc_CORBA_BAD_OPERATION);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_NO_RESOURCES, _tc_CORBA_NO_RESPONSE);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_PERSIST_STORE, _tc_CORBA_BAD_INV_ORDER);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_TRANSIENT, _tc_CORBA_FREE_MEM);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_INV_IDENT, _tc_CORBA_INV_FLAG);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_INTF_REPOS, _tc_CORBA_BAD_CONTEXT);
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_OBJ_ADAPTER, _tc_CORBA_DATA_CONVERSION);
-
- //
- // All the built-in "user defined" system exceptions.
- //
- PERFORM_TEST (TypeCode, TypeCode_ptr,
- _tc_CORBA_BadKind, _tc_CORBA_Bounds);
- }
-#undef COMPARE
-#undef RELEASE
-
- //
- // string (unbounded)-- identity (special comparision)
- //
-#define COMPARE(type,retval,original_value) \
- (strcmp ((char *)(retval), (char*)(original_value)) == 0)
-#undef RELEASE
-#define RELEASE(obj) CORBA_string_free(obj)
- static const CORBA_Char str1 [] = "small";
- static const CORBA_Char str2 [] =
- "relatively long string, constructed"
- " with the aid of C++ implicit string"
- " catenation, which simplifies much stuff";
- PERFORM_TEST (string, String, str1, str2);
-#undef COMPARE
-#undef RELEASE
-
-
- // XXX any, principal, wstring ... output _is_ input
-
-
- //
- // Three test cases involve throwing user-defined exceptions.
- //
- {
- CORBA_Exception *xp;
-
- //
- // Case one: with parameter <= zero, must throw
- // an "x1" exception whose "case_num" is that parameter
- //
- test_count++;
-
- test1_test_throw (target, -5, env);
- if (env.exception () != 0) {
- xp = env.exception ();
-
- if (strcmp ((char *)xp->id (),
- (char *) _tc_test1_x1->id (env2)) != 0)
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 1, "
- "wrong exception thrown (id = '%s')\n",
- xp->id ());
- }
- else
- {
- test1_x1 *xp2 = (test1_x1 *) xp;
-
- if (xp2->case_num != -5)
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 1, "
- "wrong value (case_num = '%ld')\n",
- xp2->case_num);
- }
-
- // else, right exception was thrown
- }
- }
- else
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 1, "
- "no exception thrown !!\n");
- }
-
-
- //
- // Case two: with positive odd parameter, must throw
- // an "x2" exception whose obj is null, and whose case_num
- // is that parameter
- //
- test_count++;
-
- test1_test_throw (target, 101, env);
- if (env.exception () != 0)
- {
- xp = env.exception ();
-
- if (strcmp ((char *)xp->id (),
- (char *) _tc_test1_x2->id (env2)) != 0)
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 2, "
- "wrong exception thrown (id = '%s')\n",
- xp->id ());
- }
- else
- {
- test1_x2 *xp2 = (test1_x2 *) xp;
-
- if (xp2->case_num != 101)
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 2, "
- "wrong value (case_num = '%ld')\n",
- xp2->case_num);
- }
-
- if (!CORBA_is_nil (xp2->obj))
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 2, "
- "non-null objref thrown\n");
- }
-
- // else, right exception was thrown
- }
- }
- else
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 2, "
- "no exception thrown !!\n");
- }
-
-
-#if 0
- // 18-sept-95: commented this out. Work remains to be done in
- // this area: (a) ServerRequest::target operation unimplemented,
- // so for the servers of current interest this test is no help;
- // (b) probable pointer leak in exceptions holding data.
-
- //
- // Case three: with positive even parameter, must throw
- // an "x2" exception whose obj is the target, and whose
- // case_num is that parameter
- //
- test_count++;
-
- test1_test_throw (target, 42, env);
- if (env.exception () != 0)
- {
- xp = env.exception ();
-
- if (strcmp ((char *)xp->id (),
- (char *) _tc_test1_x2->id (env2)) != 0)
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 3, "
- "wrong exception thrown (id = '%s')\n",
- xp->id ());
- }
- else
- {
- test1_x2 *xp2 = (test1_x2 *) xp;
-
- if (xp2->case_num != 42) {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 3, "
- "wrong value (case_num = '%ld')\n",
- xp2->case_num);
- }
-
- CORBA_Boolean status;
-
- status = target->_is_equivalent (xp2->obj, env);
-
- if (env.exception () != 0)
- {
- error_count++;
- print_exception (env.exception (),
- "test_throw/3 call to is_equivalent");
- }
- else if (status != CORBA_B_TRUE)
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 3, "
- "non-equivalent objref thrown\n");
- }
-
- // else, right exception was thrown
- }
- }
- else
- {
- error_count++;
- ACE_OS::fprintf (stderr, "test_throw case 3, "
- "no exception thrown !!\n");
- }
-
- env.clear ();
-#endif // 0
-
- }
-
- //
- // test_illegal -- generate a BAD_OPERATION system exception
- // from the remote process
- //
- test_count++;
- test_illegal (target, env);
- if (env.exception () == 0
- || ACE_OS::strcmp ((char *) env.exception()->id(),
- (char *) _tc_CORBA_BAD_OPERATION->id (env2)) != 0)
- {
- ACE_OS::fprintf (stderr, "couldn't generate BAD_OPERATION exception\n");
- error_count++;
- }
- }
-}
-
-int
-main (int argc, char *argv[])
-{
- CORBA_ORB_ptr orb_ptr;
- CORBA_Environment env;
- CORBA_Object_ptr objref = CORBA_Object::_nil();
- unsigned loop_count = 1;
- unsigned tests = 0, errors = 0;
- int exit_later = 0;
-
- orb_ptr = CORBA_ORB_init (argc, argv, "internet", env);
-
- if (env.exception () != 0)
- {
- dexc (env, "ORB initialisation");
- return 1;
- }
-
- //
- // Parse and verify parameters.
- //
- ACE_Get_Opt get_opt (argc, argv, "dln:O:x");
- int c;
-
- while ((c = get_opt ()) != -1)
- switch (c)
- {
- case 'd': // debug flag
- TAO_debug_level++;
- continue;
-
- case 'l': // skip "long double" test
- skip_longdouble++;
- continue;
-
- case 'n': // loop count
- loop_count = (unsigned) ACE_OS::atoi (get_opt.optarg);
- continue;
-
- case 'O': // stringified objref
- {
- objref = orb_ptr->string_to_object (
- (CORBA_String)get_opt.optarg, env);
- if (env.exception () != 0)
- {
- dexc (env, "string2object");
- return 1;
- }
- }
- continue;
-
- case 'x':
- exit_later++;
- continue;
-
- case '?':
- default:
- ACE_OS::fprintf (stderr, "usage: %s"
- " [-d]"
- " [-l]"
- " [-n loopcount]"
- " [-O objref]"
- " [-x]"
- "\n", argv [0]
- );
- return 1;
- }
-
- if (CORBA_is_nil (objref) == CORBA_B_TRUE) {
- ACE_OS::fprintf (stderr, "%s: must identify non-null target objref\n",
- argv [0]);
- return 1;
- }
-
-
- do_tests (objref, loop_count, tests, errors);
-
- char *progname = ACE_OS::strrchr (argv [0], '/');
-
- if (progname != 0)
- progname += 1;
- else
- progname = argv [0];
-
- ACE_OS::fprintf (stderr, "%s: %d loops, %d tests (%d errors)\n",
- progname, loop_count, tests, errors);
-
- if (exit_later)
- {
- test1_please_exit (objref, env);
- if (env.exception () != 0)
- print_exception (env.exception (), "test1_please_exit");
- }
-
- CORBA_release (objref);
-
- return errors != 0;
-}
-
-#if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION)
-template CORBA_Octet cube(CORBA_Octet);
-template CORBA_Short cube(CORBA_Short);
-template CORBA_UShort cube(CORBA_UShort);
-template CORBA_Long cube(CORBA_Long);
-template CORBA_ULong cube(CORBA_ULong);
-#if !defined (NONNATIVE_LONGLONG)
- // don't try this on platforms that don't support
- // math on longlongs ...
-template CORBA_LongLong cube(CORBA_LongLong);
-template CORBA_ULongLong cube(CORBA_ULongLong);
-#endif // !NONNATIVE_LONGLONG
-template CORBA_Float cube(CORBA_Float);
-template CORBA_Double cube(CORBA_Double);
-#if !defined (NONNATIVE_LONGDOUBLE)
- // don't try this on platforms that don't support
- // math on long doubles ...
-template CORBA_LongDouble cube(CORBA_LongDouble);
-#endif // !NONNATIVE_LONGDOUBLE
-#endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */
diff --git a/TAO/IIOP/tests/Cubit/TAO/test1_svr.cpp b/TAO/IIOP/tests/Cubit/TAO/test1_svr.cpp
deleted file mode 100644
index 8ea34d15fc1..00000000000
--- a/TAO/IIOP/tests/Cubit/TAO/test1_svr.cpp
+++ /dev/null
@@ -1,693 +0,0 @@
-// $Id$
-
-// @(#)test1_svr.cpp 1.7 95/09/25
-// Copyright 1995 by Sun Microsystems Inc.
-// All Rights Reserved
-//
-// TEST: simple IIOP server for "test1.idl" interface.
-//
-// Starts up, builds an objref, prints its string, listens for
-// messages, responds to them.
-//
-
-#include <stdio.h>
-#include <string.h>
-#include <ace/Get_Opt.h>
-
-#if unix
-# include <unistd.h> // for getopt on some systems
-
-#else // windows
-
-#endif
-
-#include "test1.h"
-#include <corba/boa.h>
-#include <roa.h>
-
-#include <corba/debug.h>
-
-
-
-#if !defined (_WIN32)
-extern char *optarg; // missing on some platforms
-#endif
-
-//
-// Skeleton code ... just a macro for a bunch of DSI-based method
-// code, in lieu of having an IDL compmiler generate static skeletons.
-// Static skeletons would be more efficient; most mallocation could go
-// away.
-//
-// Use by: defining OPERATION macro, call DEFINE_SKEL3 as needed, then
-// undef OPERATION.
-//
-// NOTE: "v1_copy" below is needed to work around a bug with the
-// HP9000 G++ 2.6.3 compiler, with "LongLong".
-//
-// XXX this could probably be a template ... or could even be merged
-// directly into the Dynamic Implementation Routine below.
-//
-// XXX we must currently use IN_COPY_VALUE since the memory consumed
-// by the parameters must be deallocated by the ORB. When we get an
-// updated version of DSI which provides "send it now" semantics,
-// these should preallocate the values and not use IN_COPY_VALUE. A
-// net decrease in malloc overhead can be had that way. (NVList
-// should also get a public constructor, and a way to provide the
-// buffer.)
-//
-#define DEFINE_SKEL3(name,truetype,truetypename) \
- static void \
- _test1_test_ ## name ( \
- CORBA_ServerRequest &req, \
- CORBA_Object_ptr obj, \
- CORBA_Environment &env \
- ) \
- { \
- CORBA_NVList_ptr nvlist; \
- CORBA_ ## truetype scratch = 0; \
- CORBA_Any temp_value (_tc_CORBA_ ## truetypename, \
- &scratch, CORBA_B_FALSE); \
- \
- req.orb ()->create_list (3, nvlist); \
- (void) nvlist->add_value (0, temp_value, \
- CORBA_IN_COPY_VALUE|CORBA_ARG_IN, env); \
- (void) nvlist->add_value (0, temp_value, \
- CORBA_IN_COPY_VALUE|CORBA_ARG_OUT, env); \
- (void) nvlist->add_value (0, temp_value, \
- CORBA_IN_COPY_VALUE|CORBA_ARG_INOUT, env); \
- \
- req.params (nvlist, env); \
- if (env.exception () != 0) { \
- dexc (env, "test1_test_" # name "skeleton, req.params"); \
- return; \
- } \
- \
- CORBA_ ## truetype *v1, *v2, *retval; \
- \
- v1 = (CORBA_ ## truetype *) nvlist->item (0)->value ()->value (); \
- v2 = new CORBA_ ## truetype; \
- *v2 = (CORBA_ ## truetype) OPERATION (*v1); \
- retval = new CORBA_ ## truetype; \
- *retval = (CORBA_ ## truetype) OPERATION (*v1); \
- \
- CORBA_Any_ptr any_val; \
- \
- any_val = nvlist->item (1)->value (); \
- any_val->replace (any_val->type (), v2, CORBA_B_TRUE, env); \
- if (env.exception () != 0) { \
- dexc (env, "test1_test_" # name "skeleton, val2 replace"); \
- return; \
- } \
- \
- v1 = (CORBA_ ## truetype *) nvlist->item (2)->value ()->value (); \
- CORBA_ ## truetype v1copy = *v1; \
- *v1 = (CORBA_ ## truetype) OPERATION (v1copy); \
- \
- any_val = new CORBA_Any (_tc_CORBA_ ## truetypename, \
- retval, CORBA_B_TRUE); \
- req.result (any_val, env); \
- if (env.exception () != 0) { \
- dexc (env, "test1_test_" # name "skeleton, result"); \
- return; \
- } \
- } \
- extern TAO_Call_Data test1_ ## name ## _calldata;
-
-
-extern const TAO_Call_Data test1_void_calldata;
-
-static void
-_test1_test_void (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
-
- req.orb ()->create_list (0, nvlist);
- req.params (nvlist, env);
-
- if (env.exception () != 0)
- dexc (env, "test_throw, get params");
-}
-
-
-//
-// Dynamic Skeleton methods for numeric types ... these all just
-// cube their parameters in various permutations
-//
-template <class Type>
-Type cube (Type arg)
-{
- Type temp = arg;
-
- temp = temp * arg;
- temp = temp * arg;
- return temp;
-}
-
-#define OPERATION(n) cube(n)
-
-DEFINE_SKEL3 (octet, Octet, Octet)
-
-DEFINE_SKEL3 (short, Short, Short)
-DEFINE_SKEL3 (ushort, UShort, UShort)
-
-DEFINE_SKEL3 (long, Long, Long)
-DEFINE_SKEL3 (ulong, ULong, ULong)
-
-#if !defined (NONNATIVE_LONGLONG)
- // don't try this on platforms that don't support
- // math on longlongs ...
-DEFINE_SKEL3 (longlong, LongLong, LongLong)
-DEFINE_SKEL3 (ulonglong, ULongLong, ULongLong)
-#endif // !NONNATIVE_LONGLONG
-
-DEFINE_SKEL3 (float, Float, Float)
-DEFINE_SKEL3 (double, Double, Double)
-
-#if !defined (NONNATIVE_LONGDOUBLE)
- // don't try this on platforms that don't support
- // math on long doubles ...
-DEFINE_SKEL3 (longdouble, LongDouble, LongDouble)
-#endif // !NONNATIVE_LONGDOUBLE
-
-#undef OPERATION
-
-//
-// Dynamic Skeleton methods for Boolean type ... just negates its
-// parameters
-//
-#define OPERATION(x) (!(x))
-DEFINE_SKEL3 (boolean, Boolean, Boolean)
-#undef OPERATION
-
-//
-// For character types, output is same as input, no magic needed.
-//
-#define OPERATION(x) (x)
-DEFINE_SKEL3 (char, Char, Char)
-DEFINE_SKEL3 (wchar, WChar, WChar)
-#undef OPERATION
-
-//
-// For objref, typecode, output is same as input but duplication
-// is needed
-//
-#define OPERATION(x) ((x) ? (x)->AddRef() : 0, x)
-DEFINE_SKEL3 (Object, Object_ptr, Object)
-DEFINE_SKEL3 (TypeCode, TypeCode_ptr, TypeCode)
-#undef OPERATION
-
-//
-// For string, output is copy of input
-//
-#define OPERATION(x) (CORBA_string_copy(x))
-DEFINE_SKEL3 (string, String, String)
-#undef OPERATION
-
-//
-// For wstring, output is copy of input
-//
-#define OPERATION(x) (CORBA_wstring_copy(x))
-DEFINE_SKEL3 (wstring, WString, WString)
-#undef OPERATION
-
-//
-// XXX IMPLEMENT THE REST OF THE DATA TYPES
-//
-// any, principal -- out is in
-//
-
-
-//
-// All cases, "case_num" in the exception is the same as the 'in' param
-// * negative or zero, throws x1
-// * positive even cases, throws x2 with obj = null objref
-// * positive odd cases, throws x2 with obj = target objref
-//
-// exception x1 { long case_num; };
-// exception x2 { Object obj; long case_num; };
-//
-// void test_throw (in long case_num) raises (x1, x2);
-//
-
-extern const TAO_Call_Data test1_test_throw_calldata;
-
-static void
-_test1_test_throw (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (_tc_CORBA_Long);
- CORBA_Long value;
-
- req.orb ()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
-
- req.params (nvlist, env);
- if (env.exception () != 0)
- {
- dexc (env, "test_throw, get params");
- return;
- }
-
- value = *(CORBA_Long *)nv->value ()->value ();
- if (env.exception () != 0)
- {
- dexc (env, "test_throw, param value");
- return;
- }
-
- CORBA_Any_ptr any;
-
- if (value <= 0)
- {
- test1_x1 *x;
-
- x = new test1_x1 (value);
- any = new CORBA_Any (_tc_test1_x1, x, CORBA_B_TRUE);
-
- }
- else if (value & 0x01)
- {
- test1_x2 *x;
-
- x = new test1_x2 (CORBA_Object::_nil (), value);
- any = new CORBA_Any (_tc_test1_x2, x, CORBA_B_TRUE);
-
- }
- else
- {
-#if 0
- test1_x2 *x;
-
- x = new test1_x2 (req.oa()->target (), value);
- any = new CORBA_Any (_tc_test1_x2, x, CORBA_B_TRUE);
-#else
- //
- // XXX right now, we don't have a target() operation on the
- // BOA ... needs to be added. Verify the client side memory
- // leak of pointers embedded in user exceptions is fixed, too.
- //
- env.exception (new CORBA_IMP_LIMIT (COMPLETED_NO));
- return;
-#endif
- }
-
- req.exception (USER_EXCEPTION, any, env);
-}
-
-
-//
-// This table is used to associate operation names with the Dynamic
-// Skeleton method ... someday it could return static skeletons.
-//
-#define DECL_SKEL(name) \
- { & test1_ ## name ## _calldata, _test1_test_ ## name }
-
-static const TAO_Skel_Entry test1_operations [] = {
- DECL_SKEL (void),
-
- DECL_SKEL (octet),
- DECL_SKEL (char),
-
- DECL_SKEL (wchar),
-
- DECL_SKEL (short),
- DECL_SKEL (ushort),
- DECL_SKEL (long),
- DECL_SKEL (ulong),
-
-#if !defined (NONNATIVE_LONGLONG)
- // don't try this on platforms that don't support
- // math on longlongs ...
- DECL_SKEL (longlong),
- DECL_SKEL (ulonglong),
-#endif
-
- DECL_SKEL (float),
- DECL_SKEL (double),
-
-#if !defined (NONNATIVE_LONGDOUBLE)
- // don't try this on platforms that don't support
- // math on long doubles ...
- DECL_SKEL (longdouble),
-#endif // !NONNATIVE_LONGDOUBLE
-
- DECL_SKEL (boolean),
-
- DECL_SKEL (Object),
- DECL_SKEL (TypeCode),
-
- DECL_SKEL (string),
- DECL_SKEL (wstring),
-
- { & test1_test_throw_calldata, _test1_test_throw },
-
- { 0, 0 }
-};
-
-
-//
-// Dispatch to method code ...
-//
-// Knows how to interpret "context" to get target objref, and where to
-// get second level skeletons for that target. Both of those operations
-// will generally be abstracted (into library and stub code) so the main
-// body of this routine would be invisible to most applications.
-//
-// However, there are applications that need to do this stuff themselves
-// (like bridging between environments, e.g. different ORBs, languages, or
-// other object systems). Everything needed to work without using an IDL
-// compiler is a public, supported API.
-//
-static void
-level1_skeleton (CORBA_OctetSeq &key,
- CORBA_ServerRequest &req,
- void *context,
- CORBA_Environment &env)
-{
- //
- // Verify that the target object and "this" object have the
- // same key. Normally, this would be used to figure out
- // which object was the target, and hence which operations
- // vector to dispatch the request.
- //
- CORBA_OctetSeq *obj_key;
-
- obj_key = (CORBA_OctetSeq *) context;
- if (obj_key->length != key.length
- || ACE_OS::memcmp (obj_key->buffer, key.buffer,
- obj_key->length) != 0)
- {
- env.exception (new CORBA_OBJECT_NOT_EXIST (COMPLETED_NO));
-#ifdef DEBUG
- if (TAO_debug_level)
- dmsg_opaque ("request to nonexistent object, key = ",
- key.buffer, key.length);
-#endif
- return;
- }
-
- //
- // Find a "level 2 skeleton" for this operation, then
- // call it with the right per-object state.
- //
- const TAO_Skel_Entry *entry;
- CORBA_String opname;
-
- opname = req.op_name ();
- for (entry = &test1_operations [0]; entry->op_descriptor; entry++)
- {
- if (strcmp ((char *)opname, entry->op_descriptor->opname) == 0)
- {
- // We pass a bogus object because this version of the cubit example is
- // so tightly coupled that it doesn't use it. Future modifications will,
- // hopefully!
- CORBA_Object_ptr bogus_object = 0;
- entry->impl_skeleton (req, bogus_object, env);
- return;
- }
- }
-
- //
- // XXX True top-level skeleton code would also have to understand
- // the built-in operations:
- //
- // * _is_a (for narrowing tests) ... can be derived by searching an
- // appropriately structured graph of level2 skeletons.
- //
- // * _non_existent ... if the level1 skeleton consults a module
- // which understands object lifespans, this should be simple.
- //
- // * _get_interface ... could either (a) fail; (b) return the ref
- // from some IFR; or most interestingly (c) return a ref to some
- // code in this process that can answer all IFR queries from the
- // skeleton data structures.
- //
- // * _get_implementation ... return some administrative hook to
- // the object implementation:
- //
- // No other legal operations start with a character that's not an
- // ASCII alphanumeric, for what it's worth.
- //
- // The skeleton might want to use data in the object key to find
- // the objref's type; if it's integrated with object creation, and
- // an per-process implementation repository, this should be easy.
- //
-
- //
- // bypass level 2 skeletons for this one ...
- //
- if (strcmp ((char *) opname, "please_exit") == 0)
- {
- dmsg ("I've been asked to shut down...");
- req.oa ()->please_shutdown (env);
- dexc (env, "please_exit, please_shutdown");
- return;
- }
-
- //
- // No match. Operation not implemented; say so.
- //
- dmsg1 ("unknown operation, %s", opname);
- env.exception (new CORBA_BAD_OPERATION (COMPLETED_NO));
-}
-
-
-//
-// Create and print the objref, listen for calls on it until done.
-//
-extern void
-print_exception (const CORBA_Exception *, const char *, FILE *f=stdout);
-
-int
-OA_listen (CORBA_ORB_ptr orb_ptr,
- CORBA_BOA_ptr oa_ptr,
- CORBA_String key,
- int idle)
-{
- //
- // Create the object we'll be implementing.
- //
- CORBA_OctetSeq obj_key;
- CORBA_Object_ptr obj;
- CORBA_Environment env;
-
- obj_key.buffer = (CORBA_Octet *) key;
- obj_key.length = obj_key.maximum = ACE_OS::strlen (key);
-
- obj = oa_ptr->create (obj_key, (CORBA_String) "", env);
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "BOA::create");
- return 1;
- }
-
- //
- // Stringify the objref we'll be implementing, and
- // print it to stdout. Someone will take that string
- // and give it to some client.
- //
- CORBA_String str;
-
- str = orb_ptr->object_to_string (obj, env);
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "object2string");
- return 1;
- }
- ACE_OS::puts ((char *)str);
- ACE_OS::fflush (stdout);
- dmsg1 ("listening as object '%s'", str);
-
- //
- // Clean up -- "key" is sufficient to dispatch all requests.
- //
- CORBA_release (obj);
- CORBA_string_free (str);
- env.clear ();
-
- //
- // Handle requests for this object until we're killed, or one of
- // the methods makes us exit.
- //
- // NOTE: apart from registering the top level skeleton, the rest
- // of this loop is exactly what BOA::run() does. It's here to
- // show there's no magic.
- //
-#if 0
- oa_ptr->register_dir (level1_skeleton, &obj_key, env);
-#else
- oa_ptr->register_dir (oa_ptr->dispatch, &obj_key, env);
-#endif
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "register_dir");
- return 1;
- }
-
- for (;;) {
- if (idle == -1)
- oa_ptr->get_request (CORBA_B_FALSE, 0, env);
- else
- {
- timeval tv;
-
- tv.tv_sec = idle;
- tv.tv_usec = 0;
- oa_ptr->get_request (CORBA_B_FALSE, &tv, env);
- }
-
- CORBA_Exception_ptr xp;
-
- if ((xp = env.exception ()) != 0)
- {
- CORBA_Environment env2; // XXX
- char *id;
-
- id = env.exception ()->id ();
-
- //
- // We get BAD_INV_ORDER if we call get_request() after
- // shutdown was initiated. Simpler to rely on that
- // than to arrange any handshaking in this simple app.
- //
- if (strcmp (id, _tc_CORBA_BAD_INV_ORDER->id (env2)) == 0)
- {
- break;
-
- //
- // Other exceptions are errors.
- //
- }
- else
- {
- print_exception (env.exception (), "BOA::get_request");
- return 1;
- }
- }
- env.clear ();
- }
-
- //
- // Shut down the OA -- recycles all underlying resources (e.g. file
- // descriptors, etc).
- //
- // XXX shutdown is not quite the same as release, unless we want mem
- // leaks to cause some rude failure modes. BOA just hasn't been
- // updated yet to have any handshake about this though.
- //
- oa_ptr->Release ();
- return 0;
-}
-
-
-//
-// Standard command line parsing utilities used.
-//
-int
-main (int argc, char *argv[])
-{
- CORBA_Environment env;
- CORBA_ORB_ptr orb_ptr;
- CORBA_BOA_ptr oa_ptr;
- CORBA_String key = (CORBA_String) "elvis";
- char *oa_name = 0;
- char *orb_name = "internet";
- int idle = -1;
-
- //
- // Parse the command line, get options
- //
- ACE_Get_Opt get_opt (argc, argv, "di:ln:O:x");
- int c;
-
- while ((c = get_opt ()) != -1)
- switch (c)
- {
- case 'd': // more debug noise
- TAO_debug_level++;
- continue;
-
- case 'i': // idle seconds b4 exit
- idle = ACE_OS::atoi (get_opt.optarg);
- continue;
-
- case 'k': // key (str)
- key = (CORBA_String) get_opt.optarg;
- continue;
-
- case 'o': // orb name
- orb_name = get_opt.optarg;
- continue;
-
- case 'p': // portnum
- oa_name = get_opt.optarg;
- continue;
-
- // XXX set debug filters ...
-
- //
- // XXX ignore OMG-specified options ... hope nobody ever tries
- // to use that "-ORB* param" and "-OA* param" syntax, it flies
- // in the face of standard command parsing algorithms which
- // require single-character option specifiers.
- //
-
-
- case '?':
- default:
- ACE_OS::fprintf (stderr, "usage: %s"
- " [-d]"
- " [-i idle_seconds]"
- " [-k object_key=elvis]"
- " [-o orbname=internet]"
- " [-p oa_name]"
- "\n", argv [0]
- );
- return 1;
- }
-
- orb_ptr = CORBA_ORB_init (argc, argv, orb_name, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "ORB init");
- return 1;
- }
-
- //
- // The BOA may or may not actually be named ...
- //
- oa_ptr = CORBA_BOA::get_named_boa (orb_ptr, oa_name, env);
- if (env.exception () != 0)
- {
- print_exception (env.exception (), "OA init");
- return 1;
- }
-
- return OA_listen (orb_ptr, oa_ptr, key, idle);
-}
-
-#if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION)
-template CORBA_Octet cube(CORBA_Octet);
-template CORBA_Short cube(CORBA_Short);
-template CORBA_UShort cube(CORBA_UShort);
-template CORBA_Long cube(CORBA_Long);
-template CORBA_ULong cube(CORBA_ULong);
-#if !defined (NONNATIVE_LONGLONG)
- // don't try this on platforms that don't support
- // math on longlongs ...
-template CORBA_LongLong cube(CORBA_LongLong);
-template CORBA_ULongLong cube(CORBA_ULongLong);
-#endif // !NONNATIVE_LONGLONG
-template CORBA_Float cube(CORBA_Float);
-template CORBA_Double cube(CORBA_Double);
-#if !defined (NONNATIVE_LONGDOUBLE)
- // don't try this on platforms that don't support
- // math on long doubles ...
-template CORBA_LongDouble cube(CORBA_LongDouble);
-#endif // !NONNATIVE_LONGDOUBLE
-#endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */