summaryrefslogtreecommitdiff
path: root/TAO/Benchmark/Marshal_Test
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/Benchmark/Marshal_Test')
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/Makefile75
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/client.cpp12
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/marshal.h1325
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/marshal.idl88
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.cpp1334
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.h123
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.i21
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.cpp309
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.h189
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.i27
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.cpp93
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.h57
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.i26
-rwxr-xr-xTAO/Benchmark/Marshal_Test/Orbix/run_client23
-rwxr-xr-xTAO/Benchmark/Marshal_Test/Orbix/run_dsi4
-rwxr-xr-xTAO/Benchmark/Marshal_Test/Orbix/run_dsi_server1
-rwxr-xr-xTAO/Benchmark/Marshal_Test/Orbix/run_ssi4
-rwxr-xr-xTAO/Benchmark/Marshal_Test/Orbix/run_ssi_server1
-rw-r--r--TAO/Benchmark/Marshal_Test/Orbix/server.cpp12
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/Makefile64
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/client.cpp12
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/marshal.idl89
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/marshalC.cpp585
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/marshalC.h194
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/marshalS.cpp168
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/marshalS.h108
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/server.cpp12
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp1424
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.h124
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.i21
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp650
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.h190
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.i21
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.cpp110
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.h57
-rw-r--r--TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.i26
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/Makefile64
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/client.cpp12
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/marshal.idl89
-rwxr-xr-xTAO/Benchmark/Marshal_Test/VisiBroker/run_client23
-rwxr-xr-xTAO/Benchmark/Marshal_Test/VisiBroker/run_server1
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/server.cpp12
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.cpp1344
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.h140
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.i21
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.cpp329
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.h177
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.i28
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.cpp86
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.h58
-rw-r--r--TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.i26
51 files changed, 0 insertions, 9989 deletions
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/Makefile b/TAO/Benchmark/Marshal_Test/Orbix/Makefile
deleted file mode 100644
index df6cd4a0673..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/Makefile
+++ /dev/null
@@ -1,75 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Top-level Makefile for the Orbix Marshal Benchmark
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-LDLIBS = -lACE -lbenchmark
-
-PROG_SRCS = marshalC.cpp marshalS.cpp orbix_marshal_client.cpp orbix_marshal_server.cpp \
- orbix_marshal_impl.cpp client.cpp server.cpp
-
-LSRC = $(PROG_SRCS)
-
-MARSHAL_CLIENT_OBJS = marshalC.o orbix_marshal_client.o client.o
-
-ifdef dsi
-MARSHAL_SERVER_OBJS = orbix_marshal_impl.o orbix_marshal_server.o server.o
-else
-MARSHAL_SERVER_OBJS = marshalS.o orbix_marshal_impl.o orbix_marshal_server.o server.o
-endif
-BIN = client server
-
-BUILD = $(BIN)
-
-#CLIENT_LIBS = -lITini -liiop -lorbix
-#SERVER_LIBS = -lITini -liiop -lDSI -lorbix -lIRclt
-CLIENT_LIBS = -liiop -lorbix
-SERVER_LIBS = -liiop -lDSI -lorbix -lIRclt
-
-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.lib.GNU
-#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-# include Orbix specific file
-include /project/mambo/gokhale/CONFIG/orbixsol2s4.mk
-
-#----------------------------------------------------------------------------
-# Local modifications to variables imported by includes above.
-#----------------------------------------------------------------------------
-
-ifndef TAO_ROOT
-TAO_ROOT = $(ACE_ROOT)/TAO
-endif
-
-CPPFLAGS += -I$(TAO_ROOT)/Benchmark
-
-server: $(addprefix $(VDIR),$(MARSHAL_SERVER_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(SERVER_LIBS)
-
-client: $(addprefix $(VDIR),$(MARSHAL_CLIENT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(CLIENT_LIBS)
-
-marshal.h marshalC.cpp marshalS.cpp: marshal.idl
- $(IDL) $(IDLFLAGS) $<
-
-clean:
- rm -f core *.o *~ client server *C.cpp *S.cpp *S.h *C.h
- $(MAKE) realclean
-
-
-
-
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/client.cpp b/TAO/Benchmark/Marshal_Test/Orbix/client.cpp
deleted file mode 100644
index 690221a2b4e..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/client.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "benchmark/driver.h"
-#include "orbix_marshal_client.h"
-
-int main (int argc, char *argv [])
-{
- // instantiate a DRIVER with the Orbix_Client_Proxy as the template
- CORBA_Benchmark_Driver<Orbix_Marshal_Client_Proxy> driver (new
- Orbix_Marshal_Client_Proxy ());
-
- // let the driver do everything for us so that we remain very simple
- return driver.run (argc, argv);
-}
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/marshal.h b/TAO/Benchmark/Marshal_Test/Orbix/marshal.h
deleted file mode 100644
index 77c4651cfc3..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/marshal.h
+++ /dev/null
@@ -1,1325 +0,0 @@
-
-#ifndef marshal_h
-#define marshal_h
-
-#include <CORBA.h>
-
-#include <string.h>
-
-
-#ifndef _IDL_SEQUENCE_any_defined
-#define _IDL_SEQUENCE_any_defined
-
-class _IDL_SEQUENCE_any {
- CORBA::ULong _maximum;
- CORBA::ULong _length;
- CORBA::any* _buffer;
- unsigned char _release;
-
- public:
- _IDL_SEQUENCE_any& operator= (const _IDL_SEQUENCE_any&);
- _IDL_SEQUENCE_any (const _IDL_SEQUENCE_any&);
-
- _IDL_SEQUENCE_any (CORBA::ULong max);
- _IDL_SEQUENCE_any (CORBA::ULong max, CORBA::ULong length, CORBA::any* data, CORBA::Boolean release = 0);
- _IDL_SEQUENCE_any ();
-
- ~_IDL_SEQUENCE_any ();
-
- static CORBA::any* allocbuf(CORBA::ULong nelems);
- static void freebuf(CORBA::any* data);
-
- CORBA::ULong maximum() const;
- CORBA::ULong length() const;
- void length (CORBA::ULong len);
-
- CORBA::any& operator [] (CORBA::ULong IT_i);
-
- const CORBA::any& operator [] (CORBA::ULong IT_i) const;
-
- void encodeOp (CORBA::Request &IT_r) const;
- void decodeOp (CORBA::Request &IT_r);
- void decodeInOutOp (CORBA::Request &IT_r);
-};
-
-extern const CORBA::TypeCode_ptr _tc__IDL_SEQUENCE_any;
-
-#ifndef _IDL_SEQUENCE_anyVarH
-#define _IDL_SEQUENCE_anyVarH
-
-#ifndef _IDL_SEQUENCE_anyvPtr
-#define _IDL_SEQUENCE_anyvPtr
-typedef _IDL_SEQUENCE_any* _IDL_SEQUENCE_any_vPtr;
-typedef const _IDL_SEQUENCE_any* _IDL_SEQUENCE_any_cvPtr;
-#endif
-
-class _IDL_SEQUENCE_any_var : public CORBA::_var
-{
- private:
-
- unsigned char copyHelper (const _IDL_SEQUENCE_any_var &IT_s) {
- if (!IT_s._ptr) {
- _ptr = IT_s._ptr;
- } else
- {
- _ptr = new _IDL_SEQUENCE_any;
- *(_ptr) = *(IT_s._ptr);
- }
- return 1;
- }
-
- public:
-
- _IDL_SEQUENCE_any_var (const _IDL_SEQUENCE_any_var &IT_s) {
- (void) copyHelper (IT_s);
- }
-
- _IDL_SEQUENCE_any_var () {
- _ptr = NULL;
- }
-
- _IDL_SEQUENCE_any_var (_IDL_SEQUENCE_any *IT_p) {
- _ptr = IT_p;
- }
-
- _IDL_SEQUENCE_any_var &operator= (_IDL_SEQUENCE_any *IT_p) {
- if (_ptr != IT_p) {
- delete _ptr;
- }
- _ptr = IT_p;
- return (*this);
- }
-
- _IDL_SEQUENCE_any_var &operator= (const _IDL_SEQUENCE_any_var &IT_s) {
- if (_ptr != IT_s._ptr) {
- delete _ptr;
- }
- _ptr = new _IDL_SEQUENCE_any;
- *(_ptr) = *(IT_s._ptr);
- return (*this);
- }
-
- ~_IDL_SEQUENCE_any_var () {
- delete _ptr;
- }
-
- _IDL_SEQUENCE_any* operator-> () {
- return _ptr;
- }
-
- operator _IDL_SEQUENCE_any_cvPtr () const { return _ptr;}
- operator _IDL_SEQUENCE_any_vPtr& () { return _ptr;}
- operator _IDL_SEQUENCE_any& () const { return * _ptr;}
-
- const CORBA::any& operator[] (CORBA::ULong index) const;
-
- CORBA::any& operator[] (CORBA::ULong index);
-
- protected:
- _IDL_SEQUENCE_any *_ptr;
- private:
- _IDL_SEQUENCE_any_var &operator= (const CORBA::_var &IT_s);
- _IDL_SEQUENCE_any_var (const CORBA::_var &IT_s);
-};
-
-#endif
-
-
-#endif
-
-
-#ifndef _Marshal_defined
-#define _Marshal_defined
-class Marshal_dispatch : public virtual CORBA::PPTR {
-public:
-
- Marshal_dispatch (void *IT_p, CORBA::Object* IT_o, const char *IT_m,
- CORBA::LoaderClass *IT_l, char *IT_i, void* IT_im)
- : PPTR (IT_p,IT_o,IT_m,IT_l,IT_i,IT_im) {}
-
-
- Marshal_dispatch (char *IT_OR, void *IT_p, CORBA::Object *IT_o)
- : PPTR (IT_OR,IT_p,IT_o) {}
-
-
- Marshal_dispatch () {}
-
- Marshal_dispatch (ObjectReference *IT_OR, void *IT_p, CORBA::Object *IT_o)
- : PPTR (IT_OR,IT_p,IT_o) {}
-
-
- Marshal_dispatch (void *IT_p, CORBA::Object *IT_o, const char *IT_m,
- char *IT_i, CORBA::Object* IT_ob, void* IT_im)
- : PPTR (IT_p,IT_o,IT_m,IT_i,IT_ob,IT_im) {}
-
-
- virtual unsigned char dispatch (CORBA::Request &IT_r,
- unsigned char IT_isTarget, void* IT_pp=NULL);
-
-
-};
-
-class Marshal;
-
-#ifndef MarshalPtr
-#define MarshalPtr
-
-typedef Marshal* Marshal_ptr;
-
-typedef Marshal* MarshalRef;
-
-#endif
-
-
-#ifndef MarshalForwH
-#define MarshalForwH
-CORBA::ObjectRef Marshal_getBase (void *);
-void Marshal_release (Marshal *, CORBA::Environment &IT_env);
-void Marshal_release (Marshal_ptr);
-Marshal* Marshal_duplicate (Marshal_ptr, CORBA::Environment &IT_env);
-Marshal* Marshal_duplicate (Marshal_ptr );
-Marshal_ptr Marshal_nil (CORBA::Environment &IT_env);
-Marshal_ptr Marshal_nil ();
-#endif
-#define Marshal_IMPL "Marshal"
-
-
-class Marshal;
-
-typedef Marshal MarshalProxy;
-#define Marshal_IR "Marshal"
-#define Marshal_IMPL "Marshal"
-
-#ifndef MarshalPtr
-#define MarshalPtr
-
-typedef Marshal* Marshal_ptr;
-
-typedef Marshal* MarshalRef;
-
-#endif
-
-class Marshal: public virtual CORBA::Object {
-public:
- Marshal (char *IT_OR);
- Marshal (ObjectReference *IT_OR);
- Marshal () : CORBA::Object (1) {}
-protected:
- Marshal_ptr __duplicate(
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) {
- CORBA::Object::__duplicate (IT_env);
- return this;
- }
-public:
- static Marshal_ptr _duplicate(
- Marshal_ptr,
- CORBA::Environment &IT_pEnv=CORBA::IT_chooseDefaultEnv ());
-public:
- static Marshal* _bind (const char* IT_markerServer, const char* host,
- const CORBA::Context &IT_c,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- static Marshal* _bind (CORBA::Environment &IT_env);
- static Marshal* _bind (const char* IT_markerServer=NULL, const char* host=NULL,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- static Marshal* _narrow (CORBA::Object* , CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
-private:
- static const void* IT_impl;
-public:
- static Marshal_ptr _nil (CORBA::Environment &IT_pEnv=CORBA::IT_chooseDefaultEnv ()) {
- CORBA::EnvExcRaiser IT_raise;
- CORBA::Environment &IT_env = IT_raise.registerEnv (&IT_pEnv);
- return (Marshal_ptr) CORBA::OBJECT_NIL;}
-
-#ifndef Marshal_Marshal_Struct_defined
-#define Marshal_Marshal_Struct_defined
-
-struct Marshal_Struct {
- CORBA::Short s;
- CORBA::Long l;
- CORBA::Char c;
- CORBA::Octet o;
- CORBA::Double d;
-
- void encodeOp (CORBA::Request &IT_r) const;
- void decodeOp (CORBA::Request &IT_r);
- void decodeInOutOp (CORBA::Request &IT_r);
- static void* IT_anySupport (CORBA::Request &IT_r,
- void *&, void*, const CORBA::Flags&);
- static const void *IT_fn;
- Marshal_Struct(const Marshal_Struct &);
- Marshal_Struct();
- ~Marshal_Struct();
- Marshal_Struct& operator= (const Marshal_Struct&);
-};
-
-static const CORBA::TypeCode_ptr _tc_Marshal_Struct;
-
-#ifndef Marshal_Marshal_StructVarH
-#define Marshal_Marshal_StructVarH
-
-#ifndef Marshal_Marshal_StructvPtr
-#define Marshal_Marshal_StructvPtr
-typedef Marshal_Struct* Marshal_Struct_vPtr;
-typedef const Marshal_Struct* Marshal_Struct_cvPtr;
-#endif
-
-class Marshal_Struct_var : public CORBA::_var
-{
- private:
-
- unsigned char copyHelper (const Marshal_Struct_var &IT_s) {
- if (!IT_s._ptr) {
- _ptr = IT_s._ptr;
- } else
- {
- _ptr = new Marshal_Struct;
- *(_ptr) = *(IT_s._ptr);
- }
- return 1;
- }
-
- public:
-
- Marshal_Struct_var (const Marshal_Struct_var &IT_s) {
- (void) copyHelper (IT_s);
- }
-
- Marshal_Struct_var () {
- _ptr = new Marshal_Struct;
-;
- }
-
- Marshal_Struct_var (Marshal_Struct *IT_p) {
- _ptr = IT_p;
- }
-
- Marshal_Struct_var &operator= (Marshal_Struct *IT_p) {
- if (_ptr != IT_p) {
- delete _ptr;
- }
- _ptr = IT_p;
- return (*this);
- }
-
- Marshal_Struct_var &operator= (const Marshal_Struct_var &IT_s) {
- if (_ptr != IT_s._ptr) {
- delete _ptr;
- }
- _ptr = new Marshal_Struct;
- *(_ptr) = *(IT_s._ptr);
- return (*this);
- }
-
- ~Marshal_Struct_var () {
- delete _ptr;
- }
-
- Marshal_Struct* operator-> () {
- return _ptr;
- }
-
- operator Marshal_Struct_cvPtr () const { return _ptr;}
- operator Marshal_Struct_vPtr& () { return _ptr;}
- operator Marshal_Struct& () const { return * _ptr;}
-
- protected:
- Marshal_Struct *_ptr;
- private:
- Marshal_Struct_var &operator= (const CORBA::_var &IT_s);
- Marshal_Struct_var (const CORBA::_var &IT_s);
-};
-
-#endif
-
-
-#endif
-
-static const CORBA::TypeCode_ptr _tc_discrim;
-
-enum discrim {e_0th,e_1st,e_2nd,e_3rd,e_4th,e_5th,e_6th, IT__ENUM_Marshal_discrim=CORBA_ULONG_MAX};
-
-#ifndef Marshal_Marshal_Union_defined
-#define Marshal_Marshal_Union_defined
-
-struct Marshal_Union {
- private:
-
- discrim __d;
- union {
- CORBA::Short _s_;
- CORBA::Long _l_;
- CORBA::Char _c_;
- CORBA::Octet _o_;
- CORBA::Double _d_;
- Marshal_Struct * _ms_;
- };
-
- public:
-
- void encodeOp (CORBA::Request &IT_r) const;
- void decodeOp (CORBA::Request &IT_r);
- void decodeInOutOp (CORBA::Request &IT_r);
- static void* IT_anySupport (CORBA::Request &IT_r,
- void *&, void*, const CORBA::Flags&);
- static const void *IT_fn;
-
- private:
-
- unsigned char isSet;
-
- public:
-
- discrim _d () const { return __d; }
-
- CORBA::Short s () const {
- return _s_;
- }
-
- void s (CORBA::Short IT_member) {
- if (isSet && (__d != Marshal::e_0th))
- {
- this-> Marshal_Union::~Marshal_Union();
- memset(this, 0, sizeof(*this));
- }
-
- __d = Marshal::e_0th;
- isSet = 1;
- _s_ = IT_member;
- }
-
- CORBA::Long l () const {
- return _l_;
- }
-
- void l (CORBA::Long IT_member) {
- if (isSet && (__d != Marshal::e_1st))
- {
- this-> Marshal_Union::~Marshal_Union();
- memset(this, 0, sizeof(*this));
- }
-
- __d = Marshal::e_1st;
- isSet = 1;
- _l_ = IT_member;
- }
-
- CORBA::Char c () const {
- return _c_;
- }
-
- void c (CORBA::Char IT_member) {
- if (isSet && (__d != Marshal::e_2nd))
- {
- this-> Marshal_Union::~Marshal_Union();
- memset(this, 0, sizeof(*this));
- }
-
- __d = Marshal::e_2nd;
- isSet = 1;
- _c_ = IT_member;
- }
-
- CORBA::Octet o () const {
- return _o_;
- }
-
- void o (CORBA::Octet IT_member) {
- if (isSet && (__d != Marshal::e_3rd))
- {
- this-> Marshal_Union::~Marshal_Union();
- memset(this, 0, sizeof(*this));
- }
-
- __d = Marshal::e_3rd;
- isSet = 1;
- _o_ = IT_member;
- }
-
- CORBA::Double d () const {
- return _d_;
- }
-
- void d (CORBA::Double IT_member) {
- if (isSet && (__d != Marshal::e_4th))
- {
- this-> Marshal_Union::~Marshal_Union();
- memset(this, 0, sizeof(*this));
- }
-
- __d = Marshal::e_4th;
- isSet = 1;
- _d_ = IT_member;
- }
-
- Marshal_Struct& ms () {
- return (*_ms_);
- }
-
- const Marshal_Struct& ms () const {
- return (*_ms_);
- }
-
- void ms (const Marshal_Struct& IT_member) {
- if (isSet && (__d != Marshal::e_6th))
- {
- this-> Marshal_Union::~Marshal_Union();
- memset(this, 0, sizeof(*this));
- }
-
- __d = Marshal::e_6th;
-
- if (!isSet) {
- _ms_ = new Marshal_Struct;
- isSet = 1;
- }
- *(_ms_) = IT_member;
- }
-
-
- Marshal_Union();
- Marshal_Union(const Marshal_Union &);
- ~Marshal_Union();
- Marshal_Union& operator= (const Marshal_Union&);
-};
-
-static const CORBA::TypeCode_ptr _tc_Marshal_Union;
-
-#ifndef Marshal_Marshal_UnionVarH
-#define Marshal_Marshal_UnionVarH
-
-#ifndef Marshal_Marshal_UnionvPtr
-#define Marshal_Marshal_UnionvPtr
-typedef Marshal_Union* Marshal_Union_vPtr;
-typedef const Marshal_Union* Marshal_Union_cvPtr;
-#endif
-
-class Marshal_Union_var : public CORBA::_var
-{
- private:
-
- unsigned char copyHelper (const Marshal_Union_var &IT_s) {
- if (!IT_s._ptr) {
- _ptr = IT_s._ptr;
- } else
- {
- _ptr = new Marshal_Union;
- *(_ptr) = *(IT_s._ptr);
- }
- return 1;
- }
-
- public:
-
- Marshal_Union_var (const Marshal_Union_var &IT_s) {
- (void) copyHelper (IT_s);
- }
-
- Marshal_Union_var () {
- _ptr = NULL;
- }
-
- Marshal_Union_var (Marshal_Union *IT_p) {
- _ptr = IT_p;
- }
-
- Marshal_Union_var &operator= (Marshal_Union *IT_p) {
- if (_ptr != IT_p) {
- delete _ptr;
- }
- _ptr = IT_p;
- return (*this);
- }
-
- Marshal_Union_var &operator= (const Marshal_Union_var &IT_s) {
- if (_ptr != IT_s._ptr) {
- delete _ptr;
- }
- _ptr = new Marshal_Union;
- *(_ptr) = *(IT_s._ptr);
- return (*this);
- }
-
- ~Marshal_Union_var () {
- delete _ptr;
- }
-
- Marshal_Union* operator-> () {
- return _ptr;
- }
-
- operator Marshal_Union_cvPtr () const { return _ptr;}
- operator Marshal_Union_vPtr& () { return _ptr;}
- operator Marshal_Union& () const { return * _ptr;}
-
- protected:
- Marshal_Union *_ptr;
- private:
- Marshal_Union_var &operator= (const CORBA::_var &IT_s);
- Marshal_Union_var (const CORBA::_var &IT_s);
-};
-
-#endif
-
-
-#endif
-static const CORBA::TypeCode_ptr _tc_AnySeq;
-
-typedef _IDL_SEQUENCE_any AnySeq;
-typedef const _IDL_SEQUENCE_any AnySeq_IT_const;
-
-typedef _IDL_SEQUENCE_any_var AnySeq_var;
-
-
-#ifndef Marshal__IDL_SEQUENCE_Marshal_Marshal_Recursive_defined
-#define Marshal__IDL_SEQUENCE_Marshal_Marshal_Recursive_defined
-
-struct Marshal_Recursive;
-class _IDL_SEQUENCE_Marshal_Marshal_Recursive {
- CORBA::ULong _maximum;
- CORBA::ULong _length;
- Marshal_Recursive* _buffer;
- unsigned char _release;
-
- public:
- _IDL_SEQUENCE_Marshal_Marshal_Recursive& operator= (const _IDL_SEQUENCE_Marshal_Marshal_Recursive&);
- _IDL_SEQUENCE_Marshal_Marshal_Recursive (const _IDL_SEQUENCE_Marshal_Marshal_Recursive&);
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive (CORBA::ULong max);
- _IDL_SEQUENCE_Marshal_Marshal_Recursive (CORBA::ULong max, CORBA::ULong length, Marshal_Recursive* data, CORBA::Boolean release = 0);
- _IDL_SEQUENCE_Marshal_Marshal_Recursive ();
-
- ~_IDL_SEQUENCE_Marshal_Marshal_Recursive ();
-
- static Marshal_Recursive* allocbuf(CORBA::ULong nelems);
- static void freebuf(Marshal_Recursive* data);
-
- CORBA::ULong maximum() const;
- CORBA::ULong length() const;
- void length (CORBA::ULong len);
-
- Marshal_Recursive& operator [] (CORBA::ULong IT_i);
-
- const Marshal_Recursive& operator [] (CORBA::ULong IT_i) const;
-
- void encodeOp (CORBA::Request &IT_r) const;
- void decodeOp (CORBA::Request &IT_r);
- void decodeInOutOp (CORBA::Request &IT_r);
-};
-
-static const CORBA::TypeCode_ptr _tc__IDL_SEQUENCE_Marshal_Marshal_Recursive;
-
-#ifndef Marshal__IDL_SEQUENCE_Marshal_Marshal_RecursiveVarH
-#define Marshal__IDL_SEQUENCE_Marshal_Marshal_RecursiveVarH
-
-#ifndef Marshal__IDL_SEQUENCE_Marshal_Marshal_RecursivevPtr
-#define Marshal__IDL_SEQUENCE_Marshal_Marshal_RecursivevPtr
-typedef _IDL_SEQUENCE_Marshal_Marshal_Recursive* _IDL_SEQUENCE_Marshal_Marshal_Recursive_vPtr;
-typedef const _IDL_SEQUENCE_Marshal_Marshal_Recursive* _IDL_SEQUENCE_Marshal_Marshal_Recursive_cvPtr;
-#endif
-
-class _IDL_SEQUENCE_Marshal_Marshal_Recursive_var : public CORBA::_var
-{
- private:
-
- unsigned char copyHelper (const _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &IT_s) {
- if (!IT_s._ptr) {
- _ptr = IT_s._ptr;
- } else
- {
- _ptr = new _IDL_SEQUENCE_Marshal_Marshal_Recursive;
- *(_ptr) = *(IT_s._ptr);
- }
- return 1;
- }
-
- public:
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var (const _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &IT_s) {
- (void) copyHelper (IT_s);
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var () {
- _ptr = NULL;
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var (_IDL_SEQUENCE_Marshal_Marshal_Recursive *IT_p) {
- _ptr = IT_p;
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &operator= (_IDL_SEQUENCE_Marshal_Marshal_Recursive *IT_p) {
- if (_ptr != IT_p) {
- delete _ptr;
- }
- _ptr = IT_p;
- return (*this);
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &operator= (const _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &IT_s) {
- if (_ptr != IT_s._ptr) {
- delete _ptr;
- }
- _ptr = new _IDL_SEQUENCE_Marshal_Marshal_Recursive;
- *(_ptr) = *(IT_s._ptr);
- return (*this);
- }
-
- ~_IDL_SEQUENCE_Marshal_Marshal_Recursive_var () {
- delete _ptr;
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive* operator-> () {
- return _ptr;
- }
-
- operator _IDL_SEQUENCE_Marshal_Marshal_Recursive_cvPtr () const { return _ptr;}
- operator _IDL_SEQUENCE_Marshal_Marshal_Recursive_vPtr& () { return _ptr;}
- operator _IDL_SEQUENCE_Marshal_Marshal_Recursive& () const { return * _ptr;}
-
- const Marshal_Recursive& operator[] (CORBA::ULong index) const;
-
- Marshal_Recursive& operator[] (CORBA::ULong index);
-
- protected:
- _IDL_SEQUENCE_Marshal_Marshal_Recursive *_ptr;
- private:
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &operator= (const CORBA::_var &IT_s);
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var (const CORBA::_var &IT_s);
-};
-
-#endif
-
-
-#endif
-
-
-#ifndef Marshal_Marshal_Recursive_defined
-#define Marshal_Marshal_Recursive_defined
-
-struct Marshal_Recursive {
- CORBA::any value;
- _IDL_SEQUENCE_Marshal_Marshal_Recursive next;
-
- void encodeOp (CORBA::Request &IT_r) const;
- void decodeOp (CORBA::Request &IT_r);
- void decodeInOutOp (CORBA::Request &IT_r);
- static void* IT_anySupport (CORBA::Request &IT_r,
- void *&, void*, const CORBA::Flags&);
- static const void *IT_fn;
- Marshal_Recursive(const Marshal_Recursive &);
- Marshal_Recursive();
- ~Marshal_Recursive();
- Marshal_Recursive& operator= (const Marshal_Recursive&);
-};
-
-static const CORBA::TypeCode_ptr _tc_Marshal_Recursive;
-
-#ifndef Marshal_Marshal_RecursiveVarH
-#define Marshal_Marshal_RecursiveVarH
-
-#ifndef Marshal_Marshal_RecursivevPtr
-#define Marshal_Marshal_RecursivevPtr
-typedef Marshal_Recursive* Marshal_Recursive_vPtr;
-typedef const Marshal_Recursive* Marshal_Recursive_cvPtr;
-#endif
-
-class Marshal_Recursive_var : public CORBA::_var
-{
- private:
-
- unsigned char copyHelper (const Marshal_Recursive_var &IT_s) {
- if (!IT_s._ptr) {
- _ptr = IT_s._ptr;
- } else
- {
- _ptr = new Marshal_Recursive;
- *(_ptr) = *(IT_s._ptr);
- }
- return 1;
- }
-
- public:
-
- Marshal_Recursive_var (const Marshal_Recursive_var &IT_s) {
- (void) copyHelper (IT_s);
- }
-
- Marshal_Recursive_var () {
- _ptr = NULL;
- }
-
- Marshal_Recursive_var (Marshal_Recursive *IT_p) {
- _ptr = IT_p;
- }
-
- Marshal_Recursive_var &operator= (Marshal_Recursive *IT_p) {
- if (_ptr != IT_p) {
- delete _ptr;
- }
- _ptr = IT_p;
- return (*this);
- }
-
- Marshal_Recursive_var &operator= (const Marshal_Recursive_var &IT_s) {
- if (_ptr != IT_s._ptr) {
- delete _ptr;
- }
- _ptr = new Marshal_Recursive;
- *(_ptr) = *(IT_s._ptr);
- return (*this);
- }
-
- ~Marshal_Recursive_var () {
- delete _ptr;
- }
-
- Marshal_Recursive* operator-> () {
- return _ptr;
- }
-
- operator Marshal_Recursive_cvPtr () const { return _ptr;}
- operator Marshal_Recursive_vPtr& () { return _ptr;}
- operator Marshal_Recursive& () const { return * _ptr;}
-
- protected:
- Marshal_Recursive *_ptr;
- private:
- Marshal_Recursive_var &operator= (const CORBA::_var &IT_s);
- Marshal_Recursive_var (const CORBA::_var &IT_s);
-};
-
-#endif
-
-
-#endif
-
- virtual void test_short (CORBA::Short s1, CORBA::Short& s2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
- virtual void test_long (CORBA::Long l1, CORBA::Long& l2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
- virtual void test_octet (CORBA::Octet o1, CORBA::Octet& o2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
- virtual void test_char (CORBA::Char c1, CORBA::Char& c2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
- virtual void test_double (CORBA::Double d1, CORBA::Double& d2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
- virtual void test_struct (const Marshal_Struct& ms1, Marshal_Struct& ms2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
- virtual void test_union (const Marshal_Union& u1, Marshal_Union& u2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
- virtual void test_any (const CORBA::any& a1, CORBA::any*& a2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
- virtual void test_sequence (const AnySeq& as1, AnySeq*& as2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
- virtual void test_recursive (const Marshal_Recursive& mr1, Marshal_Recursive*& mr2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException);
-};
-
-extern const CORBA::TypeCode_ptr _tc_MarshalRef;
-
-#ifndef MarshalVarH
-#define MarshalVarH
-
-#ifndef MarshalvPtr
-#define MarshalvPtr
-typedef Marshal* Marshal_vPtr;
-typedef const Marshal* Marshal_cvPtr;
-#endif
-
-class Marshal_var : public CORBA::_var
-{
- private:
-
- unsigned char copyHelper (const Marshal_var &IT_s) {
- {
- _ptr = Marshal_duplicate (IT_s._ptr);
- }
- return 1;
- }
-
- public:
-
- Marshal_var (const Marshal_var &IT_s) {
- (void) copyHelper (IT_s);
- }
-
- Marshal_var () {
- _ptr = Marshal_nil ();
- }
-
- Marshal_var (Marshal *IT_p) {
- _ptr = IT_p;
- }
-
- Marshal_var &operator= (Marshal *IT_p) {
- Marshal_release (_ptr);
- _ptr = IT_p;
- return (*this);
- }
-
- Marshal_var &operator= (const Marshal_var &IT_s) {
- Marshal_release (_ptr);
- _ptr = Marshal_duplicate (IT_s._ptr);
- return (*this);
- }
-
- ~Marshal_var () {
- Marshal_release (_ptr);
- }
-
- Marshal* operator-> () {
- return _ptr;
- }
-
- operator Marshal_cvPtr () const { return _ptr;}
- operator Marshal_vPtr& () { return _ptr;}
-
- protected:
- Marshal *_ptr;
- private:
- Marshal_var &operator= (const CORBA::_var &IT_s);
- Marshal_var (const CORBA::_var &IT_s);
- Marshal_var &operator= (const CORBA::_mgr &IT_s);
- Marshal_var &operator= (const CORBA::_SeqElem &IT_s);
- Marshal_var (const CORBA::_mgr &IT_s);
- Marshal_var (const CORBA::_SeqElem &IT_s);
-};
-
-#endif
-
-
-#ifndef MarshalMgrH
-#define MarshalMgrH
-
-class Marshal_mgr : public CORBA::_mgr
-{
- public:
-
- Marshal_mgr () {
- _ptr = Marshal_nil ();
- _release = 1;
- }
-
- Marshal_mgr (const Marshal_mgr &IT_s) {
- _ptr = Marshal_duplicate (IT_s._ptr);
- _release = 1;
- }
-
- Marshal_mgr &operator= (Marshal *IT_p) {
- if (_ptr && _release)
- Marshal_release (_ptr);
- _ptr = IT_p;
- _release = 1;
- return (*this);
- }
-
- Marshal_mgr &operator= (const Marshal_mgr &IT_s) {
- if (_ptr && _release)
- Marshal_release (_ptr);
- _ptr = Marshal_duplicate(IT_s._ptr);
- _release = 1;
- return (*this);
- }
-
- Marshal_mgr &operator= (Marshal_var &IT_s) {
- if (_ptr && _release)
- Marshal_release (_ptr);
- _ptr = Marshal_duplicate(IT_s);
- _release = 1;
- return (*this);
- }
-
- ~Marshal_mgr () {
- if (_release)
- Marshal_release (_ptr);
- }
-
- unsigned char release () {
- return _release;
- }
-
- void release (unsigned char rel) {
- _release = rel;
- }
-
- operator int () const {
- return (((CORBA::Object_ptr) _ptr) ? 1 : 0);
- }
-
- operator void* () const {
- return _ptr;
- }
-
- operator CORBA::Object * () const {
- return (CORBA::Object *) _ptr;
- }
-
- operator Marshal* () const {
- return (Marshal*) _ptr;
- }
-
- Marshal_ptr operator-> () const {
- return _ptr;
- }
-
- Marshal *_ptr;
-
- protected:
-
- unsigned char _release;
-};
-
-typedef Marshal_mgr Marshal_mgr_IT_const;
-#endif
-
-#ifndef MarshalSeqElemH
-#define MarshalSeqElemH
-
-class Marshal_SeqElem : public CORBA::_SeqElem
-{
- public:
-
- Marshal_SeqElem (Marshal_ptr* IT_p, unsigned char rel) {
- _ptr = IT_p;
- _release = rel;
- }
-
- Marshal_SeqElem &operator= (Marshal_ptr IT_p) {
- if (_ptr) {
- if (*(_ptr) && _release)
- Marshal_release (*(_ptr));
- *(_ptr) = IT_p;
- }
- return (*this);
- }
-
- Marshal_SeqElem &operator= (const Marshal_SeqElem &IT_s) {
- if (_ptr && IT_s._ptr) {
- if (*(_ptr) && _release)
- Marshal_release (*(_ptr));
- *(_ptr) = Marshal_duplicate(*(IT_s._ptr));
- }
- return (*this);
- }
-
- operator Marshal_ptr () const {
- return _ptr ? (Marshal_ptr) (*_ptr) : Marshal_nil();
- }
-
- Marshal_ptr operator->() const { return *_ptr;}
-
- protected:
- Marshal_ptr *_ptr;
- unsigned char _release;
-};
-
-#endif
-
-
-#define TIE_Marshal(X) Marshal##X
-
-#define DEF_TIE_Marshal(X) \
- class Marshal##X : public virtual Marshal { \
- X* m_obj; \
- public: \
- \
- \
- Marshal##X (X *objp, const char* m="", CORBA::LoaderClass *l=0)\
- : Marshal(), m_obj(objp) { \
- m_pptr = new Marshal_dispatch \
- (( Marshal*)this,(CORBA::Object*)this,m,l,Marshal_IR,m_obj); \
- } \
- Marshal##X (CORBA::Object *IT_p, const char* IT_m="", void *IT_q=0)\
- : Marshal() { \
- m_pptr = new Marshal_dispatch \
- (( Marshal*)this,(CORBA::Object*)this,IT_m,Marshal_IR,IT_p,IT_q); \
- m_obj = (X*)(m_pptr->getImplObj ()); \
- } \
- \
- virtual ~Marshal##X () { \
- if (_okToDeleteImpl ()) delete m_obj; } \
- virtual void* _deref () { \
- return m_obj; } \
- \
-virtual void test_short (CORBA::Short s1, CORBA::Short& s2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_short ( s1, s2,IT_env);\
-}\
- \
-virtual void test_long (CORBA::Long l1, CORBA::Long& l2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_long ( l1, l2,IT_env);\
-}\
- \
-virtual void test_octet (CORBA::Octet o1, CORBA::Octet& o2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_octet ( o1, o2,IT_env);\
-}\
- \
-virtual void test_char (CORBA::Char c1, CORBA::Char& c2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_char ( c1, c2,IT_env);\
-}\
- \
-virtual void test_double (CORBA::Double d1, CORBA::Double& d2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_double ( d1, d2,IT_env);\
-}\
- \
-virtual void test_struct (const Marshal::Marshal_Struct& ms1, Marshal::Marshal_Struct& ms2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_struct ( ms1, ms2,IT_env);\
-}\
- \
-virtual void test_union (const Marshal::Marshal_Union& u1, Marshal::Marshal_Union& u2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_union ( u1, u2,IT_env);\
-}\
- \
-virtual void test_any (const CORBA::any& a1, CORBA::any*& a2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_any ( a1, a2,IT_env);\
-}\
- \
-virtual void test_sequence (const Marshal::AnySeq& as1, Marshal::AnySeq*& as2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_sequence ( as1, as2,IT_env);\
-}\
- \
-virtual void test_recursive (const Marshal::Marshal_Recursive& mr1, Marshal::Marshal_Recursive*& mr2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_recursive ( mr1, mr2,IT_env);\
-}\
- \
- }; \
-
-
-#define QUALS_Marshal \
-virtual void test_short (CORBA::Short s1, CORBA::Short& s2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_short ( s1, s2,IT_env);\
-}\
- \
-virtual void test_long (CORBA::Long l1, CORBA::Long& l2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_long ( l1, l2,IT_env);\
-}\
- \
-virtual void test_octet (CORBA::Octet o1, CORBA::Octet& o2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_octet ( o1, o2,IT_env);\
-}\
- \
-virtual void test_char (CORBA::Char c1, CORBA::Char& c2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_char ( c1, c2,IT_env);\
-}\
- \
-virtual void test_double (CORBA::Double d1, CORBA::Double& d2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_double ( d1, d2,IT_env);\
-}\
- \
-virtual void test_struct (const Marshal_Struct& ms1, Marshal_Struct& ms2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_struct ( ms1, ms2,IT_env);\
-}\
- \
-virtual void test_union (const Marshal_Union& u1, Marshal_Union& u2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_union ( u1, u2,IT_env);\
-}\
- \
-virtual void test_any (const CORBA::any& a1, CORBA::any*& a2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_any ( a1, a2,IT_env);\
-}\
- \
-virtual void test_sequence (const AnySeq& as1, AnySeq*& as2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_sequence ( as1, as2,IT_env);\
-}\
- \
-virtual void test_recursive (const Marshal_Recursive& mr1, Marshal_Recursive*& mr2, CORBA::Environment &IT_env) throw (CORBA::SystemException){\
-m_obj->test_recursive ( mr1, mr2,IT_env);\
-}\
-
-
-
-
-class MarshalProxyFactoryClass : public virtual CORBA::ObjectFactoryClass {
-public:
- MarshalProxyFactoryClass (unsigned char IT_p=0)
- : CORBA::ProxyFactory (Marshal_IR, IT_p) {}
-
- virtual void* New (char *IT_OR, CORBA::Environment&);
-
- virtual void* New (ObjectReference *IT_OR, CORBA::Environment&);
-
- virtual void* New2 ();
-
- virtual CORBA::Object* NewObject (char *IT_OR, CORBA::Environment&);
-
- virtual CORBA::Object* NewObject (ObjectReference *IT_OR, CORBA::Environment&);
-
- virtual CORBA::Object* New2Object ();
-
- virtual void* IT_castUp (void *IT_p, char* IT_s, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
-
- virtual CORBA::PPTR* pptr (void *IT_p);
-
- virtual void baseInterfaces (_IDL_SEQUENCE_string&);
-
-
-};
-
-extern MarshalProxyFactoryClass MarshalProxyFactory;
-
-class MarshalBOAImpl : public virtual Marshal {
-public:
- MarshalBOAImpl (const char *m="", CORBA::LoaderClass *l=NULL) {
- if (CORBA::PPTR::isOK (m_pptr, Marshal_IR))
- m_pptr = new Marshal_dispatch ( (Marshal*)this,
- (CORBA::Object*)this, m, l, Marshal_IR, this);
-}
-
- virtual void test_short (CORBA::Short s1, CORBA::Short& s2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
- virtual void test_long (CORBA::Long l1, CORBA::Long& l2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
- virtual void test_octet (CORBA::Octet o1, CORBA::Octet& o2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
- virtual void test_char (CORBA::Char c1, CORBA::Char& c2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
- virtual void test_double (CORBA::Double d1, CORBA::Double& d2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
- virtual void test_struct (const Marshal_Struct& ms1, Marshal_Struct& ms2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
- virtual void test_union (const Marshal_Union& u1, Marshal_Union& u2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
- virtual void test_any (const CORBA::any& a1, CORBA::any*& a2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
- virtual void test_sequence (const AnySeq& as1, AnySeq*& as2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
- virtual void test_recursive (const Marshal_Recursive& mr1, Marshal_Recursive*& mr2, CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ()) throw (CORBA::SystemException) =0;
-};
-
-
-#endif
-
-
-#ifndef _IDL_SEQUENCE_Marshal_Marshal_Recursive_defined
-#define _IDL_SEQUENCE_Marshal_Marshal_Recursive_defined
-
-class _IDL_SEQUENCE_Marshal_Marshal_Recursive {
- CORBA::ULong _maximum;
- CORBA::ULong _length;
- Marshal::Marshal_Recursive* _buffer;
- unsigned char _release;
-
- public:
- _IDL_SEQUENCE_Marshal_Marshal_Recursive& operator= (const _IDL_SEQUENCE_Marshal_Marshal_Recursive&);
- _IDL_SEQUENCE_Marshal_Marshal_Recursive (const _IDL_SEQUENCE_Marshal_Marshal_Recursive&);
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive (CORBA::ULong max);
- _IDL_SEQUENCE_Marshal_Marshal_Recursive (CORBA::ULong max, CORBA::ULong length, Marshal::Marshal_Recursive* data, CORBA::Boolean release = 0);
- _IDL_SEQUENCE_Marshal_Marshal_Recursive ();
-
- ~_IDL_SEQUENCE_Marshal_Marshal_Recursive ();
-
- static Marshal::Marshal_Recursive* allocbuf(CORBA::ULong nelems);
- static void freebuf(Marshal::Marshal_Recursive* data);
-
- CORBA::ULong maximum() const;
- CORBA::ULong length() const;
- void length (CORBA::ULong len);
-
- Marshal::Marshal_Recursive& operator [] (CORBA::ULong IT_i);
-
- const Marshal::Marshal_Recursive& operator [] (CORBA::ULong IT_i) const;
-
- void encodeOp (CORBA::Request &IT_r) const;
- void decodeOp (CORBA::Request &IT_r);
- void decodeInOutOp (CORBA::Request &IT_r);
-};
-
-extern const CORBA::TypeCode_ptr _tc__IDL_SEQUENCE_Marshal_Marshal_Recursive;
-
-#ifndef _IDL_SEQUENCE_Marshal_Marshal_RecursiveVarH
-#define _IDL_SEQUENCE_Marshal_Marshal_RecursiveVarH
-
-#ifndef _IDL_SEQUENCE_Marshal_Marshal_RecursivevPtr
-#define _IDL_SEQUENCE_Marshal_Marshal_RecursivevPtr
-typedef _IDL_SEQUENCE_Marshal_Marshal_Recursive* _IDL_SEQUENCE_Marshal_Marshal_Recursive_vPtr;
-typedef const _IDL_SEQUENCE_Marshal_Marshal_Recursive* _IDL_SEQUENCE_Marshal_Marshal_Recursive_cvPtr;
-#endif
-
-class _IDL_SEQUENCE_Marshal_Marshal_Recursive_var : public CORBA::_var
-{
- private:
-
- unsigned char copyHelper (const _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &IT_s) {
- if (!IT_s._ptr) {
- _ptr = IT_s._ptr;
- } else
- {
- _ptr = new _IDL_SEQUENCE_Marshal_Marshal_Recursive;
- *(_ptr) = *(IT_s._ptr);
- }
- return 1;
- }
-
- public:
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var (const _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &IT_s) {
- (void) copyHelper (IT_s);
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var () {
- _ptr = NULL;
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var (_IDL_SEQUENCE_Marshal_Marshal_Recursive *IT_p) {
- _ptr = IT_p;
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &operator= (_IDL_SEQUENCE_Marshal_Marshal_Recursive *IT_p) {
- if (_ptr != IT_p) {
- delete _ptr;
- }
- _ptr = IT_p;
- return (*this);
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &operator= (const _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &IT_s) {
- if (_ptr != IT_s._ptr) {
- delete _ptr;
- }
- _ptr = new _IDL_SEQUENCE_Marshal_Marshal_Recursive;
- *(_ptr) = *(IT_s._ptr);
- return (*this);
- }
-
- ~_IDL_SEQUENCE_Marshal_Marshal_Recursive_var () {
- delete _ptr;
- }
-
- _IDL_SEQUENCE_Marshal_Marshal_Recursive* operator-> () {
- return _ptr;
- }
-
- operator _IDL_SEQUENCE_Marshal_Marshal_Recursive_cvPtr () const { return _ptr;}
- operator _IDL_SEQUENCE_Marshal_Marshal_Recursive_vPtr& () { return _ptr;}
- operator _IDL_SEQUENCE_Marshal_Marshal_Recursive& () const { return * _ptr;}
-
- const Marshal::Marshal_Recursive& operator[] (CORBA::ULong index) const;
-
- Marshal::Marshal_Recursive& operator[] (CORBA::ULong index);
-
- protected:
- _IDL_SEQUENCE_Marshal_Marshal_Recursive *_ptr;
- private:
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var &operator= (const CORBA::_var &IT_s);
- _IDL_SEQUENCE_Marshal_Marshal_Recursive_var (const CORBA::_var &IT_s);
-};
-
-#endif
-
-
-#endif
-
-
-void operator<<= (CORBA::any &IT_a, const Marshal::Marshal_Union& IT_t);
-CORBA::Boolean operator>>= (const CORBA::any &IT_a, Marshal::Marshal_Union*& IT_t);
-
-
-void operator<<= (CORBA::any &IT_a, const Marshal::Marshal_Recursive& IT_t);
-CORBA::Boolean operator>>= (const CORBA::any &IT_a, Marshal::Marshal_Recursive*& IT_t);
-
-
-void operator<<= (CORBA::any &IT_a, Marshal_ptr IT_t);
-CORBA::Boolean operator>>= (const CORBA::any &IT_a, Marshal_ptr& IT_t);
-
-
-void operator<<= (CORBA::any &IT_a, const Marshal::_IDL_SEQUENCE_Marshal_Marshal_Recursive& IT_t);
-CORBA::Boolean operator>>= (const CORBA::any &IT_a, Marshal::_IDL_SEQUENCE_Marshal_Marshal_Recursive*& IT_t);
-
-
-void operator<<= (CORBA::any &IT_a, const _IDL_SEQUENCE_Marshal_Marshal_Recursive& IT_t);
-CORBA::Boolean operator>>= (const CORBA::any &IT_a, _IDL_SEQUENCE_Marshal_Marshal_Recursive*& IT_t);
-
-
-void operator<<= (CORBA::any &IT_a, Marshal::discrim IT_t);
-CORBA::Boolean operator>>= (const CORBA::any &IT_a, Marshal::discrim& IT_t);
-
-
-void operator<<= (CORBA::any &IT_a, const _IDL_SEQUENCE_any& IT_t);
-CORBA::Boolean operator>>= (const CORBA::any &IT_a, _IDL_SEQUENCE_any*& IT_t);
-
-
-void operator<<= (CORBA::any &IT_a, const Marshal::Marshal_Struct& IT_t);
-CORBA::Boolean operator>>= (const CORBA::any &IT_a, Marshal::Marshal_Struct*& IT_t);
-
-
-#endif
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/marshal.idl b/TAO/Benchmark/Marshal_Test/Orbix/marshal.idl
deleted file mode 100644
index 16d60e1064f..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/marshal.idl
+++ /dev/null
@@ -1,88 +0,0 @@
-// Interface for the marshal benchmark
-
-interface Marshal
-{
- struct Marshal_Struct
- {
- short s;
- long l;
- char c;
- octet o;
- double d;
- };
-
- enum discrim {e_0th, e_1st, e_2nd, e_3rd, e_4th, e_5th, e_6th};
-
- union Marshal_Union
- switch (discrim)
- {
- case e_0th:
- short s;
- case e_1st:
- long l;
- case e_2nd:
- char c;
- case e_3rd:
- octet o;
- case e_4th:
- double d;
- default: // this will test typecode indirection
- Marshal_Struct ms;
- };
-
- /*
- typedef sequence<short> ShortSeq;
- typedef sequence<long> LongSeq;
- typedef sequence<octet> OctetSeq;
- typedef sequence<char> CharSeq;
- typedef sequence<double> DoubleSeq;
- typedef sequence<Marshal_Struct> StructSeq;
- typedef sequence<Marshal_Union> UnionSeq;
- */
- // for testing sequences of Any
- typedef sequence<any> AnySeq;
-
- // testing recursive behavior
- // complex.
- struct Marshal_Recursive
- {
- // we use this to test the limited recursion allowed by IDL. This is an
- // ideal test for indirected typecodes.
-
- // simulate a behavior of a list node
- any value;
- sequence <Marshal_Recursive> next;
- };
-
- void test_short (in short s1, out short s2); // test a short
- void test_long (in long l1, out long l2); // test a long
- void test_octet (in octet o1, out octet o2); // test an octet
- void test_char (in char c1, out char c2); // test a char
- void test_double (in double d1, out double d2); // test a double
- void test_struct (in Marshal_Struct ms1, out Marshal_Struct ms2); // test a
- // struct
- void test_union (in Marshal_Union u1, out Marshal_Union u2); // test a
- // union.
- void test_any (in any a1, out any a2); // test an Any
- /*
- void test_sequence (in ShortSeq ss1, in LongSeq ls1, in OctetSeq os1, in
- CharSeq cs1, in DoubleSeq ds1, in StructSeq Ss1, in
- UnionSeq us1, in AnySeq as1,
- out ShortSeq ss2, out LongSeq ls2, out OctetSeq os2, out
- CharSeq cs2, out DoubleSeq ds2, out StructSeq Ss2, out
- UnionSeq us2, out AnySeq as2);
- */
- void test_sequence (in AnySeq as1, out AnySeq as2); // this will result in a
- // 3 level indirection -
- // sequence, any, and its
- // value type
- void test_recursive (in Marshal_Recursive mr1, out Marshal_Recursive mr2); //
- // very complicated
-};
-
-
-
-
-
-
-
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.cpp b/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.cpp
deleted file mode 100644
index 94058ebac1a..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.cpp
+++ /dev/null
@@ -1,1334 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Orbix marshal benchmark
-//
-// = FILENAME
-// orbix_marshal_proxy.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-//#define USE_INIT
-#include "orbix_marshal_client.h"
-
-#if !defined (__ACE_INLINE__)
-#include "orbix_marshal_client.i"
-#endif /* __ACE_INLINE__ */
-
-int
-Orbix_Marshal_Client_Proxy::run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- char **argv;
- int argc;
- CORBA::Object_ptr target;
- char *markerserver;
- int mlen=0, slen=0; // length of marker and service name
-
-#if 0
- // get the argument list to be passed on to the ORB_init method
- argv = options.orb_init_args (argc);
-
- // get the orb. Pass any ORB_init arguments
- this->orb_ = CORBA::ORB_init (argc, (char *const *)argv, "Orbix");
- if (this->orb_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB_init failed\n"));
- return -1;
- }
-#endif
-
- // create a marker server
- if (options.service_name ())
- slen = ACE_OS::strlen (options.service_name ());
- if (options.object_name ())
- mlen = ACE_OS::strlen (options.object_name ());
-
- if (slen > 0)
- {
- markerserver = new char [mlen+slen+1+1];
- ACE_OS::sprintf (markerserver, "%s:%s", (mlen ? options.object_name ():""),
- options.service_name ());
- ACE_DEBUG ((LM_DEBUG, "markerserver = %s\n", markerserver));
- }
- else // server name is required
- {
- markerserver = NULL;
- }
-
- // get the obj ref by binding it to the specified host using the specified obj_name
- try {
- target = Marshal::_bind (markerserver, options.hostname ());
- }
- catch (CORBA::SystemException &se)
- {
- cerr << "failed to bind: " << &se << endl;
- return 0;
- }
- if (CORBA::is_nil (target))
- {
- ACE_DEBUG ((LM_DEBUG, "bind call failed\n"));
- return -1;
- }
-
- this->ref_ = Marshal::_narrow (target);
- if (CORBA::is_nil (this->ref_))
- {
- ACE_DEBUG ((LM_DEBUG, "narrow to Marshal failed\n"));
- return -1;
- }
-
- // tell the "results" object what file it must store the results into
- results.filename (options.filename ());
-
- // use SII or DII accordingly
- switch (options.policy ())
- {
- case CORBA_Marshal_Options::STATIC : // use SII
- return this->use_sii (options, results);
- break;
- case CORBA_Marshal_Options::DYNAMIC : // use DII
- return this->use_dii (options, results);
- break;
- default:
- ACE_DEBUG ((LM_DEBUG, "bad policy\n"));
- return -1;
- }
- // hopefully we are never here, else something is seriously wrong
- return -1;
-}
-
-int
-Orbix_Marshal_Client_Proxy::use_sii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- int i;
- int status = 0;
- // This method tests the static invocation interface
-
- for (i=0; i < options.iterations () && !status; i++)
- {
- switch (options.data_type ())
- {
- // shorts
- case CORBA_Marshal_Options::SHORT:
- status = sii_test_short (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::LONG:
- status = sii_test_long (options, results);
- break;
- // octets
- case CORBA_Marshal_Options::OCTET:
- status = sii_test_octet (options, results);
- break;
- // chars
- case CORBA_Marshal_Options::CHAR:
- status = sii_test_char (options, results);
- break;
- // doubles
- case CORBA_Marshal_Options::DOUBLE:
- status = sii_test_double (options, results);
- break;
- // Structs
- case CORBA_Marshal_Options::STRUCT:
- status = sii_test_struct (options, results);
- break;
- // unions
- case CORBA_Marshal_Options::UNION:
- status = sii_test_union (options, results);
- break;
- // anys
- case CORBA_Marshal_Options::ANY:
- status = sii_test_any (options, results);
- break;
- // sequences
- case CORBA_Marshal_Options::SEQUENCE:
- status = sii_test_sequence (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::RECURSIVE:
- // status = sii_test_recursive (options, results);
- // doesn't work
- break;
- default:
- status = -1;
- } // end of switch
- } // for loop
-
- if (!status)
- return 0;
- else
- return -1;
-}
-
-int
-Orbix_Marshal_Client_Proxy::use_dii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- int i;
- int status = 0;
- // This method tests the dynamic invocation interface
-
- for (i=0; i < options.iterations () && !status; i++)
- {
- switch (options.data_type ())
- {
- // shorts
- case CORBA_Marshal_Options::SHORT:
- status = dii_test_short (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::LONG:
- status = dii_test_long (options, results);
- break;
- // octets
- case CORBA_Marshal_Options::OCTET:
- status = dii_test_octet (options, results);
- break;
- // chars
- case CORBA_Marshal_Options::CHAR:
- status = dii_test_char (options, results);
- break;
- // doubles
- case CORBA_Marshal_Options::DOUBLE:
- status = dii_test_double (options, results);
- break;
- // Structs
- case CORBA_Marshal_Options::STRUCT:
- status = dii_test_struct (options, results);
- break;
- // unions
- case CORBA_Marshal_Options::UNION:
- status = dii_test_union (options, results);
- break;
- // anys
- case CORBA_Marshal_Options::ANY:
- status = dii_test_any (options, results);
- break;
- // sequences
- case CORBA_Marshal_Options::SEQUENCE:
- status = dii_test_sequence (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::RECURSIVE:
- // status = dii_test_recursive (options, results);
- // doesn't work
- break;
- default:
- status = -1;
- } // end of switch
- } // for loop
-
- if (!status)
- return 0;
- else
- return -1;
-}
-
-
-// all helper functions : SII
-int
-Orbix_Marshal_Client_Proxy::sii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- CORBA::Short s1, s2;
- s1 = 3;
- ref_->test_short (s1, s2);
- if (s2 == 2*s1)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_short success: s1 = %d, s2 = %d\n", s1, s2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_short failed: s1 = %d, s2 = %d\n", s1, s2));
- return -1;
- }
-}
-
-int
-Orbix_Marshal_Client_Proxy::sii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- CORBA::Long l1, l2;
- l1 = 256;
- ref_->test_long (l1, l2);
- if (l2 == 3*l1)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_long success: l1 = %d, l2 = %d\n", l1, l2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_long failed: l1 = %d, l2 = %d\n", l1, l2));
- return -1;
- }
-}
-
-int
-Orbix_Marshal_Client_Proxy::sii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // octets
-{
- CORBA::Octet o1, o2;
- o1 = (CORBA::Octet) 127;
- ref_->test_octet (o1, o2);
- if (o1 == o2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_octet success: o1 = %c, o2 = %c\n", o1, o2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_octet failed: o1 = %c, o2 = %c\n", o1, o2));
- return -1;
- }
-}
-
-int
-Orbix_Marshal_Client_Proxy::sii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // chars
-{
- CORBA::Char c1, c2;
- c1 = 'B';
- ref_->test_char (c1, c2);
- if (c1 == c2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_char success: c1 = %c, c2 = %c\n", c1, c2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_char failed: c1 = %c, c2 = %c\n", c1, c2));
- return -1;
- }
-}
-
-int
-Orbix_Marshal_Client_Proxy::sii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // doubles
-{
- CORBA::Double d1, d2;
- d1 = 3.1415;
- ref_->test_double (d1, d2);
- if (d2 == d1/2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_double success: d1 = %f, d2 = %f\n", d1, d2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_double failed: d1 = %f, d2 = %f\n", d1, d2));
- return -1;
- }
-}
-
-int
-Orbix_Marshal_Client_Proxy::sii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // structs
-{
- Marshal::Marshal_Struct ms1, ms2;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA::Octet) 127;
- ms1.d = 3.1415;
-
- ref_->test_struct (ms1, ms2);
- if (ms1.s == ms2.s && ms1.l == ms2.l && ms1.c == ms2.c && ms1.o == ms2.o &&
- ms1.d == ms2.d)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_struct success\n"));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_struct failed\n"));
- return -1;
- }
-}
-
-int
-Orbix_Marshal_Client_Proxy::sii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // unions
-{
- Marshal::Marshal_Union u1, u2;
- Marshal::Marshal_Struct ms;
-
- // first test an enumerated case
- // u1._d (Marshal::e_1st); Orbix does this on its own
- u1.l (4567);
-
- ref_->test_union (u1, u2);
- if ( (u1._d () == u2._d()) && (u1.l () == u2.l ()))
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for long (case e_1st) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for long (case e_1st) failed\n"));
- return -1;
- }
-
- // now test the default case
- // In Orbix, setting each field like this will not work because the poor
- // Union has no clue what discriminant it must set to.
-#if 0
- u1.ms ().s = 3;
- u1.ms ().l = 256;
- u1.ms ().c = 'B';
- u1.ms ().o = (CORBA::Octet) 127;
- u1.ms ().d = 3.1415;
-#endif
- ms.s = 3;
- ms.l = 256;
- ms.c = 'B';
- ms.o = (CORBA::Octet) 127;
- ms.d = 3.1415;
-
- u1.ms (ms);
-
- ref_->test_union (u1, u2);
-
- if (u1.ms ().s == u2.ms ().s && u1.ms ().l == u2.ms ().l && u1.ms ().c == u2.ms ().c && u1.ms ().o == u2.ms ().o &&
- u1.ms ().d == u2.ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for default (case e_6th) success\n"));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for default (case e_6th) failed\n"));
- return -1;
- }
-}
-
-int
-Orbix_Marshal_Client_Proxy::sii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // we send a struct thru the any
- CORBA::Any a1, *a2;
- Marshal::Marshal_Struct ms1, *ms2;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA::Octet) 127;
- ms1.d = 3.1415;
-
- // populate the any with a MarshalStruct
- a1 <<= ms1;
-
- a2 = new CORBA::Any;
-
- // now test it
- ref_->test_any (a1, a2);
-
- // check if the two typecodes are equal
- if (a2->type ()->equal (Marshal::_tc_Marshal_Struct))
- {
- // now see if the values are same
- ms2 = (Marshal::Marshal_Struct *)a2->value ();
- if (ms1.s == ms2->s && ms1.l == ms2->l && ms1.c == ms2->c && ms1.o == ms2->o &&
- ms1.d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_any success\n"));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_any value match failed\n"));
- return -1;
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_any failed due to typecode mismatch\n"));
- }
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::sii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // make a sequence of Anys and fill each one with a different data type
- Marshal::AnySeq as1 (7), *as2;
- Marshal::Marshal_Struct ms;
- Marshal::Marshal_Union u;
-
- ms.s = 3;
- ms.l = 256;
- ms.c = 'B';
- ms.o = (CORBA::Octet) 127;
- ms.d = 3.1415;
-
- u.ms (ms);
-
- // it looks like we must tell the sequence how many elements it is going to
- // carry. By just fixing the max value does not work.
-
- as1.length (7);
-
- as1[0] <<= (CORBA::Short)3;
- as1[1] <<= (CORBA::Long) 256;
- as1[2] <<= CORBA::Any::from_octet ((CORBA::Octet)127);
- as1[3] <<= CORBA::Any::from_char ('B');
- as1[4] <<= (CORBA::Double)3.1415; // double
- as1[5] <<= ms; // struct
- as1[6] <<= u; // union
-
- as2 = new Marshal::AnySeq;
-
- ref_->test_sequence (as1, as2);
-
- ACE_DEBUG ((LM_DEBUG, "SII test_sequence\n"));
- if (as1.length () == as2->length ())
- {
- // now make sure that the elements are same
- for (int i=0; i < as1.length (); i++)
- {
- if (as1[i].type ()->equal ((*as2)[i].type ()))
- {
- // now see if the values are same
- switch (i)
- {
- case 0:
- if (*(CORBA::Short *)as1[i].value () == *(CORBA::Short
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, shorts matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on shorts match\n"));
- }
- break;
- case 1:
- if (*(CORBA::Long *)as1[i].value () == *(CORBA::Long
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, longs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on longs match\n"));
- }
- break;
- case 2:
- if (*(CORBA::Octet *)as1[i].value () == *(CORBA::Octet
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, octets matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on octets match\n"));
- }
- break;
- case 3:
- if (*(CORBA::Char *)as1[i].value () == *(CORBA::Char
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, chars matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on chars match\n"));
- }
- break;
- case 4:
- if (*(CORBA::Double *)as1[i].value () == *(CORBA::Double
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, doubles matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on doubles match\n"));
- }
- break;
- case 5:
- {
- Marshal::Marshal_Struct *ms1, *ms2;
-
- ms1 = (Marshal::Marshal_Struct *)as1[i].value ();
- ms2 = (Marshal::Marshal_Struct *)(*as2)[i].value ();
-
- if (ms1->s == ms2->s && ms1->l == ms2->l && ms1->c == ms2->c && ms1->o == ms2->o &&
- ms1->d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, structs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on structs match\n"));
- }
- }
- break;
- case 6:
- {
- Marshal::Marshal_Union *u1, *u2;
-
- u1 = (Marshal::Marshal_Union *)as1[i].value ();
- u2 = (Marshal::Marshal_Union *)(*as2)[i].value ();
-
- if (u1->_d () == u2->_d () && u1->ms ().s == u2->ms ().s &&
- u1->ms ().l == u2->ms ().l &&
- u1->ms ().c == u2->ms ().c && u1->ms ().o == u2->ms ().o &&
- u1->ms ().d == u2->ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, unions matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on unions match\n"));
- }
- }
- break;
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "SII test_sequence: typecode mismatch for element %d\n", i));
- break;
- }
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_sequence failed: as2->length = %d\n",
- as2->length ()));
- }
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::sii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // we will try a simple one here
- Marshal::Marshal_Recursive mr1, *elem1, *mr2, *elem2;
-
- mr1.value <<= (CORBA::Long)1;
- mr1.next.length (1); // sequence of length 1
-
- // fill the element
- elem1 = &mr1.next[0];
- elem1->value <<= CORBA::Any::from_char ('D');
- elem1->next.length (0); // end of seq
-
- mr2 = new Marshal::Marshal_Recursive;
-
- try {
- ref_->test_recursive (mr1, mr2);
- }
- catch (CORBA::SystemException &se){
- cerr << "error invoking request: " << se << endl;
- }
-
- elem2 = &mr2->next[0];
-
- if ((*(CORBA::Long *)mr1.value.value () == *(CORBA::Long*)mr2->value.value ())
- && (mr1.next.length () == mr2->next.length ()) // same length sequence
- && (*(CORBA::Char *)elem1->value.value () == *(CORBA::Char *)elem2->value.value ())
- && (elem1->next.length () == elem2->next.length ()))
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_recursive success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_recursive failure\n"));
- }
-
- return 0;
-}
-
-// -------------------------------------------------------
-// all helper functions : DII
-// -------------------------------------------------------
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Short s1, s2;
-
- s1 = 3;
- s2 = 0;
-
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add (CORBA::ARG_IN)->value ()) <<= s1;
- // this usage is also correct. All we care is to supply a storage area for
- // the OUT parameter
- // arglist->add (CORBA::ARG_OUT)->value ()->replace (CORBA::_tc_short, &s2);
- *(arglist->add (CORBA::ARG_OUT)->value ()) <<= s2;
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item (0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_short",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= s2;
-
- if (s2 == 2*s1)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_short success: s1 = %d, s2 = %d\n", s1, s2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_short failed: s1 = %d, s2 = %d\n", s1, s2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Long l1, l2;
-
- l1 = 256;
-
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= l1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_long, &l2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_long",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= l2;
-
- if (l2 == 3*l1)
- {
- ACE_DEBUG ((LM_DEBUG, "DII: test_long success: l1 = %d, l2 = %d\n", l1, l2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII: test_long failed: l1 = %d, l2 = %d\n", l1, l2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // octets
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Octet o1, o2;
-
- o1 = (CORBA::Octet) 127;
-
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= CORBA::Any::from_octet (o1);
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_octet, &o2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_octet",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= CORBA::Any::to_octet (o2);
-
- if (o1 == o2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_octet success: o1 = %c, o2 = %c\n", o1, o2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_octet failed: o1 = %c, o2 = %c\n", o1, o2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // chars
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Char c1, c2;
-
- c1 = 'B';
-
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= CORBA::Any::from_char (c1);
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_char, &c2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_char",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= CORBA::Any::to_char (c2);
-
- if (c1 == c2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_char success: c1 = %c, c2 = %c\n", c1, c2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_char failed: c1 = %c, c2 = %c\n", c1, c2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // doubles
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Double d1, d2;
-
- d1 = 3.1415;
-
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= d1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_double, &d2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_double",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= d2;
-
- if (d2 == d1/2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_double success: d1 = %f, d2 = %f\n", d1, d2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_double failed: d1 = %f, d2 = %f\n", d1, d2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // structs
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- Marshal::Marshal_Struct ms1, *ms2=0;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA::Octet) 127;
- ms1.d = 3.1415;
-
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= ms1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (Marshal::_tc_Marshal_Struct, ms2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_struct",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= ms2;
-
- if (ms1.s == ms2->s && ms1.l == ms2->l && ms1.c == ms2->c && ms1.o == ms2->o &&
- ms1.d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_struct success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_struct failed\n"));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // unions
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- Marshal::Marshal_Union u1, *u2 = 0;
- Marshal::Marshal_Struct ms;
-
-
- // first test an enumerated case
- // u1._d (Marshal::e_1st);
- u1.l (4567);
-
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= u1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (Marshal::_tc_Marshal_Union, u2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_union",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= u2;
-
- if ( (u1._d () == u2->_d()) && (u1.l () == u2->l ()))
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for long (case e_1st) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for long (case e_1st) failed\n"));
- }
- delete u2;
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
-
- // test the default case
- ms.s = 3;
- ms.l = 256;
- ms.c = 'B';
- ms.o = (CORBA::Octet) 127;
- ms.d = 3.1415;
-
- u1.ms (ms);
- u2 = 0;
-
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= u1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (Marshal::_tc_Marshal_Union, u2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_union",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= u2;
-
- if (u1.ms ().s == u2->ms ().s && u1.ms ().l == u2->ms ().l && u1.ms ().c == u2->ms ().c && u1.ms ().o == u2->ms ().o &&
- u1.ms ().d == u2->ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for default (case e_6th) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for default (case e_6th) failed\n"));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- // we send a struct thru the any
- CORBA::Any a1, *a2;
- Marshal::Marshal_Struct ms1, *ms2;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA::Octet) 127;
- ms1.d = 3.1415;
-
- // populate the any with a MarshalStruct
- a1 <<= ms1;
-
- a2 = new CORBA::Any;
-
- // now test it
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= a1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_any, a2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_any",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= (*a2);
-
- // check if the two typecodes are equal
- if (a2->type ()->equal (Marshal::_tc_Marshal_Struct))
- {
- // now see if the values are same
- ms2 = (Marshal::Marshal_Struct *)a2->value ();
- if (ms1.s == ms2->s && ms1.l == ms2->l && ms1.c == ms2->c && ms1.o == ms2->o &&
- ms1.d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_any success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_any value match failed\n"));
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_any failed due to typecode mismatch\n"));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- // make a sequence of Anys and fill each one with a different data type
- Marshal::AnySeq as1 (7), *as2;
- Marshal::Marshal_Struct ms;
- Marshal::Marshal_Union u;
-
- ms.s = 3;
- ms.l = 256;
- ms.c = 'B';
- ms.o = (CORBA::Octet) 127;
- ms.d = 3.1415;
-
- u.ms (ms);
-
- // it looks like we must tell the sequence how many elements it is going to
- // carry. By just fixing the max value does not work.
-
- as1.length (7);
-
- as1[0] <<= (CORBA::Short)3;
- as1[1] <<= (CORBA::Long) 256;
- as1[2] <<= CORBA::Any::from_octet ((CORBA::Octet)127);
- as1[3] <<= CORBA::Any::from_char ('B');
- as1[4] <<= (CORBA::Double)3.1415; // double
- as1[5] <<= ms; // struct
- as1[6] <<= u; // union
-
- as2 = new Marshal::AnySeq;
-
- orb_->create_list(2, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= as1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (Marshal::_tc_AnySeq, as2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_sequence",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= as2;
-
- ACE_DEBUG ((LM_DEBUG, "DII test_sequence\n"));
- if (as1.length () == as2->length ())
- {
- // now make sure that the elements are same
- for (int i=0; i < as1.length (); i++)
- {
- if (as1[i].type ()->equal ((*as2)[i].type ()))
- {
- // now see if the values are same
- switch (i)
- {
- case 0:
- if (*(CORBA::Short *)as1[i].value () == *(CORBA::Short
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, shorts matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on shorts match\n"));
- }
- break;
- case 1:
- if (*(CORBA::Long *)as1[i].value () == *(CORBA::Long
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, longs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on longs match\n"));
- }
- break;
- case 2:
- if (*(CORBA::Octet *)as1[i].value () == *(CORBA::Octet
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, octets matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on octets match\n"));
- }
- break;
- case 3:
- if (*(CORBA::Char *)as1[i].value () == *(CORBA::Char
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, chars matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on chars match\n"));
- }
- break;
- case 4:
- if (*(CORBA::Double *)as1[i].value () == *(CORBA::Double
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, doubles matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on doubles match\n"));
- }
- break;
- case 5:
- {
- Marshal::Marshal_Struct *ms1, *ms2;
-
- ms1 = (Marshal::Marshal_Struct *)as1[i].value ();
- ms2 = (Marshal::Marshal_Struct *)(*as2)[i].value ();
-
- if (ms1->s == ms2->s && ms1->l == ms2->l && ms1->c == ms2->c && ms1->o == ms2->o &&
- ms1->d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, structs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on structs match\n"));
- }
- }
- break;
- case 6:
- {
- Marshal::Marshal_Union *u1, *u2;
-
- u1 = (Marshal::Marshal_Union *)as1[i].value ();
- u2 = (Marshal::Marshal_Union *)(*as2)[i].value ();
-
- if (u1->_d () == u2->_d () && u1->ms ().s == u2->ms ().s &&
- u1->ms ().l == u2->ms ().l &&
- u1->ms ().c == u2->ms ().c && u1->ms ().o == u2->ms ().o &&
- u1->ms ().d == u2->ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, unions matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on unions match\n"));
- }
- }
- break;
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "DII test_sequence: typecode mismatch for element %d\n", i));
- break;
- }
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_sequence failed: as2->length = %d\n",
- as2->length ()));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Orbix_Marshal_Client_Proxy::dii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // we will try a simple one here
- Marshal::Marshal_Recursive mr1, *elem1, *mr2, *elem2;
-
- mr1.value <<= (CORBA::Long)1;
- mr1.next.length (1); // sequence of length 1
-
- // fill the element
- elem1 = &mr1.next[0];
- elem1->value <<= CORBA::Any::from_char ('D');
- elem1->next.length (0); // end of seq
-
- mr2 = new Marshal::Marshal_Recursive;
-
- try {
- ref_->test_recursive (mr1, mr2);
- }
- catch (CORBA::SystemException &se){
- cerr << "error invoking request: " << se << endl;
- }
-
- elem2 = &mr2->next[0];
-
- if ((*(CORBA::Long *)mr1.value.value () == *(CORBA::Long*)mr2->value.value ())
- && (mr1.next.length () == mr2->next.length ()) // same length sequence
- && (*(CORBA::Char *)elem1->value.value () == *(CORBA::Char *)elem2->value.value ())
- && (elem1->next.length () == elem2->next.length ()))
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_recursive success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_recursive failure\n"));
- }
-
- return 0;
-}
-
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.h b/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.h
deleted file mode 100644
index c1d06d03c06..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.h
+++ /dev/null
@@ -1,123 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Marshal Orbix Benchmark
-//
-// = FILENAME
-// orbix_marshal_client.h
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined(_ORBIX_MARSHAL_CLIENT_H_)
-#define _ORBIX_MARSHAL_CLIENT_H_
-
-// benchmark library includes
-#include "benchmark/marshal_options.h"
-#include "benchmark/marshal_results.h"
-#include "benchmark/marshal_proxy.h"
-
-// include Orbix specific include files
-#include "marshal.h" // generated by IDL compiler
-
-class Orbix_Marshal_Client_Proxy : public CORBA_Marshal_Proxy
-{
- // =TITLE
- // Orbix_Marshal_Client_Proxy
- // =DESCRIPTION
- // Orbix client size specialization of the CORBA Marshal proxy class
-public:
- Orbix_Marshal_Client_Proxy (void);
- // constructor
-
- ~Orbix_Marshal_Client_Proxy (void);
- // destructor
-
- virtual int run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // do the actual work
-
- virtual int use_sii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // use the static invocation interface
-
- virtual int use_dii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // use the dynamic invocation interface
-private:
- // =helper functions
- int sii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- // all the DII helpers
- int dii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- CORBA::ORB_ptr orb_;
- // handle to the underlying orb
-
- Marshal_ptr ref_;
- // the object reference
-};
-
-#if defined (__ACE_INLINE__)
-#include "orbix_marshal_client.i"
-#endif /* __ACE_INLINE__ */
-
-#endif
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.i b/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.i
deleted file mode 100644
index 1165f92fde8..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.i
+++ /dev/null
@@ -1,21 +0,0 @@
-
-ACE_INLINE
-Orbix_Marshal_Client_Proxy::Orbix_Marshal_Client_Proxy (void)
- : orb_ (CORBA::ORB::_nil ()),
- ref_ (0)
-{
-}
-
-ACE_INLINE
-Orbix_Marshal_Client_Proxy::~Orbix_Marshal_Client_Proxy (void)
-{
- // releasing order is important
-
- // release the reference
- CORBA::release (ref_);
-
- // release the ORB
- CORBA::release (orb_);
-}
-
-
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.cpp b/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.cpp
deleted file mode 100644
index 877b8bd1626..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.cpp
+++ /dev/null
@@ -1,309 +0,0 @@
-#include "orbix_marshal_impl.h"
-
-#if !defined (__ACE_INLINE__)
-#include "orbix_marshal_impl.i"
-#endif /* __ACE_INLINE__ */
-
-// All the methods of the SSI class
-void
-Marshal_SSI_Impl::test_short (CORBA::Short s1,
- CORBA::Short &s2,
- CORBA::Environment &IT_env)
-{
- s2 = 2*s1;
-}
-
-void
-Marshal_SSI_Impl::test_long (CORBA::Long l1,
- CORBA::Long &l2,
- CORBA::Environment &IT_env)
-{
- l2 = 3*l1;
-}
-
-void
-Marshal_SSI_Impl::test_octet (CORBA::Octet o1,
- CORBA::Octet &o2,
- CORBA::Environment &IT_env)
-{
- o2 = o1;
-}
-
-void
-Marshal_SSI_Impl::test_char (CORBA::Char c1,
- CORBA::Char &c2,
- CORBA::Environment &IT_env)
-{
- c2 = c1;
-}
-
-void
-Marshal_SSI_Impl::test_double (CORBA::Double d1,
- CORBA::Double &d2,
- CORBA::Environment &IT_env)
-{
- d2 = d1/2;
-}
-
-void
-Marshal_SSI_Impl::test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2,
- CORBA::Environment &IT_env)
-{
- ms2.s = ms1.s;
- ms2.l = ms1.l;
- ms2.c = ms1.c;
- ms2.o = ms1.o;
- ms2.d = ms1.d;
-}
-
-void
-Marshal_SSI_Impl::test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2,
- CORBA::Environment &IT_env)
-{
- switch (u1._d ())
- {
- case Marshal::e_0th:
- u2.s (u1.s ()); // set short
- break;
- case Marshal::e_1st:
- u2.l (u1.l ()); // set long
- break;
- case Marshal::e_2nd:
- u2.c (u1.c ()); // set char
- break;
- case Marshal::e_3rd:
- u2.o (u1.o ()); // set octet
- break;
- case Marshal::e_4th:
- u2.d (u1.d ()); // set double
- break;
- case Marshal::e_5th:
- default:
- u2.ms (u1. ms ()); // set structs
- break;
- }
-}
-
-void
-Marshal_SSI_Impl::test_any (const CORBA::Any &a1,
- CORBA::Any *&a2,
- CORBA::Environment &IT_env)
-{
- a2 = new CORBA::Any (a1.type (), (void *)a1.value ()); // will do a deep copy
-}
-
-void
-Marshal_SSI_Impl::test_sequence (const Marshal::AnySeq& as1,
- Marshal::AnySeq *& as2,
- CORBA::Environment &IT_env)
-{
- as2 = new Marshal::AnySeq (as1);
-}
-
-void
-Marshal_SSI_Impl::test_recursive (const Marshal::Marshal_Recursive &mr1,
- Marshal::Marshal_Recursive *&mr2,
- CORBA::Environment &IT_env)
-{
-}
-
-//----------------------------------------------------------------------------
-//the methods of the DSI implementation class
-
-void
-Marshal_DSI_Impl::invoke (CORBA::ServerRequest& req, CORBA::Environment_ptr
- ep, CORBA::Environment &IT_env)
-{
- ACE_DEBUG ((LM_DEBUG, "************ inside invoke **********\n"));
- // parse the incoming request and find out for what operation it is. We use a
- // simple linear search here
- if (!ACE_OS::strcmp (req.op_name (IT_env), "test_short"))
- {
- test_short_skel (req);
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_long"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_octet"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_char"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_double"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_struct"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_union"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_any"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_sequence"))
- {
- }
-}
-
-void
-Marshal_DSI_Impl::test_short (CORBA::Short s1,
- CORBA::Short &s2)
-{
- s2 = 5*s1;
-}
-
-void
-Marshal_DSI_Impl::test_long (CORBA::Long l1,
- CORBA::Long &l2)
-{
- l2 = l1;
-}
-
-void
-Marshal_DSI_Impl::test_octet (CORBA::Octet o1,
- CORBA::Octet &o2)
-{
- o2 = o1;
-}
-
-void
-Marshal_DSI_Impl::test_char (CORBA::Char c1,
- CORBA::Char &c2)
-{
- c2 = c1;
-}
-
-void
-Marshal_DSI_Impl::test_double (CORBA::Double d1,
- CORBA::Double &d2)
-{
- d2 = d1;
-}
-
-void
-Marshal_DSI_Impl::test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2)
-{
- ms2.s = ms1.s;
- ms2.l = ms1.l;
- ms2.c = ms1.c;
- ms2.o = ms1.o;
- ms2.d = ms1.d;
-}
-
-void
-Marshal_DSI_Impl::test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2)
-{
- switch (u1._d ())
- {
- case Marshal::e_0th:
- u2.s (u1.s ()); // set short
- break;
- case Marshal::e_1st:
- u2.l (u1.l ()); // set long
- break;
- case Marshal::e_2nd:
- u2.c (u1.c ()); // set char
- break;
- case Marshal::e_3rd:
- u2.o (u1.o ()); // set octet
- break;
- case Marshal::e_4th:
- u2.d (u1.d ()); // set double
- break;
- case Marshal::e_5th:
- default:
- u2.ms (u1. ms ()); // set structs
- break;
- }
-}
-
-void
-Marshal_DSI_Impl::test_any (const CORBA::Any &a1,
- CORBA::Any *&a2)
-{
- a2 = new CORBA::Any (a1.type (), (void *)a1.value ()); // will do a deep copy
-}
-
-void
-Marshal_DSI_Impl::test_sequence (const Marshal::AnySeq& as1,
- Marshal::AnySeq *& as2)
-{
- as2 = new Marshal::AnySeq (as1);
-}
-
-void
-Marshal_DSI_Impl::test_recursive (const Marshal::Marshal_Recursive &mr1,
- Marshal::Marshal_Recursive *&mr2)
-{
-}
-
-// all the helper functions for the DSI class
-void
-Marshal_DSI_Impl::test_short_skel (CORBA::ServerRequest& req)
-{
- CORBA::NVList_ptr short_nv;
- CORBA::Any *any_s1, *any_s2;
- CORBA::Short s1 = 0, s2 = 0;
-
- orb_->create_list (2, short_nv); // parse 2 args
- any_s1 = new CORBA::Any (CORBA::_tc_short, &s1, 0);
- any_s2 = new CORBA::Any (CORBA::_tc_short, &s2, 0);
- short_nv->add_value ("s1", *any_s1, CORBA::ARG_IN);
- short_nv->add_value ("s2", *any_s2, CORBA::ARG_OUT);
-
- req.params (short_nv);
-
- test_short (s1, s2);
- ACE_DEBUG ((LM_DEBUG, ">>>>>>>s1 = %d and s2 = %d\n<<<<<<<<", s1, s2));
-}
-
-void
-Marshal_DSI_Impl::test_long_skel (CORBA::ServerRequest& req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_octet_skel (CORBA::ServerRequest& req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_char_skel (CORBA::ServerRequest& req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_double_skel (CORBA::ServerRequest& req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_struct_skel (CORBA::ServerRequest& req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_union_skel (CORBA::ServerRequest& req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_any_skel (CORBA::ServerRequest& req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_sequence_skel (CORBA::ServerRequest& req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_recursive_skel (CORBA::ServerRequest& req)
-{
-}
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.h b/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.h
deleted file mode 100644
index 850e99c2bee..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.h
+++ /dev/null
@@ -1,189 +0,0 @@
-#if !defined (ORBIX_MARSHAL_IMPL_H)
-#define ORBIX_MARSHAL_IMPL_H
-
-// to include DSI related files
-
-#include "ace/OS.h"
-
-#include "marshal.h"
-
-
-class Marshal_SSI_Impl
- : public virtual MarshalBOAImpl
-{
- // =TITLE
- // Marshal_SSI_Impl
- // =DESCRIPTION
- // Implementation of the interface using the static skeleton interface
-public:
- Marshal_SSI_Impl (const char *object_name = (const char *)NULL);
- // constructor
-
- ~Marshal_SSI_Impl (void);
- // destructor
-
- virtual void test_short (CORBA::Short s1,
- CORBA::Short& s2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test short
-
- virtual void test_long (CORBA::Long l1,
- CORBA::Long& l2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test long
-
- virtual void test_octet (CORBA::Octet o1,
- CORBA::Octet& o2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test octet
-
- virtual void test_char (CORBA::Char c1,
- CORBA::Char& c2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test char
-
- virtual void test_double (CORBA::Double d1,
- CORBA::Double& d2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test double
-
- virtual void test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test struct
-
- virtual void test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test union
-
- virtual void test_any (const CORBA::Any& a1,
- CORBA::Any *& a2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test any
-
- /*
- virtual void test_sequence (const Marshal::ShortSeq& s1,
- const Marshal::LongSeq& l1,
- const Marshal::OctetSeq& o1,
- const Marshal::CharSeq& c1,
- const Marshal::DoubleSeq& d1,
- const Marshal::StructSeq& S1,
- const Marshal::UnionSeq& U1,
- const Marshal::AnySeq& a1,
- Marshal::ShortSeq *& s2,
- Marshal::LongSeq *& l2,
- Marshal::OctetSeq *& o2,
- Marshal::CharSeq *& c2,
- Marshal::DoubleSeq *& d2,
- Marshal::StructSeq *& S2,
- Marshal::UnionSeq *& U2,
- Marshal::AnySeq *& a2);
- */
- virtual void test_sequence (const Marshal::AnySeq& a1,
- Marshal::AnySeq *& a2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test sequence
-
- virtual void test_recursive (const Marshal::Marshal_Recursive& mr1,
- Marshal::Marshal_Recursive *& mr2,
- CORBA::Environment &IT_env=CORBA::IT_chooseDefaultEnv ());
- // test struct
-
-};
-
-class Marshal_DSI_Impl : public CORBA::DynamicImplementation
-{
- // =TITLE
- // Marshal_DSI_Impl
- // =DESCRIPTION
- // Implementation of the interface using the dynamic skeleton interface
-public:
- Marshal_DSI_Impl (CORBA::ORB_ptr orb, const char *object_name = (const char *)NULL);
- // constructor
-
- ~Marshal_DSI_Impl (void);
- // destructor
-
-private:
- virtual void invoke (CORBA::ServerRequest& req, CORBA::Environment_ptr,
- CORBA::Environment&IT_env =
- CORBA::IT_chooseDefaultEnv());
- // This method is a must
-
- void test_short (CORBA::Short s1,
- CORBA::Short& s2);
- // test short
-
- void test_long (CORBA::Long l1,
- CORBA::Long& l2);
- // test long
-
- void test_octet (CORBA::Octet o1,
- CORBA::Octet& o2);
- // test octet
-
- void test_char (CORBA::Char c1,
- CORBA::Char& c2);
- // test char
-
- void test_double (CORBA::Double d1,
- CORBA::Double& d2);
- // test double
-
- void test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2);
- // test struct
-
- void test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2);
- // test union
-
- void test_any (const CORBA::Any& a1,
- CORBA::Any *& a2);
- // test any
-
- void test_sequence (const Marshal::AnySeq& a1,
- Marshal::AnySeq *& a2);
- // test sequence
-
- void test_recursive (const Marshal::Marshal_Recursive& mr1,
- Marshal::Marshal_Recursive *& mr2);
- // test struct
-
-private:
- //= helper functions - they behave as if they were skeletons
- void test_short_skel (CORBA::ServerRequest& req);
- void test_long_skel (CORBA::ServerRequest& req);
- void test_octet_skel (CORBA::ServerRequest& req);
- void test_char_skel (CORBA::ServerRequest& req);
- void test_double_skel (CORBA::ServerRequest& req);
- void test_struct_skel (CORBA::ServerRequest& req);
- void test_union_skel (CORBA::ServerRequest& req);
- void test_any_skel (CORBA::ServerRequest& req);
- void test_sequence_skel (CORBA::ServerRequest& req);
- void test_recursive_skel (CORBA::ServerRequest& req);
-
- // we need the orb to create argument lists (NVList) for us
- CORBA::ORB_ptr orb_; // not owned by us
-
-#if 0
- CORBA::NVList_ptr short_nv_;
- CORBA::NVList_ptr long_nv_;
- CORBA::NVList_ptr octet_nv_;
- CORBA::NVList_ptr char_nv_;
- CORBA::NVList_ptr double_nv_;
- CORBA::NVList_ptr struct_nv_;
- CORBA::NVList_ptr union_nv_;
- CORBA::NVList_ptr any_nv_;
- CORBA::NVList_ptr seq_nv_;
- CORBA::NVList_ptr recursive_nv_;
- CORBA::Any_ptr result_; // void result
-#endif
-};
-
-#if defined (__ACE_INLINE__)
-#include "orbix_marshal_impl.i"
-#endif /* __ACE_INLINE__ */
-
-#endif // defined (ORBIX_MARSHAL_IMPL_H)
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.i b/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.i
deleted file mode 100644
index 4ea7ef56421..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.i
+++ /dev/null
@@ -1,27 +0,0 @@
-// constructor
-ACE_INLINE
-Marshal_SSI_Impl::Marshal_SSI_Impl (const char *obj_name)
- : MarshalBOAImpl (obj_name)
-{
-}
-
-// destructor
-ACE_INLINE
-Marshal_SSI_Impl::~Marshal_SSI_Impl (void)
-{
-}
-
-// constructor
-ACE_INLINE
-Marshal_DSI_Impl::Marshal_DSI_Impl (CORBA::ORB_ptr orb, const char *obj_name)
- : orb_ (orb)
-{
-}
-
-// destructor
-ACE_INLINE
-Marshal_DSI_Impl::~Marshal_DSI_Impl (void)
-{
- orb_ = CORBA::ORB::_nil ();
-}
-
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.cpp b/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.cpp
deleted file mode 100644
index fb060a2b5e8..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Orbix marshal benchmark
-//
-// = FILENAME
-// orbix_marshal_server.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-//#define USE_INIT
-
-#include "orbix_marshal_server.h"
-
-#if !defined (__ACE_INLINE__)
-#include "orbix_marshal_server.i"
-#endif /* __ACE_INLINE__ */
-
-int
-Orbix_Marshal_Server_Proxy::run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- char **argv;
- int argc;
-
-#if 0
- // get the argument list to be passed on to the ORB_init method
- argv = options.orb_init_args (argc);
-
- // get the orb. Pass any ORB_init arguments
- this->orb_ = CORBA::ORB_init (argc, (char *const *)argv, "Orbix");
- if (this->orb_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB_init failed\n"));
- return -1;
- }
-
- // get the argument list to be passed on to the BOA_init method
- argv = options.orb_init_args (argc);
-
- // get the orb. Pass any ORB_init arguments
- this->boa_ = this->orb_->BOA_init (argc, (char *const *)argv, "Orbix_BOA");
- if (this->boa_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB_init failed\n"));
- return -1;
- }
-#endif
- // tell the "results" object what file it must store the results into
- results.filename (options.filename ());
-
- // use SII or DII accordingly
- switch (options.policy ())
- {
- case CORBA_Marshal_Options::STATIC : // use SSI
- this->ssi_ = new Marshal_SSI_Impl (options.object_name ());
- break;
- case CORBA_Marshal_Options::DYNAMIC : // use DSI
- // this->dsi_ = new Marshal_DSI_Impl (this->orb_, ACE_OS::strdup (options.object_name ()));
- this->dsi_ = new Marshal_DSI_Impl (&CORBA::Orbix, ACE_OS::strdup (options.object_name ()));
- // register with the BOA
- try {
- // we need to do a setImpl
- //this->boa_->setImpl ("Marshal", *this->dsi_);
- CORBA::Orbix.setImpl ("Marshal", *this->dsi_);
- }
- catch (CORBA::SystemException &se)
- {
- cerr << "system exception in obj_is_ready" << se << endl;
- }
- break;
- default:
- ACE_DEBUG ((LM_DEBUG, "bad policy\n"));
- return -1;
- }
-
- ACE_DEBUG ((LM_DEBUG, "Calling impl is ready\n"));
- try {
- // call impl_is_ready
- // this->boa_->impl_is_ready ((char *)options.service_name ());
- CORBA::Orbix.impl_is_ready ("marshalDSI");
- }
- catch (CORBA::SystemException &se)
- {
- cerr << "system exception: " << se << endl;
- }
-
- return 0;
-}
-
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.h b/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.h
deleted file mode 100644
index fe72344a8bb..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Marshal Orbix Benchmark
-//
-// = FILENAME
-// orbix_marshal_server.h
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined(_ORBIX_MARSHAL_SERVER_H_)
-#define _ORBIX_MARSHAL_SERVER_H_
-
-// benchmark library includes
-#include "benchmark/marshal_options.h"
-#include "benchmark/marshal_results.h"
-#include "benchmark/marshal_proxy.h"
-
-// implementation classes
-#include "orbix_marshal_impl.h"
-
-// include Orbix specific include files
-#include "marshal.h" // generated by IDL compiler
-
-class Orbix_Marshal_Server_Proxy : public CORBA_Marshal_Proxy
-{
-public:
- Orbix_Marshal_Server_Proxy (void);
- // constructor
-
- ~Orbix_Marshal_Server_Proxy (void);
- // destructor
-
- virtual int run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // do the actual work
-private:
- CORBA::ORB_ptr orb_;
- // underlying orb;
-
- CORBA::BOA_ptr boa_;
- // underlying boa;
-
- Marshal_SSI_Impl *ssi_;
- Marshal_DSI_Impl *dsi_;
- // the implementation (SSI or DSI)
-};
-
-
-#if defined (__ACE_INLINE__)
-#include "orbix_marshal_server.i"
-#endif /* __ACE_INLINE__ */
-
-#endif
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.i b/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.i
deleted file mode 100644
index f6c5fe36fd3..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.i
+++ /dev/null
@@ -1,26 +0,0 @@
-// constructor
-ACE_INLINE
-Orbix_Marshal_Server_Proxy::Orbix_Marshal_Server_Proxy (void)
- : orb_ (0),
- boa_ (0),
- ssi_ (0),
- dsi_ (0)
-{
-}
-
-// destructor
-ACE_INLINE
-Orbix_Marshal_Server_Proxy::~Orbix_Marshal_Server_Proxy (void)
-{
- // releasing order is important
-
- // release the impl
- delete ssi_;
- delete dsi_;
-
- // release the BOA
- CORBA::release (boa_);
-
- // release the ORB
- CORBA::release (orb_);
-}
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/run_client b/TAO/Benchmark/Marshal_Test/Orbix/run_client
deleted file mode 100755
index b0f7503d7bc..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/run_client
+++ /dev/null
@@ -1,23 +0,0 @@
-echo "********* Static Invocation Interface **********"
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T s
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T l
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T o
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T c
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T d
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T S
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T U
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T A
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T Q
-#client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T R
-#
-echo "********* Dynamic Invocation Interface **********"
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T s
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T l
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T o
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T c
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T d
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T S
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T U
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T A
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T Q
-
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/run_dsi b/TAO/Benchmark/Marshal_Test/Orbix/run_dsi
deleted file mode 100755
index f44f488aee7..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/run_dsi
+++ /dev/null
@@ -1,4 +0,0 @@
-echo "********* Static Invocation Interface **********"
-client -i 1 -h mambo -R s -P S -n marshalDSI -T s
-echo "********* Dynamic Invocation Interface **********"
-client -i 1 -h mambo -R s -P D -n marshalDSI -T s
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/run_dsi_server b/TAO/Benchmark/Marshal_Test/Orbix/run_dsi_server
deleted file mode 100755
index 19dc309e0dc..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/run_dsi_server
+++ /dev/null
@@ -1 +0,0 @@
-putit marshalDSI "${TAO_ROOT}/Benchmark/Marshal_Test/Orbix/server -R r -P D -I V -o dsi_marshal -n marshalDSI" \ No newline at end of file
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/run_ssi b/TAO/Benchmark/Marshal_Test/Orbix/run_ssi
deleted file mode 100755
index 9a1ca614e4e..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/run_ssi
+++ /dev/null
@@ -1,4 +0,0 @@
-echo "********* Static Invocation Interface **********"
-client -i 1 -h mambo -R s -P S -o ssi_marshal -n marshalSSI -T s
-echo "********* Dynamic Invocation Interface **********"
-client -i 1 -h mambo -R s -P D -o ssi_marshal -n marshalSSI -T s
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/run_ssi_server b/TAO/Benchmark/Marshal_Test/Orbix/run_ssi_server
deleted file mode 100755
index a0af5a0dcf4..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/run_ssi_server
+++ /dev/null
@@ -1 +0,0 @@
-putit marshalSSI "${TAO_ROOT}/Benchmark/Marshal_Test/Orbix/server -R r -P S -I V -o ssi_marshal -n marshalSSI" \ No newline at end of file
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/server.cpp b/TAO/Benchmark/Marshal_Test/Orbix/server.cpp
deleted file mode 100644
index dd6902a012d..00000000000
--- a/TAO/Benchmark/Marshal_Test/Orbix/server.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "benchmark/driver.h"
-#include "orbix_marshal_server.h"
-
-int main (int argc, char *argv [])
-{
- // instantiate a DRIVER with the Orbix_Client_Proxy as the template
- CORBA_Benchmark_Driver<Orbix_Marshal_Server_Proxy> driver (new
- Orbix_Marshal_Server_Proxy ());
-
- // let the driver do everything for us so that we remain very simple
- return driver.run (argc, argv);
-}
diff --git a/TAO/Benchmark/Marshal_Test/TAO/Makefile b/TAO/Benchmark/Marshal_Test/TAO/Makefile
deleted file mode 100644
index 8089081ecce..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Top-level Makefile for the Tao Marshal Benchmark
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-LDLIBS = -lACE -lbenchmark -lTAO
-
-PROG_SRCS = marshalC.cpp marshalS.cpp tao_marshal_client.cpp tao_marshal_server.cpp \
- tao_marshal_impl.cpp client.cpp server.cpp
-
-LSRC = $(PROG_SRCS)
-
-MARSHAL_CLIENT_OBJS = marshalC.o tao_marshal_client.o client.o
-
-MARSHAL_SERVER_OBJS = marshalC.o marshalS.o tao_marshal_impl.o tao_marshal_server.o server.o
-
-BIN = client server
-
-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.lib.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.
-#----------------------------------------------------------------------------
-
-ifndef TAO_ROOT
-TAO_ROOT = $(ACE_ROOT)/TAO
-endif
-
-CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/Benchmark -I$(TAO_ROOT)/tao/compat
-server: $(addprefix $(VDIR),$(MARSHAL_SERVER_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS)
-
-client: $(addprefix $(VDIR),$(MARSHAL_CLIENT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS)
-
-clean:
- rm -f core *.o *~ client server
- $(MAKE) realclean
-
-
-
-
-
-
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/client.cpp b/TAO/Benchmark/Marshal_Test/TAO/client.cpp
deleted file mode 100644
index b38fef81023..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/client.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "benchmark/driver.h"
-#include "tao_marshal_client.h"
-
-int main (int argc, char *argv [])
-{
- // instantiate a DRIVER with the Tao_Client_Proxy as the template
- CORBA_Benchmark_Driver<Tao_Marshal_Client_Proxy> driver (new
- Tao_Marshal_Client_Proxy ());
-
- // let the driver do everything for us so that we remain very simple
- return driver.run (argc, argv);
-}
diff --git a/TAO/Benchmark/Marshal_Test/TAO/marshal.idl b/TAO/Benchmark/Marshal_Test/TAO/marshal.idl
deleted file mode 100644
index 7ddc5423db4..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/marshal.idl
+++ /dev/null
@@ -1,89 +0,0 @@
-// Interface for the marshal benchmark
-
-interface Marshal
-{
- struct Marshal_Struct
- {
- short s;
- long l;
- char c;
- octet o;
- double d;
- };
-
- enum discrim {e_0th, e_1st, e_2nd, e_3rd, e_4th, e_5th, e_6th};
-
- union Marshal_Union
- switch (discrim)
- {
- case e_0th:
- short s;
- case e_1st:
- long l;
- case e_2nd:
- char c;
- case e_3rd:
- octet o;
- case e_4th:
- double d;
- case e_5th:
- default: // this will test typecode indirection
- Marshal_Struct ms;
- };
-
- /*
- typedef sequence<short> ShortSeq;
- typedef sequence<long> LongSeq;
- typedef sequence<octet> OctetSeq;
- typedef sequence<char> CharSeq;
- typedef sequence<double> DoubleSeq;
- typedef sequence<Marshal_Struct> StructSeq;
- typedef sequence<Marshal_Union> UnionSeq;
- */
- // for testing sequences of Any
- typedef sequence<any> AnySeq;
-
- // testing recursive behavior
- // complex.
- struct Marshal_Recursive
- {
- // we use this to test the limited recursion allowed by IDL. This is an
- // ideal test for indirected typecodes.
-
- // simulate a behavior of a list node
- any value;
- sequence <Marshal_Recursive> next;
- };
-
- void test_short (in short s1, out short s2); // test a short
- void test_long (in long l1, out long l2); // test a long
- void test_octet (in octet o1, out octet o2); // test an octet
- void test_char (in char c1, out char c2); // test a char
- void test_double (in double d1, out double d2); // test a double
- void test_struct (in Marshal_Struct ms1, out Marshal_Struct ms2); // test a
- // struct
- void test_union (in Marshal_Union u1, out Marshal_Union u2); // test a
- // union.
- void test_any (in any a1, out any a2); // test an Any
- /*
- void test_sequence (in ShortSeq ss1, in LongSeq ls1, in OctetSeq os1, in
- CharSeq cs1, in DoubleSeq ds1, in StructSeq Ss1, in
- UnionSeq us1, in AnySeq as1,
- out ShortSeq ss2, out LongSeq ls2, out OctetSeq os2, out
- CharSeq cs2, out DoubleSeq ds2, out StructSeq Ss2, out
- UnionSeq us2, out AnySeq as2);
- */
- void test_sequence (in AnySeq as1, out AnySeq as2); // this will result in a
- // 3 level indirection -
- // sequence, any, and its
- // value type
- void test_recursive (in Marshal_Recursive mr1, out Marshal_Recursive mr2); //
- // very complicated
-};
-
-
-
-
-
-
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/marshalC.cpp b/TAO/Benchmark/Marshal_Test/TAO/marshalC.cpp
deleted file mode 100644
index 3a8b4465fba..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/marshalC.cpp
+++ /dev/null
@@ -1,585 +0,0 @@
-#include <stdio.h>
-#include "marshalC.h"
-
-// constructor
-Marshal::Marshal(STUB_Object *refdata)
- : CORBA_Object(refdata)
-{
-}
-
-// static duplicate method
-Marshal_ptr Marshal::_duplicate(Marshal_ptr obj)
-{
- void *dupl;
-
- if (obj)
- {
- obj->AddRef();
- }
- return obj;
-}
-
-// static _narrow method
-Marshal_ptr Marshal::_narrow(CORBA_Object_ptr obj)
-{
- CORBA_Environment env;
- if (obj->_is_a("IDL:Marshal:1.0", env)){
- STUB_Object *istub;
- if (obj->QueryInterface(IID_STUB_Object, (void **)&istub) != NOERROR){
- return Marshal::_nil();
- }
- Marshal_ptr new_obj = new Marshal(istub);
- return Marshal::_duplicate(new_obj);
- }
- return Marshal::_nil();
-}
-
-Marshal_ptr Marshal::_nil()
-{
- return (Marshal_ptr)NULL;
-}
-
-Marshal::Marshal_Union::Marshal_Union(const Marshal::Marshal_Union& obj)
-{
- _disc = obj._d();
- switch (_disc) {
- case e_0th:
- __s = obj.__s;
- break;
- case e_1st:
- __l = obj.__l;
- break;
- case e_2nd:
- __c = obj.__c;
- break;
- case e_3rd:
- __o = obj.__o;
- break;
- case e_4th:
- __d = obj.__d;
- break;
- case e_5th:
- default:
- __ms = obj.__ms;
- break;
- }
-}
-
-Marshal::Marshal_Union& Marshal::Marshal_Union::operator=(const Marshal::Marshal_Union& obj)
-{
- _disc = obj._d();
- switch (_disc) {
- case e_0th:
- __s = obj.__s;
- break;
- case e_1st:
- __l = obj.__l;
- break;
- case e_2nd:
- __c = obj.__c;
- break;
- case e_3rd:
- __o = obj.__o;
- break;
- case e_4th:
- __d = obj.__d;
- break;
- case e_5th:
- default:
- __ms = obj.__ms;
- break;
- }
- return *this;
-}
-
-// AnySeq methods
-Marshal::AnySeq::AnySeq (CORBA_ULong max)
- : _maximum(max),
- _length(0),
- _release(CORBA_B_FALSE)
-{
- if (this->_maximum > 0){
- this->_buffer = new CORBA_Any [this->_maximum];
- } else {
- this->_buffer = 0;
- }
-}
-
-Marshal::AnySeq::AnySeq (CORBA_ULong max, CORBA_ULong length,
- CORBA_Any *value, CORBA_Boolean release)
- : _maximum(max),
- _length(length),
- _buffer(value),
- _release(release)
-{
-}
-
-Marshal::AnySeq::~AnySeq()
-{
- this->_maximum = this->_length = 0;
- if (this->_release != CORBA_B_FALSE)
- delete this->_buffer;
-}
-
-void Marshal::AnySeq::length (CORBA_ULong newlen)
-{
- if (newlen > this->_maximum) {
- CORBA_Any *temp = new CORBA_Any [newlen];
- ::memcpy(temp, this->_buffer, (size_t(this->_length) * sizeof (CORBA_Any)));
- if (this->_release)
- delete this->_buffer;
- else
- this->_release = 1;
-
- this->_maximum = newlen;
- this->_buffer = temp;
- }
- if (newlen > this->_length)
- memset(&this->_buffer[this->_length], 0, size_t(newlen - this->_length) *
- sizeof(CORBA_Any));
- this->_length = newlen;
-}
-
-CORBA_ULong Marshal::AnySeq::length() const
-{
- return this->_length;
-}
-
-CORBA_Any &Marshal::AnySeq::operator[](CORBA_ULong index)
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-const CORBA_Any& Marshal::AnySeq::operator[](CORBA_ULong index) const
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-
-/***************** TypeCodes **************/
-// In the typecode, all repoIDs and names are omitted by providing their length
-// as 1 that stands for the NULL terminator
-
-// encapsulated parameters for struct Marshal_Struct typecode
-static const CORBA_Long _oc_Marshal_Struct [] = {
- MY_BYTE_SEX, // byte order
- 1, 0, // repoID omitted (16, "IDL:Marshal/Marshal:1.0")
- 1, 0, // struct name (15, "Marshal_Struct") omitted
- 5, // 5 struct elements
-
- // short
- 1, 0, // should be 2, "s",
- tk_short,
-
- // long
- 1, 0, // should be 2, "l",
- tk_long,
-
- // char
- 1, 0, // should be 2, "c",
- tk_char,
-
- // octet
- 1, 0, // should be 2, "o",
- tk_octet,
-
- // double
- 1, 0, // should be 2, "d",
- tk_double,
-};
-
-
-static CORBA_TypeCode _tc__tc_Marshal_Struct (tk_struct,
- sizeof _oc_Marshal_Struct,
- (unsigned char *) &_oc_Marshal_Struct,
- CORBA_B_FALSE);
-CORBA_TypeCode_ptr Marshal::_tc_Marshal_Struct = &_tc__tc_Marshal_Struct;
-
-
-static const CORBA_Long _oc_discrim [] = {
- MY_BYTE_SEX, // byte order flag (TRICKY)
- 1, 0, // should be 20, "IDL:Marshal/discrim",
- 1, 0, // should be 8, "discrim",
- 7, // 7 elements in the enum
-
- 1, 0, // 6, "e_0th", // omitted member name, "e_0th"
- 1, 0, // 6, "e_1st", // omitted member name, "e_1st"
- 1, 0, // 6, "e_2nd", // omitted member name, "e_2nd"
- 1, 0, // 6, "e_3rd", // omitted member name, "e_3rd"
- 1, 0, // 6, "e_4th", // omitted member name, "e_4th"
- 1, 0, // 6, "e_5th", // omitted member name, "e_5th"
- 1, 0 //6, "e_6th" // omitted member name, "e_6th"
-};
-
-static CORBA_TypeCode _tc__tc_discrim (tk_enum,
- sizeof _oc_discrim,
- (unsigned char *) &_oc_discrim,
- CORBA_B_FALSE);
-
-CORBA_TypeCode_ptr Marshal::_tc_discrim = &_tc__tc_discrim;
-
-// Union
-static const CORBA_Long _oc_Marshal_Union [] =
-{
- MY_BYTE_SEX, // byte order flag (TRICKY)
- 1, 0, // 26, "IDL:Marshal/Marshal_Union", // omitted repository/type ID
- 1, 0, // 14, "Marshal_Union", // union name
-
- //
- // discriminant typecode:
- //
-
- tk_enum, // tk_enum
- 80, // encapsulation length
- MY_BYTE_SEX,
- 1, 0, // repoID
- 1, 0, // name
- 7, // 7 elements in the enum
-
- 1, 0, // e_Oth
- 1, 0,
- 1, 0,
- 1, 0,
- 1, 0,
- 1, 0,
- 1, 0, // e_6th
-
- 5, // default member index (zero based)
- 6, // number of union members
-
- // the 1st union branch arm
- Marshal::e_0th, // member label value
- 1, 0, // omitted member name, "s"
- tk_short, // member typecode
-
- // the 2nd union branch arm
- Marshal::e_1st, // member label value
- 1, 0, // omitted member name, "l"
- tk_long, // member typecode
-
- // the 3rd union branch arm
- Marshal::e_2nd, // member label value
- 1, 0, // omitted member name, "c"
- tk_char, // member typecode
-
- // the 4th union branch arm
- Marshal::e_3rd, // member label value
- 1, 0, // omitted member name, "o"
- tk_octet, // member typecode
-
- // the 5th union branch arm
- Marshal::e_4th, // member label value
- 1, 0, // omitted member name, "d"
- tk_double,
-
- // the 6th union branch
- Marshal::e_5th, // member label value
- 1, 0, // omitted member name, "ms"
- tk_struct, // tk_struct
- 84, // encapsulation length
-
- MY_BYTE_SEX, // byte order
- 1, 0, // repoID omitted (16, "IDL:Marshal/Marshal:1.0")
- 1, 0, // struct name (15, "Marshal_Struct") omitted
- 5, // 5 struct elements
-
- // short
- 1, 0, // should be 2, "s",
- tk_short,
-
- // long
- 1, 0, // should be 2, "l",
- tk_long,
-
- // char
- 1, 0, // should be 2, "c",
- tk_char,
-
- // octet
- 1, 0, // should be 2, "o",
- tk_octet,
-
- // double
- 1, 0, // should be 2, "d",
- tk_double,
-
- // default case
- 6, // 7th member, default index val
- 1, 0, // struct name "ms"
- ~0, // indirected typecode
- -108 // has to point to tk_struct in this stream
-};
-
-static CORBA_TypeCode _tc__tc_Marshal_Union (tk_union,
- sizeof _oc_Marshal_Union,
- (unsigned char *) &_oc_Marshal_Union,
- CORBA_B_FALSE);
-
-CORBA_TypeCode_ptr Marshal::_tc_Marshal_Union = &_tc__tc_Marshal_Union;
-
-// AnySeq
-static const CORBA_Long _oc_AnySeq [] = {
- MY_BYTE_SEX, // byte order
- tk_any, // sequence of any
- 0, // a length of 0 => unbounded sequence
-};
-static CORBA_TypeCode _tc__tc_AnySeq (tk_sequence,
- sizeof
- _oc_AnySeq,
- (unsigned char *)
- &_oc_AnySeq,
- CORBA_B_FALSE);
-
-CORBA_TypeCode_ptr Marshal::_tc_AnySeq = &_tc__tc_AnySeq;
-
-/***************** All the methods ********************/
-// test_short
-static const TAO_Param_Data marshal_test_short_paramdata [] = {
- {_tc_CORBA_Void, PARAM_RETURN, 0},
- {_tc_CORBA_Short, PARAM_IN, 0},
- {_tc_CORBA_Short, PARAM_OUT, 0}
-};
-
-static const TAO_Call_Data marshal_test_short_calldata = {
- "test_short", // op_name
- CORBA_B_TRUE, // twoway, although it returns void
- 3, // param count
- & marshal_test_short_paramdata [0], //
- 0, 0
-};
-
-// The stub
-void Marshal::test_short (CORBA_Short s1, CORBA_Short &s2, CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
- // twoway
- istub->do_call(env, &marshal_test_short_calldata, 0, &s1, &s2);
-}
-
-// test_long
-static const TAO_Param_Data marshal_test_long_paramdata [] = {
- {_tc_CORBA_Void, PARAM_RETURN, 0},
- {_tc_CORBA_Long, PARAM_IN, 0},
- {_tc_CORBA_Long, PARAM_OUT, 0}
-};
-
-static const TAO_Call_Data marshal_test_long_calldata = {
- "test_long", // op_name
- CORBA_B_TRUE, // twoway, although it returns void
- 3, // param count
- & marshal_test_long_paramdata [0], //
- 0, 0
-};
-
-// The stub
-void Marshal::test_long (CORBA_Long l1, CORBA_Long &l2, CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
- // twoway
- istub->do_call(env, &marshal_test_long_calldata, 0, &l1, &l2);
-}
-
-// test_octet
-static const TAO_Param_Data marshal_test_octet_paramdata [] = {
- {_tc_CORBA_Void, PARAM_RETURN, 0},
- {_tc_CORBA_Octet, PARAM_IN, 0},
- {_tc_CORBA_Octet, PARAM_OUT, 0}
-};
-
-static const TAO_Call_Data marshal_test_octet_calldata = {
- "test_octet", // op_name
- CORBA_B_TRUE, // twoway, although it returns void
- 3, // param count
- & marshal_test_octet_paramdata [0], //
- 0, 0
-};
-
-// The stub
-void Marshal::test_octet (CORBA_Octet o1, CORBA_Octet &o2, CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
- // twoway
- istub->do_call(env, &marshal_test_octet_calldata, 0, &o1, &o2);
-}
-
-// test_char
-static const TAO_Param_Data marshal_test_char_paramdata [] = {
- {_tc_CORBA_Void, PARAM_RETURN, 0},
- {_tc_CORBA_Char, PARAM_IN, 0},
- {_tc_CORBA_Char, PARAM_OUT, 0}
-};
-
-static const TAO_Call_Data marshal_test_char_calldata = {
- "test_char", // op_name
- CORBA_B_TRUE, // twoway, although it returns void
- 3, // param count
- & marshal_test_char_paramdata [0], //
- 0, 0
-};
-
-// The stub
-void Marshal::test_char (CORBA_Char c1, CORBA_Char &c2, CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
- // twoway
- istub->do_call(env, &marshal_test_char_calldata, 0, &c1, &c2);
-}
-
-// test_double
-static const TAO_Param_Data marshal_test_double_paramdata [] = {
- {_tc_CORBA_Void, PARAM_RETURN, 0},
- {_tc_CORBA_Double, PARAM_IN, 0},
- {_tc_CORBA_Double, PARAM_OUT, 0}
-};
-
-static const TAO_Call_Data marshal_test_double_calldata = {
- "test_double", // op_name
- CORBA_B_TRUE, // twoway, although it returns void
- 3, // param count
- & marshal_test_double_paramdata [0], //
- 0, 0
-};
-
-// The stub
-void Marshal::test_double (CORBA_Double d1, CORBA_Double &d2, CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
- // twoway
- istub->do_call (env, &marshal_test_double_calldata, 0, &d1, &d2);
-}
-
-// test_struct
-static const TAO_Param_Data marshal_test_struct_paramdata [] = {
- {_tc_CORBA_Void, PARAM_RETURN, 0},
- {Marshal::_tc_Marshal_Struct, PARAM_IN, 0},
- {Marshal::_tc_Marshal_Struct, PARAM_OUT, 0}
-};
-
-static const TAO_Call_Data marshal_test_struct_calldata = {
- "test_struct", // op_name
- CORBA_B_TRUE, // twoway, although it returns void
- 3, // param count
- & marshal_test_struct_paramdata [0], //
- 0, 0
-};
-
-// The stub
-void Marshal::test_struct (const Marshal::Marshal_Struct &ms1, Marshal::Marshal_Struct
- &ms2, CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
- // twoway
- istub->do_call(env, &marshal_test_struct_calldata, 0, &ms1, &ms2);
-}
-
-// test_union
-static const TAO_Param_Data marshal_test_union_paramdata [] = {
- {_tc_CORBA_Void, PARAM_RETURN, 0},
- {Marshal::_tc_Marshal_Union, PARAM_IN, 0},
- {Marshal::_tc_Marshal_Union, PARAM_OUT, 0}
-};
-
-static const TAO_Call_Data marshal_test_union_calldata = {
- "test_union", // op_name
- CORBA_B_TRUE, // twoway, although it returns void
- 3, // param count
- & marshal_test_union_paramdata [0], //
- 0, 0
-};
-
-// The stub
-void Marshal::test_union (const Marshal_Union &u1, Marshal::Marshal_Union
- &u2, CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
- // twoway
- istub->do_call (env, &marshal_test_union_calldata, 0, &u1, &u2);
-}
-
-// test_any
-static const TAO_Param_Data marshal_test_any_paramdata [] = {
- {_tc_CORBA_Void, PARAM_RETURN, 0},
- {_tc_CORBA_Any, PARAM_IN, 0},
- {_tc_CORBA_Any, PARAM_OUT, 0}
-};
-
-static const TAO_Call_Data marshal_test_any_calldata = {
- "test_any", // op_name
- CORBA_B_TRUE, // twoway, although it returns void
- 3, // param count
- & marshal_test_any_paramdata[0], //
- 0, 0
-};
-
-// The stub
-void Marshal::test_any (const CORBA_Any &a1, CORBA_Any *&a2, CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
- // twoway
- istub->do_call(env, &marshal_test_any_calldata, 0, &a1, &a2);
-}
-
-// test_sequence
-static const TAO_Param_Data marshal_test_sequence_paramdata [] = {
- { _tc_CORBA_Void, PARAM_RETURN, 0},
- { Marshal::_tc_AnySeq, PARAM_IN, 0},
- { Marshal::_tc_AnySeq, PARAM_OUT, 0}
-};
-
-static const TAO_Call_Data marshal_test_sequence_calldata = {
- "test_sequence", // opname
- CORBA_B_TRUE, // twoway
- 2, // param count
- &marshal_test_sequence_paramdata [0],
- 0, 0
-};
-
-// stub
-void Marshal::test_sequence (const Marshal::AnySeq &as1, Marshal::AnySeq *&as2,
- CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
- // twoway
- istub->do_call(env, &marshal_test_sequence_calldata, 0, &as1, &as2);
-}
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/marshalC.h b/TAO/Benchmark/Marshal_Test/TAO/marshalC.h
deleted file mode 100644
index 505de16fafb..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/marshalC.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/**************************************************************************
-This file has been hand-crafted to work with the ORB API of TAO
-***************************************************************************/
-
-#ifndef MARSHAL_C_H
-#define MARSHAL_C_H
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "tao/orb.h"
-#include "tao/orbobj.h"
-#include "tao/object.h"
-#include "tao/stub.h"
-#include "tao/typecode.h"
-#include "tao/cdr.h"
-
-class Marshal;
-typedef Marshal *Marshal_ptr;
-typedef Marshal_ptr MarshalRef;
-
-class Marshal: public virtual CORBA_Object
-{
-public:
- static Marshal_ptr _duplicate (Marshal_ptr obj);
- static Marshal_ptr _narrow (CORBA_Object_ptr obj);
- static Marshal_ptr _nil ();
-
- struct Marshal_Struct {
- CORBA_Short s;
- CORBA_Long l;
- CORBA_Char c;
- CORBA_Octet o;
- CORBA_Double d;
- };
- static CORBA_TypeCode_ptr _tc_Marshal_Struct;
-
- enum discrim {
- e_0th,
- e_1st,
- e_2nd,
- e_3rd,
- e_4th,
- e_5th,
- e_6th
- };
-
- static CORBA_TypeCode_ptr _tc_discrim;
-
- class Marshal_Union
- {
- private:
- discrim _disc;
- CORBA_Short __s;
- CORBA_Long __l;
- CORBA_Char __c;
- CORBA_Octet __o;
- CORBA_Double __d;
- Marshal::Marshal_Struct __ms;
- public:
- Marshal_Union() : _disc(discrim(0)) {}
- ~Marshal_Union() {}
- Marshal_Union(const Marshal_Union& obj);
- Marshal_Union& operator=(const Marshal_Union& obj);
-
- void _d(discrim val) { _disc = val; }
- discrim _d() const { return _disc; }
-
- void s(CORBA_Short val) {
- __s = val;
- _disc = Marshal::e_0th;
- }
- CORBA_Short s() const { return __s; }
-
- void l(CORBA_Long val) {
- __l = val;
- _disc = Marshal::e_1st;
- }
- CORBA_Long l() const { return __l; }
-
- void c(CORBA_Char val) {
- __c = val;
- _disc = Marshal::e_2nd;
- }
- CORBA_Char c() const { return __c; }
-
- void o(CORBA_Octet val) {
- __o = val;
- _disc = Marshal::e_3rd;
- }
- CORBA_Octet o() const { return __o; }
-
- void d(CORBA_Double val) {
- __d = val;
- _disc = Marshal::e_4th;
- }
- CORBA_Double d() const { return __d; }
-
- void ms(const Marshal::Marshal_Struct& val) {
- __ms = val;
- _disc = Marshal::e_5th;
- }
- const Marshal::Marshal_Struct& ms() const { return __ms; }
- Marshal::Marshal_Struct& ms() { return __ms; }
-
- };
-
- static CORBA_TypeCode_ptr _tc_Marshal_Union;
-
- class AnySeq
- {
- public:
- static CORBA_Any *allocbuf (CORBA_ULong nelems);
- static void freebuf (CORBA_Any *data);
- AnySeq (CORBA_ULong max=0);
- AnySeq (CORBA_ULong max,
- CORBA_ULong length,
- CORBA_Any *value,
- CORBA_Boolean release = CORBA_B_FALSE
- );
- // AnySeq (const AnySeq&);
- ~AnySeq ();
- CORBA_ULong maximum () const;
- void length (CORBA_ULong);
- CORBA_ULong length () const;
- CORBA_Any &operator[] (CORBA_ULong index);
- const CORBA_Any &operator[] (CORBA_ULong index) const;
- private:
- CORBA_ULong _maximum;
- CORBA_ULong _length;
- CORBA_Any *_buffer;
- CORBA_Boolean _release;
- };
- static CORBA_TypeCode_ptr _tc_AnySeq;
-
-
- // now the methods
- virtual void test_short(CORBA_Short s1,
- CORBA_Short& s2,
- CORBA_Environment &env);
-
- virtual void test_long(CORBA_Long l1,
- CORBA_Long& l2,
- CORBA_Environment &env);
-
- virtual void test_octet(CORBA_Octet o1,
- CORBA_Octet& o2,
- CORBA_Environment &env);
-
- virtual void test_char(CORBA_Char c1,
- CORBA_Char& c2,
- CORBA_Environment &env);
-
- virtual void test_double(CORBA_Double d1,
- CORBA_Double& d2,
- CORBA_Environment &env);
-
- virtual void test_struct(const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2,
- CORBA_Environment &env);
-
- virtual void test_union(const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2,
- CORBA_Environment &env);
-
- virtual void test_any(const CORBA_Any& a1,
- CORBA_Any *& a2,
- CORBA_Environment &env);
-
- virtual void test_sequence(const Marshal::AnySeq& as1,
- Marshal::AnySeq *& as2,
- CORBA_Environment &env);
-
-#if 0
- virtual void test_recursive(const Marshal::Marshal_Recursive& mr1,
- Marshal::Marshal_Recursive *& mr2,
- CORBA_Environment &env);
-#endif
-
-protected:
- Marshal() {}
- Marshal(STUB_Object *refdata);
- virtual ~Marshal() {}
-
-private:
- Marshal(const Marshal &) {}
- void operator=(const Marshal &) {}
-};
-
-#endif
-
-
-
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/marshalS.cpp b/TAO/Benchmark/Marshal_Test/TAO/marshalS.cpp
deleted file mode 100644
index c265e7c9c2f..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/marshalS.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-#include <iostream.h>
-#include "marshalS.h"
-
-static const TAO_operation_db_entry Marshal_operations[] = {
- {"_is_a", &_skel_Marshal::_Marshal_is_a_skel},
- { "test_short", &_skel_Marshal::_Marshal_test_short_skel},
- { "test_long", &_skel_Marshal::_Marshal_test_long_skel},
- { "test_octet", &_skel_Marshal::_Marshal_test_octet_skel},
- { "test_char", &_skel_Marshal::_Marshal_test_char_skel},
- { "test_double", &_skel_Marshal::_Marshal_test_double_skel},
- { "test_struct", &_skel_Marshal::_Marshal_test_struct_skel},
- { "test_union", &_skel_Marshal::_Marshal_test_union_skel},
- { "test_any", &_skel_Marshal::_Marshal_test_any_skel},
- { "test_sequence", &_skel_Marshal::_Marshal_test_sequence_skel},
- { 0, 0 }
-};
-
-TAO_Dynamic_Hash_OpTable tao_Marshal_optable(Marshal_operations, 10,
- // 9 + 1 operations on our
- // interface
- 20);
-// constructor
-_skel_Marshal::_skel_Marshal (const char *obj_name)
-{
- const CORBA_String repoID = "IDL:Marshal:1.0"; // repository ID
- IIOP_Object *data; // IIOP object
- CORBA_BOA_ptr oa = TAO_OA_PARAMS::instance()->oa(); // underlying BOA
- this->optable_ = &tao_Marshal_optable; // operation database
- CORBA_Long i;
-
- // setup an IIOP object
- data = new IIOP_Object (CORBA_string_dup (repoID));
- 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); // set the object key
- this->set_parent(data); // store the IIOP obj reference with ourselves
- this->sub_ = this; // set the most derived class to be ourselves
- if (oa) oa->bind(data->profile.object_key, this);// register ourselves
-}
-
-// skeletons
-void _skel_Marshal::_Marshal_test_short_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
-#if 0
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value(_tc_CORBA_Short);
- Marshal_ptr impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value(0, temp_value, CORBA_ARG_IN, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- Marshal::ShortSeq *value = (Marshal::ShortSeq *)nv->value()->value();
-
- // now invoke the implementation
- impl = (Marshal_ptr)(obj->get_subclass());
- // now the magic of dynamic binding
- impl->sendShortSeq(*value, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- req.result(any, env);
-#endif
-
- // One immediate thought is to do the following:
- // define a specialized marshal factory derived from TAO_Marshal_Factory
- // then:
- // CDR compiledStream (req._incoming.next, req._incoming.remaining,
- // byte_order, consume_buf = 0, instance of our marshal factory
-}
-
-void _skel_Marshal::_Marshal_test_long_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
-}
-
-void _skel_Marshal::_Marshal_test_octet_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
-}
-
-void _skel_Marshal::_Marshal_test_char_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
-}
-
-void _skel_Marshal::_Marshal_test_double_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
-}
-
-void _skel_Marshal::_Marshal_test_struct_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
-}
-
-void _skel_Marshal::_Marshal_test_union_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
-}
-
-void _skel_Marshal::_Marshal_test_any_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
-}
-
-void _skel_Marshal::_Marshal_test_sequence_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
-}
-
-void _skel_Marshal::_Marshal_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);
- char *type_id = "IDL:Marshal:1.0";
-
- 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 ();
-
- cout << "object id = " << ((char *)value) << endl;
- if (strcmp ((char *)value, (char *)type_id) == 0
- || 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");
-}
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/marshalS.h b/TAO/Benchmark/Marshal_Test/TAO/marshalS.h
deleted file mode 100644
index 5980be4f737..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/marshalS.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/**************************************************************************
-This file has been hand-crafted to work with the ORB API of TAO
-***************************************************************************/
-
-#ifndef MARSHAL_S_H
-#define MARSHAL_S_H
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "marshalC.h"
-#include "tao/connect.h"
-#include "tao/orb.h"
-#include "tao/params.h"
-#include "tao/iiopobj.h"
-#include "tao/optable.h" // for registering our methods
-#include "tao/corbacom.h"
-#include "tao/nvlist.h"
-#include "tao/orbobj.h"
-#include "tao/debug.h"
-
-
-class _skel_Marshal;
-typedef _skel_Marshal *_skel_Marshal_ptr;
-typedef _skel_Marshal *_skel_Marshal_ref;
-
-class _skel_Marshal: public Marshal
-{
-public:
- // pure virtual functions implemented by the implementation class
- virtual void test_short(CORBA_Short s1,
- CORBA_Short& s2,
- CORBA_Environment &env) = 0;
-
- virtual void test_long(CORBA_Long l1,
- CORBA_Long& l2,
- CORBA_Environment &env) = 0;
-
- virtual void test_octet(CORBA_Octet o1,
- CORBA_Octet& o2,
- CORBA_Environment &env) = 0;
-
- virtual void test_char(CORBA_Char c1,
- CORBA_Char& c2,
- CORBA_Environment &env) = 0;
-
- virtual void test_double(CORBA_Double d1,
- CORBA_Double& d2,
- CORBA_Environment &env) = 0;
-
- virtual void test_struct(const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2,
- CORBA_Environment &env) = 0;
-
- virtual void test_union(const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2,
- CORBA_Environment &env) = 0;
-
- virtual void test_any(const CORBA_Any& a1,
- CORBA_Any *& a2,
- CORBA_Environment &env) = 0;
-
- virtual void test_sequence(const Marshal::AnySeq& as1,
- Marshal::AnySeq *& as2,
- CORBA_Environment &env) = 0;
-
-
- // skeletons that do the upcall
- static void _Marshal_is_a_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_short_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_long_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_octet_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_char_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_double_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_struct_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_union_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_any_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_sequence_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
-protected:
- _skel_Marshal (const char *obj_name = 0);
- virtual ~_skel_Marshal () {}
-};
-
-#endif
-
-
-
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/server.cpp b/TAO/Benchmark/Marshal_Test/TAO/server.cpp
deleted file mode 100644
index 930322be5c3..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/server.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "benchmark/driver.h"
-#include "tao_marshal_server.h"
-
-int main (int argc, char *argv [])
-{
- // instantiate a DRIVER with the Tao_Client_Proxy as the template
- CORBA_Benchmark_Driver<Tao_Marshal_Server_Proxy> driver (new
- Tao_Marshal_Server_Proxy ());
-
- // let the driver do everything for us so that we remain very simple
- return driver.run (argc, argv);
-}
diff --git a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp b/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp
deleted file mode 100644
index 157050ba3d8..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp
+++ /dev/null
@@ -1,1424 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Tao marshal benchmark
-//
-// = FILENAME
-// tao_marshal_proxy.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#include <iostream.h>
-#include <fstream.h>
-#include "tao_marshal_client.h"
-
-#if !defined (__ACE_INLINE__)
-#include "tao_marshal_client.i"
-#endif /* __ACE_INLINE__ */
-
-int
-Tao_Marshal_Client_Proxy::run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- char **argv;
- int argc;
- CORBA_Object_ptr target;
- CORBA_Environment env;
- CORBA_String str; // IOR
- fstream iorfile; // persistent storage
-
- // get the argument list to be passed on to the ORB_init method
- argv = options.orb_init_args (argc);
-
- // get the orb. Pass any ORB_init arguments
- this->orb_ = CORBA_ORB_init (argc, (char *const *)argv, "IOR", env);
- if (this->orb_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB_init failed\n"));
- return -1;
- }
-
- str = CORBA_string_alloc(500);
-
- // read the IOR from the file ior.txt
- iorfile.open("ior.txt", ios::in);
- iorfile >> ((char *)str);
- iorfile.close();
-
- cout << "Read IOR string as: " << ((char *)str) << endl;
-
- target = this->orb_->string_to_object(str, env);
- if (env.exception() != 0){
- ACE_DEBUG ((LM_ERROR, "str to obj failed"));
- return 1;
- }
- CORBA_string_free(str);
-
-#if 0
- // get the obj ref by binding it to the specified host using the specified obj_name
- target = Marshal::_bind (options.object_name (), options.hostname ());
- if (CORBA_is_nil (target))
- {
- ACE_DEBUG ((LM_DEBUG, "bind call failed\n"));
- return -1;
- }
-#endif
-
- this->ref_ = Marshal::_narrow (target);
- if (CORBA_is_nil (this->ref_))
- {
- ACE_DEBUG ((LM_DEBUG, "narrow to Marshal failed\n"));
- return -1;
- }
-
- // tell the "results" object what file it must store the results into
- results.filename (options.filename ());
-
- // use SII or DII accordingly
- switch (options.policy ())
- {
- case CORBA_Marshal_Options::STATIC : // use SII
- return this->use_sii (options, results);
- break;
- case CORBA_Marshal_Options::DYNAMIC : // use DII
- return this->use_dii (options, results);
- break;
- default:
- ACE_DEBUG ((LM_DEBUG, "bad policy\n"));
- return -1;
- }
- // hopefully we are never here, else something is seriously wrong
- return -1;
-}
-
-int
-Tao_Marshal_Client_Proxy::use_sii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- int i;
- int status = 0;
- // This method tests the static invocation interface
-
- for (i=0; i < options.iterations () && !status; i++)
- {
- switch (options.data_type ())
- {
- // shorts
- case CORBA_Marshal_Options::SHORT:
- status = sii_test_short (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::LONG:
- status = sii_test_long (options, results);
- break;
- // octets
- case CORBA_Marshal_Options::OCTET:
- status = sii_test_octet (options, results);
- break;
- // chars
- case CORBA_Marshal_Options::CHAR:
- status = sii_test_char (options, results);
- break;
- // doubles
- case CORBA_Marshal_Options::DOUBLE:
- status = sii_test_double (options, results);
- break;
- // Structs
- case CORBA_Marshal_Options::STRUCT:
- status = sii_test_struct (options, results);
- break;
- // unions
- case CORBA_Marshal_Options::UNION:
- status = sii_test_union (options, results);
- break;
- // anys
- case CORBA_Marshal_Options::ANY:
- status = sii_test_any (options, results);
- break;
- // sequences
- case CORBA_Marshal_Options::SEQUENCE:
- status = sii_test_sequence (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::RECURSIVE:
- // status = sii_test_recursive (options, results);
- // doesn't work
- break;
- default:
- status = -1;
- } // end of switch
- } // for loop
-
- if (!status)
- return 0;
- else
- return -1;
-}
-
-int
-Tao_Marshal_Client_Proxy::use_dii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- int i;
- int status = 0;
- // This method tests the dynamic invocation interface
-
- for (i=0; i < options.iterations () && !status; i++)
- {
- switch (options.data_type ())
- {
- // shorts
- case CORBA_Marshal_Options::SHORT:
- status = dii_test_short (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::LONG:
- status = dii_test_long (options, results);
- break;
- // octets
- case CORBA_Marshal_Options::OCTET:
- status = dii_test_octet (options, results);
- break;
- // chars
- case CORBA_Marshal_Options::CHAR:
- status = dii_test_char (options, results);
- break;
- // doubles
- case CORBA_Marshal_Options::DOUBLE:
- status = dii_test_double (options, results);
- break;
- // Structs
- case CORBA_Marshal_Options::STRUCT:
- status = dii_test_struct (options, results);
- break;
- // unions
- case CORBA_Marshal_Options::UNION:
- status = dii_test_union (options, results);
- break;
- // anys
- case CORBA_Marshal_Options::ANY:
- status = dii_test_any (options, results);
- break;
- // sequences
- case CORBA_Marshal_Options::SEQUENCE:
- status = dii_test_sequence (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::RECURSIVE:
- // status = dii_test_recursive (options, results);
- // doesn't work
- break;
- default:
- status = -1;
- } // end of switch
- } // for loop
-
- if (!status)
- return 0;
- else
- return -1;
-}
-
-
-// all helper functions : SII
-int
-Tao_Marshal_Client_Proxy::sii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- CORBA_Short s1, s2;
- CORBA_Environment env;
-
- s1 = 3;
- ref_->test_short (s1, s2, env);
- if (s2 == 2*s1)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_short success: s1 = %d, s2 = %d\n", s1, s2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_short failed: s1 = %d, s2 = %d\n", s1, s2));
- }
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::sii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- CORBA_Long l1, l2;
- CORBA_Environment env;
-
- l1 = 256;
- ref_->test_long (l1, l2, env);
- if (l2 == 3*l1)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_long success: l1 = %d, l2 = %d\n", l1, l2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_long failed: l1 = %d, l2 = %d\n", l1, l2));
- }
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::sii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // octets
-{
- CORBA_Octet o1, o2;
- CORBA_Environment env;
-
- o1 = (CORBA_Octet) 127;
- ref_->test_octet (o1, o2, env);
- if (o1 == o2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_octet success: o1 = %c, o2 = %c\n", o1, o2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_octet failed: o1 = %c, o2 = %c\n", o1, o2));
- }
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::sii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // chars
-{
- CORBA_Char c1, c2;
- CORBA_Environment env;
-
- c1 = 'B';
- ref_->test_char (c1, c2, env);
- if (c1 == c2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_char success: c1 = %c, c2 = %c\n", c1, c2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_char failed: c1 = %c, c2 = %c\n", c1, c2));
- }
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::sii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // doubles
-{
- CORBA_Double d1, d2;
- CORBA_Environment env;
-
- d1 = 3.1415;
- ref_->test_double (d1, d2, env);
- if (d2 == d1/2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_double success: d1 = %f, d2 = %f\n", d1, d2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_double failed: d1 = %f, d2 = %f\n", d1, d2));
- }
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::sii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // structs
-{
- Marshal::Marshal_Struct ms1, ms2;
- CORBA_Environment env;
-
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA_Octet) 127;
- ms1.d = 3.1415;
-
- ref_->test_struct (ms1, ms2, env);
- if (ms1.s == ms2.s && ms1.l == ms2.l && ms1.c == ms2.c && ms1.o == ms2.o &&
- ms1.d == ms2.d)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_struct success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_struct failed\n"));
- }
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::sii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // unions
-{
- Marshal::Marshal_Union u1, u2;
- Marshal::Marshal_Struct ms1, ms2;
- CORBA_Environment env;
-
- // first test an enumerated case
- u1._d (Marshal::e_1st);
- u1.l (4567);
-
- ref_->test_union (u1, u2, env);
- if ( (u1._d () == u2._d()) && (u1.l () == u2.l ()))
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for long (case e_1st) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for long (case e_1st) failed\n"));
- }
-
- // now test the default case
- u1._d (Marshal::e_6th); // this case doesn't exist which will lead to using
- // the default case
-
- u1.ms ().s = 3;
- u1.ms ().l = 256;
- u1.ms ().c = 'B';
- u1.ms ().o = (CORBA_Octet) 127;
- u1.ms ().d = 3.1415;
-
- ref_->test_union (u1, u2, env);
-
- if (u1.ms ().s == u2.ms ().s && u1.ms ().l == u2.ms ().l && u1.ms ().c == u2.ms ().c && u1.ms ().o == u2.ms ().o &&
- u1.ms ().d == u2.ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for default (case e_6th) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for default (case e_6th) failed\n"));
- }
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::sii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // we send a struct thru the any
- CORBA_Any a1, *a2;
- Marshal::Marshal_Struct ms1, *ms2;
- CORBA_Environment env;
-
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA_Octet) 127;
- ms1.d = 3.1415;
-
- // populate the any with a MarshalStruct
- // a1 <<= ms1; // not in TAO yet
- a1.replace (Marshal::_tc_Marshal_Struct, &ms1, 0, env);
-
- a2 = new CORBA_Any;
-
- // now test it
- ref_->test_any (a1, a2, env);
-
- // check if the two typecodes are equal
- if (a2->type ()->equal (Marshal::_tc_Marshal_Struct, env))
- {
- // now see if the values are same
- ms2 = (Marshal::Marshal_Struct *)a2->value ();
- if (ms1.s == ms2->s && ms1.l == ms2->l && ms1.c == ms2->c && ms1.o == ms2->o &&
- ms1.d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_any success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_any value match failed\n"));
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_any failed due to typecode mismatch\n"));
- }
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::sii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // make a sequence of Anys and fill each one with a different data type
- Marshal::AnySeq as1 (7), *as2;
- Marshal::Marshal_Struct ms;
- Marshal::Marshal_Union u;
- CORBA_Environment env;
-
-
- ms.s = 3;
- ms.l = 256;
- ms.c = 'B';
- ms.o = (CORBA_Octet) 127;
- ms.d = 3.1415;
-
- u._d (Marshal::e_5th); // somehow, the default case e_6th doesn't seem to
- // work here
- u.ms ().s = 3;
- u.ms ().l = 256;
- u.ms ().c = 'B';
- u.ms ().o = (CORBA_Octet) 127;
- u.ms ().d = 3.1415;
-
- // it looks like we must tell the sequence how many elements it is going to
- // carry. By just fixing the max value does not work.
-
- as1.length (7);
-
-#if 0 // to be supported later
- as1[0] <<= (CORBA_Short)3;
- as1[1] <<= (CORBA_Long) 256;
- as1[2] <<= CORBA_Any::from_octet ((CORBA_Octet)127);
- as1[3] <<= CORBA_Any::from_char ('B');
- as1[4] <<= (CORBA_Double)3.1415; // double
- as1[5] <<= ms; // struct
- as1[6] <<= u; // union
-#endif
- as1[0].replace (_tc_CORBA_Short, new CORBA_Short (3), 1, env);
- as1[1].replace (_tc_CORBA_Long, new CORBA_Long (256), 1, env);
- as1[2].replace (_tc_CORBA_Octet, new CORBA_Octet ((CORBA_Octet)127), 1, env);
- as1[3].replace (_tc_CORBA_Char, new CORBA_Char ('B'), 1, env);
- as1[4].replace (_tc_CORBA_Double, new CORBA_Double (3.1415), 1, env);
- as1[5].replace (Marshal::_tc_Marshal_Struct, new Marshal::Marshal_Struct
- (ms), 1, env);
- as1[6].replace (Marshal::_tc_Marshal_Union, new Marshal::Marshal_Union (u), 1, env);
-
- as2 = new Marshal::AnySeq;
-
- ref_->test_sequence (as1, as2, env);
-
- ACE_DEBUG ((LM_DEBUG, "SII test_sequence\n"));
- if (as1.length () == as2->length ())
- {
- // now make sure that the elements are same
- for (int i=0; i < as1.length (); i++)
- {
- if (as1[i].type ()->equal ((*as2)[i].type (), env))
- {
- // now see if the values are same
- switch (i)
- {
- case 0:
- if (*(CORBA_Short *)as1[i].value () == *(CORBA_Short
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, shorts matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on shorts match\n"));
- }
- break;
- case 1:
- if (*(CORBA_Long *)as1[i].value () == *(CORBA_Long
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, longs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on longs match\n"));
- }
- break;
- case 2:
- if (*(CORBA_Octet *)as1[i].value () == *(CORBA_Octet
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, octets matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on octets match\n"));
- }
- break;
- case 3:
- if (*(CORBA_Char *)as1[i].value () == *(CORBA_Char
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, chars matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on chars match\n"));
- }
- break;
- case 4:
- if (*(CORBA_Double *)as1[i].value () == *(CORBA_Double
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, doubles matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on doubles match\n"));
- }
- break;
- case 5:
- {
- Marshal::Marshal_Struct *ms1, *ms2;
-
- ms1 = (Marshal::Marshal_Struct *)as1[i].value ();
- ms2 = (Marshal::Marshal_Struct *)(*as2)[i].value ();
-
- if (ms1->s == ms2->s && ms1->l == ms2->l && ms1->c == ms2->c && ms1->o == ms2->o &&
- ms1->d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, structs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on structs match\n"));
- }
- }
- break;
- case 6:
- {
- Marshal::Marshal_Union *u1, *u2;
-
- u1 = (Marshal::Marshal_Union *)as1[i].value ();
- u2 = (Marshal::Marshal_Union *)(*as2)[i].value ();
-
- if (u1->_d () == u2->_d () && u1->ms ().s == u2->ms ().s &&
- u1->ms ().l == u2->ms ().l &&
- u1->ms ().c == u2->ms ().c && u1->ms ().o == u2->ms ().o &&
- u1->ms ().d == u2->ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, unions matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on unions match\n"));
- }
- }
- break;
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "SII test_sequence: typecode mismatch for element %d\n", i));
- break;
- }
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_sequence failed: as2->length = %d\n",
- as2->length ()));
- }
- return 0;
-}
-
-#if 0
-int
-Tao_Marshal_Client_Proxy::sii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // we will try a simple one here
- Marshal::Marshal_Recursive mr1, *elem1, *mr2, *elem2;
- CORBA_Environment env;
-
-
- mr1.value <<= (CORBA_Long)1;
- mr1.next.length (1); // sequence of length 1
-
- // fill the element
- elem1 = &mr1.next[0];
- elem1->value <<= CORBA_Any::from_char ('D');
- elem1->next.length (0); // end of seq
-
- mr2 = new Marshal::Marshal_Recursive;
-
- try {
- ref_->test_recursive (mr1, mr2, env);
- }
- catch (CORBA_SystemException &se){
- cerr << "error invoking request: " << se << endl;
- }
-
- elem2 = &mr2->next[0];
-
- if ((*(CORBA_Long *)mr1.value.value () == *(CORBA_Long*)mr2->value.value ())
- && (mr1.next.length () == mr2->next.length ()) // same length sequence
- && (*(CORBA_Char *)elem1->value.value () == *(CORBA_Char *)elem2->value.value ())
- && (elem1->next.length () == elem2->next.length ()))
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_recursive success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_recursive failure\n"));
- }
-
- return 0;
-}
-#endif
-
-// -------------------------------------------------------
-// all helper functions : DII
-// -------------------------------------------------------
-
-int
-Tao_Marshal_Client_Proxy::dii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA_Request_ptr request = 0; //CORBA_Request::_nil(); // DII request
- CORBA_NVList_ptr arglist = 0; //CORBA_NVList::_nil(); // argument list
- // CORBA_Context_ptr ctx = CORBA_Context::_nil(); // context
- CORBA_NVList_ptr result_list = 0; //CORBA_NVList::_nil(); // result list
- CORBA_NamedValue_ptr result = 0; //CORBA_NamedValue::_nil();// actual result
- CORBA_Short s1, s2;
- CORBA_Environment env;
-
- s1 = 3;
- s2 = 0;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add (CORBA_ARG_IN)->value ()) <<= s1;
- arglist->add_value ("s1", CORBA_Any (_tc_CORBA_Short, &s1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- // this usage is also correct. All we care is to supply a storage area for
- // the OUT parameter
- // arglist->add (CORBA_ARG_OUT)->value ()->replace (CORBA__tc_short, &s2);
- // *(arglist->add (CORBA_ARG_OUT)->value ()) <<= s2;
- arglist->add_value ("s2", CORBA_Any (_tc_CORBA_Short, &s2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item (0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_short",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= s2;
- s2 = *(CORBA_Short *)arglist->item(1)->value()->value();
-
- if (s2 == 2*s1)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_short success: s1 = %d, s2 = %d\n", s1, s2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_short failed: s1 = %d, s2 = %d\n", s1, s2));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::dii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA_Request_ptr request = 0; //CORBA_Request::_nil(); // DII request
- CORBA_NVList_ptr arglist = 0; //CORBA_NVList::_nil(); // argument list
- // CORBA_Context_ptr ctx = CORBA_Context::_nil(); // context
- CORBA_NVList_ptr result_list = 0; //CORBA_NVList::_nil(); // result list
- CORBA_NamedValue_ptr result = 0; //CORBA_NamedValue::_nil();// actual result
- CORBA_Long l1, l2;
- CORBA_Environment env;
-
- l1 = 256;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add(CORBA_ARG_IN)->value()) <<= l1;
- arglist->add_value ("l1", CORBA_Any (_tc_CORBA_Long, &l1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- // arglist->add(CORBA_ARG_OUT)->value()->replace (CORBA__tc_long, &l2);
- arglist->add_value ("l2", CORBA_Any (_tc_CORBA_Long, &l2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_long",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= l2;
- l2 = *(CORBA_Long *)arglist->item (1)->value ()->value ();
-
- if (l2 == 3*l1)
- {
- ACE_DEBUG ((LM_DEBUG, "DII: test_long success: l1 = %d, l2 = %d\n", l1, l2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII: test_long failed: l1 = %d, l2 = %d\n", l1, l2));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::dii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // octets
-{
- // DII variables
- CORBA_Request_ptr request = 0; //CORBA_Request::_nil(); // DII request
- CORBA_NVList_ptr arglist = 0; //CORBA_NVList::_nil(); // argument list
- // CORBA_Context_ptr ctx = CORBA_Context::_nil(); // context
- CORBA_NVList_ptr result_list = 0; //CORBA_NVList::_nil(); // result list
- CORBA_NamedValue_ptr result = 0; //CORBA_NamedValue::_nil();// actual result
- CORBA_Octet o1, o2;
- CORBA_Environment env;
-
- o1 = (CORBA_Octet) 127;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add(CORBA_ARG_IN)->value()) <<= CORBA_Any::from_octet (o1);
- // arglist->add(CORBA_ARG_OUT)->value()->replace (CORBA__tc_octet, &o2);
- arglist->add_value ("o1", CORBA_Any (_tc_CORBA_Octet, &o1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- arglist->add_value ("o2", CORBA_Any (_tc_CORBA_Octet, &o2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_octet",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= CORBA_Any::to_octet (o2);
- o2 = *(CORBA_Octet *)arglist->item (1)->value ()->value ();
-
- if (o1 == o2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_octet success: o1 = %c, o2 = %c\n", o1, o2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_octet failed: o1 = %c, o2 = %c\n", o1, o2));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::dii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // chars
-{
- // DII variables
- CORBA_Request_ptr request = 0; //CORBA_Request::_nil(); // DII request
- CORBA_NVList_ptr arglist = 0; //CORBA_NVList::_nil(); // argument list
- // CORBA_Context_ptr ctx = CORBA_Context::_nil(); // context
- CORBA_NVList_ptr result_list = 0; //CORBA_NVList::_nil(); // result list
- CORBA_NamedValue_ptr result = 0; //CORBA_NamedValue::_nil();// actual result
- CORBA_Char c1, c2;
- CORBA_Environment env;
-
- c1 = 'B';
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add(CORBA_ARG_IN)->value()) <<= CORBA_Any::from_char (c1);
- // arglist->add(CORBA_ARG_OUT)->value()->replace (CORBA__tc_char, &c2);
- arglist->add_value ("c1", CORBA_Any (_tc_CORBA_Char, &c1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- arglist->add_value ("c2", CORBA_Any (_tc_CORBA_Char, &c2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_char",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= CORBA_Any::to_char (c2);
- c2 = *(CORBA_Char *)arglist->item (1)->value ()->value ();
-
- if (c1 == c2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_char success: c1 = %c, c2 = %c\n", c1, c2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_char failed: c1 = %c, c2 = %c\n", c1, c2));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::dii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // doubles
-{
- // DII variables
- CORBA_Request_ptr request = 0; //CORBA_Request::_nil(); // DII request
- CORBA_NVList_ptr arglist = 0; //CORBA_NVList::_nil(); // argument list
- // CORBA_Context_ptr ctx = CORBA_Context::_nil(); // context
- CORBA_NVList_ptr result_list = 0; //CORBA_NVList::_nil(); // result list
- CORBA_NamedValue_ptr result = 0; //CORBA_NamedValue::_nil();// actual result
- CORBA_Double d1, d2;
- CORBA_Environment env;
-
- d1 = 3.1415;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add(CORBA_ARG_IN)->value()) <<= d1;
- // arglist->add(CORBA_ARG_OUT)->value()->replace (CORBA__tc_double, &d2);
- arglist->add_value ("d1", CORBA_Any (_tc_CORBA_Double, &d1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- arglist->add_value ("d2", CORBA_Any (_tc_CORBA_Double, &d2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_double",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= d2;
- d2 = *(CORBA_Double *)arglist->item (1)->value ()->value ();
-
- if (d2 == d1/2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_double success: d1 = %f, d2 = %f\n", d1, d2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_double failed: d1 = %f, d2 = %f\n", d1, d2));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::dii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // structs
-{
- // DII variables
- CORBA_Request_ptr request = 0; //CORBA_Request::_nil(); // DII request
- CORBA_NVList_ptr arglist = 0; //CORBA_NVList::_nil(); // argument list
- // CORBA_Context_ptr ctx = CORBA_Context::_nil(); // context
- CORBA_NVList_ptr result_list = 0; //CORBA_NVList::_nil(); // result list
- CORBA_NamedValue_ptr result = 0; //CORBA_NamedValue::_nil();// actual result
- Marshal::Marshal_Struct ms1, ms2;
- CORBA_Environment env;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA_Octet) 127;
- ms1.d = 3.1415;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add(CORBA_ARG_IN)->value()) <<= ms1;
- // arglist->add(CORBA_ARG_OUT)->value()->replace (Marshal::_tc_Marshal_Struct, &ms2);
- arglist->add_value ("ms1", CORBA_Any (Marshal::_tc_Marshal_Struct, &ms1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- arglist->add_value ("ms2", CORBA_Any (Marshal::_tc_Marshal_Struct, &ms2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_struct",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= ms2;
- ms2 = *(Marshal::Marshal_Struct *)arglist->item (1)->value ()->value ();
-
- if (ms1.s == ms2.s && ms1.l == ms2.l && ms1.c == ms2.c && ms1.o == ms2.o &&
- ms1.d == ms2.d)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_struct success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_struct failed\n"));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::dii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // unions
-{
- // DII variables
- CORBA_Request_ptr request = 0; //CORBA_Request::_nil(); // DII request
- CORBA_NVList_ptr arglist = 0; //CORBA_NVList::_nil(); // argument list
- // CORBA_Context_ptr ctx = CORBA_Context::_nil(); // context
- CORBA_NVList_ptr result_list = 0; //CORBA_NVList::_nil(); // result list
- CORBA_NamedValue_ptr result = 0; //CORBA_NamedValue::_nil();// actual result
- Marshal::Marshal_Union u1, u2;
- Marshal::Marshal_Struct ms1, ms2;
- CORBA_Environment env;
-
-
- // first test an enumerated case
- u1._d (Marshal::e_1st);
- u1.l (4567);
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add(CORBA_ARG_IN)->value()) <<= u1;
- // arglist->add(CORBA_ARG_OUT)->value()->replace (Marshal::_tc_Marshal_Union, &u2);
- arglist->add_value ("u1", CORBA_Any (Marshal::_tc_Marshal_Union, &u1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- arglist->add_value ("u2", CORBA_Any (Marshal::_tc_Marshal_Union, &u2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_union",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= u2;
- u2 = *(Marshal::Marshal_Union *)arglist->item (1)->value ()->value ();
-
- if ( (u1._d () == u2._d()) && (u1.l () == u2.l ()))
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for long (case e_1st) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for long (case e_1st) failed\n"));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
-
- // now test the default case
- u1._d (Marshal::e_5th); // e_6th doesn't work
-
- u1.ms ().s = 3;
- u1.ms ().l = 256;
- u1.ms ().c = 'B';
- u1.ms ().o = (CORBA_Octet) 127;
- u1.ms ().d = 3.1415;
-
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add(CORBA_ARG_IN)->value()) <<= u1;
- //arglist->add(CORBA_ARG_OUT)->value()->replace (Marshal::_tc_Marshal_Union, &u2);
- arglist->add_value ("u1", CORBA_Any (Marshal::_tc_Marshal_Union, &u1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- arglist->add_value ("u2", CORBA_Any (Marshal::_tc_Marshal_Union, &u2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_union",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= u2;
- u2 = *(Marshal::Marshal_Union *)arglist->item (1)->value ()->value ();
-
- if (u1.ms ().s == u2.ms ().s && u1.ms ().l == u2.ms ().l && u1.ms ().c == u2.ms ().c && u1.ms ().o == u2.ms ().o &&
- u1.ms ().d == u2.ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for default (case e_6th) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for default (case e_6th) failed\n"));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::dii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA_Request_ptr request = 0; //CORBA_Request::_nil(); // DII request
- CORBA_NVList_ptr arglist = 0; //CORBA_NVList::_nil(); // argument list
- // CORBA_Context_ptr ctx = CORBA_Context::_nil(); // context
- CORBA_NVList_ptr result_list = 0; //CORBA_NVList::_nil(); // result list
- CORBA_NamedValue_ptr result = 0; //CORBA_NamedValue::_nil();// actual result
- // we send a struct thru the any
- CORBA_Any a1, *a2;
- Marshal::Marshal_Struct ms1, *ms2;
- CORBA_Environment env;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA_Octet) 127;
- ms1.d = 3.1415;
-
- // populate the any with a MarshalStruct
- // a1 <<= ms1;
- a1.replace (Marshal::_tc_Marshal_Struct, &ms1, CORBA_B_FALSE, env);
-
- a2 = new CORBA_Any;
-
- // now test it
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add(CORBA_ARG_IN)->value()) <<= a1;
- // arglist->add(CORBA_ARG_OUT)->value()->replace (CORBA__tc_any, a2);
- arglist->add_value ("a1", CORBA_Any (_tc_CORBA_Any, &a1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- arglist->add_value ("a2", CORBA_Any (_tc_CORBA_Any, a2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_any",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= (*a2);
- a2->replace (_tc_CORBA_Any, (CORBA_Any *)arglist->item (1)->value ()->value
- (), 1, env);
-
- // check if the two typecodes are equal
- if (a2->type ()->equal (Marshal::_tc_Marshal_Struct, env))
- {
- // now see if the values are same
- ms2 = (Marshal::Marshal_Struct *)a2->value ();
- if (ms1.s == ms2->s && ms1.l == ms2->l && ms1.c == ms2->c && ms1.o == ms2->o &&
- ms1.d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_any success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_any value match failed\n"));
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_any failed due to typecode mismatch\n"));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
- return 0;
-}
-
-int
-Tao_Marshal_Client_Proxy::dii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA_Request_ptr request = 0; //CORBA_Request::_nil(); // DII request
- CORBA_NVList_ptr arglist = 0; //CORBA_NVList::_nil(); // argument list
- // CORBA_Context_ptr ctx = CORBA_Context::_nil(); // context
- CORBA_NVList_ptr result_list = 0; //CORBA_NVList::_nil(); // result list
- CORBA_NamedValue_ptr result = 0; //CORBA_NamedValue::_nil();// actual result
- // make a sequence of Anys and fill each one with a different data type
- Marshal::AnySeq as1 (7), *as2;
- Marshal::Marshal_Struct ms;
- Marshal::Marshal_Union u;
- CORBA_Environment env;
-
- ms.s = 3;
- ms.l = 256;
- ms.c = 'B';
- ms.o = (CORBA_Octet) 127;
- ms.d = 3.1415;
-
- u._d (Marshal::e_5th); // somehow, the default case e_6th doesn't seem to
- // work here
- u.ms ().s = 3;
- u.ms ().l = 256;
- u.ms ().c = 'B';
- u.ms ().o = (CORBA_Octet) 127;
- u.ms ().d = 3.1415;
-
- // it looks like we must tell the sequence how many elements it is going to
- // carry. By just fixing the max value does not work.
-
- as1.length (7);
-
-#if 0
- as1[0] <<= (CORBA_Short)3;
- as1[1] <<= (CORBA_Long) 256;
- as1[2] <<= CORBA_Any::from_octet ((CORBA_Octet)127);
- as1[3] <<= CORBA_Any::from_char ('B');
- as1[4] <<= (CORBA_Double)3.1415; // double
- as1[5] <<= ms; // struct
- as1[6] <<= u; // union
-#endif
- as1[0].replace (_tc_CORBA_Short, new CORBA_Short (3), 1, env);
- as1[1].replace (_tc_CORBA_Long, new CORBA_Long (256), 1, env);
- as1[2].replace (_tc_CORBA_Octet, new CORBA_Octet ((CORBA_Octet)127), 1, env);
- as1[3].replace (_tc_CORBA_Char, new CORBA_Char ('B'), 1, env);
- as1[4].replace (_tc_CORBA_Double, new CORBA_Double (3.1415), 1, env);
- as1[5].replace (Marshal::_tc_Marshal_Struct, new Marshal::Marshal_Struct
- (ms), 1, env);
- as1[6].replace (Marshal::_tc_Marshal_Union, new Marshal::Marshal_Union (u), 1, env);
-
- as2 = new Marshal::AnySeq;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- // *(arglist->add(CORBA_ARG_IN)->value()) <<= as1;
- // arglist->add(CORBA_ARG_OUT)->value()->replace (Marshal::_tc_AnySeq, as2);
- arglist->add_value ("as1", CORBA_Any (Marshal::_tc_AnySeq, &as1, CORBA_B_FALSE),
- CORBA_ARG_IN, env);
- arglist->add_value ("o2", CORBA_Any (Marshal::_tc_AnySeq, as2, CORBA_B_FALSE),
- CORBA_ARG_OUT, env);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(//ctx,
- "test_sequence",
- arglist,
- result,
- request,
- 0, env);
-
- request->invoke (); // 2 way
- // *(arglist->item(1)->value()) >>= (*as2);
- *as2 = *(Marshal::AnySeq *)arglist->item (1)->value ()->value ();
-
- ACE_DEBUG ((LM_DEBUG, "DII test_sequence\n"));
- if (as1.length () == as2->length ())
- {
- // now make sure that the elements are same
- for (int i=0; i < as1.length (); i++)
- {
- if (as1[i].type ()->equal ((*as2)[i].type (), env))
- {
- // now see if the values are same
- switch (i)
- {
- case 0:
- if (*(CORBA_Short *)as1[i].value () == *(CORBA_Short
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, shorts matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on shorts match\n"));
- }
- break;
- case 1:
- if (*(CORBA_Long *)as1[i].value () == *(CORBA_Long
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, longs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on longs match\n"));
- }
- break;
- case 2:
- if (*(CORBA_Octet *)as1[i].value () == *(CORBA_Octet
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, octets matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on octets match\n"));
- }
- break;
- case 3:
- if (*(CORBA_Char *)as1[i].value () == *(CORBA_Char
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, chars matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on chars match\n"));
- }
- break;
- case 4:
- if (*(CORBA_Double *)as1[i].value () == *(CORBA_Double
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, doubles matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on doubles match\n"));
- }
- break;
- case 5:
- {
- Marshal::Marshal_Struct *ms1, *ms2;
-
- ms1 = (Marshal::Marshal_Struct *)as1[i].value ();
- ms2 = (Marshal::Marshal_Struct *)(*as2)[i].value ();
-
- if (ms1->s == ms2->s && ms1->l == ms2->l && ms1->c == ms2->c && ms1->o == ms2->o &&
- ms1->d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, structs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on structs match\n"));
- }
- }
- break;
- case 6:
- {
- Marshal::Marshal_Union *u1, *u2;
-
- u1 = (Marshal::Marshal_Union *)as1[i].value ();
- u2 = (Marshal::Marshal_Union *)(*as2)[i].value ();
-
- if (u1->_d () == u2->_d () && u1->ms ().s == u2->ms ().s &&
- u1->ms ().l == u2->ms ().l &&
- u1->ms ().c == u2->ms ().c && u1->ms ().o == u2->ms ().o &&
- u1->ms ().d == u2->ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, unions matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on unions match\n"));
- }
- }
- break;
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "DII test_sequence: typecode mismatch for element %d\n", i));
- break;
- }
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_sequence failed: as2->length = %d\n",
- as2->length ()));
- }
- CORBA_release (request);
- CORBA_release (arglist);
- CORBA_release (result);
- CORBA_release (result_list);
- return 0;
-}
-
-#if 0
-int
-Tao_Marshal_Client_Proxy::dii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // we will try a simple one here
- Marshal::Marshal_Recursive mr1, *elem1, *mr2, *elem2;
-
- mr1.value <<= (CORBA_Long)1;
- mr1.next.length (1); // sequence of length 1
-
- // fill the element
- elem1 = &mr1.next[0];
- elem1->value <<= CORBA_Any::from_char ('D');
- elem1->next.length (0); // end of seq
-
- mr2 = new Marshal::Marshal_Recursive;
-
- try {
- ref_->test_recursive (mr1, mr2);
- }
- catch (CORBA_SystemException &se){
- cerr << "error invoking request: " << se << endl;
- }
-
- elem2 = &mr2->next[0];
-
- if ((*(CORBA_Long *)mr1.value.value () == *(CORBA_Long*)mr2->value.value ())
- && (mr1.next.length () == mr2->next.length ()) // same length sequence
- && (*(CORBA_Char *)elem1->value.value () == *(CORBA_Char *)elem2->value.value ())
- && (elem1->next.length () == elem2->next.length ()))
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_recursive success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_recursive failure\n"));
- }
-
- return 0;
-}
-#endif
diff --git a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.h b/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.h
deleted file mode 100644
index 0bf7ef78660..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.h
+++ /dev/null
@@ -1,124 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Marshal Tao Benchmark
-//
-// = FILENAME
-// tao_marshal_client.h
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined(_TAO_MARSHAL_CLIENT_H_)
-#define _TAO_MARSHAL_CLIENT_H_
-
-// benchmark library includes
-#include "benchmark/marshal_options.h"
-#include "benchmark/marshal_results.h"
-#include "benchmark/marshal_proxy.h"
-
-// include Tao specific include files
-#include "marshalC.h" // generated by IDL compiler
-#include "tao/nvlist.h"
-
-class Tao_Marshal_Client_Proxy : public CORBA_Marshal_Proxy
-{
- // =TITLE
- // Tao_Marshal_Client_Proxy
- // =DESCRIPTION
- // Tao client size specialization of the CORBA Marshal proxy class
-public:
- Tao_Marshal_Client_Proxy (void);
- // constructor
-
- ~Tao_Marshal_Client_Proxy (void);
- // destructor
-
- virtual int run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // do the actual work
-
- virtual int use_sii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // use the static invocation interface
-
- virtual int use_dii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // use the dynamic invocation interface
-private:
- // =helper functions
- int sii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- // all the DII helpers
- int dii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- CORBA_ORB_ptr orb_;
- // handle to the underlying orb
-
- Marshal_ptr ref_;
- // the object reference
-};
-
-#if defined (__ACE_INLINE__)
-#include "tao_marshal_client.i"
-#endif /* __ACE_INLINE__ */
-
-#endif
diff --git a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.i b/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.i
deleted file mode 100644
index 2606962892b..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.i
+++ /dev/null
@@ -1,21 +0,0 @@
-
-ACE_INLINE
-Tao_Marshal_Client_Proxy::Tao_Marshal_Client_Proxy (void)
- : orb_ (0),
- ref_ (0)
-{
-}
-
-ACE_INLINE
-Tao_Marshal_Client_Proxy::~Tao_Marshal_Client_Proxy (void)
-{
- // releasing order is important
-
- // release the reference
- CORBA_release (ref_);
-
- // release the ORB
- CORBA_release (orb_);
-}
-
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp b/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp
deleted file mode 100644
index 6d5005f83ad..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp
+++ /dev/null
@@ -1,650 +0,0 @@
-#include "tao_marshal_impl.h"
-
-#if !defined (__ACE_INLINE__)
-#include "tao_marshal_impl.i"
-#endif /* __ACE_INLINE__ */
-
-// All the methods of the SSI class
-void
-Marshal_SSI_Impl::test_short (CORBA_Short s1,
- CORBA_Short &s2,
- CORBA_Environment &env)
-{
- s2 = 2*s1;
-}
-
-void
-Marshal_SSI_Impl::test_long (CORBA_Long l1,
- CORBA_Long &l2,
- CORBA_Environment &env)
-{
- l2 = 3*l1;
-}
-
-void
-Marshal_SSI_Impl::test_octet (CORBA_Octet o1,
- CORBA_Octet &o2,
- CORBA_Environment &env)
-{
- o2 = o1;
-}
-
-void
-Marshal_SSI_Impl::test_char (CORBA_Char c1,
- CORBA_Char &c2,
- CORBA_Environment &env)
-{
- c2 = c1;
-}
-
-void
-Marshal_SSI_Impl::test_double (CORBA_Double d1,
- CORBA_Double &d2,
- CORBA_Environment &env)
-{
- d2 = d1/2;
-}
-
-void
-Marshal_SSI_Impl::test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2,
- CORBA_Environment &env)
-{
- ms2.s = ms1.s;
- ms2.l = ms1.l;
- ms2.c = ms1.c;
- ms2.o = ms1.o;
- ms2.d = ms1.d;
-}
-
-void
-Marshal_SSI_Impl::test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2,
- CORBA_Environment &env)
-{
- u2._d (u1._d ()); // set the discriminant value
-
- switch (u1._d ())
- {
- case Marshal::e_0th:
- u2.s (u1.s ()); // set short
- break;
- case Marshal::e_1st:
- u2.l (u1.l ()); // set long
- break;
- case Marshal::e_2nd:
- u2.c (u1.c ()); // set char
- break;
- case Marshal::e_3rd:
- u2.o (u1.o ()); // set octet
- break;
- case Marshal::e_4th:
- u2.d (u1.d ()); // set double
- break;
- case Marshal::e_5th:
- default:
- u2.ms (u1. ms ()); // set structs
- break;
- }
-}
-
-void
-Marshal_SSI_Impl::test_any (const CORBA_Any &a1,
- CORBA_Any *&a2,
- CORBA_Environment &env)
-{
- a2 = new CORBA_Any (a1.type (), (void *)a1.value ()); // will do a deep copy
-}
-
-void
-Marshal_SSI_Impl::test_sequence (const Marshal::AnySeq& as1,
- Marshal::AnySeq *& as2,
- CORBA_Environment &env)
-{
- as2 = new Marshal::AnySeq (as1);
-}
-
-#if 0
-void
-Marshal_SSI_Impl::test_recursive (const Marshal::Marshal_Recursive &mr1,
- Marshal::Marshal_Recursive *&mr2,
- CORBA_Environment &env)
-{
-}
-#endif
-
-//----------------------------------------------------------------------------
-//the methods of the DSI implementation class
-
-static const TAO_operation_db_entry Marshal_DSI_operations[] = {
- {"_is_a", &Marshal_DSI_Impl::_Marshal_is_a_skel},
- { "test_short", &Marshal_DSI_Impl::_Marshal_test_short_skel},
- { "test_long", &Marshal_DSI_Impl::_Marshal_test_long_skel},
- { "test_octet", &Marshal_DSI_Impl::_Marshal_test_octet_skel},
- { "test_char", &Marshal_DSI_Impl::_Marshal_test_char_skel},
- { "test_double", &Marshal_DSI_Impl::_Marshal_test_double_skel},
- { "test_struct", &Marshal_DSI_Impl::_Marshal_test_struct_skel},
- { "test_union", &Marshal_DSI_Impl::_Marshal_test_union_skel},
- { "test_any", &Marshal_DSI_Impl::_Marshal_test_any_skel},
- { "test_sequence", &Marshal_DSI_Impl::_Marshal_test_sequence_skel},
- { 0, 0 }
-};
-
-// Note that we use a linear table because rest of the DSI implementations we
-// compare with also use linear search in their "invoke" method.
-TAO_Linear_OpTable tao_Marshal_DSI_optable (Marshal_DSI_operations, 10);
-
-// constructor
-Marshal_DSI_Impl::Marshal_DSI_Impl (CORBA_ORB_ptr orb, const char *obj_name)
- : orb_ (orb)
- //,CORBA_DynamicImplementation ("Marshal", obj_name) // interface name is necessary
-{
- // Note that this is a HACK to achieve DSI behavior. But this way we can
- // cleanly integrate ourselves with the dispatch mechanism of the OA.
-
- const CORBA_String repoID = "IDL:Marshal:1.0"; // repository ID
- IIOP_Object *data; // IIOP object
- CORBA_BOA_ptr oa = TAO_OA_PARAMS::instance()->oa(); // underlying BOA
- this->optable_ = &tao_Marshal_DSI_optable; // operation database
- CORBA_Long i;
-
- // setup an IIOP object
- data = new IIOP_Object (CORBA_string_dup (repoID));
- 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); // set the object key
- this->set_parent (data); // store the IIOP obj reference with ourselves
- this->sub_ = this; // set the most derived class to be ourselves
- if (oa) oa->bind (data->profile.object_key, this);// register ourselves
-}
-
-void
-Marshal_DSI_Impl::invoke (CORBA_ServerRequest& req, CORBA_Environment &env)
-{
- // parse the incoming request and find out for what operation it is. We use a
- // simple linear search here
- if (!ACE_OS::strcmp (req.op_name (), "test_short"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_long"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_octet"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_char"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_double"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_struct"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_union"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_any"))
- {
- }
- else if (!ACE_OS::strcmp (req.op_name (), "test_sequence"))
- {
- }
-}
-
-// simulate the skeletons
-void Marshal_DSI_Impl::_Marshal_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);
- char *type_id = "IDL:Marshal:1.0";
-
- 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 ();
-
- cout << "object id = " << ((char *)value) << endl;
- if (strcmp ((char *)value, (char *)type_id) == 0
- || 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");
-}
-
-void Marshal_DSI_Impl::_Marshal_test_short_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv1, nv2;
- CORBA_Any any_s1 (_tc_CORBA_Short);
- CORBA_Any any_s2 (_tc_CORBA_Short);
- Marshal_DSI_Impl* impl;
- CORBA_Short s1, s2;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv1 = nvlist->add_value (0, any_s1, CORBA_ARG_IN, env);
- nv2 = nvlist->add_value (0, any_s2, CORBA_ARG_OUT, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- s1 = *(CORBA_Short *) nv1->value ()->value ();
-
- // now invoke the implementation
- impl = (Marshal_DSI_Impl *)(obj->get_subclass ());
- // now the magic of dynamic binding
- impl->test_short (s1, s2, env);
-
- nv2->value ()->replace (_tc_CORBA_Short, &s2, 0, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- req.result(any, env);
-}
-
-void Marshal_DSI_Impl::_Marshal_test_long_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv1, nv2;
- CORBA_Any any_l1 (_tc_CORBA_Long);
- CORBA_Any any_l2 (_tc_CORBA_Long);
- Marshal_DSI_Impl* impl;
- CORBA_Long l1, l2;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv1 = nvlist->add_value (0, any_l1, CORBA_ARG_IN, env);
- nv2 = nvlist->add_value (0, any_l2, CORBA_ARG_OUT, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- l1 = *(CORBA_Long *) nv1->value ()->value ();
-
- // now invoke the implementation
- impl = (Marshal_DSI_Impl *)(obj->get_subclass ());
- // now the magic of dynamic binding
- impl->test_long (l1, l2, env);
-
- nv2->value ()->replace (_tc_CORBA_Long, &l2, 0, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- req.result(any, env);
-}
-
-void Marshal_DSI_Impl::_Marshal_test_octet_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv1, nv2;
- CORBA_Any any_o1 (_tc_CORBA_Octet);
- CORBA_Any any_o2 (_tc_CORBA_Octet);
- Marshal_DSI_Impl* impl;
- CORBA_Octet o1, o2;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv1 = nvlist->add_value (0, any_o1, CORBA_ARG_IN, env);
- nv2 = nvlist->add_value (0, any_o2, CORBA_ARG_OUT, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- o1 = *(CORBA_Octet *) nv1->value ()->value ();
-
- // now invoke the implementation
- impl = (Marshal_DSI_Impl *)(obj->get_subclass ());
- // now the magic of dynamic binding
- impl->test_octet (o1, o2, env);
-
- nv2->value ()->replace (_tc_CORBA_Octet, &o2, 0, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- req.result(any, env);
-}
-
-void Marshal_DSI_Impl::_Marshal_test_char_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv1, nv2;
- CORBA_Any any_c1 (_tc_CORBA_Char);
- CORBA_Any any_c2 (_tc_CORBA_Char);
- Marshal_DSI_Impl* impl;
- CORBA_Char c1, c2;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv1 = nvlist->add_value (0, any_c1, CORBA_ARG_IN, env);
- nv2 = nvlist->add_value (0, any_c2, CORBA_ARG_OUT, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- c1 = *(CORBA_Char *) nv1->value ()->value ();
-
- // now invoke the implementation
- impl = (Marshal_DSI_Impl *)(obj->get_subclass ());
- // now the magic of dynamic binding
- impl->test_char (c1, c2, env);
-
- nv2->value ()->replace (_tc_CORBA_Char, &c2, 0, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- req.result(any, env);
-}
-
-void Marshal_DSI_Impl::_Marshal_test_double_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv1, nv2;
- CORBA_Any any_d1 (_tc_CORBA_Double);
- CORBA_Any any_d2 (_tc_CORBA_Double);
- Marshal_DSI_Impl* impl;
- CORBA_Double d1, d2;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv1 = nvlist->add_value (0, any_d1, CORBA_ARG_IN, env);
- nv2 = nvlist->add_value (0, any_d2, CORBA_ARG_OUT, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- d1 = *(CORBA_Double *) nv1->value ()->value ();
-
- // now invoke the implementation
- impl = (Marshal_DSI_Impl *)(obj->get_subclass ());
- // now the magic of dynamic binding
- impl->test_double (d1, d2, env);
-
- nv2->value ()->replace (_tc_CORBA_Double, &d2, 0, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- req.result(any, env);
-}
-
-void Marshal_DSI_Impl::_Marshal_test_struct_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv1, nv2;
- CORBA_Any any_ms1 (Marshal::_tc_Marshal_Struct);
- CORBA_Any any_ms2 (Marshal::_tc_Marshal_Struct);
- Marshal_DSI_Impl* impl;
- Marshal::Marshal_Struct ms1, *ms2;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv1 = nvlist->add_value (0, any_ms1, CORBA_ARG_IN, env);
- nv2 = nvlist->add_value (0, any_ms2, CORBA_ARG_OUT, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- // note that the second parameter being an out parameter, we are allocating
- // it from heap and filling it up. We will then insert it into the Any that
- // will get written to the stream. We should have done this for the
- // primitives too, but somehow they worked (because nothing got written onto
- // the stack frame onto which they existed, but this phenomenon was occuring
- // here and possibly will occur for the rest of the case
- ms1 = *(Marshal::Marshal_Struct *) nv1->value ()->value ();
- ms2 = new Marshal::Marshal_Struct;
-
- // now invoke the implementation
- impl = (Marshal_DSI_Impl *)(obj->get_subclass ());
- // now the magic of dynamic binding
- impl->test_struct (ms1, *ms2, env);
-
- nv2->value ()->replace (Marshal::_tc_Marshal_Struct, ms2, 1, env);
-
- // result - NO result
- // CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- // req.result(any, env);
-}
-
-void Marshal_DSI_Impl::_Marshal_test_union_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv1, nv2;
- CORBA_Any any_u1 (Marshal::_tc_Marshal_Union);
- CORBA_Any any_u2 (Marshal::_tc_Marshal_Union);
- Marshal_DSI_Impl* impl;
- Marshal::Marshal_Union u1, *u2;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv1 = nvlist->add_value (0, any_u1, CORBA_ARG_IN, env);
- nv2 = nvlist->add_value (0, any_u2, CORBA_ARG_OUT, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- u1 = *(Marshal::Marshal_Union *) nv1->value ()->value ();
- u2 = new Marshal::Marshal_Union;
-
- // now invoke the implementation
- impl = (Marshal_DSI_Impl *)(obj->get_subclass ());
- // now the magic of dynamic binding
- impl->test_union (u1, *u2, env);
-
- nv2->value ()->replace (Marshal::_tc_Marshal_Union, u2, 0, env);
-
- // result - NO result
- // CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- // req.result(any, env);
-}
-
-void Marshal_DSI_Impl::_Marshal_test_any_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv1, nv2;
- CORBA_Any *a1=0, *a2=0;
- CORBA_Any any_a1 (_tc_CORBA_Any, &a1);
- CORBA_Any any_a2 (_tc_CORBA_Any);
- Marshal_DSI_Impl* impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv1 = nvlist->add_value (0, any_a1, CORBA_ARG_IN, env);
- nv2 = nvlist->add_value (0, any_a2, CORBA_ARG_OUT, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- a1 = (CORBA_Any *) nv1->value ()->value ();
-
- // now invoke the implementation
- impl = (Marshal_DSI_Impl *)(obj->get_subclass ());
- // now the magic of dynamic binding
- impl->test_any (*a1, a2, env);
-
- nv2->value ()->replace (_tc_CORBA_Any, a2, 1, env);
-
- // result - NO result
- // CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- // req.result(any, env);
-}
-
-void Marshal_DSI_Impl::_Marshal_test_sequence_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv1, nv2;
- CORBA_Any any_as1 (Marshal::_tc_AnySeq);
- CORBA_Any any_as2 (Marshal::_tc_AnySeq);
- Marshal_DSI_Impl* impl;
- Marshal::AnySeq *as1, *as2;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv1 = nvlist->add_value (0, any_as1, CORBA_ARG_IN, env);
- nv2 = nvlist->add_value (0, any_as2, CORBA_ARG_OUT, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- as1 = (Marshal::AnySeq *) nv1->value ()->value ();
-
- // now invoke the implementation
- impl = (Marshal_DSI_Impl *)(obj->get_subclass ());
- // now the magic of dynamic binding
- impl->test_sequence (*as1, as2, env);
-
- nv2->value ()->replace (Marshal::_tc_AnySeq, as2, 1, env);
-
- // result - NO result
- // CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, CORBA_B_TRUE);
- // req.result(any, env);
-}
-
-// private methods of our DSI class
-void
-Marshal_DSI_Impl::test_short (CORBA_Short s1,
- CORBA_Short &s2,
- CORBA_Environment &env)
-{
- s2 = 2*s1;
-}
-
-void
-Marshal_DSI_Impl::test_long (CORBA_Long l1,
- CORBA_Long &l2,
- CORBA_Environment &env)
-{
- l2 = 3*l1;
-}
-
-void
-Marshal_DSI_Impl::test_octet (CORBA_Octet o1,
- CORBA_Octet &o2,
- CORBA_Environment &env)
-{
- o2 = o1;
-}
-
-void
-Marshal_DSI_Impl::test_char (CORBA_Char c1,
- CORBA_Char &c2,
- CORBA_Environment &env)
-{
- c2 = c1;
-}
-
-void
-Marshal_DSI_Impl::test_double (CORBA_Double d1,
- CORBA_Double &d2,
- CORBA_Environment &env)
-{
- d2 = d1/2;
-}
-
-void
-Marshal_DSI_Impl::test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2,
- CORBA_Environment &env)
-{
- ms2.s = ms1.s;
- ms2.l = ms1.l;
- ms2.c = ms1.c;
- ms2.o = ms1.o;
- ms2.d = ms1.d;
-}
-
-void
-Marshal_DSI_Impl::test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2,
- CORBA_Environment &env)
-{
- u2._d (u1._d ()); // set the discriminant value
-
- switch (u1._d ())
- {
- case Marshal::e_0th:
- u2.s (u1.s ()); // set short
- break;
- case Marshal::e_1st:
- u2.l (u1.l ()); // set long
- break;
- case Marshal::e_2nd:
- u2.c (u1.c ()); // set char
- break;
- case Marshal::e_3rd:
- u2.o (u1.o ()); // set octet
- break;
- case Marshal::e_4th:
- u2.d (u1.d ()); // set double
- break;
- case Marshal::e_5th:
- default:
- u2.ms (u1. ms ()); // set structs
- break;
- }
-}
-
-void
-Marshal_DSI_Impl::test_any (const CORBA_Any &a1,
- CORBA_Any *&a2,
- CORBA_Environment &env)
-{
- a2 = new CORBA_Any (a1.type (), (void *)a1.value ()); // will do a deep copy
-}
-
-void
-Marshal_DSI_Impl::test_sequence (const Marshal::AnySeq& as1,
- Marshal::AnySeq *& as2,
- CORBA_Environment &env)
-{
- as2 = new Marshal::AnySeq (as1);
-}
-
-#if 0
-void
-Marshal_DSI_Impl::test_recursive (const Marshal::Marshal_Recursive &mr1,
- Marshal::Marshal_Recursive *&mr2,
- CORBA_Environment &env)
-{
-}
-#endif
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.h b/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.h
deleted file mode 100644
index 0ecec0fc87c..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.h
+++ /dev/null
@@ -1,190 +0,0 @@
-#if !defined (TAO_MARSHAL_IMPL_H)
-#define TAO_MARSHAL_IMPL_H
-
-// to include DSI related files
-
-#include "ace/OS.h"
-
-#include "marshalS.h"
-//#include "tao/dynimpl.h"
-
-class Marshal_SSI_Impl
- : public virtual _skel_Marshal
-{
- // =TITLE
- // Marshal_SSI_Impl
- // =DESCRIPTION
- // Implementation of the interface using the static skeleton interface
-public:
- Marshal_SSI_Impl (const char *object_name = (const char *)NULL);
- // constructor
-
- ~Marshal_SSI_Impl (void);
- // destructor
-
- virtual void test_short (CORBA_Short s1,
- CORBA_Short& s2,
- CORBA_Environment &env);
- // test short
-
- virtual void test_long (CORBA_Long l1,
- CORBA_Long& l2,
- CORBA_Environment &env);
- // test long
-
- virtual void test_octet (CORBA_Octet o1,
- CORBA_Octet& o2,
- CORBA_Environment &env);
- // test octet
-
- virtual void test_char (CORBA_Char c1,
- CORBA_Char& c2,
- CORBA_Environment &env);
- // test char
-
- virtual void test_double (CORBA_Double d1,
- CORBA_Double& d2,
- CORBA_Environment &env);
- // test double
-
- virtual void test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2,
- CORBA_Environment &env);
- // test struct
-
- virtual void test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2,
- CORBA_Environment &env);
- // test union
-
- virtual void test_any (const CORBA_Any& a1,
- CORBA_Any *& a2,
- CORBA_Environment &env);
- // test any
-
- virtual void test_sequence (const Marshal::AnySeq& a1,
- Marshal::AnySeq *& a2,
- CORBA_Environment &env);
- // test sequence
-
-#if 0
- virtual void test_recursive (const Marshal::Marshal_Recursive& mr1,
- Marshal::Marshal_Recursive *& mr2,
- CORBA_Environment &env);
- // test struct
-#endif
-
-};
-
-class Marshal_DSI_Impl : public CORBA_Object //: public CORBA_DynamicImplementation
-{
- // =TITLE
- // Marshal_DSI_Impl
- // =DESCRIPTION
- // Implementation of the interface using the dynamic skeleton interface
- // =NOTES
- // We do not have a DynamicImplementation as yet. So we do a trick here. We
- // simulate the skeletons here and these call the private methods defined below:
-public:
- Marshal_DSI_Impl (CORBA_ORB_ptr orb, const char *object_name = (const char *)NULL);
- // constructor
-
- ~Marshal_DSI_Impl (void);
- // destructor
-
- virtual void invoke (CORBA_ServerRequest & req, CORBA_Environment &env);
- // This method is a must, but of no use
-
- // skeletons that do the upcall
- static void _Marshal_is_a_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_short_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_long_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_octet_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_char_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_double_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_struct_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_union_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_any_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _Marshal_test_sequence_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
-private:
- void test_short (CORBA_Short s1,
- CORBA_Short& s2,
- CORBA_Environment &env);
- // test short
-
- void test_long (CORBA_Long l1,
- CORBA_Long& l2,
- CORBA_Environment &env);
- // test long
-
- void test_octet (CORBA_Octet o1,
- CORBA_Octet& o2,
- CORBA_Environment &env);
- // test octet
-
- void test_char (CORBA_Char c1,
- CORBA_Char& c2,
- CORBA_Environment &env);
- // test char
-
- void test_double (CORBA_Double d1,
- CORBA_Double& d2,
- CORBA_Environment &env);
- // test double
-
- void test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2,
- CORBA_Environment &env);
- // test struct
-
- void test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2,
- CORBA_Environment &env);
- // test union
-
- void test_any (const CORBA_Any& a1,
- CORBA_Any *& a2,
- CORBA_Environment &env);
- // test any
-
- void test_sequence (const Marshal::AnySeq& a1,
- Marshal::AnySeq *& a2,
- CORBA_Environment &env);
- // test sequence
-
-#if 0
- void test_recursive (const Marshal::Marshal_Recursive& mr1,
- Marshal::Marshal_Recursive *& mr2,
- CORBA_Environment &env);
- // test struct
-#endif
-
- // we need the orb to create argument lists (NVList) for us
- CORBA_ORB_ptr orb_; // not owned by us
-};
-
-#if defined (__ACE_INLINE__)
-#include "tao_marshal_impl.i"
-#endif /* __ACE_INLINE__ */
-
-#endif // defined (TAO_MARSHAL_IMPL_H)
diff --git a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.i b/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.i
deleted file mode 100644
index aee9bc6b043..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.i
+++ /dev/null
@@ -1,21 +0,0 @@
-// constructor
-ACE_INLINE
-Marshal_SSI_Impl::Marshal_SSI_Impl (const char *obj_name)
- : _skel_Marshal (obj_name)
-{
-}
-
-// destructor
-ACE_INLINE
-Marshal_SSI_Impl::~Marshal_SSI_Impl (void)
-{
-}
-
-// destructor
-ACE_INLINE
-Marshal_DSI_Impl::~Marshal_DSI_Impl (void)
-{
- orb_ = 0;//CORBA::ORB::_nil ();
-}
-
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.cpp b/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.cpp
deleted file mode 100644
index ed6a5a041c7..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Tao marshal benchmark
-//
-// = FILENAME
-// tao_marshal_server.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#include "tao_marshal_server.h"
-#include <iostream.h>
-#include <fstream.h>
-
-#if !defined (__ACE_INLINE__)
-#include "tao_marshal_server.i"
-#endif /* __ACE_INLINE__ */
-
-int
-Tao_Marshal_Server_Proxy::run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- char **argv;
- int argc;
- CORBA_Environment env;
- CORBA_String str; // for the IOR string
- fstream iorfile; // persistent storage for IOR
-
- // get the argument list to be passed on to the ORB_init method
- argv = options.orb_init_args (argc);
-
- // get the orb. Pass any ORB_init arguments
- this->orb_ = CORBA_ORB_init (argc, (char *const *)argv, "IOR", env);
- if (this->orb_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB_init failed\n"));
- return -1;
- }
-
- // get the argument list to be passed on to the BOA_init method
- argv = options.boa_init_args (argc);
-
- char *foo [] = {"-OAhost","mambo"}; argc = 2;
- // get the orb. Pass any ORB_init arguments
- this->boa_ = this->orb_->BOA_init (argc, foo, "ROA");//(argc, (char *const *)argv);
- if (this->boa_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB_init failed\n"));
- return -1;
- }
-
- // tell the "results" object what file it must store the results into
- results.filename (options.filename ());
-
- // use SII or DII accordingly
- switch (options.policy ())
- {
- case CORBA_Marshal_Options::STATIC : // use SSI
- this->ssi_ = new Marshal_SSI_Impl (options.object_name ());
- // register with the BOA
- // this->boa_->obj_is_ready (this->ssi_);
-
- // get a stringified representation of the object reference created above
- str = this->orb_->object_to_string (this->dsi_, env);
- if (env.exception() != 0)
- {
- // print_exception (env.exception(), "object_to_string", stdout);
- return 1;
- }
-
- // save the IOR in persistent storage so that clients can read this and obtain
- // object references. We need to do this since we do not yet have some kind
- // of a naming service that will allow clients to "bind" to desired objects
- iorfile.open ("./ior.txt", ios::out);
- iorfile << ((char *)str) << endl;
- iorfile.close ();
- break;
- case CORBA_Marshal_Options::DYNAMIC : // use DSI
- this->dsi_ = new Marshal_DSI_Impl (this->orb_, ACE_OS::strdup (options.object_name ()));
- // register with the BOA
- // this->boa_->obj_is_ready (this->dsi_);
-
- // get a stringified representation of the object reference created above
- str = this->orb_->object_to_string (this->dsi_, env);
- if (env.exception() != 0)
- {
- ACE_DEBUG ((LM_ERROR, "cannot get IOR from DSI object" ));
- // print_exception (env.exception(), "object_to_string", stdout);
- return 1;
- }
-
- // save the IOR in persistent storage so that clients can read this and obtain
- // object references. We need to do this since we do not yet have some kind
- // of a naming service that will allow clients to "bind" to desired objects
- iorfile.open ("./ior.txt", ios::out);
- iorfile << ((char *)str) << endl;
- iorfile.close ();
- break;
- default:
- ACE_DEBUG ((LM_DEBUG, "bad policy\n"));
- return -1;
- }
-
- ACE_Reactor::run_event_loop (); // should be replaced by impl_is_ready
- return 0;
-}
-
diff --git a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.h b/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.h
deleted file mode 100644
index adbd782c3d3..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Marshal Tao Benchmark
-//
-// = FILENAME
-// tao_marshal_server.h
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined(_TAO_MARSHAL_SERVER_H_)
-#define _TAO_MARSHAL_SERVER_H_
-
-// benchmark library includes
-#include "benchmark/marshal_options.h"
-#include "benchmark/marshal_results.h"
-#include "benchmark/marshal_proxy.h"
-
-// implementation classes
-#include "tao_marshal_impl.h"
-
-// include Tao specific include files
-#include "marshalS.h" // generated by IDL compiler
-
-class Tao_Marshal_Server_Proxy : public CORBA_Marshal_Proxy
-{
-public:
- Tao_Marshal_Server_Proxy (void);
- // constructor
-
- ~Tao_Marshal_Server_Proxy (void);
- // destructor
-
- virtual int run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // do the actual work
-private:
- CORBA_ORB_ptr orb_;
- // underlying orb;
-
- CORBA_BOA_ptr boa_;
- // underlying boa;
-
- Marshal_SSI_Impl *ssi_;
- Marshal_DSI_Impl *dsi_;
- // the implementation (SSI or DSI)
-};
-
-
-#if defined (__ACE_INLINE__)
-#include "tao_marshal_server.i"
-#endif /* __ACE_INLINE__ */
-
-#endif
diff --git a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.i b/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.i
deleted file mode 100644
index 721a329c03b..00000000000
--- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.i
+++ /dev/null
@@ -1,26 +0,0 @@
-// constructor
-ACE_INLINE
-Tao_Marshal_Server_Proxy::Tao_Marshal_Server_Proxy (void)
- : orb_ (0),
- boa_ (0),
- ssi_ (0),
- dsi_ (0)
-{
-}
-
-// destructor
-ACE_INLINE
-Tao_Marshal_Server_Proxy::~Tao_Marshal_Server_Proxy (void)
-{
- // releasing order is important
-
- // release the impl
- delete ssi_;
- delete dsi_;
-
- // release the BOA
- CORBA_release (boa_);
-
- // release the ORB
- CORBA_release (orb_);
-}
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/Makefile b/TAO/Benchmark/Marshal_Test/VisiBroker/Makefile
deleted file mode 100644
index aceae10804c..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Top-level Makefile for the VisiBroker Marshal Benchmark
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-LDLIBS = -lACE -lbenchmark -lorb
-
-PROG_SRCS = marshalC.cpp marshalS.cpp visi_marshal_client.cpp visi_marshal_server.cpp \
- visi_marshal_impl.cpp client.cpp server.cpp
-
-LSRC = $(PROG_SRCS)
-
-MARSHAL_CLIENT_OBJS = marshalC.o visi_marshal_client.o client.o
-
-MARSHAL_SERVER_OBJS = marshalC.o marshalS.o visi_marshal_impl.o visi_marshal_server.o server.o
-
-BIN = client server
-
-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.lib.GNU
-#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-# include VisiBroker specific file
-include /project/mambo/gokhale/CONFIG/orbeline_defaults.mk
-
-#----------------------------------------------------------------------------
-# Local modifications to variables imported by includes above.
-#----------------------------------------------------------------------------
-
-ifndef TAO_ROOT
-TAO_ROOT = $(ACE_ROOT)/TAO
-endif
-
-CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/Benchmark -D_PMC_INCLUDE_DSI
-
-server: $(addprefix $(VDIR),$(MARSHAL_SERVER_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS)
-
-client: $(addprefix $(VDIR),$(MARSHAL_CLIENT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS)
-
-marshalC.h marshalS.h marshalC.cpp marshalS.cpp: marshal.idl
- $(IDL) $(IDLFLAGS) $<
-
-clean:
- rm -f core *.o *~ client server *C.cpp *S.cpp *S.h *C.h
- $(MAKE) realclean
-
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/client.cpp b/TAO/Benchmark/Marshal_Test/VisiBroker/client.cpp
deleted file mode 100644
index ed996e4b9e0..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/client.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "benchmark/driver.h"
-#include "visi_marshal_client.h"
-
-int main (int argc, char *argv [])
-{
- // instantiate a DRIVER with the Visi_Client_Proxy as the template
- CORBA_Benchmark_Driver<Visi_Marshal_Client_Proxy> driver (new
- Visi_Marshal_Client_Proxy ());
-
- // let the driver do everything for us so that we remain very simple
- return driver.run (argc, argv);
-}
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/marshal.idl b/TAO/Benchmark/Marshal_Test/VisiBroker/marshal.idl
deleted file mode 100644
index 7ddc5423db4..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/marshal.idl
+++ /dev/null
@@ -1,89 +0,0 @@
-// Interface for the marshal benchmark
-
-interface Marshal
-{
- struct Marshal_Struct
- {
- short s;
- long l;
- char c;
- octet o;
- double d;
- };
-
- enum discrim {e_0th, e_1st, e_2nd, e_3rd, e_4th, e_5th, e_6th};
-
- union Marshal_Union
- switch (discrim)
- {
- case e_0th:
- short s;
- case e_1st:
- long l;
- case e_2nd:
- char c;
- case e_3rd:
- octet o;
- case e_4th:
- double d;
- case e_5th:
- default: // this will test typecode indirection
- Marshal_Struct ms;
- };
-
- /*
- typedef sequence<short> ShortSeq;
- typedef sequence<long> LongSeq;
- typedef sequence<octet> OctetSeq;
- typedef sequence<char> CharSeq;
- typedef sequence<double> DoubleSeq;
- typedef sequence<Marshal_Struct> StructSeq;
- typedef sequence<Marshal_Union> UnionSeq;
- */
- // for testing sequences of Any
- typedef sequence<any> AnySeq;
-
- // testing recursive behavior
- // complex.
- struct Marshal_Recursive
- {
- // we use this to test the limited recursion allowed by IDL. This is an
- // ideal test for indirected typecodes.
-
- // simulate a behavior of a list node
- any value;
- sequence <Marshal_Recursive> next;
- };
-
- void test_short (in short s1, out short s2); // test a short
- void test_long (in long l1, out long l2); // test a long
- void test_octet (in octet o1, out octet o2); // test an octet
- void test_char (in char c1, out char c2); // test a char
- void test_double (in double d1, out double d2); // test a double
- void test_struct (in Marshal_Struct ms1, out Marshal_Struct ms2); // test a
- // struct
- void test_union (in Marshal_Union u1, out Marshal_Union u2); // test a
- // union.
- void test_any (in any a1, out any a2); // test an Any
- /*
- void test_sequence (in ShortSeq ss1, in LongSeq ls1, in OctetSeq os1, in
- CharSeq cs1, in DoubleSeq ds1, in StructSeq Ss1, in
- UnionSeq us1, in AnySeq as1,
- out ShortSeq ss2, out LongSeq ls2, out OctetSeq os2, out
- CharSeq cs2, out DoubleSeq ds2, out StructSeq Ss2, out
- UnionSeq us2, out AnySeq as2);
- */
- void test_sequence (in AnySeq as1, out AnySeq as2); // this will result in a
- // 3 level indirection -
- // sequence, any, and its
- // value type
- void test_recursive (in Marshal_Recursive mr1, out Marshal_Recursive mr2); //
- // very complicated
-};
-
-
-
-
-
-
-
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/run_client b/TAO/Benchmark/Marshal_Test/VisiBroker/run_client
deleted file mode 100755
index 2a35700495f..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/run_client
+++ /dev/null
@@ -1,23 +0,0 @@
-echo "********* Static Invocation Interface **********"
-client -i 1 -h mambo -R s -P S -o marshal -T s
-client -i 1 -h mambo -R s -P S -o marshal -T l
-client -i 1 -h mambo -R s -P S -o marshal -T o
-client -i 1 -h mambo -R s -P S -o marshal -T c
-client -i 1 -h mambo -R s -P S -o marshal -T d
-client -i 1 -h mambo -R s -P S -o marshal -T S
-client -i 1 -h mambo -R s -P S -o marshal -T U
-client -i 1 -h mambo -R s -P S -o marshal -T A
-client -i 1 -h mambo -R s -P S -o marshal -T Q
-#client -i 1 -h mambo -R s -P S -o marshal -T R
-#
-echo "********* Dynamic Invocation Interface **********"
-client -i 1 -h mambo -R s -P D -o marshal -T s
-client -i 1 -h mambo -R s -P D -o marshal -T l
-client -i 1 -h mambo -R s -P D -o marshal -T o
-client -i 1 -h mambo -R s -P D -o marshal -T c
-client -i 1 -h mambo -R s -P D -o marshal -T d
-client -i 1 -h mambo -R s -P D -o marshal -T S
-client -i 1 -h mambo -R s -P D -o marshal -T U
-client -i 1 -h mambo -R s -P D -o marshal -T A
-client -i 1 -h mambo -R s -P D -o marshal -T Q
-
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/run_server b/TAO/Benchmark/Marshal_Test/VisiBroker/run_server
deleted file mode 100755
index c5ff4cdc2f0..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/run_server
+++ /dev/null
@@ -1 +0,0 @@
-server -R r -P S -I V -o marshal \ No newline at end of file
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/server.cpp b/TAO/Benchmark/Marshal_Test/VisiBroker/server.cpp
deleted file mode 100644
index 2706589fa93..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/server.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "benchmark/driver.h"
-#include "visi_marshal_server.h"
-
-int main (int argc, char *argv [])
-{
- // instantiate a DRIVER with the Visi_Client_Proxy as the template
- CORBA_Benchmark_Driver<Visi_Marshal_Server_Proxy> driver (new
- Visi_Marshal_Server_Proxy ());
-
- // let the driver do everything for us so that we remain very simple
- return driver.run (argc, argv);
-}
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.cpp b/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.cpp
deleted file mode 100644
index 3801165cc8b..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.cpp
+++ /dev/null
@@ -1,1344 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Visibroker marshal benchmark
-//
-// = FILENAME
-// visi_marshal_proxy.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#include "visi_marshal_client.h"
-
-#if !defined (__ACE_INLINE__)
-#include "visi_marshal_client.i"
-#endif /* __ACE_INLINE__ */
-
-int
-Visi_Marshal_Client_Proxy::run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- char **argv;
- int argc;
- CORBA::Object_ptr target;
-
- // get the argument list to be passed on to the ORB_init method
- argv = options.orb_init_args (argc);
-
- // get the orb. Pass any ORB_init arguments
- this->orb_ = CORBA::ORB_init (argc, (char *const *)argv);
- if (this->orb_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB_init failed\n"));
- return -1;
- }
-
- // get the obj ref by binding it to the specified host using the specified obj_name
- target = Marshal::_bind (options.object_name (), options.hostname ());
- if (CORBA::is_nil (target))
- {
- ACE_DEBUG ((LM_DEBUG, "bind call failed\n"));
- return -1;
- }
-
- this->ref_ = Marshal::_narrow (target);
- if (CORBA::is_nil (this->ref_))
- {
- ACE_DEBUG ((LM_DEBUG, "narrow to Marshal failed\n"));
- return -1;
- }
-
- // tell the "results" object what file it must store the results into
- results.filename (options.filename ());
-
- // use SII or DII accordingly
- switch (options.policy ())
- {
- case CORBA_Marshal_Options::STATIC : // use SII
- return this->use_sii (options, results);
- break;
- case CORBA_Marshal_Options::DYNAMIC : // use DII
- return this->use_dii (options, results);
- break;
- default:
- ACE_DEBUG ((LM_DEBUG, "bad policy\n"));
- return -1;
- }
- // hopefully we are never here, else something is seriously wrong
- return -1;
-}
-
-int
-Visi_Marshal_Client_Proxy::use_sii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- int i;
- int status = 0;
- // This method tests the static invocation interface
-
- for (i=0; i < options.iterations () && !status; i++)
- {
- switch (options.data_type ())
- {
- // shorts
- case CORBA_Marshal_Options::SHORT:
- status = sii_test_short (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::LONG:
- status = sii_test_long (options, results);
- break;
- // octets
- case CORBA_Marshal_Options::OCTET:
- status = sii_test_octet (options, results);
- break;
- // chars
- case CORBA_Marshal_Options::CHAR:
- status = sii_test_char (options, results);
- break;
- // doubles
- case CORBA_Marshal_Options::DOUBLE:
- status = sii_test_double (options, results);
- break;
- // Structs
- case CORBA_Marshal_Options::STRUCT:
- status = sii_test_struct (options, results);
- break;
- // unions
- case CORBA_Marshal_Options::UNION:
- status = sii_test_union (options, results);
- break;
- // anys
- case CORBA_Marshal_Options::ANY:
- status = sii_test_any (options, results);
- break;
- // sequences
- case CORBA_Marshal_Options::SEQUENCE:
- status = sii_test_sequence (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::RECURSIVE:
- // status = sii_test_recursive (options, results);
- // doesn't work
- break;
- default:
- status = -1;
- } // end of switch
- } // for loop
-
- if (!status)
- return 0;
- else
- return -1;
-}
-
-int
-Visi_Marshal_Client_Proxy::use_dii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- int i;
- int status = 0;
- // This method tests the dynamic invocation interface
-
- for (i=0; i < options.iterations () && !status; i++)
- {
- switch (options.data_type ())
- {
- // shorts
- case CORBA_Marshal_Options::SHORT:
- status = dii_test_short (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::LONG:
- status = dii_test_long (options, results);
- break;
- // octets
- case CORBA_Marshal_Options::OCTET:
- status = dii_test_octet (options, results);
- break;
- // chars
- case CORBA_Marshal_Options::CHAR:
- status = dii_test_char (options, results);
- break;
- // doubles
- case CORBA_Marshal_Options::DOUBLE:
- status = dii_test_double (options, results);
- break;
- // Structs
- case CORBA_Marshal_Options::STRUCT:
- status = dii_test_struct (options, results);
- break;
- // unions
- case CORBA_Marshal_Options::UNION:
- status = dii_test_union (options, results);
- break;
- // anys
- case CORBA_Marshal_Options::ANY:
- status = dii_test_any (options, results);
- break;
- // sequences
- case CORBA_Marshal_Options::SEQUENCE:
- status = dii_test_sequence (options, results);
- break;
- // longs
- case CORBA_Marshal_Options::RECURSIVE:
- // status = dii_test_recursive (options, results);
- // doesn't work
- break;
- default:
- status = -1;
- } // end of switch
- } // for loop
-
- if (!status)
- return 0;
- else
- return -1;
-}
-
-
-// all helper functions : SII
-int
-Visi_Marshal_Client_Proxy::sii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- CORBA::Short s1, s2;
- s1 = 3;
- ref_->test_short (s1, s2);
- if (s1 == s2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_short success: s1 = %d, s2 = %d\n", s1, s2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_short failed: s1 = %d, s2 = %d\n", s1, s2));
- return -1;
- }
-}
-
-int
-Visi_Marshal_Client_Proxy::sii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- CORBA::Long l1, l2;
- l1 = 256;
- ref_->test_long (l1, l2);
- if (l1 == l2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_long success: l1 = %d, l2 = %d\n", l1, l2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_long failed: l1 = %d, l2 = %d\n", l1, l2));
- return -1;
- }
-}
-
-int
-Visi_Marshal_Client_Proxy::sii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // octets
-{
- CORBA::Octet o1, o2;
- o1 = (CORBA::Octet) 127;
- ref_->test_octet (o1, o2);
- if (o1 == o2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_octet success: o1 = %c, o2 = %c\n", o1, o2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_octet failed: o1 = %c, o2 = %c\n", o1, o2));
- return -1;
- }
-}
-
-int
-Visi_Marshal_Client_Proxy::sii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // chars
-{
- CORBA::Char c1, c2;
- c1 = 'B';
- ref_->test_char (c1, c2);
- if (c1 == c2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_char success: c1 = %c, c2 = %c\n", c1, c2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_char failed: c1 = %c, c2 = %c\n", c1, c2));
- return -1;
- }
-}
-
-int
-Visi_Marshal_Client_Proxy::sii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // doubles
-{
- CORBA::Double d1, d2;
- d1 = 3.1415;
- ref_->test_double (d1, d2);
- if (d1 == d2)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_double success: d1 = %f, d2 = %f\n", d1, d2));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_double failed: d1 = %f, d2 = %f\n", d1, d2));
- return -1;
- }
-}
-
-int
-Visi_Marshal_Client_Proxy::sii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // structs
-{
- Marshal::Marshal_Struct ms1, ms2;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA::Octet) 127;
- ms1.d = 3.1415;
-
- ref_->test_struct (ms1, ms2);
- if (ms1.s == ms2.s && ms1.l == ms2.l && ms1.c == ms2.c && ms1.o == ms2.o &&
- ms1.d == ms2.d)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_struct success\n"));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_struct failed\n"));
- return -1;
- }
-}
-
-int
-Visi_Marshal_Client_Proxy::sii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // unions
-{
- Marshal::Marshal_Union u1, u2;
- Marshal::Marshal_Struct ms1, ms2;
-
-
- // first test an enumerated case
- u1._d (Marshal::e_1st);
- u1.l (4567);
-
- ref_->test_union (u1, u2);
- if ( (u1._d () == u2._d()) && (u1.l () == u2.l ()))
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for long (case e_1st) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for long (case e_1st) failed\n"));
- return -1;
- }
-
- // now test the default case
- u1._d (Marshal::e_6th); // this case doesn't exist which will lead to using
- // the default case
-
- u1.ms ().s = 3;
- u1.ms ().l = 256;
- u1.ms ().c = 'B';
- u1.ms ().o = (CORBA::Octet) 127;
- u1.ms ().d = 3.1415;
-
- ref_->test_union (u1, u2);
-
- if (u1.ms ().s == u2.ms ().s && u1.ms ().l == u2.ms ().l && u1.ms ().c == u2.ms ().c && u1.ms ().o == u2.ms ().o &&
- u1.ms ().d == u2.ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for default (case e_6th) success\n"));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_union for default (case e_6th) failed\n"));
- return -1;
- }
-}
-
-int
-Visi_Marshal_Client_Proxy::sii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // we send a struct thru the any
- CORBA::Any a1, *a2;
- Marshal::Marshal_Struct ms1, *ms2;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA::Octet) 127;
- ms1.d = 3.1415;
-
- // populate the any with a MarshalStruct
- a1 <<= ms1;
-
- a2 = new CORBA::Any;
-
- // now test it
- ref_->test_any (a1, a2);
-
- // check if the two typecodes are equal
- if (a2->type ()->equal (Marshal::_tc_Marshal_Struct))
- {
- // now see if the values are same
- ms2 = (Marshal::Marshal_Struct *)a2->value ();
- if (ms1.s == ms2->s && ms1.l == ms2->l && ms1.c == ms2->c && ms1.o == ms2->o &&
- ms1.d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_any success\n"));
- return 0;
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_any value match failed\n"));
- return -1;
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_any failed due to typecode mismatch\n"));
- }
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::sii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // make a sequence of Anys and fill each one with a different data type
- Marshal::AnySeq as1 (7), *as2;
- Marshal::Marshal_Struct ms;
- Marshal::Marshal_Union u;
-
- ms.s = 3;
- ms.l = 256;
- ms.c = 'B';
- ms.o = (CORBA::Octet) 127;
- ms.d = 3.1415;
-
- u._d (Marshal::e_5th); // somehow, the default case e_6th doesn't seem to
- // work here
- u.ms ().s = 3;
- u.ms ().l = 256;
- u.ms ().c = 'B';
- u.ms ().o = (CORBA::Octet) 127;
- u.ms ().d = 3.1415;
-
- // it looks like we must tell the sequence how many elements it is going to
- // carry. By just fixing the max value does not work.
-
- as1.length (7);
-
- as1[0] <<= (CORBA::Short)3;
- as1[1] <<= (CORBA::Long) 256;
- as1[2] <<= CORBA::Any::from_octet ((CORBA::Octet)127);
- as1[3] <<= CORBA::Any::from_char ('B');
- as1[4] <<= (CORBA::Double)3.1415; // double
- as1[5] <<= ms; // struct
- as1[6] <<= u; // union
-
- as2 = new Marshal::AnySeq;
-
- ref_->test_sequence (as1, as2);
-
-#if 0
- // the following is extremely weird. I do not understand why it is not the
- // same as _tc_Marshal_Union, but its _kind field does have _tk_union in it.
- if ((*as2)[6].type ()->equal (Marshal::_tc_Marshal_Union))
- {
- cerr << "6th elem has union typecode" << endl;
- }
- else
- {
- cerr << "6th elem doesnot have union typecode" << endl;
- cerr << "its typecode kind = " << (*as2)[6].type ()->kind () << endl;
- }
-#endif
-
- ACE_DEBUG ((LM_DEBUG, "SII test_sequence\n"));
- if (as1.length () == as2->length ())
- {
- // now make sure that the elements are same
- for (int i=0; i < as1.length (); i++)
- {
-#if 0
- if (as1[i].type ()->equal ((*as2)[i].type ()))
- {
-#endif
- // now see if the values are same
- switch (i)
- {
- case 0:
- if (*(CORBA::Short *)as1[i].value () == *(CORBA::Short
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, shorts matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on shorts match\n"));
- }
- break;
- case 1:
- if (*(CORBA::Long *)as1[i].value () == *(CORBA::Long
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, longs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on longs match\n"));
- }
- break;
- case 2:
- if (*(CORBA::Octet *)as1[i].value () == *(CORBA::Octet
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, octets matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on octets match\n"));
- }
- break;
- case 3:
- if (*(CORBA::Char *)as1[i].value () == *(CORBA::Char
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, chars matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on chars match\n"));
- }
- break;
- case 4:
- if (*(CORBA::Double *)as1[i].value () == *(CORBA::Double
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, doubles matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on doubles match\n"));
- }
- break;
- case 5:
- {
- Marshal::Marshal_Struct *ms1, *ms2;
-
- ms1 = (Marshal::Marshal_Struct *)as1[i].value ();
- ms2 = (Marshal::Marshal_Struct *)(*as2)[i].value ();
-
- if (ms1->s == ms2->s && ms1->l == ms2->l && ms1->c == ms2->c && ms1->o == ms2->o &&
- ms1->d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, structs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on structs match\n"));
- }
- }
- break;
- case 6:
- {
- Marshal::Marshal_Union *u1, *u2;
-
- u1 = (Marshal::Marshal_Union *)as1[i].value ();
- u2 = (Marshal::Marshal_Union *)(*as2)[i].value ();
-
- if (u1->_d () == u2->_d () && u1->ms ().s == u2->ms ().s &&
- u1->ms ().l == u2->ms ().l &&
- u1->ms ().c == u2->ms ().c && u1->ms ().o == u2->ms ().o &&
- u1->ms ().d == u2->ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence, unions matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tSII test_sequence failed on unions match\n"));
- }
- }
- break;
- }
-#if 0
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "SII test_sequence: typecode mismatch for element %d\n", i));
- break;
- }
-#endif
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_sequence failed: as2->length = %d\n",
- as2->length ()));
- }
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::sii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // we will try a simple one here
- Marshal::Marshal_Recursive mr1, *elem1, *mr2, *elem2;
-
- mr1.value <<= (CORBA::Long)1;
- mr1.next.length (1); // sequence of length 1
-
- // fill the element
- elem1 = &mr1.next[0];
- elem1->value <<= CORBA::Any::from_char ('D');
- elem1->next.length (0); // end of seq
-
- mr2 = new Marshal::Marshal_Recursive;
-
- try {
- ref_->test_recursive (mr1, mr2);
- }
- catch (CORBA::SystemException &se){
- cerr << "error invoking request: " << se << endl;
- }
-
- elem2 = &mr2->next[0];
-
- if ((*(CORBA::Long *)mr1.value.value () == *(CORBA::Long*)mr2->value.value ())
- && (mr1.next.length () == mr2->next.length ()) // same length sequence
- && (*(CORBA::Char *)elem1->value.value () == *(CORBA::Char *)elem2->value.value ())
- && (elem1->next.length () == elem2->next.length ()))
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_recursive success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "SII test_recursive failure\n"));
- }
-
- return 0;
-}
-
-// -------------------------------------------------------
-// all helper functions : DII
-// -------------------------------------------------------
-
-int
-Visi_Marshal_Client_Proxy::dii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Short s1, s2;
-
- s1 = 3;
- s2 = 0;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add (CORBA::ARG_IN)->value ()) <<= s1;
- // this usage is also correct. All we care is to supply a storage area for
- // the OUT parameter
- // arglist->add (CORBA::ARG_OUT)->value ()->replace (CORBA::_tc_short, &s2);
- *(arglist->add (CORBA::ARG_OUT)->value ()) <<= s2;
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item (0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_short",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= s2;
-
- if (s1 == s2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_short success: s1 = %d, s2 = %d\n", s1, s2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_short failed: s1 = %d, s2 = %d\n", s1, s2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::dii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Long l1, l2;
-
- l1 = 256;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= l1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_long, &l2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_long",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= l2;
-
- if (l1 == l2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII: test_long success: l1 = %d, l2 = %d\n", l1, l2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII: test_long failed: l1 = %d, l2 = %d\n", l1, l2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::dii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // octets
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Octet o1, o2;
-
- o1 = (CORBA::Octet) 127;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= CORBA::Any::from_octet (o1);
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_octet, &o2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_octet",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= CORBA::Any::to_octet (o2);
-
- if (o1 == o2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_octet success: o1 = %c, o2 = %c\n", o1, o2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_octet failed: o1 = %c, o2 = %c\n", o1, o2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::dii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // chars
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Char c1, c2;
-
- c1 = 'B';
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= CORBA::Any::from_char (c1);
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_char, &c2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_char",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= CORBA::Any::to_char (c2);
-
- if (c1 == c2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_char success: c1 = %c, c2 = %c\n", c1, c2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_char failed: c1 = %c, c2 = %c\n", c1, c2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::dii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // doubles
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- CORBA::Double d1, d2;
-
- d1 = 3.1415;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= d1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_double, &d2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_double",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= d2;
-
- if (d1 == d2)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_double success: d1 = %f, d2 = %f\n", d1, d2));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_double failed: d1 = %f, d2 = %f\n", d1, d2));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::dii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // structs
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- Marshal::Marshal_Struct ms1, ms2;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA::Octet) 127;
- ms1.d = 3.1415;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= ms1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (Marshal::_tc_Marshal_Struct, &ms2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_struct",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= ms2;
-
- if (ms1.s == ms2.s && ms1.l == ms2.l && ms1.c == ms2.c && ms1.o == ms2.o &&
- ms1.d == ms2.d)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_struct success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_struct failed\n"));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::dii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
- // unions
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- Marshal::Marshal_Union u1, u2;
- Marshal::Marshal_Struct ms1, ms2;
-
-
- // first test an enumerated case
- u1._d (Marshal::e_1st);
- u1.l (4567);
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= u1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (Marshal::_tc_Marshal_Union, &u2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_union",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= u2;
-
- if ( (u1._d () == u2._d()) && (u1.l () == u2.l ()))
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for long (case e_1st) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for long (case e_1st) failed\n"));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
-
- // now test the default case
- u1._d (Marshal::e_5th); // e_6th doesn't work
-
- u1.ms ().s = 3;
- u1.ms ().l = 256;
- u1.ms ().c = 'B';
- u1.ms ().o = (CORBA::Octet) 127;
- u1.ms ().d = 3.1415;
-
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= u1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (Marshal::_tc_Marshal_Union, &u2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_union",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= u2;
-
- if (u1.ms ().s == u2.ms ().s && u1.ms ().l == u2.ms ().l && u1.ms ().c == u2.ms ().c && u1.ms ().o == u2.ms ().o &&
- u1.ms ().d == u2.ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for default (case e_6th) success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_union for default (case e_6th) failed\n"));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::dii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- // we send a struct thru the any
- CORBA::Any a1, *a2;
- Marshal::Marshal_Struct ms1, *ms2;
-
- ms1.s = 3;
- ms1.l = 256;
- ms1.c = 'B';
- ms1.o = (CORBA::Octet) 127;
- ms1.d = 3.1415;
-
- // populate the any with a MarshalStruct
- a1 <<= ms1;
-
- a2 = new CORBA::Any;
-
- // now test it
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= a1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (CORBA::_tc_any, a2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_any",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= (*a2);
-
- // check if the two typecodes are equal
- if (a2->type ()->equal (Marshal::_tc_Marshal_Struct))
- {
- // now see if the values are same
- ms2 = (Marshal::Marshal_Struct *)a2->value ();
- if (ms1.s == ms2->s && ms1.l == ms2->l && ms1.c == ms2->c && ms1.o == ms2->o &&
- ms1.d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_any success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_any value match failed\n"));
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_any failed due to typecode mismatch\n"));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::dii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // DII variables
- CORBA::Request_ptr request = CORBA::Request::_nil(); // DII request
- CORBA::NVList_ptr arglist = CORBA::NVList::_nil(); // argument list
- CORBA::Context_ptr ctx = CORBA::Context::_nil(); // context
- CORBA::NVList_ptr result_list = CORBA::NVList::_nil(); // result list
- CORBA::NamedValue_ptr result = CORBA::NamedValue::_nil();// actual result
- // make a sequence of Anys and fill each one with a different data type
- Marshal::AnySeq as1 (7), *as2;
- Marshal::Marshal_Struct ms;
- Marshal::Marshal_Union u;
-
- ms.s = 3;
- ms.l = 256;
- ms.c = 'B';
- ms.o = (CORBA::Octet) 127;
- ms.d = 3.1415;
-
- u._d (Marshal::e_5th); // somehow, the default case e_6th doesn't seem to
- // work here
- u.ms ().s = 3;
- u.ms ().l = 256;
- u.ms ().c = 'B';
- u.ms ().o = (CORBA::Octet) 127;
- u.ms ().d = 3.1415;
-
- // it looks like we must tell the sequence how many elements it is going to
- // carry. By just fixing the max value does not work.
-
- as1.length (7);
-
- as1[0] <<= (CORBA::Short)3;
- as1[1] <<= (CORBA::Long) 256;
- as1[2] <<= CORBA::Any::from_octet ((CORBA::Octet)127);
- as1[3] <<= CORBA::Any::from_char ('B');
- as1[4] <<= (CORBA::Double)3.1415; // double
- as1[5] <<= ms; // struct
- as1[6] <<= u; // union
-
- as2 = new Marshal::AnySeq;
-
- orb_->create_list(0, arglist); // 2 arguments to be added
- *(arglist->add(CORBA::ARG_IN)->value()) <<= as1;
- arglist->add(CORBA::ARG_OUT)->value()->replace (Marshal::_tc_AnySeq, as2);
- orb_->create_list(1, result_list); // 1 result
- result = result_list->item(0);
-
- // create a request
- ref_->_create_request(ctx,
- "test_sequence",
- arglist,
- result,
- request,
- 0);
-
- request->invoke (); // 2 way
- *(arglist->item(1)->value()) >>= (*as2);
-
-#if 0
- // the following is extremely weird. I do not understand why it is not the
- // same as _tc_Marshal_Union, but its _kind field does have _tk_union in it.
- if ((*as2)[6].type ()->equal (Marshal::_tc_Marshal_Union))
- {
- cerr << "6th elem has union typecode" << endl;
- }
- else
- {
- cerr << "6th elem doesnot have union typecode" << endl;
- cerr << "its typecode kind = " << (*as2)[6].type ()->kind () << endl;
- }
-#endif
-
- ACE_DEBUG ((LM_DEBUG, "DII test_sequence\n"));
- if (as1.length () == as2->length ())
- {
- // now make sure that the elements are same
- for (int i=0; i < as1.length (); i++)
- {
-#if 0
- if (as1[i].type ()->equal ((*as2)[i].type ()))
- {
-#endif
- // now see if the values are same
- switch (i)
- {
- case 0:
- if (*(CORBA::Short *)as1[i].value () == *(CORBA::Short
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, shorts matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on shorts match\n"));
- }
- break;
- case 1:
- if (*(CORBA::Long *)as1[i].value () == *(CORBA::Long
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, longs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on longs match\n"));
- }
- break;
- case 2:
- if (*(CORBA::Octet *)as1[i].value () == *(CORBA::Octet
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, octets matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on octets match\n"));
- }
- break;
- case 3:
- if (*(CORBA::Char *)as1[i].value () == *(CORBA::Char
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, chars matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on chars match\n"));
- }
- break;
- case 4:
- if (*(CORBA::Double *)as1[i].value () == *(CORBA::Double
- *)(*as2)[i].value ())
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, doubles matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on doubles match\n"));
- }
- break;
- case 5:
- {
- Marshal::Marshal_Struct *ms1, *ms2;
-
- ms1 = (Marshal::Marshal_Struct *)as1[i].value ();
- ms2 = (Marshal::Marshal_Struct *)(*as2)[i].value ();
-
- if (ms1->s == ms2->s && ms1->l == ms2->l && ms1->c == ms2->c && ms1->o == ms2->o &&
- ms1->d == ms2->d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, structs matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on structs match\n"));
- }
- }
- break;
- case 6:
- {
- Marshal::Marshal_Union *u1, *u2;
-
- u1 = (Marshal::Marshal_Union *)as1[i].value ();
- u2 = (Marshal::Marshal_Union *)(*as2)[i].value ();
-
- if (u1->_d () == u2->_d () && u1->ms ().s == u2->ms ().s &&
- u1->ms ().l == u2->ms ().l &&
- u1->ms ().c == u2->ms ().c && u1->ms ().o == u2->ms ().o &&
- u1->ms ().d == u2->ms ().d)
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence, unions matched\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "\tDII test_sequence failed on unions match\n"));
- }
- }
- break;
- }
-#if 0
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "DII test_sequence: typecode mismatch for element %d\n", i));
- break;
- }
-#endif
- }
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_sequence failed: as2->length = %d\n",
- as2->length ()));
- }
- CORBA::release (request);
- CORBA::release (arglist);
- CORBA::release (result);
- CORBA::release (result_list);
- return 0;
-}
-
-int
-Visi_Marshal_Client_Proxy::dii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- // we will try a simple one here
- Marshal::Marshal_Recursive mr1, *elem1, *mr2, *elem2;
-
- mr1.value <<= (CORBA::Long)1;
- mr1.next.length (1); // sequence of length 1
-
- // fill the element
- elem1 = &mr1.next[0];
- elem1->value <<= CORBA::Any::from_char ('D');
- elem1->next.length (0); // end of seq
-
- mr2 = new Marshal::Marshal_Recursive;
-
- try {
- ref_->test_recursive (mr1, mr2);
- }
- catch (CORBA::SystemException &se){
- cerr << "error invoking request: " << se << endl;
- }
-
- elem2 = &mr2->next[0];
-
- if ((*(CORBA::Long *)mr1.value.value () == *(CORBA::Long*)mr2->value.value ())
- && (mr1.next.length () == mr2->next.length ()) // same length sequence
- && (*(CORBA::Char *)elem1->value.value () == *(CORBA::Char *)elem2->value.value ())
- && (elem1->next.length () == elem2->next.length ()))
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_recursive success\n"));
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "DII test_recursive failure\n"));
- }
-
- return 0;
-}
-
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.h b/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.h
deleted file mode 100644
index d45a5f0b773..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.h
+++ /dev/null
@@ -1,140 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Marshal Visibroker Benchmark
-//
-// = FILENAME
-// visi_marshal_client.h
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined(_VISI_MARSHAL_CLIENT_H_)
-#define _VISI_MARSHAL_CLIENT_H_
-
-// benchmark library includes
-#include "benchmark/marshal_options.h"
-#include "benchmark/marshal_results.h"
-#include "benchmark/marshal_proxy.h"
-
-// include VisiBroker specific include files
-#include "marshalC.h" // generated by IDL compiler
-#include "pmcext.h" // VisiBroker extensions
-
-#if 0
-// Define an event handler specific to this class
-class marshal_event_handler: public PMC_EXT::ClientEventHandler
-{
- // =TITLE
- // marshal_event_handler
- // =DESCRIPTION
- // event handler. Specifically, we use this to set socket buffer and no delay
- // flags
-public:
- void bind_succeeded(CORBA::Object_ptr obj,
- const PMC_EXT::ConnectionInfo &);
- // on success from a bind call, set the desired quantities
-};
-#endif
-
-class Visi_Marshal_Client_Proxy : public CORBA_Marshal_Proxy
-{
- // =TITLE
- // Visi_Marshal_Client_Proxy
- // =DESCRIPTION
- // VisiBroker client size specialization of the CORBA Marshal proxy class
-public:
- Visi_Marshal_Client_Proxy (void);
- // constructor
-
- ~Visi_Marshal_Client_Proxy (void);
- // destructor
-
- virtual int run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // do the actual work
-
- virtual int use_sii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // use the static invocation interface
-
- virtual int use_dii (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // use the dynamic invocation interface
-private:
- // =helper functions
- int sii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int sii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- // all the DII helpers
- int dii_test_short (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_long (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_octet (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_char (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_double (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_struct (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_union (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_any (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_sequence (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- int dii_test_recursive (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
-
- CORBA::ORB_ptr orb_;
- // handle to the underlying orb
-
- Marshal_ptr ref_;
- // the object reference
-};
-
-#if defined (__ACE_INLINE__)
-#include "visi_marshal_client.i"
-#endif /* __ACE_INLINE__ */
-
-#endif
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.i b/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.i
deleted file mode 100644
index fb8c5823848..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.i
+++ /dev/null
@@ -1,21 +0,0 @@
-
-ACE_INLINE
-Visi_Marshal_Client_Proxy::Visi_Marshal_Client_Proxy (void)
- : orb_ (CORBA_ORB::_nil ()),
- ref_ (0)
-{
-}
-
-ACE_INLINE
-Visi_Marshal_Client_Proxy::~Visi_Marshal_Client_Proxy (void)
-{
- // releasing order is important
-
- // release the reference
- CORBA::release (ref_);
-
- // release the ORB
- CORBA::release (orb_);
-}
-
-
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.cpp b/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.cpp
deleted file mode 100644
index 7ae2a3f04e9..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.cpp
+++ /dev/null
@@ -1,329 +0,0 @@
-#include "visi_marshal_impl.h"
-
-#if !defined (__ACE_INLINE__)
-#include "visi_marshal_impl.i"
-#endif /* __ACE_INLINE__ */
-
-// All the methods of the SSI class
-void
-Marshal_SSI_Impl::test_short (CORBA::Short s1,
- CORBA::Short &s2)
-{
- s2 = s1;
-}
-
-void
-Marshal_SSI_Impl::test_long (CORBA::Long l1,
- CORBA::Long &l2)
-{
- l2 = l1;
-}
-
-void
-Marshal_SSI_Impl::test_octet (CORBA::Octet o1,
- CORBA::Octet &o2)
-{
- o2 = o1;
-}
-
-void
-Marshal_SSI_Impl::test_char (CORBA::Char c1,
- CORBA::Char &c2)
-{
- c2 = c1;
-}
-
-void
-Marshal_SSI_Impl::test_double (CORBA::Double d1,
- CORBA::Double &d2)
-{
- d2 = d1;
-}
-
-void
-Marshal_SSI_Impl::test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2)
-{
- ms2.s = ms1.s;
- ms2.l = ms1.l;
- ms2.c = ms1.c;
- ms2.o = ms1.o;
- ms2.d = ms1.d;
-}
-
-void
-Marshal_SSI_Impl::test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2)
-{
- u2._d (u1._d ()); // set the discriminant value
-
- switch (u1._d ())
- {
- case Marshal::e_0th:
- u2.s (u1.s ()); // set short
- break;
- case Marshal::e_1st:
- u2.l (u1.l ()); // set long
- break;
- case Marshal::e_2nd:
- u2.c (u1.c ()); // set char
- break;
- case Marshal::e_3rd:
- u2.o (u1.o ()); // set octet
- break;
- case Marshal::e_4th:
- u2.d (u1.d ()); // set double
- break;
- case Marshal::e_5th:
- default:
- u2.ms (u1. ms ()); // set structs
- break;
- }
-}
-
-void
-Marshal_SSI_Impl::test_any (const CORBA::Any &a1,
- CORBA::Any *&a2)
-{
- a2 = new CORBA::Any (a1.type (), (void *)a1.value ()); // will do a deep copy
-}
-
-void
-Marshal_SSI_Impl::test_sequence (const Marshal::AnySeq& as1,
- Marshal::AnySeq *& as2)
-{
- as2 = new Marshal::AnySeq (as1);
-}
-
-void
-Marshal_SSI_Impl::test_recursive (const Marshal::Marshal_Recursive &mr1,
- Marshal::Marshal_Recursive *&mr2)
-{
-}
-
-//----------------------------------------------------------------------------
-//the methods of the DSI implementation class
-
-void
-Marshal_DSI_Impl::invoke (CORBA::ServerRequest_ptr req)
-{
- // parse the incoming request and find out for what operation it is. We use a
- // simple linear search here
- if (!ACE_OS::strcmp (req->op_name (), "test_short"))
- {
- test_short_skel (req);
- }
- else if (!ACE_OS::strcmp (req->op_name (), "test_long"))
- {
- }
- else if (!ACE_OS::strcmp (req->op_name (), "test_octet"))
- {
- }
- else if (!ACE_OS::strcmp (req->op_name (), "test_char"))
- {
- }
- else if (!ACE_OS::strcmp (req->op_name (), "test_double"))
- {
- }
- else if (!ACE_OS::strcmp (req->op_name (), "test_struct"))
- {
- }
- else if (!ACE_OS::strcmp (req->op_name (), "test_union"))
- {
- }
- else if (!ACE_OS::strcmp (req->op_name (), "test_any"))
- {
- }
- else if (!ACE_OS::strcmp (req->op_name (), "test_sequence"))
- {
- }
-}
-
-void
-Marshal_DSI_Impl::test_short (CORBA::Short s1,
- CORBA::Short &s2)
-{
- s2 = 5*s1;
-}
-
-void
-Marshal_DSI_Impl::test_long (CORBA::Long l1,
- CORBA::Long &l2)
-{
- l2 = l1;
-}
-
-void
-Marshal_DSI_Impl::test_octet (CORBA::Octet o1,
- CORBA::Octet &o2)
-{
- o2 = o1;
-}
-
-void
-Marshal_DSI_Impl::test_char (CORBA::Char c1,
- CORBA::Char &c2)
-{
- c2 = c1;
-}
-
-void
-Marshal_DSI_Impl::test_double (CORBA::Double d1,
- CORBA::Double &d2)
-{
- d2 = d1;
-}
-
-void
-Marshal_DSI_Impl::test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2)
-{
- ms2.s = ms1.s;
- ms2.l = ms1.l;
- ms2.c = ms1.c;
- ms2.o = ms1.o;
- ms2.d = ms1.d;
-}
-
-void
-Marshal_DSI_Impl::test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2)
-{
- u2._d (u1._d ()); // set the discriminant value
-
- switch (u1._d ())
- {
- case Marshal::e_0th:
- u2.s (u1.s ()); // set short
- break;
- case Marshal::e_1st:
- u2.l (u1.l ()); // set long
- break;
- case Marshal::e_2nd:
- u2.c (u1.c ()); // set char
- break;
- case Marshal::e_3rd:
- u2.o (u1.o ()); // set octet
- break;
- case Marshal::e_4th:
- u2.d (u1.d ()); // set double
- break;
- case Marshal::e_5th:
- default:
- u2.ms (u1. ms ()); // set structs
- break;
- }
-}
-
-void
-Marshal_DSI_Impl::test_any (const CORBA::Any &a1,
- CORBA::Any *&a2)
-{
- a2 = new CORBA::Any (a1.type (), (void *)a1.value ()); // will do a deep copy
-}
-
-void
-Marshal_DSI_Impl::test_sequence (const Marshal::AnySeq& as1,
- Marshal::AnySeq *& as2)
-{
- as2 = new Marshal::AnySeq (as1);
-}
-
-void
-Marshal_DSI_Impl::test_recursive (const Marshal::Marshal_Recursive &mr1,
- Marshal::Marshal_Recursive *&mr2)
-{
-}
-
-// all the helper functions for the DSI class
-void
-Marshal_DSI_Impl::test_short_skel (CORBA::ServerRequest_ptr req)
-{
- CORBA::NVList_var short_nv_;
- CORBA::Any *any_s1, *any_s2;
- CORBA::Short s1=0,
- *s2=0;
-
- orb_->create_list (0, short_nv_);
-
- ACE_DEBUG ((LM_DEBUG, "short_nv_ created with %d nodes\n", short_nv_->count ()));
-
- any_s1 = new CORBA::Any (CORBA::_tc_short, &s1, 0);
- s2 = new CORBA::Short;
- any_s2 = new CORBA::Any (CORBA::_tc_short, s2, 1);
-
- short_nv_->add_value ("s1", *any_s1, CORBA::ARG_IN);
- // if I do the next line, I get CORBA::Marshal exception from
- // req->params. I don't know why
- short_nv_->add_value ("s2", *any_s2, CORBA::ARG_OUT);
- // However, the following line works. I think I know what is the
- // problem. Since the 2nd argument is a ARG_OUT, we cannot add_value. We must
- // just tell it what type to expect and leave it to the ORB to allocate the
- // memory
- //short_nv_->add_item ("s2", CORBA::ARG_OUT);
- // My explanation is confirmed if I use the following in which case I get a
- // marshaling exception. Thus, for OUT args, only add_item works.
- // *(short_nv_->add (CORBA::ARG_OUT)->value ()) <<= s2;
-
- ACE_DEBUG ((LM_DEBUG, "short_nv_ created with %d nodes\n", short_nv_->count ()));
-
- try {
- req->params (short_nv_);
- }
- catch (CORBA::SystemException &se)
- {
- cerr << "System Exception doing params: " << se << endl;
- }
- cout << "after params" << endl;
- *(short_nv_->item (0)->value ()) >>= s1;
- ACE_DEBUG ((LM_DEBUG, "s1 = %d\n", s1));
- test_short (s1, *s2);
- // *(short_nv_->item (1)->value ()) <<= s2;
- ACE_DEBUG ((LM_DEBUG, "s1 = %d, s2 = %d\n", s1, *s2));
- ACE_DEBUG ((LM_DEBUG, "short_nv_ after the call has %d nodes\n", short_nv_->count ()));
-}
-
-void
-Marshal_DSI_Impl::test_long_skel (CORBA::ServerRequest_ptr req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_octet_skel (CORBA::ServerRequest_ptr req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_char_skel (CORBA::ServerRequest_ptr req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_double_skel (CORBA::ServerRequest_ptr req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_struct_skel (CORBA::ServerRequest_ptr req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_union_skel (CORBA::ServerRequest_ptr req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_any_skel (CORBA::ServerRequest_ptr req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_sequence_skel (CORBA::ServerRequest_ptr req)
-{
-}
-
-void
-Marshal_DSI_Impl::test_recursive_skel (CORBA::ServerRequest_ptr req)
-{
-}
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.h b/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.h
deleted file mode 100644
index 20938f49cde..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.h
+++ /dev/null
@@ -1,177 +0,0 @@
-#if !defined (VISI_MARSHAL_IMPL_H)
-#define VISI_MARSHAL_IMPL_H
-
-// to include DSI related files
-
-#include "ace/OS.h"
-
-#include "marshalS.h"
-
-
-class Marshal_SSI_Impl
- : public virtual _sk_Marshal
-{
- // =TITLE
- // Marshal_SSI_Impl
- // =DESCRIPTION
- // Implementation of the interface using the static skeleton interface
-public:
- Marshal_SSI_Impl (const char *object_name = (const char *)NULL);
- // constructor
-
- ~Marshal_SSI_Impl (void);
- // destructor
-
- virtual void test_short (CORBA::Short s1,
- CORBA::Short& s2);
- // test short
-
- virtual void test_long (CORBA::Long l1,
- CORBA::Long& l2);
- // test long
-
- virtual void test_octet (CORBA::Octet o1,
- CORBA::Octet& o2);
- // test octet
-
- virtual void test_char (CORBA::Char c1,
- CORBA::Char& c2);
- // test char
-
- virtual void test_double (CORBA::Double d1,
- CORBA::Double& d2);
- // test double
-
- virtual void test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2);
- // test struct
-
- virtual void test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2);
- // test union
-
- virtual void test_any (const CORBA::Any& a1,
- CORBA::Any *& a2);
- // test any
-
- /*
- virtual void test_sequence (const Marshal::ShortSeq& s1,
- const Marshal::LongSeq& l1,
- const Marshal::OctetSeq& o1,
- const Marshal::CharSeq& c1,
- const Marshal::DoubleSeq& d1,
- const Marshal::StructSeq& S1,
- const Marshal::UnionSeq& U1,
- const Marshal::AnySeq& a1,
- Marshal::ShortSeq *& s2,
- Marshal::LongSeq *& l2,
- Marshal::OctetSeq *& o2,
- Marshal::CharSeq *& c2,
- Marshal::DoubleSeq *& d2,
- Marshal::StructSeq *& S2,
- Marshal::UnionSeq *& U2,
- Marshal::AnySeq *& a2);
- */
- virtual void test_sequence (const Marshal::AnySeq& a1,
- Marshal::AnySeq *& a2);
- // test sequence
-
- virtual void test_recursive (const Marshal::Marshal_Recursive& mr1,
- Marshal::Marshal_Recursive *& mr2);
- // test struct
-
-};
-
-class Marshal_DSI_Impl : public CORBA::DynamicImplementation
-{
- // =TITLE
- // Marshal_DSI_Impl
- // =DESCRIPTION
- // Implementation of the interface using the dynamic skeleton interface
-public:
- Marshal_DSI_Impl (CORBA::ORB_ptr orb, const char *object_name = (const char *)NULL);
- // constructor
-
- ~Marshal_DSI_Impl (void);
- // destructor
-
- virtual void invoke (CORBA::ServerRequest_ptr req);
- // This method is a must
-
-private:
- void test_short (CORBA::Short s1,
- CORBA::Short& s2);
- // test short
-
- void test_long (CORBA::Long l1,
- CORBA::Long& l2);
- // test long
-
- void test_octet (CORBA::Octet o1,
- CORBA::Octet& o2);
- // test octet
-
- void test_char (CORBA::Char c1,
- CORBA::Char& c2);
- // test char
-
- void test_double (CORBA::Double d1,
- CORBA::Double& d2);
- // test double
-
- void test_struct (const Marshal::Marshal_Struct& ms1,
- Marshal::Marshal_Struct& ms2);
- // test struct
-
- void test_union (const Marshal::Marshal_Union& u1,
- Marshal::Marshal_Union& u2);
- // test union
-
- void test_any (const CORBA::Any& a1,
- CORBA::Any *& a2);
- // test any
-
- void test_sequence (const Marshal::AnySeq& a1,
- Marshal::AnySeq *& a2);
- // test sequence
-
- void test_recursive (const Marshal::Marshal_Recursive& mr1,
- Marshal::Marshal_Recursive *& mr2);
- // test struct
-
-private:
- //= helper functions - they behave as if they were skeletons
- void test_short_skel (CORBA::ServerRequest_ptr req);
- void test_long_skel (CORBA::ServerRequest_ptr req);
- void test_octet_skel (CORBA::ServerRequest_ptr req);
- void test_char_skel (CORBA::ServerRequest_ptr req);
- void test_double_skel (CORBA::ServerRequest_ptr req);
- void test_struct_skel (CORBA::ServerRequest_ptr req);
- void test_union_skel (CORBA::ServerRequest_ptr req);
- void test_any_skel (CORBA::ServerRequest_ptr req);
- void test_sequence_skel (CORBA::ServerRequest_ptr req);
- void test_recursive_skel (CORBA::ServerRequest_ptr req);
-
- // we need the orb to create argument lists (NVList) for us
- CORBA::ORB_ptr orb_; // not owned by us
-
-#if 0
- CORBA::NVList_ptr short_nv_;
- CORBA::NVList_ptr long_nv_;
- CORBA::NVList_ptr octet_nv_;
- CORBA::NVList_ptr char_nv_;
- CORBA::NVList_ptr double_nv_;
- CORBA::NVList_ptr struct_nv_;
- CORBA::NVList_ptr union_nv_;
- CORBA::NVList_ptr any_nv_;
- CORBA::NVList_ptr seq_nv_;
- CORBA::NVList_ptr recursive_nv_;
- CORBA::Any_ptr result_; // void result
-#endif
-};
-
-#if defined (__ACE_INLINE__)
-#include "visi_marshal_impl.i"
-#endif /* __ACE_INLINE__ */
-
-#endif // defined (VISI_MARSHAL_IMPL_H)
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.i b/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.i
deleted file mode 100644
index b9eefcfbd12..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.i
+++ /dev/null
@@ -1,28 +0,0 @@
-// constructor
-ACE_INLINE
-Marshal_SSI_Impl::Marshal_SSI_Impl (const char *obj_name)
- : _sk_Marshal (obj_name)
-{
-}
-
-// destructor
-ACE_INLINE
-Marshal_SSI_Impl::~Marshal_SSI_Impl (void)
-{
-}
-
-// constructor
-ACE_INLINE
-Marshal_DSI_Impl::Marshal_DSI_Impl (CORBA::ORB_ptr orb, const char *obj_name)
- : orb_ (orb),
- CORBA::DynamicImplementation ("Marshal", obj_name) // interface name is necessary
-{
-}
-
-// destructor
-ACE_INLINE
-Marshal_DSI_Impl::~Marshal_DSI_Impl (void)
-{
- orb_ = CORBA::ORB::_nil ();
-}
-
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.cpp b/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.cpp
deleted file mode 100644
index 1a81241a843..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Visibroker marshal benchmark
-//
-// = FILENAME
-// visi_marshal_server.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#include "visi_marshal_server.h"
-
-#if !defined (__ACE_INLINE__)
-#include "visi_marshal_server.i"
-#endif /* __ACE_INLINE__ */
-
-int
-Visi_Marshal_Server_Proxy::run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results)
-{
- char **argv;
- int argc;
-
- // get the argument list to be passed on to the ORB_init method
- argv = options.orb_init_args (argc);
-
- // get the orb. Pass any ORB_init arguments
- this->orb_ = CORBA::ORB_init (argc, (char *const *)argv);
- if (this->orb_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB_init failed\n"));
- return -1;
- }
-
- // get the argument list to be passed on to the BOA_init method
- argv = options.orb_init_args (argc);
-
- // get the orb. Pass any ORB_init arguments
- this->boa_ = this->orb_->BOA_init (argc, (char *const *)argv);
- if (this->boa_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB_init failed\n"));
- return -1;
- }
-
- // tell the "results" object what file it must store the results into
- results.filename (options.filename ());
-
- // use SII or DII accordingly
- switch (options.policy ())
- {
- case CORBA_Marshal_Options::STATIC : // use SSI
- this->ssi_ = new Marshal_SSI_Impl (options.object_name ());
- // register with the BOA
- this->boa_->obj_is_ready (this->ssi_);
- break;
- case CORBA_Marshal_Options::DYNAMIC : // use DSI
- this->dsi_ = new Marshal_DSI_Impl (this->orb_, ACE_OS::strdup (options.object_name ()));
- // register with the BOA
- try {
- this->boa_->obj_is_ready (this->dsi_);
- }
- catch (CORBA::SystemException &se)
- {
- cerr << "system exception in obj_is_ready" << se << endl;
- }
- break;
- default:
- ACE_DEBUG ((LM_DEBUG, "bad policy\n"));
- return -1;
- }
-
- try {
- // call impl_is_ready
- this->boa_->impl_is_ready ();
- }
- catch (CORBA::SystemException &se)
- {
- cerr << "system exception: " << se << endl;
- }
- return 0;
-}
-
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.h b/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.h
deleted file mode 100644
index bfe9b1d9879..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// CORBA Marshal Visibroker Benchmark
-//
-// = FILENAME
-// visi_marshal_server.h
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined(_VISI_MARSHAL_SERVER_H_)
-#define _VISI_MARSHAL_SERVER_H_
-
-// benchmark library includes
-#include "benchmark/marshal_options.h"
-#include "benchmark/marshal_results.h"
-#include "benchmark/marshal_proxy.h"
-
-// implementation classes
-#include "visi_marshal_impl.h"
-
-// include VisiBroker specific include files
-#include "marshalS.h" // generated by IDL compiler
-#include "pmcext.h" // VisiBroker extensions
-
-class Visi_Marshal_Server_Proxy : public CORBA_Marshal_Proxy
-{
-public:
- Visi_Marshal_Server_Proxy (void);
- // constructor
-
- ~Visi_Marshal_Server_Proxy (void);
- // destructor
-
- virtual int run (CORBA_Marshal_Proxy::OPTIONS &options,
- CORBA_Marshal_Proxy::RESULTS &results);
- // do the actual work
-private:
- CORBA::ORB_ptr orb_;
- // underlying orb;
-
- CORBA::BOA_ptr boa_;
- // underlying boa;
-
- Marshal_SSI_Impl *ssi_;
- Marshal_DSI_Impl *dsi_;
- // the implementation (SSI or DSI)
-};
-
-
-#if defined (__ACE_INLINE__)
-#include "visi_marshal_server.i"
-#endif /* __ACE_INLINE__ */
-
-#endif
diff --git a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.i b/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.i
deleted file mode 100644
index 3c83a78af29..00000000000
--- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.i
+++ /dev/null
@@ -1,26 +0,0 @@
-// constructor
-ACE_INLINE
-Visi_Marshal_Server_Proxy::Visi_Marshal_Server_Proxy (void)
- : orb_ (0),
- boa_ (0),
- ssi_ (0),
- dsi_ (0)
-{
-}
-
-// destructor
-ACE_INLINE
-Visi_Marshal_Server_Proxy::~Visi_Marshal_Server_Proxy (void)
-{
- // releasing order is important
-
- // release the impl
- delete ssi_;
- delete dsi_;
-
- // release the BOA
- CORBA::release (boa_);
-
- // release the ORB
- CORBA::release (orb_);
-}