diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-06-09 20:25:39 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-06-09 20:25:39 +0000 |
commit | cca52bb322ae809f6c049ad2613799e9650609ee (patch) | |
tree | c18c24007d4275e5f8ab54c68dc76da3507bfce1 /TAO/Benchmark/Marshal_Test | |
parent | c73996c0640e2037f6ea65c95c682e1eebdd7217 (diff) | |
download | ATCD-ACE-4_5_11.tar.gz |
This commit was manufactured by cvs2svn to create tag 'ACE-4_5_11'.ACE-4_5_11
Diffstat (limited to 'TAO/Benchmark/Marshal_Test')
51 files changed, 0 insertions, 10071 deletions
diff --git a/TAO/Benchmark/Marshal_Test/Orbix/Makefile b/TAO/Benchmark/Marshal_Test/Orbix/Makefile deleted file mode 100644 index 0c40916fb67..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) $(POSTLINK) - -client: $(addprefix $(VDIR),$(MARSHAL_CLIENT_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(CLIENT_LIBS) $(POSTLINK) - -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 80c62f5e6a7..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/client.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#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 c4791df7661..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/marshal.h +++ /dev/null @@ -1,1327 +0,0 @@ -// $Id$ - - -#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 80b3ec9ab20..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/marshal.idl +++ /dev/null @@ -1,90 +0,0 @@ -// $Id$ - -// 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 a42fee980f7..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.cpp +++ /dev/null @@ -1,1336 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 9fce90ef265..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.h +++ /dev/null @@ -1,125 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 a99b72db952..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.i +++ /dev/null @@ -1,23 +0,0 @@ -// $Id$ - - -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 6ef34f0d8bd..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.cpp +++ /dev/null @@ -1,311 +0,0 @@ -// $Id$ - -#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 a74866173d8..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.h +++ /dev/null @@ -1,191 +0,0 @@ -// $Id$ - -#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 0efa658c148..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.i +++ /dev/null @@ -1,29 +0,0 @@ -// $Id$ - -// 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 33ea3dcd535..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.cpp +++ /dev/null @@ -1,95 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 09a64b4bbc8..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.h +++ /dev/null @@ -1,59 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 8219d7d5042..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.i +++ /dev/null @@ -1,28 +0,0 @@ -// $Id$ - -// 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 510ee107a5e..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/server.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#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 048d0705dbc..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) $(POSTLINK) - -client: $(addprefix $(VDIR),$(MARSHAL_CLIENT_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) - -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 9edd07784db..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/client.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#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 077a98e58fd..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/marshal.idl +++ /dev/null @@ -1,91 +0,0 @@ -// $Id$ - -// 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 1557f836df9..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/marshalC.cpp +++ /dev/null @@ -1,587 +0,0 @@ -// $Id$ - -#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 d45d3cf0611..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/marshalC.h +++ /dev/null @@ -1,196 +0,0 @@ -// $Id$ - -/************************************************************************** -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 fe116a642b0..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/marshalS.cpp +++ /dev/null @@ -1,170 +0,0 @@ -// $Id$ - -#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 4f34a11d0ab..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/marshalS.h +++ /dev/null @@ -1,110 +0,0 @@ -// $Id$ - -/************************************************************************** -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 53102d6e189..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/server.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#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 bd678bfad9a..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp +++ /dev/null @@ -1,1426 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 d7b8269b2c2..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.h +++ /dev/null @@ -1,126 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 5fcdc2e209f..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.i +++ /dev/null @@ -1,23 +0,0 @@ -// $Id$ - - -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 d4d555d5dee..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp +++ /dev/null @@ -1,652 +0,0 @@ -// $Id$ - -#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 dab7e662d74..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.h +++ /dev/null @@ -1,192 +0,0 @@ -// $Id$ - -#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 a730daf8106..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.i +++ /dev/null @@ -1,23 +0,0 @@ -// $Id$ - -// 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 fea710364a6..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.cpp +++ /dev/null @@ -1,112 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 8bd965301ff..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.h +++ /dev/null @@ -1,59 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 446b96cf468..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.i +++ /dev/null @@ -1,28 +0,0 @@ -// $Id$ - -// 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 93cfc461a32..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) $(POSTLINK) - -client: $(addprefix $(VDIR),$(MARSHAL_CLIENT_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) - -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 76218a98e84..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/client.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#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 077a98e58fd..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/marshal.idl +++ /dev/null @@ -1,91 +0,0 @@ -// $Id$ - -// 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 c77676fefc3..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/server.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#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 2b185405543..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.cpp +++ /dev/null @@ -1,1346 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 def1c6189c2..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.h +++ /dev/null @@ -1,142 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 30c73abb503..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.i +++ /dev/null @@ -1,23 +0,0 @@ -// $Id$ - - -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 29d8a82d289..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.cpp +++ /dev/null @@ -1,331 +0,0 @@ -// $Id$ - -#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 ec3b0ee0ef2..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.h +++ /dev/null @@ -1,179 +0,0 @@ -// $Id$ - -#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 7e9405f734b..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.i +++ /dev/null @@ -1,30 +0,0 @@ -// $Id$ - -// 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 334c80f30cd..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.cpp +++ /dev/null @@ -1,88 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 36076c8fe90..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.h +++ /dev/null @@ -1,60 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = 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 d43226e0f57..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.i +++ /dev/null @@ -1,28 +0,0 @@ -// $Id$ - -// 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_); -} |