diff options
Diffstat (limited to 'TAO')
78 files changed, 0 insertions, 45363 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 d3ef24fadc0..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/client.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// $Id$ - -#include "benchmark/driver.h" -#include "orbix_marshal_client.h" - -ACE_RCSID(Orbix, client, "$Id$") - -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 497c872001f..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/marshal.h +++ /dev/null @@ -1,1326 +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 fcd4aead376..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_client.cpp +++ /dev/null @@ -1,1338 +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__ */ - -ACE_RCSID(Orbix, orbix_marshal_client, "$Id$") - -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 c22f71f0d16..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 -// -// ============================================================================ - -#ifndef _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 282d9e4f309..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.cpp +++ /dev/null @@ -1,313 +0,0 @@ -// $Id$ - -#include "orbix_marshal_impl.h" - -#if !defined (__ACE_INLINE__) -#include "orbix_marshal_impl.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Orbix, orbix_marshal_impl, "$Id$") - -// 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 2b62f4bb81b..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.h +++ /dev/null @@ -1,195 +0,0 @@ -// $Id$ - -#ifndef ORBIX_MARSHAL_IMPL_H -#define ORBIX_MARSHAL_IMPL_H - -// to include DSI related files - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#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 205287577c1..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/orbix_marshal_server.cpp +++ /dev/null @@ -1,97 +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__ */ - -ACE_RCSID(Orbix, orbix_marshal_server, "$Id$") - -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 3fb2fa83396..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 -// -// ============================================================================ - -#ifndef _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 9a0696645d8..00000000000 --- a/TAO/Benchmark/Marshal_Test/Orbix/server.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// $Id$ - -#include "benchmark/driver.h" -#include "orbix_marshal_server.h" - -ACE_RCSID(Orbix, server, "$Id$") - -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 845516695dd..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 -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 88cd1518329..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/client.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// $Id$ - -#include "benchmark/driver.h" -#include "tao_marshal_client.h" - -ACE_RCSID(TAO, client, "$Id$") - -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 ca6b04d3d15..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/marshalC.cpp +++ /dev/null @@ -1,589 +0,0 @@ -// $Id$ - -#include <stdio.h> -#include "marshalC.h" - -ACE_RCSID(TAO, marshalC, "$Id$") - -// 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(0) -{ - 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 != 0) - 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, - 0); -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, - 0); - -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, - 0); - -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, - 0); - -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 - 1, // 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 - 1, // 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 - 1, // 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 - 1, // 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 - 1, // 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 - 1, // 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 - 1, // 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 - 1, // 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 - 1, // 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 c2457cacc6e..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 = 0 - ); - // 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 79d20c6f21f..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/marshalS.cpp +++ /dev/null @@ -1,172 +0,0 @@ -// $Id$ - -#include <iostream.h> -#include "marshalS.h" - -ACE_RCSID(TAO, marshalS, "$Id$") - -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, 1); - 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 (1); - else - retval = new CORBA_Boolean (0); - - CORBA_Any *any = - new CORBA_Any (_tc_CORBA_Boolean, retval, 1); - - 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 6ac48cf5ce8..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 a992752cda8..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/server.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// $Id$ - -#include "benchmark/driver.h" -#include "tao_marshal_server.h" - -ACE_RCSID(TAO, server, "$Id$") - -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 a48959e2200..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp +++ /dev/null @@ -1,1428 +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__ */ - -ACE_RCSID(TAO, tao_marshal_client, "$Id$") - -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, 0), - 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, 0), - 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, 0), - 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, 0), - 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, 0), - CORBA_ARG_IN, env); - arglist->add_value ("o2", CORBA_Any (_tc_CORBA_Octet, &o2, 0), - 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, 0), - CORBA_ARG_IN, env); - arglist->add_value ("c2", CORBA_Any (_tc_CORBA_Char, &c2, 0), - 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, 0), - CORBA_ARG_IN, env); - arglist->add_value ("d2", CORBA_Any (_tc_CORBA_Double, &d2, 0), - 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, 0), - CORBA_ARG_IN, env); - arglist->add_value ("ms2", CORBA_Any (Marshal::_tc_Marshal_Struct, &ms2, 0), - 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, 0), - CORBA_ARG_IN, env); - arglist->add_value ("u2", CORBA_Any (Marshal::_tc_Marshal_Union, &u2, 0), - 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, 0), - CORBA_ARG_IN, env); - arglist->add_value ("u2", CORBA_Any (Marshal::_tc_Marshal_Union, &u2, 0), - 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, 0, 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, 0), - CORBA_ARG_IN, env); - arglist->add_value ("a2", CORBA_Any (_tc_CORBA_Any, a2, 0), - 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, 0), - CORBA_ARG_IN, env); - arglist->add_value ("o2", CORBA_Any (Marshal::_tc_AnySeq, as2, 0), - 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 b55e3f309de..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 -// -// ============================================================================ - -#ifndef _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 60a6f42eac6..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp +++ /dev/null @@ -1,654 +0,0 @@ -// $Id$ - -#include "tao_marshal_impl.h" - -#if !defined (__ACE_INLINE__) -#include "tao_marshal_impl.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(TAO, tao_marshal_impl, "$Id$") - -// 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 (1); - else - retval = new CORBA_Boolean (0); - - CORBA_Any *any = - new CORBA_Any (_tc_CORBA_Boolean, retval, 1); - - 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, 1); - 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, 1); - 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, 1); - 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, 1); - 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, 1); - 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, 1); - // 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, 1); - // 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, 1); - // 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, 1); - // 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 9c5d9047120..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_impl.h +++ /dev/null @@ -1,196 +0,0 @@ -// $Id$ - -#ifndef TAO_MARSHAL_IMPL_H -#define TAO_MARSHAL_IMPL_H - -// to include DSI related files - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#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 9966b292e7f..00000000000 --- a/TAO/Benchmark/Marshal_Test/TAO/tao_marshal_server.cpp +++ /dev/null @@ -1,114 +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__ */ - -ACE_RCSID(TAO, tao_marshal_server, "$Id$") - -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 10442253e06..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 -// -// ============================================================================ - -#ifndef _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 fca289e19e4..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/client.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// $Id$ - -#include "benchmark/driver.h" -#include "visi_marshal_client.h" - -ACE_RCSID(VisiBroker, client, "$Id$") - -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 edb0dd286ff..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/server.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// $Id$ - -#include "benchmark/driver.h" -#include "visi_marshal_server.h" - -ACE_RCSID(VisiBroker, server, "$Id$") - -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 a7719ad647a..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.cpp +++ /dev/null @@ -1,1348 +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__ */ - -ACE_RCSID(VisiBroker, visi_marshal_client, "$Id$") - -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 30e14db39a6..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 -// -// ============================================================================ - -#ifndef _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 d9425e9c4b3..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.cpp +++ /dev/null @@ -1,333 +0,0 @@ -// $Id$ - -#include "visi_marshal_impl.h" - -#if !defined (__ACE_INLINE__) -#include "visi_marshal_impl.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(VisiBroker, visi_marshal_impl, "$Id$") - -// 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 6599c5ae276..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.h +++ /dev/null @@ -1,183 +0,0 @@ -// $Id$ - -#ifndef VISI_MARSHAL_IMPL_H -#define VISI_MARSHAL_IMPL_H - -// to include DSI related files - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#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 def599b3a02..00000000000 --- a/TAO/Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.cpp +++ /dev/null @@ -1,90 +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__ */ - -ACE_RCSID(VisiBroker, visi_marshal_server, "$Id$") - -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 d18feb277ea..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 -// -// ============================================================================ - -#ifndef _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_); -} diff --git a/TAO/Benchmark/benchmark/Makefile b/TAO/Benchmark/benchmark/Makefile deleted file mode 100644 index 9f5327741bf..00000000000 --- a/TAO/Benchmark/benchmark/Makefile +++ /dev/null @@ -1,125 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Top-level Makefile for the CORBA_Benchmark -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -LIBNAME = libbenchmark -LIB = $(LIBNAME).a -SHLIB = $(LIBNAME).$(SOEXT) - -FILES = driver \ - marshal_options \ - marshal_results \ - marshal_proxy - -LSRC = $(addsuffix .cpp,$(FILES)) - -LDLIBS = -lACE -LIBS = -lACE -VLDLIBS = $(LDLIBS:%=%$(VAR)) - -BUILD = $(VSHLIB) $(VLIB) - -ifndef TAO_ROOT -TAO_ROOT = $(ACE_ROOT)/TAO -endif - -#---------------------------------------------------------------------------- -# 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. -#---------------------------------------------------------------------------- - -CPPFLAGS += -I$(TAO_ROOT)/Benchmark/ - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/driver.o .shobj/driver.so: driver.cpp \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/driver.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i -.obj/marshal_options.o .shobj/marshal_options.so: marshal_options.cpp \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_options.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_options.i \ - $(ACE_ROOT)/ace/Get_Opt.h \ - $(ACE_ROOT)/ace/Get_Opt.i -.obj/marshal_results.o .shobj/marshal_results.so: marshal_results.cpp \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_results.h \ - $(ACE_ROOT)/ace/Profile_Timer.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Time_Value.h \ - $(ACE_ROOT)/ace/High_Res_Timer.h \ - $(ACE_ROOT)/ace/High_Res_Timer.i \ - $(ACE_ROOT)/ace/Profile_Timer.i \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_results.i -.obj/marshal_proxy.o .shobj/marshal_proxy.so: marshal_proxy.cpp \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_proxy.h \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_options.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_options.i \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_results.h \ - $(ACE_ROOT)/ace/Profile_Timer.h \ - $(ACE_ROOT)/ace/Time_Value.h \ - $(ACE_ROOT)/ace/High_Res_Timer.h \ - $(ACE_ROOT)/ace/High_Res_Timer.i \ - $(ACE_ROOT)/ace/Profile_Timer.i \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_results.i \ - $(ACE_ROOT)/TAO/Benchmark/benchmark/marshal_proxy.i - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/Benchmark/benchmark/driver.cpp b/TAO/Benchmark/benchmark/driver.cpp deleted file mode 100644 index 2569f03ad56..00000000000 --- a/TAO/Benchmark/benchmark/driver.cpp +++ /dev/null @@ -1,60 +0,0 @@ -// $Id$ - -#include "benchmark/driver.h" - -ACE_RCSID(benchmark, driver, "$Id$") - -template <class T> -CORBA_Benchmark_Driver<T>::CORBA_Benchmark_Driver (T *proxy) - : proxy_ (proxy) -{ -} - -template <class T> -CORBA_Benchmark_Driver<T>::~CORBA_Benchmark_Driver (void) -{ - delete proxy_; -} - -template <class T> -int -CORBA_Benchmark_Driver<T>::run (int argc, char *argv[]) -{ - // The run method delegates the task of parsing the command line options to - // the options data member - if (this->options_.parse_args (argc, argv) == -1) - { - ACE_DEBUG ((LM_DEBUG, "CORBA_Benchmark_Driver cannot parse arguments\n")); - return -1; - } - -#if 0 - // get a handle to the proxy - this->proxy_ = this->options_.make_proxy (); - if (this->proxy_ == 0) - { - ACE_DEBUG ((LM_DEBUG, "CORBA_Benchmark_Driver cannot make proxy\n")); - return -1; - } -#endif - - // The driver delegates the task of running the test to the newly created - // proxy - if (this->proxy_->run (this->options_, this->results_) == -1) - { - ACE_DEBUG ((LM_DEBUG, "CORBA_Benchmark_Driver cannot run\n")); - return -1; - } - - // The driver delegates the task of printing the results to the TTCP_Results - // class - if (this->results_.print_results () == -1) - { - ACE_DEBUG ((LM_DEBUG, "CORBA_Benchmark_Driver cannot print results\n")); - return -1; - } - - return 0; -} - - diff --git a/TAO/Benchmark/benchmark/driver.h b/TAO/Benchmark/benchmark/driver.h deleted file mode 100644 index cb69ea098ce..00000000000 --- a/TAO/Benchmark/benchmark/driver.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// CORBA Benchmark -// -// = FILENAME -// driver.h -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#ifndef _CORBA_BENCHMARK_DRIVER_H_ -#define _CORBA_BENCHMARK_DRIVER_H_ - -#include "ace/Log_Msg.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -template <class PROXY> -class CORBA_Benchmark_Driver -{ - // = TITLE - // CORBA Benchmark Driver. - // - // = DESCRIPTION - // This class encapsulates all the driver common to the CORBA benchmark - // tests. It provides a template to run the benchmarking code. The real - // work will be done by the PROXY class. -public: - - CORBA_Benchmark_Driver (PROXY *p); - // Constructor. - - ~CORBA_Benchmark_Driver (void); - // Destructor - - int run (int argc, char *argv[]); - // This is the starting point of all CORBA benchmark tests. - // Returns 0 on success, -1 on error. - -private: - PROXY *proxy_; - // the actual object that will do the work - - PROXY::RESULTS results_; - // Storage of test results. - - PROXY::OPTIONS options_; - // CORBA test command line options -}; - -#endif /* CORBA_BENCHMARK_DRIVER_H */ diff --git a/TAO/Benchmark/benchmark/marshal_options.cpp b/TAO/Benchmark/benchmark/marshal_options.cpp deleted file mode 100644 index 93fb039be0c..00000000000 --- a/TAO/Benchmark/benchmark/marshal_options.cpp +++ /dev/null @@ -1,282 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// CORBA Benchmark -// -// = FILENAME -// marshal_options.cpp -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#include "benchmark/marshal_options.h" -#include "ace/Get_Opt.h" - -#if !defined (__ACE_INLINE__) -#include "benchmark/marshal_options.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(benchmark, marshal_options, "$Id$") - -static char *usage_string = -"Marshal_Test available options: \n\ --d : set debug ON \n\ --D : set TCP NO DELAY on \n\ --n <service name> : set the service name\n\ --s <snd sock bufsize> : set sender sock buf \n\ --r <rcv sock bufsize> : set recv sock buf \n\ --h <hostname> : hostname to listen/connect \n\ --p <portnum> : port num to listen \n\ --i <iters> : number of iters \n\ --R <ROLE> : s(ender)/r(eceiver) \n\ --T <datatype> : s(hort)/l(ong)/d(ouble)/o(ctet)/c(har)/\n\ - S(truct)/U(nion)/A(ny)/(se)Q/R(ecursive)\n\ --P <policy> : S(II/SI)/D(II/SI) depending on role \n\ --I <CORBA impl> : O(rbix)/V(isiBroker)/T(AO)\n\ --o <obj name> : obj to bind to \n\ --f <filename> : filename to store results \n\ -"; - -int -CORBA_Marshal_Options::Usage (void) -{ - ACE_DEBUG ((LM_DEBUG, "%s\n", usage_string)); - return -1; -} - -int -CORBA_Marshal_Options::parse_args (int argc, char *argv []) -{ - int c; // option letter used - ACE_Get_Opt get_opt (argc, argv, "dDn:s:r:h:p:i:R:T:P:I:o:f:"); - - // ACE_DEBUG ((LM_DEBUG, "CORBA_Marshal_Options::parse_args\n")); - - while ((c = get_opt ()) != -1) - { - switch (c) - { - case 'd': // debug - this->debug (1); - break; - case 'D': // TCP NODELAY - this->disable_nagle (1); - break; - case 'n': - this->service_name (get_opt.optarg); - break; - case 's': // sender socket size - this->snd_socket_queue_size (ACE_OS::atoi (get_opt.optarg)); - break; - case 'r': // receive socket size - this->rcv_socket_queue_size (ACE_OS::atoi (get_opt.optarg)); - break; - case 'h': // hostname - this->hostname (ACE_OS::strdup (get_opt.optarg)); - break; - case 'p': // port number - this->port (ACE_OS::atoi (get_opt.optarg)); - break; - case 'i': // port number - this->iterations (ACE_OS::atoi (get_opt.optarg)); - break; - case 'R': // role - switch (*get_opt.optarg) - { - case 'S': // sender - case 's': // sender - this->role (SENDER); - break; - case 'R': // receiver - case 'r': // receiver - this->role (RECEIVER); - break; - default: - return this->Usage (); - } - break; - case 'T': // data type to test - switch (*get_opt.optarg) - { - case 's': // short - this->data_type (SHORT); - break; - case 'd': // double - this->data_type (DOUBLE); - break; - case 'o': // octet - this->data_type (OCTET); - break; - case 'c': // char - this->data_type (CHAR); - break; - case 'S': // Struct - this->data_type (STRUCT); - break; - case 'U': // Union - this->data_type (UNION); - break; - case 'A': // Any - this->data_type (ANY); - break; - case 'Q': // Sequence - this->data_type (SEQUENCE); - break; - case 'R': // Recursive - this->data_type (RECURSIVE); - break; - case 'l': // long, also the default - default: - this->data_type (LONG); - break; - } - break; - case 'P': // policy - switch (*get_opt.optarg) - { - case 'S': - case 's': - this->policy (STATIC); - break; - case 'D': - case 'd': - this->policy (DYNAMIC); - break; - default: - return this->Usage (); - } - break; - case 'I': // impl - switch (*get_opt.optarg) - { - case 'O': // Orbix - this->proxy_type (ORBIX); - break; - case 'V': // VisiBroker - this->proxy_type (VISIBROKER); - break; - case 'T': // TAO - this->proxy_type (TAO); - break; - } - break; - case 'o': // obj name - this->object_name (ACE_OS::strdup (get_opt.optarg)); - break; - case 'f': // file name to save results - this->filename (ACE_OS::strdup (get_opt.optarg)); - break; - default: // error - return this->Usage (); - } - } - return 0; -} - -int -CORBA_Marshal_Options::orb_init_args (int &argc, char *argv []) -{ - char buffer [200]; - - argc = 0; - switch (this->proxy_type_) - { - case ORBIX: - break; - case VISIBROKER: - { - ACE_OS::memset (buffer, '\0', 200); - if (snd_socket_queue_size_ > 0) - { - ACE_OS::sprintf (buffer, "-ORBsendbufsize %d", snd_socket_queue_size_); - orb_init_args_ += ACE_CString (buffer); - argc ++; - } - - ACE_OS::memset (buffer, '\0', 200); - if (rcv_socket_queue_size_ > 0) - { - ACE_OS::sprintf (buffer, "-ORBrcvbufsize %d", rcv_socket_queue_size_); - orb_init_args_ += ACE_CString (buffer); - argc ++; - } - } - break; - case TAO: - break; - } - ACE_OS::memset (buffer, '\0', 200); - ACE_OS::memcpy (buffer, boa_init_args_.rep (), boa_init_args_.length ()); - return 0; -} - -static char buffer [20][200]; - -int -CORBA_Marshal_Options::boa_init_args (int &argc, char *argv []) -{ - argc = 0; - switch (this->proxy_type_) - { - case ORBIX: - break; - case VISIBROKER: - { - ACE_OS::memset (buffer[argc], '\0', 200); - if (snd_socket_queue_size_ > 0) - { - ACE_OS::sprintf (buffer[argc], "-OAsendbufsize %d", snd_socket_queue_size_); - // boa_init_args_ += ACE_CString (buffer[argc]); - argc ++; - } - ACE_OS::memset (buffer[argc], '\0', 200); - if (rcv_socket_queue_size_ > 0) - { - ACE_OS::sprintf (buffer[argc], "-OArcvbufsize %d", rcv_socket_queue_size_); - // boa_init_args_ += ACE_CString (buffer[argc]); - argc ++; - } - ACE_OS::memset (buffer[argc], '\0', 200); - if (port_ > 0) - { - ACE_OS::sprintf (buffer[argc], "-OAport %d", port_); - // boa_init_args_ += ACE_CString (buffer[argc]); - argc ++; - } - ACE_OS::memset (buffer[argc], '\0', 200); - if (hostname_ != 0 && role_ == RECEIVER) - { - ACE_OS::sprintf (buffer[argc], "-OAipaddr %s", hostname_); - // boa_init_args_ += ACE_CString (buffer[argc]); - argc ++; - } - } - break; - case TAO: - { - ACE_OS::memset (buffer[argc], '\0', 200); - if (port_ > 0) - { - ACE_OS::sprintf (buffer[argc], "-OAport %d", port_); - // boa_init_args_ += ACE_CString (buffer); - argc ++; - } - ACE_OS::memset (buffer[argc], '\0', 200); - if (hostname_ != 0 && role_ == RECEIVER) - { - ACE_OS::sprintf (buffer[argc], "-OAhostname %s", hostname_); - // boa_init_args_ += ACE_CString (buffer); - argc ++; - } - } - break; - } - // ACE_OS::memset (buffer, '\0', 200); - // ACE_OS::memcpy (buffer, boa_init_args_.rep (), boa_init_args_.length ()); - return 0; -} - diff --git a/TAO/Benchmark/benchmark/marshal_options.h b/TAO/Benchmark/benchmark/marshal_options.h deleted file mode 100644 index 654b87070e0..00000000000 --- a/TAO/Benchmark/benchmark/marshal_options.h +++ /dev/null @@ -1,214 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// CORBA Benchmark/Marshal -// -// = FILENAME -// marshal_options.h -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#ifndef _CORBA_MARSHAL_OPTIONS_H_ -#define _CORBA_MARSHAL_OPTIONS_H_ - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/SString.h" - -class CORBA_Marshal_Options -{ - // = TITLE - // CORBA_Marshal_Options - // = DESCRIPTION - // An encapsulation of all the CORBA_MARSHAL test parameters. This is - // used to communicate between the ACE_CORBA_Marshal_Driver and all - // specializations of CORBA_Marshal_Proxy. It must be noted that not all - // options will be valid for a given specialization of CORBA_Marshal_Proxy. This is - // a "all-encompassing" class. -public: - // The following data types will be tested - enum DATATYPE - { - NO_DATATYPE, - SHORT, - LONG, - DOUBLE, - CHAR, - OCTET, - STRUCT, - UNION, - ANY, - SEQUENCE, - RECURSIVE - }; - - // The following CORBA implementations will be tested - enum PROXY_TYPE - { - NO_PROXY, - TAO, - ORBIX, - VISIBROKER - }; - - // Invocation policy - enum POLICY - { - NO_POLICY, - STATIC, // SII, SSI - DYNAMIC // DII, DSI - }; - - // what role do we play? - enum ROLE - { - NO_ROLE, - SENDER, - RECEIVER - }; - - CORBA_Marshal_Options (void); - // Construction. Sets default values. - - ~CORBA_Marshal_Options (void); - // Destructor - - int parse_args (int argc, char *argv[]); - // Parse command line arguments. This decides what type of CORBA_MARSHAL - // test to run. - - // All the command line options - - //= Get/Set the data type to be sent/received - CORBA_Marshal_Options::DATATYPE data_type (void); - void data_type (CORBA_Marshal_Options::DATATYPE); - - //= Get/set the proxy type - CORBA_Marshal_Options::PROXY_TYPE proxy_type (void); - void proxy_type (CORBA_Marshal_Options::PROXY_TYPE); - - //= Get/Set the policy used by clients/servers for communication - CORBA_Marshal_Options::POLICY policy (void); - void policy (CORBA_Marshal_Options::POLICY); - - //= Get/Set whether we are client or server (sender/receiver) - CORBA_Marshal_Options::ROLE role (void); - void role (CORBA_Marshal_Options::ROLE); - - //= Get/Set the hostname client connects to or the interface on which the - //server listens to - const char *hostname (void); - void hostname (const char *); - - //= Get/set the port number on which the server listens - short port (void); - void port (short); - - //= Get/Set the object name (to which to connect to) - const char *object_name (void); - void object_name (const char *); - - //= Get/Set the service name (for impl is ready) - const char *service_name (void); - void service_name (const char *); - - // = Get/set receive sockbufsize. - int rcv_socket_queue_size (void); - void rcv_socket_queue_size (int); - - // = Get/set send sockbufsize. - int snd_socket_queue_size (void); - void snd_socket_queue_size (int); - - // = Get/set whether to use TCP_NODELAY or not - unsigned short disable_nagle (void); - void disable_nagle (unsigned short); - - // = Get/set whether to print debug messages. - unsigned short debug (void); - void debug (unsigned short); - - // =Get/Set filename to store results - const char *filename (void); - void filename (const char *fname); - - // =Get/set number of iterations - int iterations (void); - void iterations (int iter); - - int Usage (void); - // prints a usage message and always returns -1 - - int orb_init_args (int &argc, char * argv []); - // return a string that will be passed to the ORB init method based on the - // other options and proxy type - - int boa_init_args (int &argc, char * argv []); - // return a string that will be passed to the BOA init method based on the - // other options and proxy type - -private: - const char *object_name_; - // name of the object. - - const char *service_name_; - // name of the service. - - CORBA_Marshal_Options::DATATYPE data_type_; - // data type to send/receive - - CORBA_Marshal_Options::PROXY_TYPE proxy_type_; - // the proxy type, e.g., ACE, Orbix, VisiBroker, etc - - CORBA_Marshal_Options::POLICY policy_; - // communications policy used by the communicating entity - - CORBA_Marshal_Options::ROLE role_; - // Are we creating a sender or receiver? - - int rcv_socket_queue_size_; - // Size of socket queue. - - int snd_socket_queue_size_; - // Size of socket queue. - - unsigned short disable_nagle_; - // Nagle must be stopped. - - unsigned short debug_; - // Should we print debug messages? - - short port_; - // Port for socket connections to use. - - const char *hostname_; - // Host for senders to connect to. and servers to listen on - - const char *filename_; - // filename in which to store the results - - int iterations_; - // number of times to run the same test - - ACE_CString orb_init_args_; - // arguments to orb_init - - ACE_CString boa_init_args_; - // arguments to boa_init - -}; - -#if defined (__ACE_INLINE__) -#include "benchmark/marshal_options.i" -#endif /* __ACE_INLINE__ */ - -#endif diff --git a/TAO/Benchmark/benchmark/marshal_options.i b/TAO/Benchmark/benchmark/marshal_options.i deleted file mode 100644 index 6c860fac93c..00000000000 --- a/TAO/Benchmark/benchmark/marshal_options.i +++ /dev/null @@ -1,235 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// CORBA Benchmark/Marshal -// -// = FILENAME -// marshal_options.i -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -// constructor -ACE_INLINE -CORBA_Marshal_Options::CORBA_Marshal_Options (void) - : object_name_ (0), - data_type_ (CORBA_Marshal_Options::NO_DATATYPE), - proxy_type_ (CORBA_Marshal_Options::NO_PROXY), - policy_ (CORBA_Marshal_Options::NO_POLICY), - role_ (CORBA_Marshal_Options::NO_ROLE), - rcv_socket_queue_size_ (-1), - snd_socket_queue_size_ (-1), - disable_nagle_ (0), - debug_ (0), - hostname_ (0), - port_ (-1), - iterations_ (0) -{ -} - - -// destructor -ACE_INLINE -CORBA_Marshal_Options::~CORBA_Marshal_Options (void) -{ -} - -// set the data type to be transferred -ACE_INLINE void -CORBA_Marshal_Options::data_type (CORBA_Marshal_Options::DATATYPE dt) -{ - data_type_ = dt; -} - -// get the data type to be transferred -ACE_INLINE CORBA_Marshal_Options::DATATYPE -CORBA_Marshal_Options::data_type (void) -{ - return data_type_; -} - -// set the proxy type to be transferred -ACE_INLINE void -CORBA_Marshal_Options::proxy_type (CORBA_Marshal_Options::PROXY_TYPE pt) -{ - proxy_type_ = pt; -} - -// get the data type to be transferred -ACE_INLINE CORBA_Marshal_Options::PROXY_TYPE -CORBA_Marshal_Options::proxy_type (void) -{ - return proxy_type_; -} - -// set the policy type to be transferred -ACE_INLINE void -CORBA_Marshal_Options::policy (CORBA_Marshal_Options::POLICY inv) -{ - policy_ = inv; -} - -// get the policy type to be transferred -ACE_INLINE CORBA_Marshal_Options::POLICY -CORBA_Marshal_Options::policy (void) -{ - return policy_; -} - -// set the role type to be transferred -ACE_INLINE void -CORBA_Marshal_Options::role (CORBA_Marshal_Options::ROLE my_role) -{ - role_ = my_role; -} - -// get the role type to be transferred -ACE_INLINE CORBA_Marshal_Options::ROLE -CORBA_Marshal_Options::role (void) -{ - return role_; -} - -// set the hostname -ACE_INLINE void -CORBA_Marshal_Options::hostname (const char *hname) -{ - hostname_ = hname; -} - -// get the hostname -ACE_INLINE const char* -CORBA_Marshal_Options::hostname (void) -{ - return hostname_; -} - -// set the post -ACE_INLINE void -CORBA_Marshal_Options::port (short portnum) -{ - port_ = portnum; -} - -// get the port -ACE_INLINE short -CORBA_Marshal_Options::port (void) -{ - return port_; -} - -// set the object name -ACE_INLINE void -CORBA_Marshal_Options::object_name (const char *objname) -{ - object_name_ = objname; -} - -// get the object name -ACE_INLINE const char * -CORBA_Marshal_Options::object_name (void) -{ - return object_name_; -} - -// set the service name -ACE_INLINE void -CORBA_Marshal_Options::service_name (const char *srvname) -{ - service_name_ = srvname; -} - -// get the service name -ACE_INLINE const char * -CORBA_Marshal_Options::service_name (void) -{ - return service_name_; -} - -// set the receive sock size -ACE_INLINE void -CORBA_Marshal_Options::rcv_socket_queue_size (int socksize) -{ - rcv_socket_queue_size_ = socksize; -} - -// get the receive sock size -ACE_INLINE int -CORBA_Marshal_Options::rcv_socket_queue_size (void) -{ - return rcv_socket_queue_size_; -} - -// set the sender sock size -ACE_INLINE void -CORBA_Marshal_Options::snd_socket_queue_size (int socksize) -{ - snd_socket_queue_size_ = socksize; -} - -// get the snd sock size -ACE_INLINE int -CORBA_Marshal_Options::snd_socket_queue_size (void) -{ - return snd_socket_queue_size_; -} - -// set whether Nagle algo is to be disabled -ACE_INLINE void -CORBA_Marshal_Options::disable_nagle (unsigned short val) -{ - disable_nagle_ = (val ? 1 : 0); -} - -// get whether Nagle algo is disabled -ACE_INLINE unsigned short -CORBA_Marshal_Options::disable_nagle (void) -{ - return disable_nagle_; -} - -// set whether debug is to be disabled -ACE_INLINE void -CORBA_Marshal_Options::debug (unsigned short val) -{ - debug_ = (val ? 1 : 0); -} - -// get whether debug is disabled -ACE_INLINE unsigned short -CORBA_Marshal_Options::debug (void) -{ - return debug_; -} - -// set the filename -ACE_INLINE void -CORBA_Marshal_Options::filename (const char *fname) -{ - filename_ = fname; -} - -// get the filename -ACE_INLINE const char* -CORBA_Marshal_Options::filename (void) -{ - return filename_; -} - -// set the iterations -ACE_INLINE void -CORBA_Marshal_Options::iterations (int iter) -{ - iterations_ = iter; -} - -// get the iterations -ACE_INLINE int -CORBA_Marshal_Options::iterations (void) -{ - return iterations_; -} diff --git a/TAO/Benchmark/benchmark/marshal_proxy.cpp b/TAO/Benchmark/benchmark/marshal_proxy.cpp deleted file mode 100644 index 9c2d4cf61d8..00000000000 --- a/TAO/Benchmark/benchmark/marshal_proxy.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// CORBA Benchmark -// -// = FILENAME -// marshal_proxy.cpp -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#include "benchmark/marshal_proxy.h" - -#if !defined (__ACE_INLINE__) -#include "benchmark/marshal_proxy.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(benchmark, marshal_proxy, "$Id$") - diff --git a/TAO/Benchmark/benchmark/marshal_proxy.h b/TAO/Benchmark/benchmark/marshal_proxy.h deleted file mode 100644 index 3152a62f17d..00000000000 --- a/TAO/Benchmark/benchmark/marshal_proxy.h +++ /dev/null @@ -1,48 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// CORBA Benchmark -// -// = FILENAME -// marshal_proxy.h -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#ifndef _CORBA_MARSHAL_PROXY_H_ -#define _CORBA_MARSHAL_PROXY_H_ - -#include "benchmark/marshal_options.h" -#include "benchmark/marshal_results.h" - -class CORBA_Marshal_Proxy -{ - // = TITLE - // Abstract handle for all CORBA_Marshal tests. - // = DESCRIPTION - // The IMPL class is the CORBA specific class which does the real work. The - // IMPL class must support the run method -public: - typedef CORBA_Marshal_Options OPTIONS; - typedef CORBA_Marshal_Results RESULTS; - - CORBA_Marshal_Proxy (void); - // constructor - - virtual ~CORBA_Marshal_Proxy (void); - // destructor - - virtual int run (OPTIONS &, RESULTS &) = 0; - // run the test - -}; - -#if defined (__ACE_INLINE__) -#include "benchmark/marshal_proxy.i" -#endif /* __ACE_INLINE__ */ - -#endif diff --git a/TAO/Benchmark/benchmark/marshal_proxy.i b/TAO/Benchmark/benchmark/marshal_proxy.i deleted file mode 100644 index a5e95d393cd..00000000000 --- a/TAO/Benchmark/benchmark/marshal_proxy.i +++ /dev/null @@ -1,12 +0,0 @@ -// $Id$ - - -ACE_INLINE -CORBA_Marshal_Proxy::CORBA_Marshal_Proxy (void) -{ -} - -ACE_INLINE -CORBA_Marshal_Proxy::~CORBA_Marshal_Proxy (void) -{ -} diff --git a/TAO/Benchmark/benchmark/marshal_results.cpp b/TAO/Benchmark/benchmark/marshal_results.cpp deleted file mode 100644 index 1c102d49eed..00000000000 --- a/TAO/Benchmark/benchmark/marshal_results.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// CORBA Benchmark/Marshal -// -// = FILENAME -// marshal_results.cpp -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#include "benchmark/marshal_results.h" - -#if !defined (__ACE_INLINE__) -#include "benchmark/marshal_results.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(benchmark, marshal_results, "$Id$") - -int -CORBA_Marshal_Results::log_results (void) -{ - return 0; -} - -int -CORBA_Marshal_Results::print_results (void) -{ - // ACE_DEBUG ((LM_DEBUG, "CORBA_Marshal_Results::print_results\n")); - - return 0; // success -} diff --git a/TAO/Benchmark/benchmark/marshal_results.h b/TAO/Benchmark/benchmark/marshal_results.h deleted file mode 100644 index 66de29e13bd..00000000000 --- a/TAO/Benchmark/benchmark/marshal_results.h +++ /dev/null @@ -1,76 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// CORBA Benchmark -// -// = FILENAME -// marshal_results.h -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#ifndef _CORBA_MARSHAL_RESULTS_H_ -#define _CORBA_MARSHAL_RESULTS_H_ - -#include "ace/Profile_Timer.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -class CORBA_Marshal_Results -{ -public: - CORBA_Marshal_Results (void); - // Construction. - - ~CORBA_Marshal_Results (void); - // destructor. - - void clear (void); - // Clear all results. - - ACE_Profile_Timer::ACE_Elapsed_Time & elapsed_time (void); - // Get the elapsed time. - - ACE_Profile_Timer::Rusage elapsed_rusage (void); - // compute the rusage - - int start_timer (void); - // starts a profile timer. - - int stop_timer (void); - // stops the profile timer. - - void filename (const char *fname); - // set the name of the file to store results - - int log_results (void); - // log results - - int print_results (void); - // prints the results - -private: - - // = Used for performance statistics - ACE_Profile_Timer timer_; - ACE_Profile_Timer::ACE_Elapsed_Time et_; - ACE_Profile_Timer::Rusage rusage_; - - double elapsed_time_; - // Real elapsed time in seconds. - - const char *filename_; - // filename -}; - -#if defined (__ACE_INLINE__) -#include "benchmark/marshal_results.i" -#endif /* __ACE_INLINE__ */ - -#endif diff --git a/TAO/Benchmark/benchmark/marshal_results.i b/TAO/Benchmark/benchmark/marshal_results.i deleted file mode 100644 index aa914b2f3d3..00000000000 --- a/TAO/Benchmark/benchmark/marshal_results.i +++ /dev/null @@ -1,61 +0,0 @@ -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// CORBA Benchmark/Marshal -// -// = FILENAME -// marshal_results.i -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -ACE_INLINE -CORBA_Marshal_Results::CORBA_Marshal_Results (void) - : filename_ (0), - elapsed_time_ (0) -{ -} - -ACE_INLINE -CORBA_Marshal_Results::~CORBA_Marshal_Results (void) -{ -} - -ACE_INLINE int -CORBA_Marshal_Results::start_timer (void) -{ - return this->timer_.start (); -} - -ACE_INLINE int -CORBA_Marshal_Results::stop_timer (void) -{ - return this->timer_.stop (); -} - -ACE_INLINE ACE_Profile_Timer::ACE_Elapsed_Time & -CORBA_Marshal_Results::elapsed_time (void) -{ - (void) this->timer_.elapsed_time (this->et_); - return this->et_; -} - -ACE_INLINE ACE_Profile_Timer::Rusage -CORBA_Marshal_Results::elapsed_rusage (void) -{ - (void) this->timer_.elapsed_rusage (this->rusage_); - return this->rusage_; -} - -ACE_INLINE void -CORBA_Marshal_Results::filename (const char *fname) -{ - this->filename_ = fname; -} - - diff --git a/TAO/ChangeLog-97 b/TAO/ChangeLog-97 deleted file mode 100644 index 4c6b6143a1d..00000000000 --- a/TAO/ChangeLog-97 +++ /dev/null @@ -1,6672 +0,0 @@ -Wed Dec 31 23:29:59 1997 Nanbor Wang <nw1@cs.wustl.edu> - - * tao/nvlist.cpp (add_value_consume): Added a space between * and - /* to avoid warning messages on NT. - -Thu Jan 01 14:22:34 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.50, released Thu Jan 01 14:22:34 1998. - -Thu Jan 1 13:31:55 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: An unwanted - reference operator "&" was getting generated for sequences whose - element types were not special managed types. This was because the - case for handling the managed types somehow got mixed with the - normal ccase. Thanks to Nanbor Wang (nw1@cs.wustl.edu) for - pointing this out. - -Wed Dec 31 18:29:57 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: Changed the way - we use managed types. Instead of allocating an array, we now - instantiate the - managed type on the fly i.e., when the operator [] is invoked. The - reasons for doing this are: (1) no need for dynamic memory - allocation for maintaining the array of managers (2) It was - causing all kinds of problems while decoding because the sizeof - such sequence classes was bigger than those without managed - types. However, due to this scheme, we can no longer define the [] - operator to return a reference because that would mean that a - reference to a local variable/temporary will be returned. Hence - changes were necessary in files. - - TypeCode generation was also erroneous. This is fixed. We were - generating wrong encapsulation length. - - * TAO_IDL/be/be_string.cpp: Indentation in typecode generation. - - * TAO_IDL/be/be_type.cpp: nested_type_name - improved to - eliminate one more strange error message getting generated by the - MSVC++ compiler. Still needs testing. - - * TAO/tao/{invoke, decode}.cpp: Reversed the changes which were - made to account for sequencese with managed types. We no longer - need these changes because sequences with managed types no longer - keep an extra data member. Thus the size of all sequences (top - level) is the same (so is the layout). - - * TAO/tao/nvlist.cpp: commneted out unused variables, parameters. - - * TAO/tests/Param_Test: Included tests for string sequences, - variable sized structs as well as nested structs. - -Tue Dec 30 13:46:44 1997 Nanbor Wang <nw1@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.h (portnum_): Changed its data - type from CORBA::ULong to CORBA::UShort to kill warning - messages. - - * tao/orbobj.cpp (create_list): Changed data type of the loop - counter to CORBA::Long. This caused a warning message on VC. - - * doc/releasenotes/index.html: Added documentation for adding IDL - files into Visual C++'s projects. - - * tests/Param_Test/Param_Test.dsw: - * tests/Param_Test/client.dsp: - * tests/Param_Test/server.dsp: New workspace and projects were added. - -Tue Dec 30 10:15:11 1997 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/Event_Service/Fast_Reactor.h (ACE_ES_Fast_Reactor): - Added the other version of handle_events to stop the compiler - from being cranky. - -Tue Dec 30 10:06:45 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_state_argument, be_state_operation, - be_state_attribute}.cpp - Unnecessary call on "init_mgr" for - sequences that do not have any managed types was getting - generated. This is fixed. In addition, MSVC++ compiler was - producing an error saying "ambiguous assignment" when an "_out" - variable was assigned to a pointer type. Solaris platform (CC and - g++) did not give any such errors since they were (most probably) - using the operator *() on the _out class, but MSVC++ did not. - - * TAO/tests/Cubit/IDL_Cubit/clnt.cpp: The same "ambiguous - assignment" error described above has been fixed here too. - - * TAO/tests/Param_Test: Added a method called "reset_parameters" - so that we do not change the "in" parameter for every - iteration. Previuosly we were settingthe in parameter differently - for every new iteration. However, for performance comparison - purposes, this was not correct (e.g., in the case of string - sequences or unbounded strings where everytime we were sending a - different lenght string and hence the performance numbers were - different for each run and couldn't be compared.) - -Mon Dec 29 21:51:38 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_sequence.cpp: get_name was returning a local - variable. In addition, added generationof a method called - "init_mgr" that must be used to initialize the sequence's - underlying mgr_ vector. - - There was some problem with bounded/unbounded sequence code - generation (an error in an if stmt). - - * TAO_IDL/be/{be_state_argument, be_state_attribute, - be_state_operation}.cpp - added code to generate the call to - init_mgr for sequences after the do_call is made. - - * TAO_IDL/be_include/be_sequence.h : gen_name returns char* rather - than const char* because we now allocate a new string and return - it. - - * TAO/tao/Makefile: applied make depend to incorporate nvlist.i - - * TAO/tao/corbacom.h: Added a "boolean release" field to - CORBA_SEQUNECE so that its layout is similar to the generated code - for sequences. - - * TAO/tao/decode.cpp: In sequence decode, we also set the release - flag to 1. In addition, for sequences of strings and objrefs, we - zero out additional 4 bytes that are used to store a pointer to - the manager array. - - * TAO/tao/deep_free.cpp: some indentation. Also passed the correct - parameter to string/wstring::decode - - * TAO/tao/invoke.cpp: In do_dynamic_call, for sequences of strings - (inclusing typedefed sequences of strings that themselves can be - typedefed), we must allocate size+4 bytes for demarshaling the - sequences. The extra 4 bytes are for the manager array pointer. - - * TAO/tao/nvlist.cpp: I the method item, the loop should have run - from o to max_ rather than upto len_. - - * TAO/tao/orbobj.cpp: Used placement new of NamedValue in the - create_list method. - - * TAO/tests/Param_Test: Added new tests for Fixed_Struct and - string sequence. Added a README file. - - * TAO/doc/releasenotes/index.html: updated with latest success stories. - -Thu Dec 25 20:36:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.49, released Thu Dec 25 20:36:58 1997. - -Thu Dec 25 18:43:03 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_state_attribute, be_state_argument}.cpp: Handled - teh remaining cases (except Arrays) that use the newly added - methiods to class NVList. The Param_Test test suite is being - developed to track any memory leaks. - - * TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Used sequence_var in - the cube_sequence function to avoid memory leaks. However, there - still are leaks. - -Wed Dec 24 18:44:47 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.48, released Wed Dec 24 18:44:47 1997. - -Wed Dec 24 18:44:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao: Added the nvlist.i file to the tao/ directory. - -Wed Dec 24 18:11:08 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_operation, be_state_argument}.cpp: Added - "argument_count" method to be_operation which is helpful in - creating an NVList of the appropriate size. Previously we were - creating an empty list and adding parameters one by one. This was - causing a lot of reallocations which were wasteful. - - At this time, we have code base that can successfully send/receive - primitive data types as well as strings. - - * TAO_IDL/be_include/be_operation.h : Added a new method called - "argument_count" to give us the total number of parameters we - have. - - * TAO/tao/{any.cpp, connect.cpp, corbacom.i, decode.cpp, - iioporb.cpp, marshal.i, objtable.cpp, optable.cpp, request.cpp}: - In all these files, after a call to CORBA::string_free, we made - the pointer point to 0. Otherwise, purify was giving us "Free - Memory read" errors. Also, this was (by fluke) causing some - applications to run successfully. - - * TAO/tao/{nvlist.h, nvlist.cpp, nvlist.i, corba.h}: Added - unimplemented methods to NamedValue and NVList. Created a nvlist.i - file and updated corba.h - - * TAO/tao/corbacom.cpp: In an assignment operator for Sting_out, - we were not checking if the assignment was from ourselves. Also a - array was incorrectly being deleted as "delete ..." rather than - "delete [] ...". - - * TAO/tao/invoke.cpp: Inside do_call, we were not deleting memory - for the "in" part of the inout parameters. Right now we have fixed - this problem only for strings. Others will be added as new tests - are built. Do_dynamic_call also needs such a fix. NOT DONE in this release. - - * TAO/tao/orb_core.h, orb_core.cpp: ORB_init takes "const char*" - orb name as the argument instead of just char*. - - * TAO/tests/Param_Test: Successful in testing - "test_unbounded_string". removed a few memory leaks where we were - not deleting the client objects. - -Tue Dec 23 19:34:40 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.47, released Tue Dec 23 19:34:40 1997. - -Tue Dec 23 13:36:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_state_sequence.cpp: ACE_NESTED_CLASS must be - generated for seq elements that are scoped. We were generating - this macor only when seq elements were typedefs. However, seq - elements can also be structs or any other types that have an - enclosing scope. Thanks to Chris Gill <cdgill@cs.wustl.edu> for - the bug report. - - * TAO_IDL/be/be_state_operation.cpp: Similar problem as above for - return types of operations. Bug reported by Chris Gill. - - * TAO_IDL/be/be_exception.cpp: Whenever a _narrow fails, we were - trying to do a ACE_dynamic_cast to a 0. Instead, we now return a - 0. Again thanks to Chris Gill <cdgill@cs.wustl.edu> for - the bug report. - - * TAO_IDL/be/be_state_argument.cpp: We were ot generating a char - *& for inout string parameters. Instead only a char * was getting - generated. Fixed. - -Tue Dec 23 11:45:03 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * docs/releasenotes/index.html: - There is no need to set config=1 when compiling - TAO_ROOT/orbsvcs. - -Mon Dec 22 22:02:49 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.46, released Mon Dec 22 22:02:49 1997. - -Mon Dec 22 19:08:55 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/corba.h: - * tao/except.cpp: - * tao/except.h: - The TAO_TRY macros use the _narrow methods for exceptions; - making the TAO_CATCH() macro fully functional. - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: - * orbsvcs/Event_Service/Dispatching_Modules.cpp: - * orbsvcs/Event_Service/Dispatching_Modules.i: - * orbsvcs/Event_Service/Event_Channel.cpp: - * orbsvcs/Event_Service/Event_Channel.i: - * orbsvcs/Event_Service/Event_Service.cpp: - * orbsvcs/Event_Service/RT_Task.cpp: - * orbsvcs/Event_Service/ReactorTask.cpp: - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - * orbsvcs/Scheduling_Service/Config_Scheduler.h: - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.h: - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Changed the ACE_TRY (and friends) macros to TAO_TRY. - - * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: - Cleaned up some exceptions definitions. - - * orbsvcs/tests/Event_Latency/Makefile: - Since the schedule is not distributed (yet) by default we - compile the config run, hopefully this will cause less - confusion. - -Sun Dec 21 23:41:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.45, released Sun Dec 21 23:41:05 1997. - -Sun Dec 21 20:29:33 1997 <nw1@JIG> - - * tests/Cubit/TAO/MT_Cubit/client/client.dsp: * - tests/Cubit/TAO/MT_Cubit/server/server.dsp: Corrected erroneous - library pathes in Release version of project files. - -Sun Dec 21 18:30:41 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: The macro used in the #if !defined - (..) clause in the header files was incorrectly generated when IDL - file names had characters other than letters in it. Fixed. - - * TAO/tests/Param_Test: A new test suite to test all the parameter - passing modes - return, in, inout, and out for a large number of - IDL data types. The purpose of this test suite is to verify the - correctness of the stubs/skeletons generated by TAO IDL compiler, - eliminate any existing errors in the marshaling engine, track down - any memory leaks, and finally to measure the performance and fine - tune the code if required. In the first version of the test, we - only test "shorts". We will be adding other tests as soon as we - can. - -Sat Dec 20 00:34:45 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp (main): - * tests/Cubit/CORBAplus/MT_Cubit/client/Makefile: - * tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.h: - * tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/client/cubit.idl: - * tests/Cubit/CORBAplus/MT_Cubit/server/Makefile: - * tests/Cubit/CORBAplus/MT_Cubit/server/cubit.idl: - * tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.h: - * tests/Cubit/CORBAplus/MT_Cubit/server/svr.cpp: - Ported the MT_Cubit example to CORBAplus. - -Fri Dec 19 11:33:51 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - - * tests/Thruput/CORBAplus/Makefile: - * tests/Thruput/CORBAplus/README: - * tests/Thruput/CORBAplus/client.cpp: - * tests/Thruput/CORBAplus/extract: - * tests/Thruput/CORBAplus/run: - * tests/Thruput/CORBAplus/run_client: - * tests/Thruput/CORBAplus/run_server: - * tests/Thruput/CORBAplus/run_test: - * tests/Thruput/CORBAplus/run_tests: - * tests/Thruput/CORBAplus/server.cpp: - * tests/Thruput/CORBAplus/ttcp.idl: - * tests/Thruput/CORBAplus/ttcp_decl.h: - * tests/Thruput/CORBAplus/ttcp_i.cpp: - * tests/Thruput/CORBAplus/ttcp_i.h: - * tests/Thruput/CORBAplus/utils.cpp: Ported the Thruput example to - CORBAplus for C++ by Expersoft. Try running the "run_tests" - script for the client side. - - * tests/Thruput/Orbix/Client.cpp: - * tests/Thruput/Orbix/Makefile: - * tests/Thruput/Orbix/README: - * tests/Thruput/Orbix/Srv_Main.cpp: - * tests/Thruput/Orbix/extract: - * tests/Thruput/Orbix/loop64: - * tests/Thruput/Orbix/orbixsol2s4.mk: - * tests/Thruput/Orbix/run: - * tests/Thruput/Orbix/run_client: - * tests/Thruput/Orbix/run_server: - * tests/Thruput/Orbix/run_test: - * tests/Thruput/Orbix/run_tests: - * tests/Thruput/Orbix/ttcp.idl: - * tests/Thruput/Orbix/ttcp_decl.h: - * tests/Thruput/Orbix/ttcp_i.cpp: - * tests/Thruput/Orbix/ttcp_i.h: - * tests/Thruput/Orbix/utils.cpp: Included the Thruput example for - IONAs Orbix ORB in the tests directory. - - * tests/Thruput/TAO/Makefile: - * tests/Thruput/TAO/README: - * tests/Thruput/TAO/client.cpp: - * tests/Thruput/TAO/run: - * tests/Thruput/TAO/run_client: - * tests/Thruput/TAO/run_server: - * tests/Thruput/TAO/run_test: - * tests/Thruput/TAO/server.cpp: - * tests/Thruput/TAO/svc.conf: - * tests/Thruput/TAO/ttcp.idl: - * tests/Thruput/TAO/ttcp_decl.h: - * tests/Thruput/TAO/ttcp_i.cpp: - * tests/Thruput/TAO/ttcp_i.h: - * tests/Thruput/TAO/utils.cpp: Moved the TAO version of the - Thruput example to a "TAO" directory in the Thruput directory. - - * tests/Thruput_test: Renamed this directory to Thruput. - -Fri Dec 19 00:28:24 1997 <nw1@JIG> - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): Removed some - random codes. - - * tao/tao_internals.cpp (close_services): Disabled closing down - the ACE_Service_Config when reference count drops to 0. - -Thu Dec 18 20:36:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.44, released Thu Dec 18 20:36:28 1997. - -Thu Dec 18 19:35:28 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * orbsvcs/tests/Logger/clnt.cpp (init): - * orbsvcs/Naming_Service/CosNaming_i.cpp (bind_new_context): Fixed - a bug in the Naming Service and the Logger test program - implementation. Thanks to Marina Spivak <marina@cs.wustl.edu> for - debugging this. - -Thu Dec 18 16:18:01 1997 <nw1@JIG> - - * TAO_IDL/be/be_sequence.cpp (gen_name): Removed a local variable - <seq>. It is no longer used. - - * TAO_IDL/be/be_union.cpp (gen_client_stubs): Removed local - variables <bt> and <s>. They are not longer used. - -Thu Dec 18 15:50:01 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - realclean was not removing all the IDL compiler generated - files. - -Thu Dec 18 15:06:23 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - Thanks to Keith Nicewarner <knicewar@sanders.com>, Tom Richards - <tomr@mcmenterprise.com>, and Carlos O'Ryan <coryan@cs.wustl.edu> - for reporting bugs which led to some of the changes below. - - * TAO_IDL/be/be_array.cpp: Preliminary support for arrays. Not - complete. - - * TAO_IDL/be/{be_operation, be_attribute}.cpp: The ParamData - structure *must* hold the "size" of the outermost level of the - return values and out parameters because the ORB has to allocate - memory for it and hence needs to know the size. We had a 0 in it - which crashed any return types that were variable in size. - - * TAO_IDL/be/be_codegen.cpp: Added a new state for - unions. Corresponding change to the *.h file. - - * TAO_IDL/be/be_decl.cpp: Added a method called "scope" that - returns the corresponding scope defined by this node (if one - exists). Added method to the *.h file also. - - * TAO_IDL/be/be_scope.cpp: Added a method called "decl" that - returns the be_decl method corresponding to this scope. The header - file was also updated. - - * TAO_IDL/be/{be_exception, be_state_exception}.cpp: I was making - the most stupid mistake of generating constructors per member - rather than one constructor that takes all the members as a - parameter. - - * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: Changed the - naming scheme for anonymous sequences to avoid code bloat. - - * TAO_IDL/be/be_state.cpp: Added template instantiation for - additional state to deal with code generation of members of - unions. - - * TAO_IDL/be/be_state_structure.cpp: Made some changes so that - spurious code for array members doesn't get generated. - - * TAO_IDL/be/{be_union, be_state_union}.cpp: Added a new state - because we were not generating code for union members that were - sequences or structs. - - * TAO_IDL/be/be_type.cpp: Modified netsed_type_name to use the new - methods on class be_decl/be_scope. - - * TAO_IDL/be/be_union_branch.cpp: gen_client_stubs uses the same - strategy as the other gen_client methods. - - * TAO/tao/deep_free.cpp: In deep_free of structures, instead of - passing the address of a string member to be freed, we were simply - passing the string that led to a segmentation fault. A careful - code review is necessary. - - * TAO/tao/orb_core.cpp: Made "use_ior" as default as ooposed to - using the URL based scheme for IORs. This was necessary to have - interoperability with other ORBs. - - * TAO/tao/poa.cpp: The server request was being released - immediately after returning from the dispatch method. This should - be done after all return/inout/out parameters are marshaled. - -Tue Dec 17 12:53:01 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/encode.cpp: Additional changes for wchar's - -Tue Dec 17 10:37:45 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/TAO.dsp: Removed obsolete files from the VC++ project. - Changed name of folder from Include Files to Inline Files. - Inserted new header files for classview. - - * TAO_IDL/tao_idl.dsp: Added missing be_state_exception.cpp to the - the project to eliminate link error. - - * tao/corbacom.cpp: Inserted wslen and wscpy back to handle wchar - problems with VxWOrks and GHS. - - * tao/encode.cpp: Inserted wslen and wscpy back to handle wchar - problems with VxWOrks and GHS. - -Tue Dec 16 18:29:42 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/README: - * docs/orbsvcs.html: - Started up the documentation for TAO services, at this point - only the directory hierarchy is explained. - -Tue Dec 16 08:49:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/be_codegen.h: Added three more states for - return types to be generated for operator [] of sequences of - strings and object references. - - * TAO_IDL/be_include/be_sequence.h: Added enum constants to - indicate what kind of managed type is handled by the sequence. For - sequences other than that of strings and objrefs, this enum const - is MNG_NONE. Added a new method that returns the managed type. - - * TAO_IDL/be/{be_sequence, be_state_sequence.cpp}: Added code to - generate sequences of strings and objrefs. This requires - generating special "managed" objects. In addition, for - be_state_sequence.cpp, we were not handling the case where base - types of sequences were not having any scope which resulted in - segmentation faults. - - * TAO_IDL/be/{be_state_argument, be_state_operation}.cpp: Some - small bugs fixed. These included lack of a whitespace in the - generated code as well as spurious extra level of indirection - getting generated. - - * TAO_IDL/be/be_type.cpp: "nested_type_name" now checks if the - scope with which are comparing is NUL or not before proceeding - further. Such a situation may arise for sequences whose base types - are anonymous (e.g., strings) and have no enclosing scope. - - * TAO/tao/managed_types.{h,cpp,i}: Removed. No more needed as teh - code is generated by the IDL compiler. Accordingly modified - corb.h and did a "make depend" on the Makefile. - - * TAO/docs/releasenotes/index.html: Updated to reflect new changes - as well as TO-DO stuff such as adding support for TIEs. - -Mon Dec 15 22:31:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.43, released Mon Dec 15 22:31:50 1997. - -Mon Dec 15 19:13:51 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/Timeprobe.cpp: - Removed Solaris specific code, somehow it survived from some - debugging session. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for pointing out this bug. - -Mon Dec 15 16:52:58 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * TAO-INSTALL.html: Added some explanations for setting CPP_PATH - on NT. - -Mon Dec 15 16:49:58 1997 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (cube_sequence): declare - local variables "l" and "j" as u_int instead of int, to avoid - signed/unsigned comparison. - -Thu Dec 11 16:44:26 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - Fixed typo missed on the previous release. - -Thu Dec 11 22:18:52 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: Moved the code generation for the - _var and _out classes before the actual class declaration, but - after the forward declaration. This was necessary if any elements - in the scope of the interface are defined to be of the same type - as that interface. In such a situation those elements are defined - to be of the _var type. Hence the declaration for _var and _out - must precede the class declaration. - -Thu Dec 11 22:00:52 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (main): Fixed a bug - related to returning an empty string as the ior in the reply from - the multicast request. - -Thu Dec 11 14:06:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_exception,be_state_exception}.cpp: Support for - exceptions added. Added a new file called - "be_state_exception.cpp". - - * TAO_IDL/be_include/be_state.h: Added a new singleton for - be_state_exception. - - * TAO_IDL/be/be_state.cpp: Template instantiations for - be_state_exception. - - * TAO/docs/releasenotes/index.html: Updated to include exception - support. - - * TAO/tao/except.{h,cpp}: Moved the TypeCode member from the - private section to the protected section so that derived classes - can set it. Also, changed the variable from _type to type_ to - stick to the ACE design standards. - -Thu Dec 11 00:01:41 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO version 0.0.42, released Thu Dec 11 00:01:41 1997. - -Wed Dec 10 23:04:04 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - Still struggling with g++, it seems to use the wrong cast for - IDL generated T_out classes. - - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Logger/clnt.cpp: - * orbsvcs/tests/Logger/clnt.h: - * orbsvcs/tests/Logger/svr.cpp: - These files were missed in the orbsvcs hierarchy - reorganization. - -Wed Dec 10 22:38:08 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tests/Cubit/TAO/DII_Cubit: Fixed the hand-crafted code to - make use of the many changes that were made to the dispatching - scheme as well as changes made to the signature of the skeletons - for operations of interfaces. - -Wed Dec 10 21:41:48 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * docs/releasenotes/index.html: Updated the release notes on the - Naming Service. - -Wed Dec 10 20:13:57 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * Makefile: - Added orbsvcs to the hierarchy. - - * The orbsvcs directory was completely reorganized, in preparation - for its official release. The new hierarchy is: - - orbsvcs/orbsvcs: Contains a library with: - + The client stubs for the services. - + Common utility classes to access the services. - + The server skeletons, but not their implementation. - - orbsvcs/Naming_Service: the COSS Naming Service. - - orbsvcs/Scheduling_Service: TAO Real-Time Scheduling Service. - - orbsvcs/Event_Service: TAO Real-Time Event Service. - - orbsvcs/tests: test programs and examples. - - * docs/releasenotes/index.html: - Updated documentation on the Event Service and its friends. - -Wed Dec 10 19:57:07 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (Cubit_i::cube_sequence): - Changed to explicitly use the vector_out::ptr() method to get a - ptr. It seems that g++ wanted to interpret this expression - (output == 0) differently from Sun's C++, and this made both - interpret it in the desired way. - -Wed Dec 10 14:23:24 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_state_structure.cpp: - Fixed a bug when handling typedefs. - It was generating code for imported types, we protected the - generation with a !imported(), thank to Andy Gokhale - <gokhale@cs.wustl.edu> for helping me on this. - - * tao/connect.cpp: - Set the TCP_NODELAY option by default, otherwise oneway calls - are considerably slower. It should have no effect for twoway - calls. Anyway an option should be added to control this - behavior. - -Wed Dec 10 13:15:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/{be_array, be_decl, be_field, be_module, - be_operation, be_predefined_type, be_structure, be_typedef}.h: - Added a protected function called "compute_size_type" which is - invoked if the size type of a data structure is not known in - advance. This happens for structs, unions, arrays, and typedefs - whose size type depends on their base types. - - * TAO_IDL/be/{be_array, be_decl, be_field, be_module, - be_operation, be_predefined_type, be_structure, be_typedef}.cpp: - Implementation of the "compute_size_type". - - * TAO_IDL/be/be_decl.cpp: Changed code that sets "size_type" so - that we first see if we are unknown in which case we set our size - type. However, once we are VARIABLE, no body can reset us to - fixed. Similarly, the overloaded size_type method that return the - size type first checks if our size is still unknown in which case - it calls for "compute_size_type". This is very essential for data - types defined in an imported (included) *.idl file. Thanks to Tom - Richards (tomr@mcmenterprise.com) for reporting the bug with - included file which resulted in this change. - - * TAO_IDL/be/be_state_attribute.cpp: Included a case for - IN_PARAM_TYPE_CH for strings (had previously forgotten to do so). - - * TAO_IDL/be/{be_state_structure, be_structure, be_field}.cpp: - Revamped so that we use the same switch based technique in - be_state_structure.cpp to generate code. For fields that are - sequences or structures or unions, we also generate their code. - - * TAO_IDL/be/be_state_argument.cpp: Thanks to Tom Richards and - Carlos O'Ryan for noticing a bug when we use out sequences. There - used to be a seg fault in deep_free.cpp because a NUL pointer was - being owned by an Any and getting freed. In the server skeleton, - for out params we now generate code after the upcall is made so - that for out parameter value is inserted in the NVList that is - marshaled by the server. - - * TAO_IDL/be/be_interface.cpp: In the generated call to _is_a, we - were calling CORBA::Object::_is_a if a remote call is - necessary. However, MSVC++ cannot handle a call of the form - CORBA::Object::_is_a. So we have to generate code that uses - ACE_CORBA_3 so as to be portable. Thanks to Nanbor Wang - (nw1@cs.wustl.edu). - - * TAO/test/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the type of the - variable that was passed as the out parameter to cube_sequence. - -Wed Dec 10 01:02:36 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/iiopobj.cpp (set): Added a special case to IIOP Profile::set - so that if the address is INADDR_ANY, it uses the host name, but - otherwise uses the IP address. This eliminates the cryptic - appearance of the address "0.0.0.0" in a server's IOR. - -Tue Dec 9 21:48:52 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - The sequence test is not running right now, I'm commenting it - out until we can make it work properly. - -Tue Dec 9 18:02:43 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orb_core.cpp: The moral of this changelog entry is to be - VERY careful when cutting and pasting code...the - resource_factory() accessor should not be setting the - client_factory_ member at all! - -Tue Dec 9 11:55:50 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/compat/objbase.h: Added NOERROR as #define if we're not on - WIN32 so that IDL-generated code would continue to work. - - * tao/tao_internals.cpp: Changed faked Resource Factory resource - source specifier to "tss" rather than "global". - - * tao/orb_core.*: Added resource_factory() accessor to - TAO_ORB_Core. This will create a default instance if it can't - locate one in the Service Repository, which will allow - applications to not encounter a hard failure when a svc.conf file - is missing. A warning message is emitted stating that a default - is being used. Applications should not rely on the default - settings, as it is very likely that the applicat might require - alternate settings for proper desired operation. - - * tao/default_server.*: Added TAO_Reactive_Strategy template - class to use in place of the ACE_Reactive_Strategy. It's only - difference from ACE_Reactive_Strategy is that instead of using the - reactor provided in the open method, it always uses that found - through the TAO_ORB_Core_instance(). This fix was motivated by a - general problem which was only observable on VxWorks with a - special pseudo-network transport. - - * tao/connect.cpp: Added code to fail gracefully if socket buffer - size changes are not supported. - -Mon Dec 8 13:11:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * docs/releasenotes/index.html: - Added more information on how the Event Channel and friends are - going. - - * orbsvcs/bin/Naming_Service/svc.conf: - Removed some foreign ^M from the file. - - * tao/Makefile: - * tao/connect.cpp: - * tao/giop.cpp: - * tao/orbobj.cpp: - * tao/Timeprobe.i: - * tao/Timeprobe.h: - * tao/Timeprobe.cpp: - Added a instrumentation class to measure time interval, also - instrumented some code, as part of the ongoing effort to - optimize the EC, unfortunately the problems are not in TAO ;-) - The code is only instrumented if compiled using probe=1, no - overhead is introduced in normal compiles. - - * tests/Cubit/TAO/IDL_Cubit/cubit.idl: - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - * tests/Cubit/TAO/IDL_Cubit/clnt.h: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.h: - Addded code to test sequences (as input and output parameters) - they don't work (yet). - - * orbsvcs/lib/Makefile: - * orbsvcs/lib/Timeprobe.h: - * orbsvcs/lib/Timeprobe.i: - * orbsvcs/lib/Timeprobe.cpp: - The file was moved toTAO_ROOT/tao. - - * orbsvcs/lib/Scheduler_Factory.cpp: - Fixed default dump file, it was using stdout! - -Sat Dec 06 15:42:25 1997 <nw1@DINGO> - - * tests/Cubit/TAO/IDL_Cubit/{server,client}.dsp: Updated link time - library names. - - * tao/any.cpp: - * tao/any.h: - * tao/corba.h: - * tao/corbacom.h: - * tao/decode.cpp: - * tao/encode.cpp: - * tao/except.cpp: - * tao/except.h: - * tao/giop.cpp: - * tao/iiopobj.cpp: - * tao/iiopobj.h: - * tao/iioporb.cpp: - * tao/iioporb.h: - * tao/nvlist.cpp: - * tao/nvlist.h: - * tao/object.cpp: - * tao/object.h: - * tao/object.i: - * tao/orbobj.cpp: - * tao/orbobj.h: - * tao/orbobj.i: - * tao/poa.cpp: - * tao/poa.h: - * tao/principa.cpp: - * tao/principa.h: - * tao/request.cpp: - * tao/request.h: - * tao/stub.h: - * tao/svrrqst.cpp: - * tao/svrrqst.h: - * tao/typecode.cpp: - * tao/typecode.h: - * tao/compat/initguid.h: - * tao/compat/objbase.h: Removed dependencies on Microsoft's DCOM - files. Below is a list of names that got changed. - - HRESULT -> TAO_HRESULT - IID -> TAO_IID - IUnknown -> TAO_IUnknown - IID_IUnknown -> IID_TAO_IUnknown - SCODE -> TAO_SCODE - NOERROR -> TAO_NOERROR - E_NOINTERFACE -> TAO_E_NOINTERFACE - VARTYPE -> TAO_VARTYPE - VARENUM -> TAO_VARENUM - CY -> TAO_CY - VARIANT -> TAO_VARIANT - DATE -> TAO_DATE - -Fri Dec 5 11:42:25 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/iiopobj.cpp (set): Changed the IIOP::Profile::set() methods - which take an ACE_INET_Addr to retrieve the host IP address rather - than host name for storage in the profile. This is motivated by - the following situation: machine has 3 interfaces (not including - loopback), and it is desired that clients and servers communicate - across only one interface. - - When our IDL_Cubit example's factory created new Cubit instances, - the set() method would set the host name for that IIOP::Profile to - whatever ACE_INET_Addr::get_host_name() returned. In this case, - the IP addr for interface 3 (which is not the primary interface) - would return a *LIST* of names in which the first name was that of - the primary interface. Thus, the IP address used by the client - would be wrong. - - * tao/object.h: Minor corrections to header comments. - - * tao/{orb_core,orbobj}.{h,cpp}: Moved server_factory and - client_factory ptr storage from CORBA_ORB to TAO_ORB_Core. It - really didn't belong there in the first place. - - * tao/poa.cpp: CTOR now fetches server factory ptr from the - TAO_ORB_Core rather than from the ORB. - -Thu Dec 4 18:20:55 1997 Chris Gill <cdgill@cs.wustl.edu> - - * TAO_IDL/tao_idl.dsp: Changed hard coded path for cl.exe to CPP_PATH - environment variable - -Thu Dec 4 11:23:55 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/include/{idl,ast,utl_idlist, utl_identifier}.h: removed - #include "ace/stdcpp.h" since this file was removed from - ACE. Instead we now include "ace/streams.h" in idl.h - - Also made make depend on all the Makefiles. - -Wed Dec 3 16:08:34 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/Event_Utilities.cpp: - * orbsvcs/lib/Event_Utilities.i: - * orbsvcs/lib/RtecEventComm.idl: - Added some more time-stamps to the events to track and measure - the delays as they move on the EC. - - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminC.i: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventChannelAdminS.i: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommC.i: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecEventCommS.h: - * orbsvcs/lib/RtecEventCommS.i: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerC.i: - * orbsvcs/lib/RtecSchedulerS.cpp: - * orbsvcs/lib/RtecSchedulerS.h: - * orbsvcs/lib/RtecSchedulerS.i: - Thanks to Andy Gokhale efforst the IDL compiler is able to emit - proper code for the EC&friends, hence I'm removing the - hand-crafted files. - -Wed Dec 3 11:12:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: Had forgotten to emit code that - adds one more cast to the base POA_* class in the generated *S.i - file. - -Wed Dec 03 09:40:36 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/Makefile: added TAO_PLATFORM_SVC_CONF_FILE_NOTSUP to - CPPFLAGS on CHORUS. Thanks to Wei Chiang for this change. - -Tue Dec 2 15:47:09 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.h: Added some helper methods to generate - additional code in the form of larger operation tables, and - skeletons. This situation arises when we have single/multiple - inheritance of interfaces. - - * TAO_IDL/be_include/be.h: Included ace/Containers.h for the - ACE_Unbounded_Queue that uses the breadth-first strategy used in - be_interface.cpp - - * TAO_IDL/be/{be_interface,be_operation,be_attribute}.cpp: Added code - to generate a new "virtual void dispatch" method on the skeleton - classes. The dispatch method enables us to access the most derived - type when invoking the skeleton for a method. The skeletons - instead of taking a CORBA::Object_ptr, now take void*. The - skeletons themselves cast this void* to the appropriate POA_* - type. - - In addition to the above, for the case of inheritance of - interfaces, it is not appropriate to pass a pointer to the most - derived class as a void* to the skeleton of a base class and cast - that to the POA_* of the base class. So we generate inlined code - for skeletons of methods in the most derived class even if those - methods were defined in the base classes. These inlined skeletons - simply cast the object pointer to the right type and invoke the - corresponding skeleton of the base class method. - - be_interface.cpp defines a template method to traverse the entire - inheritance graph. This traversal is done using a breadth-first - traversal. This traverse method takes a pointer to one of the - static helper methods defined on class be_interface. Each helper - achieves a different purpose such as generation of extended - operation tables, providing comparisons of repositoryIDs of base - classes in the _is_a methods of derived classes. - - The client-side class now defines a virtual CORBA::Boolean _is_a - method. This uses local knowledge of repository ids thereby - preventing the expensive remote call in most cases. All changes - made in be_interface.cpp - - * TAO/tao/corbacom.h: Changed the signature of TAO_Skeleton so that - it uses void*obj and a void *context. - - * TAO/tao/object.h: Added a virtual dispatch method as explained - above. - - * TAO/tao/orb.h: Redefinition of TAO_Skeleton removed. - - * TAO/tao/poa.cpp: Changed the demultiplexing code to reflect the - change made with the dispatch method. The poa on finding the right - object corresponding to the key, now invokes the dispatch method - on that object which by dynamic binding invokes the dispatch - method of the POA_* class. - -Tue Dec 02 15:29:41 1997 <nw1@CHA-CHA> - - * tao/{connect,orb_core}.h: Moved Win32 specific template - specialization declaration from connect.h to orb_core.h because - the definition had moved to orb_core.i. - - * tao/object.cpp: Removed conditional directives around - DEFINE_GUID for IID_IUnknown. This is now defined for Win32 - also. - - * tao/TAO.dsp: Removed macro definition __IIOP_BUILD. It was not - used anywhere. - -Tue Dec 2 10:25:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/corba.h: - Fixed some problems with the ACE_RETHROW macros. - - * orbsvcs/lib/Makefile: - * orbsvcs/lib/Timeprobe.h: - * orbsvcs/lib/Timeprobe.i: - * orbsvcs/lib/Timeprobe.cpp: - Added a high resolution timer facility, to measure the delays in - the Event Channel and in its client. - - * orbsvcs/lib/RtecEventComm.idl: - Changed the time_ field of Event to a double. It should be an - structure or a long long, but double is big enough to store - - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerC.i: - * orbsvcs/lib/RtecSchedulerS.cpp: - * orbsvcs/lib/RtecSchedulerS.h: - Regenerated the files using the newest IDL compiler; still some - hand crafting due to inherited classes. - -Tue Dec 2 03:12:50 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Check for errors when - resolving using the "NameService" environment variable. - - * orbsvcs/bin/Naming_Service/CosNaming_i.cpp (NS_NamingContext): - * orbsvcs/bin/Naming_Service/CosNaming_i.h (NS_NamingContext): - - Added constructor that takes a key to initialize the object, - instead of using the default name generation. - - Enabled some exceptions that are already supported. - - * orbsvcs/bin/Naming_Service/svr.cpp (main): Create first naming - context with key "NamingContext". And minor changes. - - * tests/Cubit/CORBAplus/IDL_Cubit/Makefile: - * tests/Cubit/CORBAplus/IDL_Cubit/README: - * tests/Cubit/CORBAplus/IDL_Cubit/clnt.cpp: - * tests/Cubit/CORBAplus/IDL_Cubit/clnt.h: - * tests/Cubit/CORBAplus/IDL_Cubit/cubit.idl: - * tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.h: - * tests/Cubit/CORBAplus/IDL_Cubit/svr.cpp: Ported the IDL cubit - example to CORBAplus. Currently, the calls using DII are not - ported, so only the "cube average" and the "cube_union_stub" stats - are printed. - -Mon Dec 1 16:51:08 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/except.{h,cpp}: Changed semantics of CORBA::Exception so - that the mere creation of them does not take a reference. - Instead, the user of the exception is expected to call AddRef(). - CORBA::Environment has been modified (and even documented!) to - reflect that as well. - -Sun Nov 30 17:08:56 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/RtecSchedulerC.cpp: - Added missed parameter in do_call() for - RtecScheduler::Scheduler::set(). - -Sat Nov 29 13:34:58 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/stub.i (STUB_Object): - No need to release type_id, since it is a String_var now. Thanks - to Wei Chiang <chiang@tele.nokia.fi> for pointing this out. - - * giop.cpp: - If things go wrong TAO_GIOP::send_request will close the - handler and set it to zero, but only a temporary was - affected, I decided to set the original value to zero also; - based on the return value. - -Wed Nov 26 23:24:57 1997 <cleeland@cs.wustl.edu> - - * TAO version 0.0.41, released Wed Nov 26 23:24:57 1997. - -Wed Nov 26 16:40:29 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed release calls to use - the CORBA standard version rather than the non-standard TAO - Release() method. Also moved the client's parse_args() AFTER the - ORB_init() so that -ORB parameters were parsed correctly. - - * tao/params.*: Added storage for send and receive socket buffer - size to be used for all newly created sockets. These sizes are - initialized to ACE_DEFAULT_MAX_SOCKET_BUFSIZ, and can be changed - by the user by using -ORBsndsock and -ORBrcvsock. - - * tao/orbobj.h: Added documentation. - - * tao/orb_core.i: Changed system-specific conditional compilation - to use the more general ACE_LACKS_TEMPLATE_SPECIALIZATION. - - * tao/orb_core.cpp: Added code to make -ORBsndsock and -ORBrcvsock - options actually work. Added -ORBpreconnect option to implement - pre-cached connections. - - * tao/giop.cpp: Removed the old static inline version of - start_message(). Also changed to use send_n() to guarantee - correct blocking nature on Win32 with the WFMO Reactor. - - * tao/connect.cpp: Changed set_option() calls to use the socket - buffer sizes stored in the TAO_ORB_Parameters instance. Also - added a correct environment-clearing call before initializing a - request. - - * tao/client_factory.h: Removed extraneous code. - - * tao/{connect,any,giop,iiopobj,marshal,nvlist,objtable,optable, - orb_core,poa,principa,stub,svrrqst,typecode}.h: - Addressed or assigned some '@@' comments. - - * docs/releasenotes/orbcore.html: Added information regarding new - options, known bugs, etc. - - * docs/Options.html: Added documentation for new -ORBpreconnect - option. - - * TAO_IDL/be/Makefile: Added an explicit PIC=-fPIC for when g++ is - being used as the compiler. This fixes the linker complaints. - -Sat Dec 20 14:57:30 1997 <nw1@CHA-CHA> - - * All MSVC 5.0 project files: Removed unnecessary library - inclusions. Most of them are not necessary. - -Tue Nov 25 20:49:24 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/orbobj.h: - * tao/orbobj.cpp: - * tao/orb_core.cpp: - * tao/params.h: - * tao/params.cpp: - Removed the parameters to specify the event service and schedule - service IOR, the naming service is working now so it can be - used. And the support in "resolve_initial_references". - - * tao/corbacom.i: - * tao/decode.cpp: - Reverted the previous change, but this time added proper - comments: the spec says that a Naming_var taking a <char*> is - *not* supposed to copy it. Hence the ObjRef decoder cannot - release the string it just read. - -Mon Nov 24 20:40:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/corbacom.i: - Fixed string allocation problem for String_var(char*): if it - does not copy the string we run into problems with the - demarshalling code. - - * orbsvcs/lib/Event_Utilities.cpp: - * orbsvcs/lib/Event_Utilities.h: - * orbsvcs/lib/Event_Utilities.i: - * orbsvcs/lib/RtecEventChannelAdmin.idl: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - Removed the unused forward_event parameter in the ConsumerQoS. - - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerC.i: - Hand crafted the T_out constructors to take a "const T_out&" - instead of just "T_out&". - -Sat Nov 22 18:21:10 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/be_codegen.h, be/be_codegen.cpp: Added a - number of states to handle attributes - - * TAO_IDL/be/{be_attribute,be_state_attribute}.cpp: Code added to - handle attributes. This code is a mix of code that is used to - handle operations as well as arguments because for attributes we - have 2 methods, one to set the value and one which returns the - value. For a readonly attribute, there is only the get method. - - A special note: Due to the large switch statement, I had to use - -fPIC for g++. We are working on abstracting all the commin - functionality once we have the basic IDL compiler working. - - * TAO_IDL/be/be_interface.cpp: Operation table now also includes - methods to set and get the attributes if they are present. In - addition, the variable name for the operation tables is now the - full flattened name to avoid conflicts. - - * TAO_IDL/be/be_sequence.cpp: In the length method, the index of - lookp variable "i" is changed from "int" to CORBA::ULong as g++ - was issuing a warning. - - * TAO_IDL/be/be_string.cpp, be_state_argument,cpp: Proper handling - of in, inout, and out strings that are either anonymous or are - typedefed. - -Fri Nov 21 13:22:39 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.40, released Fri Nov 21 13:22:39 1997. - -Thu Nov 20 10:31:24 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbconf.h (SIZEOF_LONG_DOUBLE): Made sure this is defined - properly for Chorus. Thanks to Wei Chiang <chiang@tele.nokia.fi> - for submitting these! - - * tao/orb_core.cpp (init): Added some changes for Chorus. Thanks - to Wei Chiang <chiang@tele.nokia.fi> for submitting these! - - * tao/object.cpp (_is_a): Explicitly specify which conversion - operator to use when comparing type_id to 0. - -Thu Nov 20 00:10:52 1997 Sergio Flores <sergio@cs.wustl.edu> - - * orbsvcs/tests/Logger/clnt.h : - * orbsvcs/tests/Logger/clnt.cpp (Logger_Client): Fixed a bug - dealing with using "_bind" when the naming service is not - available. - -Thu Nov 20 00:06:03 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.39, released Thu Nov 20 00:06:03 1997. - -Thu Nov 20 00:01:06 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> - - * tao/Makefile: Reordered the files so they are built in - alphabetic order (within each grouping of targets). This makes it - easier to see how the compilation process is doing ;-). - -Wed Nov 19 22:59:18 1997 Sergio Flores <sergio@cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Minor change to output - debug statement. - -Wed Nov 19 23:01:46 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_state_operation.cpp: Fixed the problem with - strings as return values. Thanks to Mark L Boriack - <mark@vtcibm4a> for reporting this. - -Wed Nov 19 20:48:01 1997 James C Hu <jxh@cs.wustl.edu> - - * tests/Thruput_test/server.cpp: Commented out some unreachable - code at the bottom of main. - -Wed Nov 19 19:04:53 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tao/decode.cpp (decode): Added a cast so that compiler would - know which operator to call. - - * orbsvcs/bin/Naming_Service/svr.cpp (handle_input): Change port - number received to host byte order. Minor changes. - - * tao/orbobj.cpp (resolve_name_service): Send port number in - network byte order. - -Wed Nov 19 17:45:52 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Put in proper release of - resources after _narrow operation. - - * tao/stub.h: Used CORBA::String_var as the underlying type for - 'type_id' in STUB_Object. In the long run this may be a bad idea - for performance considerations, but we may be able to improve that - by improving the implementation of String_var. - - * tao/orbobj.cpp: Removed unreachable ACE_NOTSUP_RETURN. - - * tao/decode.cpp: Made allocation and free semantics of - 'type_hint' consistent with its type of CORBA::String. - -Wed Nov 19 17:33:42 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * Task_Client.cpp: Fixed error_count.. Thanks to James Hu. - -Wed Nov 19 17:20:45 1997 James C Hu <jxh@cs.wustl.edu> - - * TAO_IDL/be/be_operation.cpp: Removed an unreachable return - statement. There was already a return above it. - - * TAO_IDL/ast/ast_expression.cpp: Added casts to comparisons of - char variables to 0, since chars are unsigned by default in - SGI. - - * tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: Removed a - couple of unreachable return statements. There are still - unreachable statements remaining. Need help with them. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: - Meaningless type qualifier (const ...) removed. - - Some functions were returning `retval' before it was set. I had - these functions return a passed in paramenter instead. - -Wed Nov 19 13:50:36 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.38, released Wed Nov 19 13:50:36 1997. - -Wed Nov 19 13:11:53 1997 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/lib/Scheduler_Factory.cpp (dump_schedule): changed loop - index from int to u_int to avoid signed/unsigned comparison. - (use_runtime): return 0. - - * orbsvcs/lib/Event_Utilities.cpp (debug): changed loop - index from int to u_int to avoid signed/unsigned comparison. - -Wed Nov 19 12:22:50 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Reverted some of the - minor changes below, specifically the use of ACE_ERROR_RETURN - rather than ACE_ERROR/return. ACE_ERROR_RETURN cannot be used - as-is because the 2nd parameter is used as an 'int' to specify the - operational status, and the return value of this function is NOT - an int. Also had to add a missing semi-colon which caused none of - the code to compile. - -Wed Nov 19 12:07:42 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.37, released Wed Nov 19 12:07:42 1997. - -Wed Nov 19 10:37:19 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/Scheduler_Factory.cpp: - The type declared for the rt_info array was wrong. - -Wed Nov 19 09:18:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.36, released Wed Nov 19 09:18:30 1997. - -Wed Nov 19 09:15:15 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Made a bunch of minor - Changes for resolving the Naming service. - -Wed Nov 19 08:44:12 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tests/Cubit/TAO/DII_Cubit/default.bld: - * tests/Cubit/TAO/DII_Cubit/clnt.bld: - * tests/Cubit/TAO/DII_Cubit/svr.bld: - * tests/Cubit/TAO/IDL_Cubit/default.bld: - * tests/Cubit/TAO/IDL_Cubit/clnt.bld: - * tests/Cubit/TAO/IDL_Cubit/svr.bld: - * tests/Cubit/TAO/MT_Cubit/default.bld: - * tests/Cubit/TAO/MT_Cubit/clnt.bld: - * tests/Cubit/TAO/MT_Cubit/svr.bld: Added build files in the new - test structure for VxWorks using the GHS compiler. - - * tests/Cubit/Build: Removed the obsolete build directory for vxWorks. - -Wed Nov 19 07:47:13 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.35, released Wed Nov 19 07:47:13 1997. - -Wed Nov 19 05:53:42 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: - * tests/Cubit/TAO/DII_Cubit/clnt.h: - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - * tests/Cubit/TAO/IDL_Cubit/clnt.h: Changed code to add loop - around all cube calls, and make output more consistent. - - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Logger/ior_multicast.cpp: - * orbsvcs/tests/Logger/ior_multicast.h: Removed unneeded - ior_multicast.* source files from the logger example. It now uses - the resolve_initial_references() to use the naming service for its - advertisement. - - * orbsvcs/lib/Makefile (realclean): Updated with realclean & clean - rules to delete CosNamingS.* and CosNamingC.* - - * docs/releasenotes/index.html: Updated status of the naming - service to working implementation. - - * orbsvcs/lib/CosNamingS.cpp: - * orbsvcs/lib/CosNamingS.i: - * orbsvcs/lib/CosNamingS.h: - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingC.i: - * orbsvcs/lib/CosNamingC.h: Removed these files from the - repository, since the IDL compiler generates these correctly. - - * orbsvcs/bin/Naming_Service/CosNaming_i.cpp (list): Remove - warning for unused variable. - - * orbsvcs/bin/Naming_Service/svr.h: Constructor of event handler - for multicast doesn't need reply port anymore. - - * orbsvcs/bin/Naming_Service/svr.cpp (handle_input): Now receives - the port number in the multicast request. Suggested by Doug - Schmidt. - - * tao/orbobj.cpp (resolve_name_service): changed return value - variable to be signed. Added code to send the port number in the - multicast resolution mechanism as a CORBA::Short. - - * orbsvcs/bin/Naming_Service/NS_CosNaming.cpp (NS_ExtId): - Reordered initializers in the constructor. - - * tests/Cubit/TAO/IDL_Cubit/clnt.h: - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (run): Added a loop around - all cube calls and added calls/sec stats for them. - - * tao/corba.h: Changed order of inclusion of marshal.i, due to - warnings of the declaration of the inline function - make_marshal_object(). - - * tao/orbobj.i: reorder the declaration of inline - CORBA_OBJ::Add_Ref(), to remove a warning. - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): - removed return statement that was causing a warning. - -Wed Nov 19 04:22:48 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.34, released Wed Nov 19 04:22:48 1997. - -Tue Nov 18 01:29:00 1997 <nw1@COYOTE> - - * tao/TAO.dsp: Added Arg_Shifter.cpp into project file. - -Tue Nov 18 18:53:57 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * TAO_IDL/be/be_state_typedef.cpp (gen_code): - * TAO_IDL/be/be_state_structure.cpp (gen_code): - * TAO_IDL/be/be_state_sequence.cpp (gen_code): - * TAO_IDL/be/be_state_operation.cpp (gen_code): - * TAO_IDL/be/be_state_array.cpp (gen_code): Comment out - unreachable break statements. - - * TAO_IDL/ast/ast_array.cpp (n_dims): - * TAO_IDL/include/ast_array.h (AST_Array::n_dims): - * TAO_IDL/ast/ast_attribute.cpp (readonly): - * TAO_IDL/include/ast_attribute.h (AST_Attribute::readonly): - * TAO_IDL/ast/ast_argument.cpp (direction): - * TAO_IDL/include/ast_argument.h (AST_Argument::direction): - * tao/nvlist.h (CORBA_NamedValue::name): - * TAO_IDL/include/utl_scope.h (UTL_Scope::scope_node_type): - * TAO_IDL/ast/ast_predefined_type.cpp (pt): - * TAO_IDL/include/ast_predefined_type.h (AST_PredefinedType::pt): - removed const from declarations that it didn't have a meaning for. - Also from return statements. These changes were suggested by - James Hu and the SGI compiler. - -Tue Nov 18 18:34:16 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * tests/Cubit/COOL/client.cpp: ORB_init is now called in - Task_Client.cpp instead of the main program, to insure that its - called in the right thread. - - * tests/Cubit/COOL/Task_Client.{h,cpp}: Used the COOL_Activity to - create threads instead of ACE_Task. - - * tests/Cubit/COOL/server.cpp: Used the createActivity stuff to - create threads. The server now creates two servants, one for high - and the other for low priority clients. - -Tue Nov 18 17:44:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/corbacom.h: Added special case for CORBA::WChar to be a - short on VxWorks/GreenHills. - - * TAO_IDL/be/be_state.cpp: Added template instantiations for SGI. - - * tao/deep_free.cpp (deep_free): Removed unused 'alignment' - variable. - - * tao/deep_copy.cpp (deep_copy): Removed unused 'alignment' - variable. - - * tao/encode.cpp (encode): Removed unused 'continue_encoding' - variable. - - * tao/orbobj.cpp (POA_init): Removed options which were no longer - supported/necessary, as well as their corresponding variables. - -Tue Nov 18 17:33:20 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/RtecEventChannelAdmin.idl: - * orbsvcs/lib/RtecEventComm.idl: - Changed several operations to "oneway" to avoid dead-locks in - the Event Channel tests. - - * orbsvcs/lib/Runtime_Scheduler.h: - * orbsvcs/lib/Runtime_Scheduler.cpp: - This class is a servant, event though it is only used - collocated, so it must inherit from the POA class. - - * orbsvcs/lib/Scheduler_Factory.cpp: - Care must be exercised to create the Runtime_Scheduler instance - only once the ORB is up and running. - - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingC.h: - * orbsvcs/lib/CosNamingS.cpp: - * orbsvcs/lib/CosNamingS.h: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecEventCommS.h: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerS.cpp: - * orbsvcs/lib/RtecSchedulerS.h: - Regenerated all the stubs and skeletons using the latest IDL - compiler, but still some hand crafting is required, namely for - operations in base classes. - -Tue Nov 18 14:27:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/cdr.cpp (CDR): Changed TAO_PURIFY to ACE_PURIFY. - - * tests/Cubit/TAO/MT_Cubit/serdatever/svr.cpp: Added code to put use a - kinder, gentler high priority value on VxWorks. This makes it - easier for the machine to remain running. :-\ - - * tao/corbacom.h: Added CVS id keyword. - - * tao/{corba.h,tao_internals.h,tao_internals.cpp}: Backed out - tao_internals.h, which is not intended to be publicly visible. - corba.h should contain only headers/inlines for things which - should be externally visible. - -Tue Nov 18 04:00:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/poa.cpp: - An operation lookup on the dispatching code will cause an error - message and the CORBA::BAD_OPERATION exception to be raised. - - * tao/orb_core.cpp: - Somehow the options for setting the Event Service and the - Scheduling Service IOR were lost. Eventually they must be - removed, but we are still testing the Naming Service. - -Tue Nov 18 02:17:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.33, released Tue Nov 18 02:17:24 1997. - -Tue Nov 18 02:03:22 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * orbsvcs/tests/Logger/svr.cpp: - * orbsvcs/tests/Logger/clnt.cpp: This test example now uses the - naming service in the server and client. Also changed the code to - have a default use in case the naming service is not available. - - * tao/orbobj.cpp (resolve_name_service): Fixed a bug, dealing with - closing the endpoint of communication for the response of the - multicast mechanism. - -Tue Nov 18 01:37:42 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_operation.cpp,be_state_operation}.cpp: We now - properly handle the declaration and assigning to the return value. - - * TAO_IDL/be/be_state_argument.cpp: Removed a spurious () - appearing after a function call. - - * TAO_IDL/be/{be_structure,be_union}.cpp: Carlos had removed the - if !imported check in the member counting function, but it had - crept in again, maybe due to me. So this is fixed again. - - * test/Cubit/TAO/IDL/svr.cpp: Removed the hack which was - separating command line arguments starting with O. We leave this - task to the newly added Arg_Shifter. - - * tao.orbobj.cpp: In ORB_init, the call to - TAO_ORb_Core_instance->init needed a char ** argv and we were - passing a char * const* argv. So we cast this. g++ was giving this - error. - - * TAO_IDL/be_include/be_codegen.h, TAO_IDL/be/be_codegen.cpp: - Added 5 new states for code generation. All of these for - operations and arguments. - - * TAO_IDL/be/be_argument.cpp: Made all methods uniform so that the - state will be set by the corresponding be_operation method. Thus - the be_operation method will vary the state but still invoke the - same be_argument method. - - * TAO_IDL/be/be_enum.cpp, be_structure.cpp, be_union.cpp, be_field.cpp, - be_sequence.cpp: Some reformatting, removed unused variables. - - * TAO_IDL/be/be_scope.cpp: Changes include adding ACE_ERROR_RETURN - with file name, line number capability. In addition, we were not - testing for return status of the various gen methods called. - - * Most important changes in these files: - - TAO_IDL/be/{be_operation,be_state_argument,be_state_operation}.cpp: - - Large scale changes that include a uniform way to invoke methods - of the be_argument class from the be_operation methods. Added the - 5 new states. Added proper handling of _out parameters in stubs - and skeletons. - -Mon Nov 17 20:05:40 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Cleaned up lots of places - where the allocated stuff wasn't being deallocated. - - * tao/request.cpp: Insured that the CTOR adds a reference for the - dynamically-allocated NamedValue. - - * tao/orb_core.cpp: Freed the faked service configurator argv. - - * tao/iiopobj.h: Removed anachronistic comments. - - * tao/iiopobj.{i,cpp}: Changed allocation of IIOP::Profile.host to use - new/delete rather than strdup/free b/c the decoder, which is - generic, must use new to allocate the space. Thus, the strdup had - to go. Purify now happier. - - * tao/cdr.cpp: Added call to memset bracketed by #if - defined(TAO_PURIFY) in order to appease the purify gods. - -Mon Nov 17 20:05:16 1997 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * arg_shifter.cpp: - fixed a bug where in new, gcc used the address of an integer - reference rather than its value. weird. - - * tao/orb_core.cpp: - Modified the init routine to "consume" command line arguments it - recognizes by placing them in the rear of argv, and adjusting - argc. It uses the Arg_Shifter class to accomplish this. - - * tao/arg_shifter.h: - * tao/arg_shifter.cpp: - The Arg_Shifter class is an iterator that, as it iterates over - argv, places consumed arguments at the end of the vector, - ignored ones in their original order at the beginning of the - vector, and adjusts argc to hide the consumed arguments. - -Mon Nov 17 18:40:49 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/orb_core.i: - Some data was not initialized when used from a thread different - than the one doing ORB_init (even though we choose a global ORB - in the svc.conf file). Chris found a fix for this. The affected - methods are reactor(), thr_mgr(), connector() and acceptor(). - - * TAO_IDL/be/be_sequence.cpp: - length was not working if the value was <= than the maximum. - - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerS.cpp: - Fixed the length() problem by hand, even though the new IDL - compiler should do it right. - -Mon Nov 17 11:52:54 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp (server_header), - TAO_IDL/util/utl_global.cpp (be_change_idl_file_extension): - Updated several methods to ensure const correctness for the - updated ACE_OS::str*() methods. Thanks to David Levine for - reporting this. - -Mon Nov 17 02:40:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.32, released Mon Nov 17 02:40:14 1997. - -Mon Nov 17 01:48:17 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_scope.cpp: - TypeCode generation was failing for imported members. - - * TAO_IDL/be/be_structure.cpp: - Member count must include all members, imported or not. - - * TAO_IDL/be/be_typedef.cpp: - Added missing decr_indent() in the typecode generation which was - making the generated code completely unreadable. - - * orbsvcs/lib/RtecEventChannelAdmin.idl: - * orbsvcs/lib/RtecEventComm.idl: - Removed the PullConsumer and PullSupplier classes, they are not - supported. - - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingS.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminC.i: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventChannelAdminS.i: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommC.i: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecEventCommS.h: - * orbsvcs/lib/RtecEventCommS.i: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerS.cpp: - New version of the generated files, this last version is almost - making in it, but still needs hand crafting. - - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_typedef.cpp: - Fixed buggy TypeCode lenght computation, it was only taking into - account the tc_encap_len() for the base type but it should use - the full tc_size(). - - * tao/encode.cpp: - Object references *must* be passed a pointer to Object_ptr in - the marshalling code. - - * TAO_IDL/be/be_operation.cpp: - * TAO_IDL/be/be_state_operation.cpp: - Fixed generated code for Object references as return values. It - allocates the Object_ptr in the heap, stores the result there - and creates an Any for it. - -Sun Nov 16 23:30:26 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * orbsvcs/tests/Logger/svr.cpp (main): - Changed the code to use the resolve_initial_references () - interface to get the object refrence to the naming service. - - * orbsvcs/tests/Logger/clnt.cpp (main): Now uses the - resolve_initial_references() to get the naming service object - reference, to get the logger factory object reference. - - * orbsvcs/bin/Naming_Service/svr.cpp (main): - * orbsvcs/bin/Naming_Service/svr.h: - Added code to respond to multicast requests for the IOR. - - Added code to respond to multicast requests for the IOR. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Fixed some formatting - problems dealing with the precision of the output. - -Sun Nov 16 14:48:00 1997 <nw1@COYOTE> - - * test/Cubit/TAO/IDL_Cubit/{server,client}.dsp: Updated library - path for release version. - - * TAO_IDL/TAO_IDL.mak: - * TAO_IDL/tao_idl.dsp: Added new files (be_state_*.cpp) into - project file. - -Sun Nov 16 12:56:24 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: The _is_a_skel method's signature - had an Object_ptr obj parameter which was unused. Instead of - generating the ACE_UNUSED_ARG (obj) line of code, we use /* obj */ - in the signature. - -Sun Nov 16 05:51:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.31, released Sun Nov 16 05:51:38 1997. - -Sun Nov 16 00:22:04 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - Fixed output for structs and union test. - - * tao/iiopobj.cpp: - If the user provides no key for an object we generate one, based - on the object address. - - * TAO_IDL/be/be_sequence.cpp: - The length() method should get the maximum if reallocation - occurs. - - * tao/orb_core.cpp: - * tao/orbobj.cpp: - * tao/orbobj.h: - * tao/params.cpp: - * tao/params.h: - Added new options to the ORB (-ORBeventserviceior, - -ORBscheduleserviceior), this should go away once the Naming - Service works properly, but are needed now to locate this - services. - - * orbsvcs/lib/Makefile: - Added several small classes that help when using the Scheduling - and/or the Event Service. - - * orbsvcs/lib/Scheduler_Factory.cpp: - * orbsvcs/lib/Scheduler_Factory.h: - * orbsvcs/lib/Scheduler_Factory.i: - Encapsulate the construction and configuration of the Scheduling - Service. - - * orbsvcs/lib/Runtime_Scheduler.cpp: - * orbsvcs/lib/Runtime_Scheduler.h: - * orbsvcs/lib/Runtime_Scheduler.i: - Implement a simple, but fast, Scheduling Service based on a - precomputed scheduling. - - * orbsvcs/lib/Event_Utilities.cpp: - * orbsvcs/lib/Event_Utilities.h: - * orbsvcs/lib/Event_Utilities.i: - Simplify the creation of QoS structures for the Event Service. - - * orbsvcs/lib/Scheduler_Utilities.cpp: - * orbsvcs/lib/Scheduler_Utilities.h: - * orbsvcs/lib/Scheduler_Utilities.i: - Simplify manipulation of the RT_Infos for the Scheduling - Service. - - * orbsvcs/lib/Channel_Clients.cpp: - * orbsvcs/lib/Channel_Clients.h: - * orbsvcs/lib/Channel_Clients_T.cpp: - * orbsvcs/lib/Channel_Clients_T.h: - Helpers to adapt PushSuppliers and PushConsumers. - - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingC.h: - * orbsvcs/lib/CosNamingC.i: - * orbsvcs/lib/CosNamingS.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminC.i: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventComm.idl: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommC.i: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerC.i: - * orbsvcs/lib/RtecSchedulerS.cpp: - This files were generated by the IDL compiler and don't need any - hand crafting (so far). I still maintain them in CVS because the - compiler is not stable enough. - - * orbsvcs/bin/Naming_Service/Makefile: - Removed spurious call to rm. - - * orbsvcs/lib/RtecEventComm.idl: - Removed the (already commented out) include of "orb.idl". - -Sat Nov 15 21:38:48 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_sequence.cpp: - The generated length() method will reallocate the sequences - now. - - * TAO_IDL/be/be_constant.cpp: - It was initializing nested constants in the client header file, - Andy told me how to fix it. - - * TAO_IDL/be/be_operation.cpp: - Fixed typo in generated code: - s/_tao_enviroment/_tao_environment/ - - * TAO_IDL/be/be_field.cpp: - Only generate the inline members of the field type if the type - is not imported. - - * TAO_IDL/driver/drv_fork.cpp: - * TAO_IDL/driver/drv_preproc.cpp: - Removed old code to support plain fork (without ACE). - Also removed temporary files *unless* we are on Win32, were - removing the file and keeping it open fails. - - * TAO_IDL/include/idl_global.h: - * TAO_IDL/util/utl_global.cpp: - Added routines to obtain the generated names of any IDL file, - not only the one we are processing. - - * TAO_IDL/be/be_codegen.cpp: - The compiler now generate all the required include directives - when the IDL file contains some. - - * tao/params.cpp: - Initialize name_service_port_ to zero in the constructor. - -Sat Nov 15 21:20:01 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_string.cpp: The typecode info was getting - generated in a wrong file because of setting the worng file to - generate it in. - - * TAO_IDL/be/be_typedef.cpp: Some extra indentation was getting - generated for typecodes. This is fixed. - - * TAO_IDL/be/be_state_argument.cpp: For parameters of type - ObjRefs, we were not passing the address of the object_ptr to the - Any constructor. This would have caused seg faults when - decoding. This is now fixed. - - * TAO_IDL/be: Split be_state.cpp into a number of files based on - the IDL types, e.g., be_state_struct.cpp, be_state_union.cpp, ... - - * TAO_IDL/be/be_sequence.cpp: Name creation now uses a uniform - strategy rather than typedefed sequences assuming the name of the - typedef and anonymous sequences getting a generated name. This was - required to eliminate a number of multiple declarations errors. - - * TAO_IDL/be/be_state_union.cpp: Since C++ does not allow - instances of classes to appear inside a union declaration, the - private data members for data members of type objref, strings, - sequences, and anys must be pointers. This changes code in the - accessor methods defined in the generated *.i files for the union. - - * TAO_IDL/be/be_operation.cpp: There were some instances of the - incorrectly spelled _tao_enviroment remaining which have been - corrected. - - * TAO/tao/managed_types.{h,i,cpp}: Added these 3 files that define - the self managed data type similar to a String_var. These self - managed data types are required for struct/union members that are - strings or obj references, as well as for element types of - sequences. - - * TAO_IDL/be/be_typedef.cpp: Added code to generate the typecode - structure for typedefs. These use the tk_alias kind field. - - * TAO_IDL/be/{be_union,be_state}.cpp: Improvements to union with - string members. However, this is still incomplete and will be - done by the next couple of commits. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Removed the ACE_DEBUG - stmt for printing object keys. - -Sat Nov 15 18:03:39 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (make_cubit): We don't - need to free up the object key since it's no longer allocated - dynamically. - - * tao/object: Changed the _get_name() method to return const char - * to be consistent with the iiopobj change below. - - * tao/iiopobj: Fixed _get_name() so that it doesn't allocate - memory by having it return const char * and just return the - pointer. This should fix some subtle problems. - -Sat Nov 15 12:19:55 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: Changed two loop counters from type - int to type size_t. - -Sat Nov 15 01:33:08 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.30, released Sat Nov 15 01:33:08 1997. - -Fri Nov 14 19:45:01 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/clnt.cpp : - * tests/Cubit/TAO/DII_Cubit/clnt.h : - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp : - - Fixed the difference in latency problem from DII and IDL. - - Changed the DII_Cubit client interface to be similar to IDL, now - you can specify hostname and port number, instead of the IOR. - -Fri Nov 14 17:48:14 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/bin/Naming_Service/CosNaming_i.cpp: - Fixed problem with the new Environment parameter for _narrow (). - - * orbsvcs/bin/Naming_Service/Makefile: - No need to include rules.bin.GNU. - -Fri Nov 14 17:08:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/iiopobj.cpp: Make sure that host is set to 0 in all the - constructors. - - * tao/iiopobj.cpp (Profile): Modified the code to consistently - store a NUL at the end of each object key string. - -Fri Nov 14 17:10:20 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * cubit_i.cpp: Changed &d to %d in ACE_ERROR - -Fri Nov 14 16:42:21 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/tao_internals.cpp (fake_service_entries_i): Made sure that - the resource factory faked entry had the proper number of - arguments specified. - -Fri Nov 14 14:11:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/Makefile: - Added new library that contains the stubs and skeletons for the - TAO services. - - * orbsvcs/Makefile: - * orbsvcs/bin/Makefile: - * orbsvcs/tests/Makefile: - Added top level Makefiles. - - * orbsvcs/bin/Naming_Service/Makefile: - * orbsvcs/bin/Naming_Service/svr.cpp: - * orbsvcs/bin/Naming_Service/svc.conf: - * orbsvcs/bin/Naming_Service/NS_CosNaming.h: - * orbsvcs/bin/Naming_Service/NS_CosNaming.cpp: - * orbsvcs/bin/Naming_Service/CosNaming_i.h: - * orbsvcs/bin/Naming_Service/CosNaming_i.cpp: - Moved the naming service implementation from the TAO - subdirectory to this place. - - * orbsvcs/tests/Simple_Naming/Makefile: - * orbsvcs/tests/Simple_Naming/svc.conf: - * orbsvcs/tests/Simple_Naming/clnt.h: - * orbsvcs/tests/Simple_Naming/clnt.cpp: - A simple test program for the naming service, it simply tries to - locate it and connect to it. - - * orbsvcs/bin/Naming_Service/Orbix/Client.cpp: - * orbsvcs/bin/Naming_Service/Orbix/CosNaming.idl: - * orbsvcs/bin/Naming_Service/Orbix/Makefile: - * orbsvcs/bin/Naming_Service/Orbix/NS_CosNaming.cpp: - * orbsvcs/bin/Naming_Service/Orbix/NS_CosNaming.h: - * orbsvcs/bin/Naming_Service/Orbix/logger-main.cpp: - * orbsvcs/bin/Naming_Service/Orbix/logger.idl: - * orbsvcs/bin/Naming_Service/Orbix/logger_tie.cpp: - * orbsvcs/bin/Naming_Service/Orbix/logger_tie.h: - * orbsvcs/bin/Naming_Service/Orbix/server-main.cpp: - * orbsvcs/bin/Naming_Service/TAO/CosNaming.idl: - * orbsvcs/bin/Naming_Service/TAO/CosNaming_i.cpp: - * orbsvcs/bin/Naming_Service/TAO/CosNaming_i.h: - * orbsvcs/bin/Naming_Service/TAO/Makefile: - * orbsvcs/bin/Naming_Service/TAO/NS_CosNaming.cpp: - * orbsvcs/bin/Naming_Service/TAO/NS_CosNaming.h: - * orbsvcs/bin/Naming_Service/TAO/clnt.cpp: - * orbsvcs/bin/Naming_Service/TAO/clnt.h: - * orbsvcs/bin/Naming_Service/TAO/svc.conf: - * orbsvcs/bin/Naming_Service/TAO/svr.cpp: - We will only maintain the TAO version for the naming service, no - need to keep this subdirectories. - - * orbsvcs/lib/RtecScheduler.idl: - The Real Time Scheduling Service. This module declares the QoS - structures (RT_Info) and the interface for the global scheduler. - - * orbsvcs/lib/RtecEventComm.idl: - Part of the Real Time Event Services interface, this file - contains the Event type, the basic interfaces for consumers and - suppliers and some exceptions. - - * orbsvcs/lib/RtecEventChannelAdmin.idl: - Part of the Real Time Event Services interface, in particular - this module defines the event channel, the proxy interfaces and - the QoS aware subscription and registration interfaces. - - * orbsvcs/lib/Event_Service_Constants.h: - The Event Service implementation and the Scheduling Service - implementation require this file, which defines some constants - and static limits. For lack of a better place I putted it here. - - * orbsvcs/lib/CosNaming.idl: - Moved the IDL file to the library, otherwise it cannot be used - by clients. - - * tao/corba.h: - Added some macros that support portable exception handling, - either through C++ exceptions or the CORBA::Enviroment - parameter. - - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommC.i: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommS.h: - * orbsvcs/lib/RtecEventCommS.i: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventChannelAdminS.i: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminC.i: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/CosNamingC.h: - * orbsvcs/lib/CosNamingC.i: - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingS.h: - * orbsvcs/lib/CosNamingS.i: - * orbsvcs/lib/CosNamingS.cpp: - I had to modify the IDL compiler generated files, I will keep - the files in CVS until we no longer need to modify it. - -Fri Nov 14 13:02:52 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/decode.cpp: TAO_Marshal_Objref::decode line 615 which tried - to set the underlying object_addr was invoking an incorrect inline - function because of lack of passing an argument to the object_addr - () method. Specifically, due to the lask of argment, the - "retrieve" method was getting called whereas we wanted the "set" - method. All we do is pass a 0 (NUL) argument. This suffices - because we have already decoded the host and port number. So all - information is with us to set the server address. - -Fri Nov 14 00:29:09 1997 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/fe/lex.yy.cpp: set RCS -ko option so that the Id keyword - won't get expanded on checkout. That was causing CVS to think - that a merge was needed. - -Thu Nov 13 19:11:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/giop.cpp (start): Updated the code to use the new - object_addr() style. - - * tao/iiopobj: Added many fixes to the Profile code to fix nasty - bugs. Also, renamed {get|set}_object_addr() to simply - object_addr(), which is the correct style. - - * tao/iiopobj.h: Replaced the use of "localhost" with - ACE_DEFAULT_SERVER_HOST. This is necessary to support broken - platforms like MVS that don't support "localhost"... - - * TAO/tests/Cubit/TAO/IDL_Cubit/svr.cpp (parse_args): Assume for - the moment that any arguments starting with `-O' are `-ORB' or - `-OA'. This should be fixed by having the ORB_init() and - POA_init() methods consume their argv/argc's. - -Thu Nov 13 16:18:32 1997 <nw1@CHA-CHA> - - * tao/orb_core.h: - * tao/default_client.h: - * tao/default_server.h: Changed ACE_SVC_FACTORY_DECLARE to - ACE_FACTORY_DECLARE. - - * tao/orb_core.cpp: - * tao/default_client.cpp: - * tao/default_server.cpp: Changed ACE_SVC_FACTORY_DEFINE to - ACE_FACTORY_DEFINE. - - * tao/corba.h: Added include "tao/tao_internals.h". - - * tao/tao_internals.h: Disable header file inclusions. I've put - this file into corba.h. - - * tao/tao_internals.cpp: Changed to use "tao/corba.h". - - * tao/TAO.mak: - * tao/TAO.dsp: Replaced ACE_BUILD_SVC_DLL with TAO_BUILD_DLL. - - * tao/corba.h: Added TAO_Export definition. - - * tao/*.h: Replaced ACE_Svc_Export with TAO_Export. Added - default definition to build TAO DLL on Win32. - -Thu Nov 13 01:47:02 1997 Chris Cleeland <cleeland@macarena.cs.wustl.edu> - - * tao/iiopobj.cpp (IIOP_Object): Removed the duplicate CTORs that - I'd accidentally included here during the prior merge/commit - phase. - -Wed Nov 12 23:59:29 1997 <nw1@COYOTE> - - * TAO/TAO_IDL/tao_idl.dsp: Changed to generate multithreaded codes - on NT. - - * TAO/TAO_IDL/be/be_scope.cpp: - * TAO/TAO_IDL/fe/idl.ll: - * TAO/TAO_IDL/fe/lex.yy.cpp: - * TAO/TAO_IDL/fe/y.tab.cpp: - * TAO/TAO_IDL/include/ast_decl.h: - * TAO/TAO_IDL/include/idl.h: - * TAO/TAO_IDL/include/utl_identifier.h: - * TAO/TAO_IDL/include/utl_idlist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_decllist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_exceptlist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_exprlist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_idlist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_labellist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_namelist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_strlist.h: Changed to use - "ace/stdcpp.h" and removed inclusion of header files that - conflict with standard C++ library. - -Wed Nov 12 18:59:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/iioporb.cpp: Added call to set object address in Profile. - - * tao/iiopobj.cpp: Corrected code in the copy CTOR where the host - was being copied over the old host. This could prove bad if the - amount of space allocated previously was too small for the - hostname we're copying in. Ideally we'd use something smarter - than this, but hopefully (if you read the comment below) this will - go away soon. - - * tao/iiopobj.*: Added an ACE_INET_Addr to IIOP::Profile so that - we only need to do a gethostbyname() once. After that we can used - the cached information. I'd really like to remove the host/port - as explicit public data members, but for now we take one step at a - time. - - * tao/giop.cpp: Use the IIOP::Profile object address when making a - connection. - - * tao/decode.cpp: Added code to set the object address in the - Profile when an object ref is decoded. - - * tao/debug.h: Removed old questions in comments. - - * tao/connect.h: Added some documentation. - -Wed Nov 12 17:41:02 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/iiopobj.cpp: I had forgotten to update the return type of - _get_name in iiopobj.cpp to "char *" instead of "const char *". - -Wed Nov 12 14:28:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/ast/ast_union.cpp: Fixed a problem where the front end - would not give any error if there were duplicate case labels. This - was happening since an overloaded == operator taking an - AST_Expression* was not getting called. Instead a simple - comparison of addresses was taking place. We now use the "compare" - method defined on the AST_Expression class to fix this problem. - - * TAO_IDL/be/be_interface.cpp: Removed some code under #if 0. The - noteworthy change, however, has to do with code that gets - generated for the "_is_a_skel". Some compilers were issuing a - warning saying "unused argument obj". Since we cannot change the - signature of the generated "_is_a_skel", we use the trick of - generatung ACE_UNUSED_ARG (obj); in the code. Some other - formatting changes made. - - * TAO_IDL/be/be_operation.cpp: Some very minor changes so that the - generated code is properly indented. - - * tao/{iiopobj,object,stub}.h, iiopobj.cpp: Changed the return - type of _get_name to return a heap-allocated "char *". In the - earlier case we were erroneously returning a pointer to local - array. This was a change I made a couple of days back to deal with - the fact that object keys are octet arrays and are not null - terminated. Now we take the object key and make a NULL terminated - copy in a heap allocated string. It is the caller's responsibility - to free this. - - * tao/tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Used string_free to - free the string returned by _get_name. - - * tao/tests/Thruput/client.cpp: _narrow now uses the additional - env parameter. - -Wed Nov 12 09:22:47 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/tao_internals.cpp (open_services): added ACE_UNUSED_ARGs - for argc and argv if TAO_PLATFORM_SVC_CONF_FILE_NOTSUP. - - * TAO_IDL/Makefile: disabled clean and realclean targets on VxWorks, - so that they don't remove tao_idl from the host build tree. - -Tue Nov 11 23:50:06 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.29, released Tue Nov 11 23:50:06 1997. - -Tue Nov 11 20:45:26 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/default_server.cpp (parse_args): Replaced NULL with 0. - - * tao/corbacom.h: Fixed the macro for TAO_SYSTEM_EXCEPTION so - compilers don't whine about extra semi-colons. - - * tao/iioporb.cpp (iiop_string_to_object): Added a cast of (char - *) 0 to disambiguate one of the methods. - - * tao/iiopobj.cpp: Moved the constructors and destructors of - IIOP_Object from the *.i file to the *.cpp file and made them - non-inline. - -Tue Nov 11 18:19:16 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/iiopobj.{h,cpp}: Added two new constructors one of which is - useful for the _bind call generated by the IDL compiler. This - constructor takes the host name, port number, and key value - thereby avoiding the costly string2object call inside the _bind - method. The second constructor is used to reduce the amount of - code that gets generated to set a IIOP_Object in the constructor - of the skeleton class. - - Additionally, these constructors use the REENTRANT get_host_name - method of the INET_Addr class to retrieve the host name. - - * tao/iiopobj.h,stub.h: Modified the signature of _get_name to - return a const char*. So users will have to copy this value. - - * tao/iiopobj.cpp: The method _get_name uses an internal character - array in which the object key is copied. This is necessary so that - we can NULL terminate the opaque key and return it to the user. - - * tao/orbconf.h,cdr.h: Commented (and will eventually remove) the - defintion of MY_BYTE_SEX from cdr.h. Instead, we now use the macro - TAO_ENCAP_BYTE_ORDER which gets defined in orbconf.h. The files - affected due to this renaming are: - - tao/{iioporb.cpp, giop.cpp, except.cpp, cdr.cpp, encode.cpp, - interp.cpp, tc_const.cpp} - - The following files in the IDL compiler source were affected since - they had to generate TAO_ENCAP_BYTE_ORDER instead of MY_BYTE_SEX. - TAO_IDL/be/{be_array,be_enum,be_interface,be_sequence,be_structure, - be_union}.cpp - - * tao/{typecode,decode}.cpp: some reformatting, indentation. - - * TAO_IDL/be/be_interface.cpp: code generated for _bind uses the - newly added constructor to class IIOP_Object. - - * TAO_IDL/be/{be_interface.be_state}.cpp: Code generated for - _narrow now takes an additional CORBA::Environment parameter. - - * tests/Cubit/TAO/IDL_Cubit: cubit_i.cpp - in the method - make_cubit, we make a copy of the string returned by _get_name and - then free that memory. - - clnt.cpp: The tests for unions have been uncommented. The reason - they were not working and resulting in seg fault was that methods - of the cubit interface were being invoked on the factory object. - -Tue Nov 11 10:07:04 1997 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/Makefile: added missing before (VAR) - in VBIN definition. - - * tao/orbconf.h: added __i386 to TAO_WORDS_BIGENDIAN check, - because that's what g++/VxWorks uses. Also added __alpha - to little endian CPUs. - - * tao/orb_core.i: fixed preprocessor test for using the - ACE_Hash_Addr<ACE_INET_Addr>::hash_i specialization. - -Tue Nov 11 04:22:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.28, released Tue Nov 11 04:22:44 1997. - -Tue Nov 11 01:16:07 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Reformatted the - multicast Name Service locator just a bit. - - * tao/orbconf.h: Started putting a more sane way of automatically - determining the size of various datatypes into TAO. - -Tue Nov 11 00:36:39 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * orbsvcs/bin/Logger/ior_multicast.h: - * orbsvcs/bin/Logger/ior_multicast.cpp: - * orbsvcs/bin/Logger/clnt.cpp: - * orbsvcs/bin/Logger/clnt.cpp: - * orbsvcs/bin/Logger/svr.cpp: - * orbsvcs/bin/Logger/Makefile: - Added multicast resolution of the logger service example. - -Tue Nov 11 00:36:39 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): changed macro for default - multicast port. - - Added support for multicast mechanism to resolve the name - service. - - * tao/orbconf.h: Added some definitions for TAO's default - multicast and reply port, and the default timeout value. - -Tue Nov 11 00:00:25 1997 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Makefile: removed MUNCHED because - it's no longer needed for g++/VxWorks. - -Mon Nov 10 22:02:42 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/interp.cpp (declare_entry): Moved TAO_ALIGNMENT_MAGIC_NUMBER - to orbconf.h instead of burying it in interp.cpp. - - * tao/corbacom.h: Rather than trying to guess what the size of - wchar_t, let's just use what's in ACE. - -Mon Nov 10 19:26:03 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * tao/orbconf.h (SIZEOF_INT): FreeBSD and NetBSD have 4 byte - ints. Thanks to Nanbor for pointing this out. - - * tao/orbobj.cpp: Added template instantiation for ACE_Atomic_Op. - - * tao/orbconf.h: NetBSD has a long double of size 12, as does - FreeBSD. Fixed SIZEOF_LONG_DOUBLE to fix this. - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): Removed cerr's - and replaced them with ACE_ERROR_RETURN's and the like. - -Mon Nov 10 01:25:19 1997 <nw1@COYOTE> - - * tao/giop.h: Added ACE_Svc_Export to classes - (TAO_GIOP_Request_Header, TAO_GIOP_Invocation, TAO_GIOP.) Some - of them may not be necessary. - -Mon Nov 10 00:09:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.27, released Mon Nov 10 00:09:24 1997. - -Sun Nov 09 23:43:04 1997 <irfan@TWOSTEP> - - * tao/corba.h: Reordered the inclusion of poa.i, giop.i, - iioporb.i, and iiopobj.i - - * tao/tao_internals.cpp (close_services): Fixed typo. - -Sun Nov 09 23:32:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.26, released Sun Nov 09 23:32:58 1997. - -Sun Nov 09 22:04:12 1997 <irfan@TWOSTEP> - - * tao/orbobj.cpp (ORB_init): - * tao/tao_internals.cpp (close_services): - - Changed ACE_Recursive_Thread_Mutex to ACE_SYNCH_RECURSIVE_MUTEX. - -Sun Nov 9 16:05:56 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: * - tests/Cubit/TAO/DII_Cubit/clnt.h: Added clnt.h and restructured - the code so it is similar to the IDL_Cubit example. It doesn't, - however, have the same options because the DII example uses an ior - as input. - - * tao/debug.cpp: Added dummy function to get rid of - "'debug_stream' defined but not used" warning. - -Sun Nov 9 13:03:37 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao: Removed the svc.conf.eg file since it was out of date. - - * tao/svrrqst: Removed the #include for svrrqst.i since we don't - need any inline functions now. - - * tao/tao_internals: Removed the #include for tao_internals.i - since we don't need any inline functions now. - - * tao/varout.h: Cleaned up the programming style. - - * tao: Continued to replace all fields with names _foo to foo_. - - * tao/iioporb.cpp: Move the hex routines into ACE since they are - more general. - - * tao/iioporb.cpp: Removed the inclusion of iioporb.i since it is - already included in corba.h. - - * tao: Replaced all uses of ACE_Thread_Mutex with ACE_SYNCH_MUTEX - since this is portable... - - * tao/iiopobj.cpp: Removed the inclusion of iiopobj.i since it is - already included in corba.h. - - * tao/giop.cpp: Moved several large inlined methods into the *.cpp - file. - - * tao/giop: Removed the enormous (and unused) incoming_message() - method. - - * tao/giop.cpp: Removed the inclusion of giop.i since that is - handled in corba.h. - - * tao: Removed the factories.i and factories.cpp files since they - don't seem to be used by anything. - - * tao/{corbacom,except}.*: Changed SYSEX to the more politically - correct TAO_SYSTEM_EXCEPTION. - - * tao: Replaced all uses of wslen() and wscpy() with the - corresponding ACE_OS wide string functions. - - * tao/orbconf.h: Removed all the HAVE_WIDEC_H stuff. This should - be handed by ACE. - - * tao/connect.i: Removed the template instantiations since they - were commented out and didn't appear to be used. - - * tao/connect.cpp: connect.i was already being included in corba.h, - so don't include it again. - - * tao/client_factory.cpp: Moved inlined constructor/destructor - from the *.i file into the *.cpp file. - - * tao/cdr.cpp (CDR): Moved a bunch of absurdly long inlined methods - from the *.i file into the *.cpp file. - - * tao/any.cpp (CORBA_Any): refcount_ has previously been - uninitialized. I gave it a value of 1. - - * tao/any.cpp (CORBA_Any): Moved the initialization into the - base/member section, where it belongs. - - * tao/any.h: Corrected a spelling mistake in an enumeral and - upper-cased the minor codes for exceptional returns. Are these - actually used anywhere? - - * tao: Removed all the unnecessary #if 0 ... #endif header files. - I don't know why there were still there. - - * tao/except.h: Moved the #ifdef for minor and major into - orbconf.h, where they belong. - - * tao/orbconf.h: Removed all the DECLARED_* macros since they - no longer made sense once we've got ACE. - - * tao/orbconf.h: Moved the TAO_DEFAULT* macros from ace/OS.h - here, which is more where they belong. - - * tao/default_server.cpp (TAO_Default_Server_Strategy_Factory): - - * tao/{debug.h,orbconf.h}: Removed the DECLARED_STRERROR macro - since ACE handles this. - -Sun Nov 09 10:18:06 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/connect.cpp: fixed RCS keyword (Id instead of id). - -Sat Nov 08 23:23:41 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.25, released Sat Nov 08 23:23:41 1997. - -Sat Nov 8 21:27:34 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/orb_core.cpp (init): Removed the code that always binded us - to our hostname. This is unnecessary and makes it hard to use - other interfaces on the same host (such as localhost or some ATM - interface, etc.). With this change (and the corresponding - changes to ACE_INET_Addr::get_host_name()), we can now bind to - INADDR_ANY. - - * docs/releasenotes: Added Marina's documentation for the Trader - and cleaned up all the other entries to make them consistent. - - * tao: Changed ProfileBody to Profile, TaggedProfile to - Tagged_Profile, ProfileSeq to Profile_Sequence, and ProfileId to - Profile_ID. - - * tao/iiopobj.cpp (ProfileBody): For some god knows why reason, - the CORBA::String and CORBA::UShort parameters to ProfileBody - where being passed as references. This is silly, so I changed - them to non-references. - - * tao/connect.cpp (open), - tao/poa.cpp (create): Replaced a use of - ACE_INET_Addr::get_host_name(void) with - ACE_INET_Addr::get_host_name (char *, size_t), which is - reentrant. - - * tao/Makefile: Removed the DCFLAGS, OCFLAGS, and the TAO_ORB_CORE - target macros from the Makefile since they were unnecessary. - Thanks to Arturo for reporting this. - - * tao/except.cpp (print_exception): Fixed a strange format code in - print_exception that was causing a seg fault. What the heck - does %#lx mean? Thanks to Mark L Boriack <mark@vtcibm4a> for - reporting this. - -Fri Nov 07 21:23:35 1997 Carlos O'Ryan <coryan@MILONGA> - - * tao/orb_core.h: - * tao/marshal.h: - * tao/corbacom.h: - Added ACE_Svc_Export to some classes. - - * tao/any.cpp: - Removed delete after DEEP_FREE call, it crashes on NT and it - should be unneeded. - - * TAO_IDL/be/be_state.cpp (gen_code): - When generating arguments for the server header don't use nested - types. The fully qualified type name is needed, even on NT. - - * TAO_IDL/be/be_exception.cpp: - Added code to generate a default constructor. - -Fri Nov 07 17:26:49 1997 <nw1@CHA-CHA> - - * tao/TAO.dsp: - * tests/Cubit/TAO/DII_Cubit/{client,server}.dsp: - * tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: - * tests/Cubit/TAO/MT_Cubit/client/client.dsp: Removed - ACE_HAS_TSS_ORB_CORE flag. - - * tests/Cubit/TAO/MT_Cubit/client/client.cpp (main): Added a - return statement to satisfy MSVC. - -Fri Nov 7 18:20:46 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/{client,server}/svc.conf: Updated to - reflect the proper combination of options to achieve the - thread-per-ORB-per-rate concurrency model. - - * docs/components.html: Updated to refer to seminal documentation - referred to below. - - * docs/configurations.html: Started some new documentation. It's - got a ways to go right now. :-) - -Fri Nov 07 15:42:45 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/default_server.cpp (parse_args): check for 0 argv[curarg] - before calling strcmp on it. - - * tests/Cubit/TAO/IDL_Cubit/Makefile: added MUNCHED for - VxWorks/g++. - -Fri Nov 7 10:30:59 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/tao_internals.cpp (fake_service_entries_i): Updated faked - service entries to include new Resource Factory. This is the - fallback for VxWorks. - - * tao/orb_core.h (TAO_Resource_Factory): Added much comments. - -Fri Nov 07 02:45:56 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.24, released Fri Nov 07 02:45:56 1997. - -Fri Nov 7 01:58:30 1997 Nanbor Wang <nw1@coyote.wolfpack.cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp: - * TAO_IDL/driver/drv_fork.cpp: Added the (__FreeBSD__) flag to - correctly include wait.h file. - - * tao/orb_core.cpp: Replaced ACE_NETBSD with ACE_HAS_THREADS in - template instantiation segment. - - * tao/orbconf.h: Added the (__FreeBSD__) flag to exclude inclusion of - widec.h. - - * tao/orbobj.cpp (Release): Wrapped ACE_GUARD with ACE_MT macro. - -Fri Nov 07 01:46:04 1997 <irfan@TWOSTEP> - - * tests/Cubit/TAO/DII_Cubit/(cubitC.cpp, cubit.cpp): Byte order - changed from 1 to MY_BYTE_SEX. - -Thu Nov 6 23:59:45 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/params.cpp: Moved all the inlined methods out of the header - file and put them in the *.cpp file. I hope this doesn't cause - problems for GCC on VxWorks. - - * tests/Thruput_test/client.cpp: Fixed a mistake with how - the long string constant was defined. The scheme being - used wasn't portable. - -Thu Nov 06 20:58:52 1997 <irfan@TWOSTEP> - - * tao/connect.cpp: Made sure that TAO_Server_Connection_Handler - and TAO_Client_Connection_Handler have a zero Reactor pointer. - If this is not the case, they will try to deregister from a - sometimes non-existent Reactor. - -Thu Nov 6 19:06:59 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * docs/releasenotes/index.html: Updated status of Naming Service - port to TAO. - - * TAO_IDL/be/be_exception.cpp (gen_client_header): - removed warning for unused variable. - -Thu Nov 6 17:07:58 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/tao_internals.i: Added missing #include file. - - * tao/tao_internals.i: Change lock used as monitor for service - count to use ACE_Static_Object_Lock::instance(). This pleases - VxWorks (but makes me nauseous). - - * tao/tao_internals.h: Removed static instances of locks to please - VxWorks. - - * tao/orbobj.cpp (ORB_init): Changed lock used for the monitor - here to be ACE_Static_Object_Lock::instance(). This pleases - VxWorks (but makes me nauseous). - - * tao/orb_core.cpp (init): Merged in changes for new Naming - Service-related options that got accidentally overwritten last - night. - - * docs/Options.html: Added documentation for new Naming - Service-related options in. - - * tao/orbobj.h: Added documentation for a few static methods. - - * tao/params.h: Changed LOCAL_INLINE macro to TAO_LOCAL_INLINE to - avoid possible collisions with application macros. - -Thu Nov 6 14:51:22 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * TAO_IDL/Makefile: Renamed libutil to libtao_idl_util. libutil is - a system library on NetBSD. Updated TAO_IDL/util/Makefile to be - compatible with this. - - * TAO_IDL/be/be_codegen.cpp (server_header): Changed ::toupper to - be toupper, since toupper is a macro on some platforms (like - netbsd). - - * TAO_IDL/driver/{drv_preproc.cpp, drv_fork.cpp}: NetBSD has - sys/wait.h, instead of wait.h. Added #define to fix it. - -Thu Nov 6 01:40:29 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> - - * tao/tao_internals.h: #defined ACE_Thread_Mutex to be - ACE_Null_Mutex for NetBSD. - - * tao/orbconf.h: Added NetBSD to the #define around HAVE_WIDEC_H. - - * tao/orb_core.cpp: #defined around some thread-specific template - instantiations which are not needed on NetBSD. - - * tao/except.h: Undefined "minor" and "major, since these are - defined in NetBSD. - -Thu Nov 06 14:47:15 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/params.[hi]: inlined some functions in the class declaration - because g++ for VxWorks couldn't deal with them in the .i file. - - * tao/tao_internals.*,orbobj.cpp: fixed replacement of orbinit_lock_ - and service_lock_ with ACE_Static_Object_Lock::instance (). - -Thu Nov 06 02:17:02 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.23, released Thu Nov 06 02:17:02 1997. - -Wed Nov 5 23:44:42 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/{orbobj,iioporb}.h: Made the first parameter to - string_to_object() a const CORBA::String rather than just a - CORBA::String. - - * tao/params (addr): Fixed a bug where we should have been using - const ACE_INET_Addr & rather than just ACE_INET_Addr &. - - * tao/orbobj: Began adding the hooks for a multicast-based - implementation of resolve_initial_references(). - - * tao/params: Added a new set/get interface to optionally set/get - the IOR of the configured Naming Service. - - * tao/orb_core.cpp (init): Added a -ORBnameservice command-line - option. If this option is given, it indicates the IOR where the - Naming Service resides. - - * tao/params: Changed the signature of TAO_ORB_Parameters::addr() - to return a const ACE_INET_Addr & rather than an ACE_INET_Addr. - - * tao/params: Added new get/set name_service_port() methods to - get/set the name service multicast port. - -Wed Nov 5 22:38:08 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Thruput_test/client.cpp (main): - * tests/Thruput_test/server.cpp (main): Fixed missing declarations - and unused variables and labels. Fixed uninitialized and unused - variables. - - * tests/Thruput_test/ttcp_i.cpp (ttcp_sequence_i): - * tests/Thruput_test/ttcp_i.h (class ttcp_sequence_i): Change to - use POA. - - * tests/Cubit/TAO/DII_Cubit/README (server): Changed comment on - how to start the server to indicate the use of "-d" to see the - IOR. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Reordered - member initializers to match declaration order - - * tests/Cubit/TAO/DII_Cubit/svr.cpp (main): Fixed comparison of - ">=" on an unsigned variable to compare only ">". - -Wed Nov 05 20:35:52 1997 <irfan@TWOSTEP> - - * tao/orb_core.cpp (fini): Close down the connector. Other - ORB_Core specific objects also need to be cleaned up (and - deleted). - - * tests: Made sure that the orb pointer returned by ORB::init() is - correctly freed up. Following files were updated: - - TAO/tests/Cubit/TAO/DII_Cubit/clnt.cpp - TAO/tests/Cubit/TAO/DII_Cubit/svr.cpp - TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp - TAO/tests/Cubit/TAO/IDL_Cubit/clnt.h - TAO/tests/Cubit/TAO/IDL_Cubit/svr.cpp - TAO/tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp - TAO/tests/Cubit/TAO/MT_Cubit/server/svr.cpp - TAO/tests/Cubit/VisiBroker/base_server/server.cpp - -Wed Nov 5 19:37:25 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL compiler: - - files be_array.cpp, be_interface.cpp, be_sequence.cpp, - be_structure.cpp, be_union.cpp, be_enum.cpp - Added MY_BYTE_SEX to - the typecode generation methods. - - be_operation.cpp, be_argument.cpp, be_state.cpp, be_codegen.* - - Modified to deal with _out parameters that are passed to the - actual upcalls in the server-side skeleton. - - Some minor changes involving removing commented-out code in the - constructors of some classes. - - * tests/Thruput_test: Some modifications. Still needs more work - get it to run. - -Wed Nov 05 19:26:44 1997 <nw1@COYOTE> - - * tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsp: - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsp: - * tests/Cubit/TAO/MT_Cubit/client/client.dsp: - * tests/Cubit/TAO/MT_Cubit/server/server.dsp: - * tao/TAO.dsp: Renamed debeg version of TAO library to TAO.dll for - NT. - -Wed Nov 05 13:39:19 1997 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/Makefile: more hacks to not build the IDL compiler - on VxWorks. - -Wed Nov 05 12:53:53 1997 <irfan@TWOSTEP> - - * tao/interp.cpp: - - - Win32 does not use "fixed" byte alignment. Fixed the - setup_entry macro to take this into account. - - - (declare_entry) Seperated the declaration of the structs from - their use. This is necessary for the VC++4.2 compiler. - - * tests/Cubit/TAO/DII_Cubit/svr.cpp (main): Commented out debug - message, since obj is not declared. - -Wed Nov 05 01:41:34 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.22, released Wed Nov 05 01:41:34 1997. - -Wed Nov 5 00:48:58 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Thruput_test/utils.cpp: Delete static definitions of - functions. - - * tests/Thruput_test/ttcpS.cpp: - * tests/Thruput_test/ttcpC.cpp (_duplicate): - * tests/Thruput_test/client.cpp (main): - * tests/Thruput_test/ttcp_i.cpp (sendStructSeq): - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: - * tests/Cubit/TAO/DII_Cubit/svr.cpp: Removed a couple of warnings - of unused and uninitialized variables. Included "ace/ACE.h" to - be able to have the _REENTRANT flag. - -Wed Nov 5 00:18:17 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_sequence.cpp: Added code to generate the missing - operator [] for sequences. - -Tue Nov 4 23:38:54 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/{server,client}/Makefile: Removed the - (evil) TAO_HAS_TSS_ORB_CORE flag. Now this functionality is - provided by svc.conf. - - * tests/Cubit/TAO/MT_Cubit/: Fixed the server code to use the new - IDL compiler generated code. - - * TAO/tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: Changed the - order of the initializers to remove g++ warnings, and added some - ACE_UNUSED_ARGs. Also removed the hand-crafted stubs, to make way - for the idl-compiler generated files. - -Tue Nov 4 23:21:29 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/clnt.cpp (main): - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (run): Changed the format of the - output to be more readable. Also, fixed resolution of the time for - the cube_struct_dii() call. - -Tue Nov 4 21:12:48 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/except.h: Removed print_exception(). It seems unnecessary - and pollutes the global namespace. - -Tue Nov 4 16:58:12 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * {tests/Cubit/TAO/DII_Cubit,tests/Cubit/TAO/IDL_Cubit, - tests/Cubit/TAO/MT_Cubit,tests/Demux_Test, - tests/Thruput_test}/Makefile: Added an explicit definition for - VBIN so that VxWorks can build properly. - - * tao/orb_core.*: Modified TAO_Resource_Factory so that it divides - the information that it tracks between pre-allocated resources and - resources which are allocated by the application. Specifically, - the orb and root poa pointers are in here (though it's possible - that when we move to a full POA implementation that the root poa - can be pre-allocated as well). These pointers are initialized to - zero and are given values by the TAO_ORB_Core instance writing - through back to the TAO_Resource_Factory instance. - - Also, this implementation reduced the number of singletons/TSS - singletons utilized by the resource factory. The initial - "get-it-working" cut used a singleton/tss singleton pair for every - resource, which was quite wasteful in environments such as NT that - don't have many TSS slots available. Perhaps if we get even more - clever this can be reduced even further. - - * tao/except.*: Added print_exception() function for backwards - compatibility. It simply calls - CORBA::Environment::print_exception(). - -Tue Nov 04 10:45:07 1997 <nw1@CHA-CHA> - - * TAO_IDL/fe/y.tab.cpp: Enclosed a #pragma ident with #if !defined - ACE_WIN32. Compilers other than SunCC might also need this. - -Tue Nov 4 13:47:26 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tests/Cubit/TAO/MT_Cubit: Modified the Makefiles in the - client and server directory so that they use the TAO IDL - compiler. Also added the clean and realclean targets. Updated the - server side cubit.idl because it was different from what the - client was using. - - * TAO_IDL compiler: Fixed the following problems - - (1) Removed the extra call to Release in the generated _narrow - method in be_interface.cpp - - (2) Used ACE_CORBA_1 (Object) instead of CORBA::Object in the - class declaration for interfaces - in be_interface.cpp - - (3) be_interface_fwd.cpp - var_impl had to be updated to generate - code that uses the ptr () method in the calls to _duplicate - - * TAO/tests/Cubit/TAO/IDL_Cubit: Fixed some outstanding issues and - made sure that it works. Updated the README file. - -Tue Nov 04 09:48:51 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/orb_core.i: disabled the ACE_Hash_Addr<ACE_INET_Addr>::hash_i () - template specialization on g++/VxWorks because g++ - cygnus-2.7.2-960126 can't handle it. - - * tao/except.h (line 118): removed backslash at end of comment line. - Some compilers complain about that. - - * tao/except.cpp (CORBA_SystemException): reordered initializers to - match declaration order. - - * TAO_IDL/Makefile: don't build the IDL compiler on VxWorks. - -Tue Nov 04 06:26:14 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/be/be_state.cpp: - It still generated fully qualified names for some sequences, - that will not work on NT. - -Tue Nov 04 05:32:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.21, released Tue Nov 04 05:32:44 1997. - -Tue Nov 4 04:42:17 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Thruput_test/server.cpp: - * tests/Thruput_test/client.cpp: - * tests/Thruput_test/ttcpS.cpp: - Fixed "print_exception" errors and errors due to some changes in - the orb compiler. - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (svc): Use unsigned - int for variable that is used for positive comparisons only. - -Tue Nov 04 01:00:51 1997 <nw1@COYOTE> - - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsw: Renamed former test.dsw - to IDL_Cubit.dsw. - - * tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: Renamed - executables for debug version to client.exe and server.exe on - NT. - - * tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsw: Renamed former test.dsw - to DII_Cubit.dsw. - - * tests/Cubit/TAO/DII_Cubit/{client,server}.dsp: Renamed - executables for debug version to client.exe and server.exe on - NT. - - * tests/Cubit/TAO/IDL_Cubit/Cubit.mak: Added cubit.idl into - makefile and its custom build settings. - - * tests/Cubit/TAO/MT_Cubit/MT_Cubit.dsw: Renamed former - MTCubit.dsw to MT_Cubit.dsw. - -Mon Nov 03 23:16:06 1997 <nw1@COYOTE> - - * TAO_IDL/ast/ast_expression.cpp (coerce_value): Added an explicit - cast (float) to avoid NT warnging messages. - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (svc): Removed - declaration of function print_exception. It's now a member - function of CORBA_Environment. - - * TAO_IDL/fe/y.tab.cpp: Commented out include <values.h>. This - was causing compilation errors on NT. - - * tests/Cubit/TAO/DII_Cubit/svr.cpp: - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: Changed to use the new - CORBA_Environment::print_exception. - - * tao/except.h (CORBA_Environment): Added ACE_Svc_Export to this - class. - - * tests/Cubit/TAO/MT_Cubit/MTCubit.dsw: - * tests/Cubit/TAO/MT_Cubit/client/client.dsp: - * tests/Cubit/TAO/MT_Cubit/server/server.dsp: - * tests/Cubit/TAO/IDL_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/server.dsp: - * tests/Cubit/TAO/IDL_Cubit/test.dsw: Added new workspace and - project files. - - * TAO_IDL/tao_idl.dsp: Moved the output executables to the usual - place. - - * TAO_IDL/be/be.h: Added #ifdef'ed pragma to diable warning 4250 - on NT. This is only temporary and should be fixed later. - - * TAO_IDL/be/be_union.cpp (gen_var_defn): - * TAO_IDL/be/be_structure.cpp (gen_var_defn): - * TAO_IDL/be/be_array.cpp (gen_var_defn): Removed unused local - variables declaration (s). - -Mon Nov 3 23:25:30 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL Compiler: Files be_sequence.cpp, be_typedef.cpp, - be_state.cpp: Lots of improvements to get sequences to - work. Support for sequences of strings or obj references is - limited. But for all other cases, this seems to be working fine. - - There were some unnecessary lines of code in be_state.cpp that - were giving rise to multiple declarations errors. These are - removed. - -Mon Nov 3 18:30:09 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (main): compare with - "!= 0" rather than "== -1" for errors. - - * tests/Cubit/TAO/IDL_Cubit/cubit.idl (enum discrim): Deleted - enumerations not used. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (please_exit): Fixed - unused variable. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.h (Cubit_Factory_i): - * tests/Cubit/TAO/IDL_Cubit/cubit_i.h (objrefs): Fixed invalid - comparison between a signed and unsigned variable. - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): Fixed comparison of - ">=" on an unsigned variable to compare only ">". - - * TAO_IDL/be/be_typedef.cpp (gen_client_stubs): Removed unused - variable warning. - - * TAO_IDL/fe/y.tab.cpp (yytoks): Added brackets to the array - of structures being initialized. - -Mon Nov 03 18:43:37 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/be/be_operation.cpp: - "Fixed" skeleton generation code. Sometimes the formal parameter - names for the skeleton can clash with the user defined names for - the (IDL) method parameter names. - To minimize the chances of such a problem I choose very long - parameter names for the skeleton (things like <_tao_enviroment> - instead of just <env>), but the right solution is to ignore the - user defined parameter names and generate them using some - numbering scheme. - - * TAO_IDL/be/be_predefined_type.cpp: - Generate CORBA::_tc_Object as the TypeCode for all pseudo - object, this is a hack but works for the files we are using - right now (maybe it will fail for complex things, like the - interface repository). - - * TAO_IDL/be/be_sequence.cpp: - Fixed a number of minor problems: - Missing _ptr type for sequences. - The return type for T_var::operator-> was different in the - .h and .i file. - - * TAO_IDL/be/be_type.cpp: - tc_name_ and type_name_ were not initialized, producing some - segfaults under NT. - -Mon Nov 3 13:45:54 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * {tao,TAO_IDL/util,TAO_IDL/narrow,TAO_IDL/fe,TAO_IDL/driver, - TAO_IDL/be,TAO_IDL/ast,Benchmark/benchmark}/Makefile (SHLIB): - Fixed definition so that the extension was(SOEXT) rather than - hard-coded to "so". This makes things compile on VxWorks better. - Thanks to David Levine for pointing this out. - -Sun Nov 02 19:42:08 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.20, released Sun Nov 02 19:42:08 1997. - -Sun Nov 2 19:20:57 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tao/except.*: Made the "print_exception" utility function - as a method of class Environment. - - * TAO/tao/giop.cpp: In the TAO_GIOP_Invocation::start method, we - were previously not returning even if the connection establishment - phase was failing. A return statement is inserted. However, there - still are problems when the GIOP_Invocation variable called "call" - goes out of scope. - - * TAO_IDL Compiler: be_interface.cpp - The _bind call now - generates a "char IOR" instead of "static char IOR" since the - latter will be problematic with multiple threads. Thanks to - Arturo Montes <mitosys@colomsat.net.co> for pointing that out. - - * TAO/test/Cubit/TAO/IDL_Cubit : Improved the code so that it uses - the "print_exception" which is now defined on class - CORBA::Environment. The clnt still needs improvement in terms of - handling invalid parameters and gracefully exiting. - - * IDL_Compiler: The bug resulting out of encoding object - references has been fixed atleast on Solaris using g++ as well as - SunCC. Changes made to be_operation.cpp and be_state.cpp such that - the return value for object references is always of type - CORBA::Object_ptr rather than the real interface type. In - addition, keeping in perspective the change that Irfan made and - described below (in encode.cpp), the Any that holds the result - *does not* own the value. In contrast, for the rest of the cases - the result (of type Any) owns the result. - - * be_sequence.cpp: Additional work in progress. Full changelog - entry will be available in the next commit. - -Fri Oct 31 22:20:06 1997 <irfan@TWOSTEP> - - * tao/encode.cpp (encode): Changed cast of data from - *(CORBA::Object_ptr *) to (CORBA::Object_ptr). - - * tao/default_server.cpp (parse_args): Manipulation of curarg was - all messed up. Fixed it such that it was not incremented - unnecessarily. - -Fri Oct 31 13:46:04 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/Options.html: Updated to specify new TAO_Resource_Factory - service and its options. - - * docs/releasenotes/orbcore.html: Updated to reflect recent work. - - * tao/orb_core.*: Added the acceptor and related members and - methods from CORBA_ORB. Made TAO_Resource_Factory a Service - Object so that it can be loaded via the Service Configurator. The - option to change its resources between global and thread-specific - is "-ORBresources global" and "-ORBresources tss", respectively. - - * tao/orbobj.*: Moved the acceptor and related members and methods - to TAO_ORB_Core. - - * tests/.../svc.conf: Added Resource Factory as a service. - - * tests/Cubit/TAO/{DII_Cubit,MT_Cubit}/cubitS.cpp, - tests/Thruput_test/ttcpS.cpp, tao/poa.cpp: Changed acceses that - used to go to CORBA_ORB::params() to go to TAO_ORB_Core::params(). - -Fri Oct 31 08:39:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL Compiler - Intermediate commit of all improved features. - - * be/be_type.* : Improved the nested_type_name method such that it - now takes an additional parameter called suffix that has a default - value of NULL. Carlos, Sergio, and myself independently found an - extremely bad piece of code that was getting generated that looked - like the following: - ACE_NESTED_CLASS (XXXX, YYYY)_ptr - - The new convention is to pass the suffix such as "_ptr", or "_var" - or "_out" to this method so that it can generate valid code of the - form: - ACE_NESTED_CLASS (XXXX, YYYY_ptr) - - * be/be_decl.cpp : All the methods such as repoID (), flatname - (), etc now check if the corresponding data member was created or - not. If they are not, the corresponding private method e.g., - compute_repoID (), are invoked. This way we do not have to call - all these private methods in the constructors of all the derived - be classes. The one compelling reason to do it this way is because - the "names" for certain types are not available at construction - time, e.g., sequences. A name to a sequence is assigned from the - context it is in i.e., whether it was a named sequence in the form - of a "typedef" statement or it was an anonymous sequence. - - As of this commit, all calls to such compute_* methods in the - constructors of all the derived be classes are commented out and - will eventually disappear in the next commit. - - * be/be_decl.cpp : One more change in be_decl.cpp is to add the - case for "interface_fwd" in the generation of the _var and _out - definitions and implementations. - - * be/be_helper.* : Added two new methods called "gen_ifdef_macro" - and "gen_endif". These are required to generate the #if !defined - (...) <code> #endif macros. These are very essential if the IDL - has forward declarations of interfaces. Forward declarations of - interfaces must generate a forward class declaration. In addition, - it has to typedef the "_ptr" type and define the "_var" and "_out" - types. However, the real "be_interface" class does this too which - can result in "multiple declarations" errors from the C++ - compiler. Hence we use this scheme. As in the case of the - nested_type_name method mentioned above, this method also takes a - default "suffix" parameter (= 0). This is required for the "_var", - "_ptr", and "_out" suffixes. - - * be/be_interface.cpp - be/be_interface_fwd.cpp: - - Used the TAO_OutStream::gen_ifdef_macro () and gen_endif methods - for the definitions of the _ptr, _var, and _out classes and their - implementations. - - *be/be_sequence.* : Lot of modifications and change in the design - in terms of handling the base types that themselves could be - sequences. Although the AST_Sequence i.e., OMG IDL does not define - a "sequence" to be a scope producing construct like structs or - unions, we choose to make "be_sequence" to be a scope producing - construct. This is no way alters the OMG IDL language because the - front-end is still the same. "be_sequence" was made to inherit - from scope because the sequence mapping gives rise to a C++ class - which is a scoping construct. This way, base types that turn out - to be anonymous sequences can be assigned a parent scope and their - name generation will fall in line with other classes. - - There are certain features missing with sequences at this commit - time, but this should reduce tweaking the generated code to a - large extent. - - * be/be_state.cpp: Update the code for handling sequences and - typedefs. Typedefs should be handled properly now. - - * All other *.cpp files: Either commented out the compute_* calls - in the constructors or removed them. - -Fri Oct 31 03:00:09 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orb_core.cpp: Moved call to connector's open() into init(), - thus insuring that it gets called only AFTER all the resources are - available from the Resource Factory. - - * tao/orb_core.*: Changed data members to be associations rather - than containment. This allows decoupling of the - "thread-specificness" of these resources from the - thread-specificness of the general TAO_ORB_Core container. Also - added set accessors for those resources. - - Added TAO_Resource_Factory class from which the TAO_ORB_Core - container initializes itself. For now this remains a singleton - which is, at compile-time, determined to be either TSS or not. - But, soon, it will be loaded via the Service Configurator and its - TSS nature determined at runtime. - - * tao/giop.h: Updated to use the new ACE macro - ACE_CLASS_IS_NAMESPACE. - - * tao/default_server.*: Implemented the new open() method so that - it initializes the Reactive and Threaded strategies from the - information in TAO_ORB_Core. - - * tao/server_factory.*: Added open() method to be called after all - ORB resources are loaded up. This method can then be used by a - strategy factory to further initialize its contained strategies if - they require handles to resources to which the ORB might legislate - access. The default implementation does nothing. - -Fri Oct 31 01:03:05 1997 <irfan@TWOSTEP> - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): obj was not declared. - Commented out use of obj in dmsg1. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (Cubit_Factory_i): - numobjs_ was used before it was assigned. - - * TAO/TAO_IDL/TAO_IDL.{mak,mdp}: Added VC++4.2 make files. - - * TAO_IDL/ast/ast_expression.cpp (dump): Streaming the enum was - ambiguous. Therefore the enum was cast to an int. - -Thu Oct 30 22:50:44 1997 Carlos O'Ryan <coryan@MILONGA> - - * tao/corba.h: - Added a definition for ACE_NESTED_CLASS, maybe it is defined in - some place else, but I couldn't find it. - - * TAO_IDL/be/be_interface.cpp: - Fixed the definition for skeleton destructors. - - * TAO_IDL/be/be_helper.cpp: - Added a lot of redundant ACE_OS::fflush() calls. Apparently we - have two FILE* or file descriptors over the same file, bt the - fflush hides the problem. - - * TAO_IDL/be/be_decl.cpp: - Fixed inconsistency between operator-> declaration and - definition for _out classes. - -Thu Oct 30 14:06:54 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * TAO_IDL/fe/Makefile: - Added an expression to the sed command in the rule to construct - lex.yy.cpp, that replaces ECHO with TAO_ECHO, because a - different ECHO macro is already defined in - /usr/include/sys/termios.h - - * TAO_IDL/fe/idl.ll: - Fixed some warnings about nested comments. - Changed the declaration of variable i to outside of - the 'for' initialization to avoid obsolete binding warnings. - - * TAO_IDL/be/be_interface_fwd.cpp (gen_client_header): - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable i. - - * TAO_IDL/be/be_constant.cpp (exprtype_to_string): - * TAO_IDL/util/utl_error.cpp (exprtype_to_string): - Added case statements to handle the rest of un-handled - enumerations from AST_Expression::ExprType. These will - handle a default value (i.e. NULL). Enumerations added are: - AST_Expression::EV_wstring - AST_Expression::EV_wchar - AST_Expression::EV_longdouble - AST_Expression::EV_ulonglong - AST_Expression::EV_longlong - -Thu Oct 30 09:56:41 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/giop.h: Added comments to TAO_GIOP class explicitly pointing - out its use as a namespace. Concurrently, I also scoped the CTOR, - Copy CTOR, and DTOR as 'private' so nobody can mistakenly - instantiate one of these puppies. - -Thu Oct 30 03:40:26 1997 <nw1@COYOTE> - - * tests/Cubit/TAO/DII_Cubit/client.dsp: - * tests/Cubit/TAO/DII_Cubit/server.dsp: Updated include files - path and libarary path. - - * tao/giop.cpp (close_connection): Use ACE_HANDLE instead of int. - -Thu Oct 30 02:53:20 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.19, released Thu Oct 30 02:53:20 1997. - -Thu Oct 30 02:20:21 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/IDL_Cubit: - Added more comments and changed the header to be ACE'ified. - Make output more consistent. - -Thu Oct 30 02:12:27 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> - - * tests/{TAO, Cubit}: Changed the directory heirarchy to the - following: tests/Cubit/TAO/ now contains all the Cubit examples, - i.e. IDL_Cubit, MT_Cubit and DII_Cubit, instead of tests/. Updated - the README and Makefiles to reflect this. DII_Cubit is the - handcrafted "original" Cubit example. - - * tests/Cubit/COOL: Added the COOL version of the Cubit test. The - COOL version is written for Chorus COOL version 4.1. - -Wed Oct 29 22:26:10 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tests/IDL_Cubit/clnt.cpp (init): Fixed the error handling so we - exit correctly when things go wrong. - - * tao/connect.cpp (open): Revised the code to use the new - ACE_LACKS_SOCKET_BUFSIZ to detect when this feature isn't - supported. - - * tao/{giop,connect}: Added a nifty typedef called TAO_SVC_HANDLER - to remove the drudgery of expanding the template each time. - - * tao: Changed the name of TAO_OA_Connection_Handler to - TAO_Server_Connection_Handler to be compliant with the - TAO_Client_Connection_Handler. - -Wed Oct 29 20:47:47 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/IDL_Cubit/clnt.cpp: - * tests/IDL_Cubit/clnt.h: - Cleaned up the code. Added ACE_Profile_Timer to time the calls. - Changed copyright header. Added more comments. - -Wed Oct 29 18:55:57 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/giop: Added "_"'s to the data members in - TAO_GIOP_Invocation. - - * tao/giop (send_request): Swaped the order of the parameters for - send_request() so that it would be consistent with recv_request. - - * tao/{connect,giop}: Changed read_message() to recv_request(), - and send_message() to send_request() since these things really - work on GIOP requests. - - * tao/{connect,giop}: Changed read_message() to recv_message(), - which is more like other parts of ACE. - - * tao/connect.cpp: Fixed the calls to read_message() and - send_message() so that they don't try to modify "this." - - * tao/giop: Changed the send_message() and read_message() in the - TAO_GIOP class to take ACE_Svc_Handler<ACE_SOCK_STREAM, - ACE_NULL_SYNCH> rather than TAO_Client_Connection_Handler. - -Wed Oct 29 17:53:12 1997 <irfan@CHA-CHA> - - * tao: Added TAO_HAS_TSS_ORB_CORE to tao and Cubit NT makefiles. - This probably needs to be added to the other NT makefiles. - - * tests/Cubit/TAO/svc.conf: Updated files to pass the correct - options to the factory. - -Wed Oct 29 16:07:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/giop.*: Changed most methods that took ACE_SOCK_Stream& - parameters to take TAO_Client_Connection_Handler*& parameters. - This makes it easier to clean up properly after errors. Also - #ifdef'd out seemingly unused code (TAO_GIOP::incoming_message). - Fixed call to ACE_Svc_Handler::idle() to not contain an argument. - - * docs/Options.html: Updated the documentation to reflect recent - changes. - -Wed Oct 29 15:59:30 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/IDL_Cubit/clnt.cpp: OO'ified the code. Added class - Cubit_Client. - * tests/IDL_Cubit/clnt.h: added this file to contain the class - definition. - -Wed Oct 29 11:01:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL compiler: be_type.cpp::nested_type_name: A quick commit - made that includes an improvement over the previous scheme of - generating ACE_NESTED_CLASS macros. We handle the problem of - generating fully scoped names for types that were defined in some - ancestor of the scope in which that type is being used. - - * Makefiles under TAO_IDL: Fixed a bug in the Makefiles under all - the subdirectories. This bug was reported by "ARTURO MONTES" - <mitosys@colomsat.net.co>. The bug was causing circular - dependencies on the libraru that was getting compiled. - -Wed Oct 29 06:17:36 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/default_server.cpp (parse_args): Must increase the loop - counter. - -Wed Oct 29 02:11:43 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.18, released Wed Oct 29 02:11:43 1997. - -Wed Oct 29 00:56:26 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/svc.conf: Updated documentation comments to - reflect factory option changes. - - * tao/orbobj.*: Wiped argvec_shift and all its bugs off the face - of the earth. Manojkumar Acharya <cvsf325.gpt.co.uk> should prove - to be very happy about this turn of events. :-) - - * tao/orbobj.cpp: Weeded out old, dead code here and there and - migrated much of what had been in ORB_init() into - TAO_ORB_Core::init(). - - * tao/orb_core.*: Added methods init() and fini() which perform - ORB Core-related initializations and cleanups, respectively. This - is all in anticipation of having a Unified Factory which provides - ORB Core as well as other information. Also began stubbing out - and migrating various data members and associated accessors so - that they are pointers rather than actual members. The next step - is to actually make them pointers and have everything get - initialized properly and deterministically and keep everything - working. - - * tao/{giop,orb_core}.cpp: Revised code due to recent changes in - ACE related to the Caching connector. - - * tao/default_server.{h,cpp} (parse_args): This method now uses - options of the style -ORBfoo rather than the previously-cryptic - single-letter options. This should allow us to eventually allow - this same routine to parse args from the command line as well as - inside the svc.conf file. The price we pay for consistency, - however, is verbosity to the point of insanity (e.g., - -ORBconcurrency...blech!) These options are briefly documented in - the method header as well as in subsequent svc.conf files. - - * tao/decode.cpp: Added some comments for arguments. - - * tao/connect.{h,cpp}: Moved Connector-related typedefs and - corresponding template instantiations into the proper - file--orb_core.*. - - * tao/orb_core.cpp (init): Moved much of what used to be - ORB_init() into here. Changed the manner in which objref style - was determined--it's no longer via a special ORB name but rather - by the -ORBobjrefstyle option which can have either the value - "IOR" or "URL" (default is URL). - -Tue Oct 28 21:15:36 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * build/SunOS5.5/TAO/tests/IDL_Cubit/clnt.cpp (main): Fixed the - code so that if you give incorrect parameters the program exits - cleanly, rather than segfaulting. - -Tue Oct 28 20:49:28 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/giop.cpp (start): NT Access Violation error, AGAIN! Added - codes to reset this->handler_ so that - ACE_Cached_Connect_Strategy won't complain. - -Tue Oct 28 19:19:05 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_state.cpp, be_union.cpp, be_struct.cpp}: Added code - that will generate the ACE_NESTED_CLASS macro - - *TAO_IDL/be/be_type.cpp: Implemented be_type::nexted_type_name - that will generate the ACE_NESTED_CLASS macro. However, this may - not be completely correct at this point because we want to see if - teh compiler fails for types defined in some ancestor and whose - fully scoped names are generated . - - * TAO_IDL/be/be_interface.cpp: Added code that will generate the - _bind call on the interface class. - - * TAO/tests/IDL_Cubit: Added the _bind call in clnt.cpp. Improved - the README file. - - *MAXNAMELEN : There was a clash with TAO_CodeGen::MAXNAMELEN. So - it has been substituted by NAMEBUFSIZE as a macro in be_codegen.h - -Mon Oct 27 22:22:22 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_decl.cpp: Added a ptr () function to the _var classes - hat returns the underlying ptr_ data member. This ptr () member - function is now used to pass a pointer type to constructor and - assignment operator from a T_var class. - - * TAO_IDL/be_state.cpp: Important changes related to generation of - return values of operations in the stubs. In addition, an & was - missing for passing string types. Some additional bugs arising out - of operations with void return type have been fixed. - - * ./tests/IDL_Cubit: This test has been modified to include a - factory interface that reads a key for the cubit object and - produces an obj reference for Cubit. In addition, a preliminary - version of the _bind call has been tested with IDL_Cubit. - - *MAXNAMELEN : Carlos informed me that MAXNAMELEN was a small - constant on some platforms. This has been changed to - TAO_CodeGen::MAXNAMELEN with a value of 100. - -Mon Oct 27 22:07:58 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_helper.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_typedef.cpp: - * TAO_IDL/be/be_union.cpp: - Set this->cli_stub_gen_ to I_TRUE once the code has been - emitted. - -Mon Oct 27 19:34:08 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_enum.cpp: - Set this->cli_stub_gen_ to I_TRUE at the end. - - * TAO_IDL/be/be_typedef.cpp: - Set the state to TAO_CodeGen::TAO_TYPEDEF_CH instead of just - struct. - -Mon Oct 27 15:22:24 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * TAO_IDL/be/be_state.cpp: - * TAO_IDL/be_include/be_codegen.h: - * TAO_IDL/be_include/be_factory.h: - * TAO_IDL/be_include/be_state.h: - * tao/iioporb.cpp: - * tao/marshal.cpp: - * tao/optable.cpp: - * tao/optable.h: - * tao/singletons.h: - The ACE_Singleton lock type needs to be changed from - ACE_SYNCH_MUTEX (or ACE_SYNCH_RW_MUTEX) ACE_SYNCH_RECURSIVE_MUTEX. - ACE handles those more efficiently for its singletons. Change - suggested by David Levine. - -Mon Oct 27 11:59:51 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbconf.h: Made it so _FAR is defined all the time. Thanks - to Manojkumar Acharya <cvsf325.gpt.co.uk> for reporting this. - -Sun Oct 26 22:18:01 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.17, released Sun Oct 26 22:18:01 1997. - -Sun Oct 26 17:53:25 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * {tao,tests}/Makefile: Commented out the TAO_HAS_TSS_ORBCORE in - these Makefiles since it is going away anyhow and is confusing... - - * tests/IDL_Cubit/svc.conf, - tests/Cubit/TAO/svc.conf: - Changed the default concurrency policy to be reactive so that - things work correctly if TAO_HAS_TSS_ORBCORE. Thanks to Sumedh - for pointing this out. - - * tao/orbobj.cpp (ORB_init): Put the TAO_DEFAULT_SERVER_PORT into - ACE's OS.h file and used it in TAO. - -Sun Oct 26 15:07:18 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/params.h: Eliminated forward decls of the now-defunct ROA - class. - - * tao/orb_core.h (TAO_DEFAULT_PORT): Added manifest constant for - default port. - - * tao/orbobj.cpp (ORB_init): Eliminated ugly anonymous constant - use for hbuf's size. Utilized manifest constant for default port. - - * tao/giop.cpp: Changed calls to - TAO_Client_Connection_Handler::in_use() to call the underlying - Svc_Handler::idle(). - - * tao/connect.{h,i}: Eliminated in_use() flags because they're no - longer needed with the new Strategy Connector. - - * tao/iioporb.cpp (string_to_object): Removed setting of the orb - in the underlying CORBA::Object because it's no longer there. - - * tao/object.{h,i} (CORBA_Object): Eliminated the pointer to an orb - within this object. This should help solve some problems in - passing object references across the wire. - - * tao/connect.cpp: Added template instantiations for - ACE_Hash_Map_Iterator to reflect Irfan's recent changes. - - * tests/IDL_Cubit/README: Updated documentation on the server to - reflect current reality. - -Sun Oct 26 01:01:32 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * tao/orbobj.cpp: Redid the template specialization of Hash_Addr - to account for the new changes. - -Sun Oct 26 01:05:36 1997 <nw1@COYOTE> - - * tao/corba.h: Changed from using Strategies_T.h to Strategies.h. - - * tao/connect.h: Removed a template argument form ACE_Hash_Addr. - Removed explicit instantiation of compare_i. - - * tao/connect.cpp: Removed a template argument from explicit - instantiation of ACE_Hash_Addr. - - * tests/Cubit/TAO/clnt.cpp (main): Added a simple class - ACE_Winsock_proper_shutdown here to shutdown winsock properly. - This class should be removed later once we figure out how to - close down winsock properly from ACE. - - * tests/Cubit/TAO/svc.conf: Changed the name of shared object from - libTAO to TAO. Added configuration lines for using debug - version of TAO library on NT. - -Sun Oct 26 01:47:04 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp (upcase): - * TAO_IDL/util/utl_string.cpp (canonicalize): - * TAO_IDL/be/be_decl.cpp (tc_name2long): - Added "unsigned" to index variable "i" used in for() loop, - to avoid warning "comparison between unsigned and signed" - - * TAO_IDL/be/be_decl.cpp (compute_flatname): - * TAO_IDL/be/be_decl.cpp (compute_repoID): - * TAO_IDL/be/be_interface.cpp (compute_fullskelname): - Fixed error "second - I_FALSE;", should be "second = I_FALSE;" - - * TAO_IDL/be/be_operation.cpp (gen_server_skeletons): - * TAO_IDL/be/be_state.cpp (gen_code): - Initialized pointers to 0 - - * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): - * TAO_IDL/be/be_operation.cpp (gen_server_header): - * TAO_IDL/be/be_operation.cpp (gen_client_header): - * TAO_IDL/be/be_decl.cpp (gen_out_defn): - * TAO_IDL/be/be_decl.cpp (gen_var_defn): - * TAO_IDL/be/be_scope.cpp (gen_client_header): - * TAO_IDL/be/be_state.cpp (gen_code): - * TAO_IDL/be/be_helper.cpp (operator<<): - * TAO_IDL/be/be_union.cpp (tc_encap_len): - * TAO_IDL/be/be_typedef.cpp (gen_client_stubs): - * TAO_IDL/be/be_string.cpp (gen_client_header): - * TAO_IDL/be/be_root.cpp (gen_idl2cplusplus_mapping): - * TAO_IDL/be/be_predefined_type.cpp (gen_typecode): - * TAO_IDL/be/be_interface.cpp (gen_client_stubs): - * TAO_IDL/be/be_interface.cpp (gen_server_skeletons): - * TAO_IDL/be/be_interface.cpp (gen_operation_table): - * TAO_IDL/be/be_interface.cpp (gen_server_inline): - * TAO_IDL/be/be_interface.cpp (tc_encap_len): - * TAO_IDL/be/be_field.cpp (gen_encapsulation): - * TAO_IDL/be/be_field.cpp (tc_encap_len): - * TAO_IDL/be/be_enum_val.cpp (gen_encapsulation): - * TAO_IDL/be/be_enum.cpp (tc_encap_len): - * TAO_IDL/be/be_constant.cpp (gen_client_header): - * TAO_IDL/be/be_constant.cpp (gen_client_stubs): - * TAO_IDL/be/be_argument.cpp (gen_client_header): - * TAO_IDL/be/be_argument.cpp (gen_client_stubs): - * TAO_IDL/be/be_argument.cpp (gen_server_header): - * TAO_IDL/be/be_argument.cpp (gen_server_skeletons): - * TAO_IDL/be/be_array.cpp (be_array): - * TAO_IDL/be/be_array.cpp (gen_client_header): - * TAO_IDL/be/be_array.cpp (gen_client_inline): - * TAO_IDL/be/be_array.cpp (gen_forany_defn): - * TAO_IDL/be/be_array.cpp (gen_forany_impl): - * TAO_IDL/util/utl_stack.cpp (push): - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable slen. - - * TAO_IDL/be_include/be_helper.h (class TAO_OutStream): - Made destructor virtual; we have virtual member functions. - - * TAO_IDL/be/be_codegen.cpp (TAO_CodeGen): - * TAO_IDL/be/be_decl.cpp (be_decl): - * TAO_IDL/util/utl_stack.cpp (UTL_ScopeStack): - * TAO_IDL/util/utl_scope.cpp (UTL_ScopeActiveIterator): - Reordered member initializers to match declaration order to - satisfy the compiler. - - * TAO_IDL/util/utl_scope.cpp (lookup_primitive_type): - Added "default" case to switch to return NULL. - - * TAO_IDL/util/utl_scope.cpp (add_attribute): - * TAO_IDL/util/utl_scope.cpp (add_operation): - * TAO_IDL/util/utl_scope.cpp (add_argument): - * TAO_IDL/util/utl_scope.cpp (add_union_branch): - * TAO_IDL/util/utl_scope.cpp (add_field): - * TAO_IDL/util/utl_scope.cpp (add_typedef): - * TAO_IDL/util/utl_scope.cpp (add_sequence): - * TAO_IDL/util/utl_scope.cpp (add_array): - Use 0 instead of NULL to initialize pointers in the - member initialization list, again to avoid ANSI C++ forbids - implicit (void *) conversions warnings. - -Sun Oct 26 01:01:32 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.16, released Sun Oct 26 01:01:32 1997. - -Sun Oct 26 00:32:29 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * TAO/TAO_IDL/fe/idl.ll: Reverted a change that Carlos had - overwritten. I guess he's not getting enough sleep these - days... ;-) - -Sun Oct 26 00:31:38 1997 <irfan@TWOSTEP> - - * tao/orb_core.i (hash_i): Redid the specialization in view of the - new changes. - -Sat Oct 25 18:14:14 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp (be_interface): Worked around a - nasty MSVC++ compiler bug that doesn't like CORBA::Object - (object_ptr). So we use an existing ACE macro for this. - - * TAO_IDL/be/be_interface.cpp (be_interface): Fixed yet another - round of uninitialized data members. It is clear that the - original authors of this code wouldn't pass my ugrad programming - course... - - * TAO_IDL/fe/idl.ll (idl_parse_line_and_file): Had to make a minor - change to skip over the #line directive from Microsoft. In - addition, had to add some code to put Microsoft-style pathnames - into a canonical form (i.e., replacing = '\\' with '\'). Thanks - to Darrell for helping with this. - - * TAO_IDL/fe/idl.ll: Added a new rule to handle the fact - that the Microsoft C++ preprocessor generates tags of the - form - - #line 1 "bar.idl" - - rather than - - #1 "bar.idl" - - which is what UNIX C++ compilers seem to do. - - * TAO_IDL/be/be_decl.cpp (compute_fullname, compute_flatname): - Fixed a nasty bug where the original author thought new always - returned 0'd memory... Sheesh! - - * TAO_IDL/driver/drv_preproc.cpp: Changed fd < 0 to fd == - ACE_INVALID_HANDLE to be more portable. - - * TAO_IDL/be/be_decl.cpp (be_decl): There were two fields, - flatname_ and repoID_, that weren't given initial values of 0. - Thanks to Purify for finding this! - - * TAO_IDL/fe/idl.{yy,ll}: Replaced all uses of type names <name> - (e.g., FLOAT) with IDL_<name> (e.g., IDL_FLOAT) so that the code - won't bomb on lame systems like NT that typedef basic types to all - capitals (e.g., typedef float FLOAT). - -Sat Oct 25 22:28:42 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/fe/idl.ll: Since yytext may be an "unsigned char*" under - HP-UX they define an "alias" __yytext. This hack fails miserably - when using flex, since then the yytext thing can change on the - fly. I use an inline function instead. Added support for #line - preprocessor directives. - - * TAO_IDL/driver/drv_preproc.cpp: Documented some of my changes - for NT, namely the fact that unlinking the output file while - still open causes the parsing to fail on NT. - - * TAO_IDL/tao_idl.dsp: Added new folders for source files, header - files, template files, etc. I modelled this based on the ACE - project files. - -Sat Oct 25 22:05:43 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * TAO_IDL/ast/ast_constant.cpp (exprtype_to_string): - Added case statements to handle the rest of un-handled - enumerations from AST_Expression::ExprType. These will - handle a default value (i.e. the same case as - AST_Expression::EV_none). - - * TAO_IDL/ast/ast_expression.cpp (operator==): - * TAO_IDL/ast/ast_expression.cpp (compare): - Make the default return value I_FALSE instead of NULL which - was giving "lacks a cast" warning. - - * TAO_IDL/ast/ast_expression.cpp (fill_definition_details): - Use 0 instead of NULL to initialize pointers in the - member initialization list, again to avoid ANSI C++ forbids - implicit (void *) conversions warnings. - - * TAO_IDL/ast/ast_expression.cpp (eval_symbol): - Initialized pointers to 0. - -Sat Oct 25 17:45:17 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp: Fixed the same bug that Sumedh - fixed. In addition, ACEified the calls to strcat and strcmp in - that file. - - * TAO_IDL/fe/idl.ll: Used %array in the defintion section so that - flex uses yytext as an array of characters rather than pointer to - char. The pointer case was resulting in a segmentation fault due - to lack of memory allocation for the yytext variable. However, we - choose to use the array approach to be compatile with "lex" - behavior. - -Sat Oct 25 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp: Fixed proper tmp filename - creation. - -Sat Oct 25 14:14:53 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/tao_idl.dsw: - * TAO_IDL/tao_idl.dsp: - Added a MSVC++ project file for the IDL compiler, needs several - revisions byt the NT experts before shipping, but it has served - me well. - - * TAO_IDL/driver/drv_fork.cpp: - * TAO_IDL/driver/drv_preproc.cpp: - We use ACE components to fork&exec subprocesses, get the default - TMP directory and generate protable pathnames. - In one case the mapping to NT is not clear: the use case is fork - to get a "fresh" copy of the process and provide a unit of - protection for the parent; this feature is only used if more - than one IDL file is compiled at the same time. - - * TAO_IDL/be/be_decl.cpp: - Fixed minor bug, it said "second - I_FALSE;", it should be - "second = I_FALSE - - * TAO_IDL/ast/ast_argument.cpp: - * TAO_IDL/ast/ast_array.cpp: - * TAO_IDL/ast/ast_attribute.cpp: - * TAO_IDL/ast/ast_check.cpp: - * TAO_IDL/ast/ast_concrete_type.cpp: - * TAO_IDL/ast/ast_constant.cpp: - * TAO_IDL/ast/ast_decl.cpp: - * TAO_IDL/ast/ast_enum.cpp: - * TAO_IDL/ast/ast_enum_val.cpp: - * TAO_IDL/ast/ast_exception.cpp: - * TAO_IDL/ast/ast_expression.cpp: - * TAO_IDL/ast/ast_field.cpp: - * TAO_IDL/ast/ast_generator.cpp: - * TAO_IDL/ast/ast_interface.cpp: - * TAO_IDL/ast/ast_interface_fwd.cpp: - * TAO_IDL/ast/ast_module.cpp: - * TAO_IDL/ast/ast_operation.cpp: - * TAO_IDL/ast/ast_predefined_type.cpp: - * TAO_IDL/ast/ast_recursive.cpp: - * TAO_IDL/ast/ast_redef.cpp: - * TAO_IDL/ast/ast_root.cpp: - * TAO_IDL/ast/ast_sequence.cpp: - * TAO_IDL/ast/ast_string.cpp: - * TAO_IDL/ast/ast_structure.cpp: - * TAO_IDL/ast/ast_type.cpp: - * TAO_IDL/ast/ast_union.cpp: - * TAO_IDL/ast/ast_union_branch.cpp: - * TAO_IDL/ast/ast_union_label.cpp: - * TAO_IDL/be/be_args.cpp: - * TAO_IDL/be/be_constant.cpp: - * TAO_IDL/be/be_generator.cpp: - * TAO_IDL/be/be_init.cpp: - * TAO_IDL/be/be_produce.cpp: - * TAO_IDL/be_include/be.h: - * TAO_IDL/be_include/be_generator.h: - * TAO_IDL/driver/drv_args.cpp: - * TAO_IDL/driver/drv_fork.cpp: - * TAO_IDL/driver/drv_init.cpp: - * TAO_IDL/driver/drv_main.cpp: - * TAO_IDL/driver/drv_preproc.cpp: - * TAO_IDL/driver/drv_private.cpp: - * TAO_IDL/fe/fe_declarator.cpp: - * TAO_IDL/fe/fe_extern.cpp: - * TAO_IDL/fe/fe_init.cpp: - * TAO_IDL/fe/fe_interface_header.cpp: - * TAO_IDL/fe/fe_private.cpp: - * TAO_IDL/fe/lex.yy.cpp: - * TAO_IDL/fe/y.tab.cpp: - * TAO_IDL/include/ast.h: - * TAO_IDL/include/ast_argument.h: - * TAO_IDL/include/ast_array.h: - * TAO_IDL/include/ast_attribute.h: - * TAO_IDL/include/ast_concrete_type.h: - * TAO_IDL/include/ast_constant.h: - * TAO_IDL/include/ast_decl.h: - * TAO_IDL/include/ast_enum.h: - * TAO_IDL/include/ast_enum_val.h: - * TAO_IDL/include/ast_exception.h: - * TAO_IDL/include/ast_expression.h: - * TAO_IDL/include/ast_extern.h: - * TAO_IDL/include/ast_field.h: - * TAO_IDL/include/ast_generator.h: - * TAO_IDL/include/ast_interface.h: - * TAO_IDL/include/ast_interface_fwd.h: - * TAO_IDL/include/ast_module.h: - * TAO_IDL/include/ast_operation.h: - * TAO_IDL/include/ast_predefined_type.h: - * TAO_IDL/include/ast_root.h: - * TAO_IDL/include/ast_sequence.h: - * TAO_IDL/include/ast_string.h: - * TAO_IDL/include/ast_structure.h: - * TAO_IDL/include/ast_type.h: - * TAO_IDL/include/ast_typedef.h: - * TAO_IDL/include/ast_union.h: - * TAO_IDL/include/ast_union_branch.h: - * TAO_IDL/include/ast_union_label.h: - * TAO_IDL/include/be_extern.h: - * TAO_IDL/include/drv_extern.h: - * TAO_IDL/include/drv_private.h: - * TAO_IDL/include/fe_declarator.h: - * TAO_IDL/include/fe_extern.h: - * TAO_IDL/include/fe_interface_header.h: - * TAO_IDL/include/fe_private.h: - * TAO_IDL/include/global_extern.h: - * TAO_IDL/include/idl.h: - * TAO_IDL/include/idl_bool.h: - * TAO_IDL/include/idl_defines.h: - * TAO_IDL/include/idl_extern.h: - * TAO_IDL/include/idl_fwd.h: - * TAO_IDL/include/idl_global.h: - * TAO_IDL/include/idl_narrow.h: - * TAO_IDL/include/intlmacros.h: - * TAO_IDL/include/nr_extern.h: - * TAO_IDL/include/util.h: - * TAO_IDL/include/utl_decllist.h: - * TAO_IDL/include/utl_error.h: - * TAO_IDL/include/utl_exceptlist.h: - * TAO_IDL/include/utl_exprlist.h: - * TAO_IDL/include/utl_identifier.h: - * TAO_IDL/include/utl_idlist.h: - * TAO_IDL/include/utl_indenter.h: - * TAO_IDL/include/utl_labellist.h: - * TAO_IDL/include/utl_list.h: - * TAO_IDL/include/utl_namelist.h: - * TAO_IDL/include/utl_scope.h: - * TAO_IDL/include/utl_scoped_name.h: - * TAO_IDL/include/utl_stack.h: - * TAO_IDL/include/utl_string.h: - * TAO_IDL/include/utl_strlist.h: - * TAO_IDL/include/utl_tmpl/utl_decllist.h: - * TAO_IDL/include/utl_tmpl/utl_exceptlist.h: - * TAO_IDL/include/utl_tmpl/utl_exprlist.h: - * TAO_IDL/include/utl_tmpl/utl_idlist.h: - * TAO_IDL/include/utl_tmpl/utl_labellist.h: - * TAO_IDL/include/utl_tmpl/utl_list.h: - * TAO_IDL/include/utl_tmpl/utl_namelist.h: - * TAO_IDL/include/utl_tmpl/utl_strlist.h: - * TAO_IDL/narrow/narrow.cpp: - * TAO_IDL/util/utl_decllist.cpp: - * TAO_IDL/util/utl_error.cpp: - * TAO_IDL/util/utl_exceptlist.cpp: - * TAO_IDL/util/utl_exprlist.cpp: - * TAO_IDL/util/utl_global.cpp: - * TAO_IDL/util/utl_identifier.cpp: - * TAO_IDL/util/utl_idlist.cpp: - * TAO_IDL/util/utl_indenter.cpp: - * TAO_IDL/util/utl_labellist.cpp: - * TAO_IDL/util/utl_list.cpp: - * TAO_IDL/util/utl_namelist.cpp: - * TAO_IDL/util/utl_scope.cpp: - * TAO_IDL/util/utl_stack.cpp: - * TAO_IDL/util/utl_string.cpp: - * TAO_IDL/util/utl_strlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_decllist.cpp: - * TAO_IDL/util/utl_tmpl/utl_exceptlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_exprlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_idlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_labellist.cpp: - * TAO_IDL/util/utl_tmpl/utl_list.cpp: - * TAO_IDL/util/utl_tmpl/utl_namelist.cpp: - * TAO_IDL/util/utl_tmpl/utl_strlist.cpp: - Removed a *big* number of warnings, in an attempt to surface - real problems. The main one was "#pragma ident" and some unused - variables. - -Sat Oct 25 06:22:03 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/fe/idl.yy: I got errors parsing the idl.yy thru - bison. There were errors indicating "type clash on default action". - - This had to do with the fact that the non-terminal "type_dcl" did not - have any type defined for it, but it had "struct_type", "union_type" - and others on the right-hand side of the rules. The default action of - YACC is supposed to assign1 to. So the type for "struct_type" - that happened to be a AST_Decl node was getting assigned to the - non-terminal "type_dcl" who had no type. - - I am very surprised that the "yacc" on our Sparcs never ever gave this - error, but bison did. - - Hence I have modified idl.yy slightly so that I have {$$ = 0;} as the - default action. In addition, the non-terminal "type_dcl" is now - defined to be of type "ival" which is defined as long inside the - %union clause. - - Above all, the bison generated files required some prototypes. So I - had to add the following to idl.yy in the declarations section. - - int yylex (void); - void yyerror (char *); - extern "C" yywrap (void); - - Somehow, this yywrap had to be under extern "C". I don't know why the - others need not be under extern "C". - - -Sat Oct 25 00:05:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.15, released Sat Oct 25 00:05:05 1997. - -Sat Oct 25 02:46:05 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * TAO_IDL/fe/Makefile: - Changed the YACC variable to use the bison compiler. - Added "-y" to YFLAGS to make bison generate output files like yacc. - Changed the LEX variable to use the flex parser instead of lex. - These programs generate code that has less warnings and is better - code in general. - Added "-D_REENTRANT" to CPPFLAGS, to be able to eliminate the warnings - in lex.yy.cpp. This could also be fixed if we include "ace/ACE.h" at - the beginning of lex.yy.cpp, but this file is generated with flex. - - * TAO_IDL/fe/idl.yy: - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable "AST_Decl *v". - - * TAO_IDL/fe/idl.ll (idl_atof): - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable f and h. - - * TAO_IDL/include/idl.h: - Added include file "ace/ACE.h". This was necessary to eliminate - warnings of implicit declarations, which were because the _REENTRANT - flag was not defined. - - * TAO_IDL/ast/ast_operation.cpp (AST_Operation): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/ast/ast_operation.cpp (fe_add_exceptions): - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable fs. - - * TAO_IDL/ast/ast_interface.cpp (AST_Interface): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/ast/ast_expression.cpp (operator==): - * TAO_IDL/ast/ast_expression.cpp (coerce): - * TAO_IDL/ast/ast_expression.cpp (coerce_value): - * TAO_IDL/ast/ast_expression.cpp (compare): - * TAO_IDL/ast/ast_expression.cpp (dump_expr_val): - Added case statements to handle the rest of un-handled - enumerations from AST_Expression::ExprType. These will - handle a default value (i.e. the same case as - AST_Expression::EV_none). Enumerations added are: - AST_Expression::EV_wstring - AST_Expression::EV_wchar - AST_Expression::EV_longdouble - AST_Expression::EV_ulonglong - AST_Expression::EV_longlong - - * TAO_IDL/ast/ast_expression.cpp (AST_Expression): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/ast/ast_decl.cpp (AST_Decl): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - Also, use 0 instead of NULL to initialize pointers in the - member initialization list, again to avoid ANSI C++ forbids - implicit (void *) conversions warnings. - - * TAO_IDL/ast/ast_array.cpp (dump): - Added "unsigned" to index variable "i" used in for() loop, - to avoid warning "comparison between unsigned and signed" - - * TAO_IDL/ast/ast_array.cpp (compute_dims): - Added "unsigned" to index variable "i" used in for() loop, - to avoid warning "comparison between unsigned and signed" - - * TAO_IDL/ast/ast_array.cpp (AST_Array): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/fe/fe_declarator.cpp (FE_Declarator): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/driver/drv_main.cpp (DRV_drive): - Added ACE_UNUSED_ARG macro to avoid unused variable warning. - - * TAO_IDL/ast/ast_recursive.cpp (AST_illegal_recursive_type): - Initialized pointer variables to avoid warnings. - -Fri Oct 24 19:18:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao: Changed remaining uses of BOA to POA. - - * cubit_i.cpp (please_exit): Replaced the call to - please_shutdown() on the POA (which no longer exists) with the - shutdown() call on the ORB. - - * tests/IDL_Cubit/svr.cpp: Removed - - oa_ptr->clean_shutdown (env); - - since this is no longer supported in TAO's POA. - - * tao/poa.h: Changed the get_boa() method to get_poa(). Even this - will probably go away soon. - -Fri Oct 24 18:25:00 1997 Aniruddha Gokhale <gokhale@flamenco.cs.wustl.edu> - - * TAO/tao/svrrqst.cpp: Method params was allocating memory even - when the Any's already had memory allocated for the IN and INOUT - parameters. Due to this the params would retrieve results in the - allocated storage whereas the stubs/skeletons would continue to - use variables that they had defined to hold the values. - -Fri Oct 24 17:33:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/poa.*: #ifdef'd out the IIOP 1.4 references to shutdown. - I'm leaving them in there right now because they might be useful - as private member later when we need to figure out how to get OAs - to cooperate and shut themselves down in the face of an ORB - shutdown. - - * tao/orbobj.h (shutdown): Fixed up documentation. - - * tao/orbobj.i (shutdown): Provided appropriate arg default. - - * tests/Cubit/TAO/svr.cpp: Eliminated unnecessary Object Adapter - name from POA_init() invocation. - - * tests/Cubit/TAO/cubit_i.cpp (Cubit_please_exit): Revised to use - the new ORB::shutdown() method. - - * tests/Cubit/TAO/clnt.cpp: Got rid of IIOP 1.4-style debug - message calls. - - * tao/orbobj.cpp (CORBA_ORB::ORB_init): Corrected a heinous - problem in the option parsing loop where argvec_shift() would be - asked to shift two argv elements when there was only one. This - could cause problems if an option that required an argument didn't - include the argument. Thanks to Manojkumar Acharya - <cvsf325.gpt.co.uk> for sending in a bug report that lead to my - finding this! - -Fri Oct 24 14:08:12 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * Improved the compiler to make Unions work. The most subtle error - was the way the private section of the class for unions was being - generated. TAO's Typecode library expected the union members to be - inside of a C++ union declaration inside the private - section. Whereas the compiler was generating each member - separately. - - Another source of error was bad typecode tables getting - generated. This is now fixed. - - * TAO/tests/IDL_Cubit: The cubit_i.cpp for cube_union was doing - wrong calculations for structs. This was due to my copy-paste - tendency and not verifying if it was correct or not. This has been - fixed. The README file is updated to reflect the fact that this - directory contains code that uses the IDL compiler. - -Fri Oct 24 01:54:00 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.14, released Fri Oct 24 01:54:00 1997. - -Fri Oct 24 01:02:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * clnt.cpp: Removed mysterious obsolete definitions of - cube_union_stub() and cube_union_dii(). - - * be_state.h: Added definitions for the methods in class - be_state_attribute. For some reason, they were missing. - - * TAO_IDL/be/be_state.cpp: Added the necessary template - specializations so that the TAO IDL compiler will work with GCC. - -Thu Oct 23 22:46:10 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO IDL Compiler: More progress in terms of getting the Cubit - example to work with the IDL generated code. However, we are still - finding some problems with using the client-side cubit_union_dii - to work properly. - - Much of the improvements were to the server-side skeletons for - operations. In addition, code for union constructors, assignment - operator, and accessor for discriminant added. - - Some bugs in typecode generation are fixed. This had to do with - the encapsulation length for predefined types. It was returning -1 - as opposed to 0. - - * TAO/tests/IDL_Cubit: Added this directory with the cubit - example. Use this to test the IDL compiler. The makefile will - invoke the IDL compiler to create the required files. - -Thu Oct 23 18:34:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/*/Makefile: Fixed the Makefiles so that it has the correct - files and dependencies. Thanks to Steven Wohlever - <wohlever@mitre.org> for reporting this. - -Wed Oct 22 20:02:39 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * README.sun: Added an explicit reminder at the top that the - information in this file is historical in nature and does not - necessarily apply to current reality. - - * tao/orbobj.* (shutdown): Added code to the run() event loop so - that it will terminate when it finds a flag set. This involved - adding the flag to the ORB's state and minimally implementing the - shutdown() method. The shutdown method still does not honor the - "wait for completion" flag which can be passed to it, though. - - * README: Updated the season from "summer" to "Fall" ;-) Also - added a note that warned people not to try to link TAO with a - version of ACE that's linked with another ORB library, e.g., - liborbix.so. Thanks to Steven Wohlever <wohlever@mitre.org> for - bringing this instructional omission to our attention. - - * tao/tao_internals.cpp (fake_service_entries_i): Made the body of - this function conditional on the TAO_PLATFORM_SVC_CONF_FILE_NOTSUP - preprocessor definition since it doesn't need to exist in - platforms that grok the Service Configurator. This will also - reduce the memory footprint :-). Thanks to David Miron - <dxm@crapper.dsto.defence.gov.au> for pointing this out! - - * tao/orb_core.cpp (TAO_ORB_Core): Removed explicit CTOR - initialization of reactor_ member. - -Wed Oct 22 19:37:22 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO IDL Compiler: Improvements made so that the server-side - skeletons for operations now generate valid code. The code - generated for the Cubit.idl was compiling cleanly. It is under - test currently to see if it runs. - - * Some progress in handling forward declarations of interfaces. - -Wed Oct 22 12:55:19 1997 <nw1@CHA-CHA> - - * tao/poa.h: Added ACE_Svc_Export to class CORBA_POA. - - * tao/TAO.{mdp,mak}: Updated files in project file. - - * tao/TAO.dsp: Removed boa, Orb_Core and added poa, orb_core to - the project file. - -Tue Oct 21 17:21:51 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/releasenotes/orbcore.html: Updated to reflect daily - progress. - - * tests/Cubit/TAO/Makefile: Updated dependencies. - - * tests/Cubit/TAO/svc.conf: Updated to eliminate empty quotes at - the end that tickled a deficiency in the Service Configurator's - grammar. - - * tests/multiCubit/svr.cpp: Updated to reflect POA_init change. - - * tests/Thruput_test/Makefile: Modified to reflect filename - changes. - - * tests/Thruput_test/server.cpp: Changed type of argv so that it - matched properly. - - * tao/boa.*: Renamed to tao/poa.*. - - * tao/Orb_Core.*: Renamed to tao/orb_core.*. - - * tao/{Makefile,corba.h,default_client.cpp,default_server.cpp,orb.h,orbobj.cpp,params.h}: - Modified to reflect filename changes. - -Tue Oct 21 13:23:48 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/connect.i: Moved hash_i and compare_i template - specialization to Orb_Core.i. Original code was left comment - out until this mod is checked on all platforms. - - * tao/Orb_Core.i: Added hash_i and compare_i code from connect.i. - -Tue Oct 21 03:23:29 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/Orb_Core.cpp: Removed conditional inclusion of Orb_Core.i - since, according to corba.h, it is always included as an inline - function file. - -Tue Oct 21 02:24:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.13, released Tue Oct 21 02:24:14 1997. - -Mon Oct 20 23:42:48 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * TAO/boa: Changed BOA_init() to POA_init() to be - more consistent... - - * TAO_IDL/be/be_interface.cpp, - tests/TAO/Thruput_test/server.cpp, - tests/TAO/Thruput_test/ttcpS.cpp, - tests/TAO/RT_test/Task_Client.cpp, - tests/TAO/RT_test/cubit_impl.cpp, - tests/TAO/multiCubit/cubitS.cpp, - tests/TAO/multiCubit/svr.cpp, - tests/TAO/Demux_Test/server.cpp, - tests/TAO/Demux_Test/CodeGen/skel.cpp, - tests/TAO/MT-Cubit/client/Task_Client.cpp, - tests/TAO/MT-Cubit/server/cubitS.cpp, - tests/TAO/MT-Cubit/server/svr.cpp, - tests/TAO/cubitS.cpp, - tests/TAO/svr.cpp, - tests/TAO/test1_svr.cpp: Changed BOA to POA to reflect the - new naming conventions. - - * tao/stub.i (STUB_Object): Removed a stray default value from the - STUB_Object constructor... Thanks to Carlos for noticing this. - -MOn Oct 20 10:14:09 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * Improved version of the TAO IDL compiler. The executable has - been renamed to tao_idl. There are a number of improvements as - well as shortcomings. These are explained in the - docs/releasenotes/index.html page, which can be viewed online at - http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/releasenotes/. - -Mon Oct 20 16:30:29 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/tao_internals.cpp (fake_service_entries_i): Based the - arguments to the faked server service entry for VxWorks on the - TAO_HAS_TSS_ORBCORE compilation flag. This should hopefully - eliminate the problems Boeing was seeing in the early rounds of - testing the most recent release of TAO. - - * tao/{iiopobj.*,giop.h}: Moved a lock that had been in - TAO_GIOP_Invocation (why? I don't know) into IIOP_Object. It - protects the fwd_profile_ pointer, which has now become private. - Also added accessors for the data member as well as the lock. - Accessors come in two flavors--thead-safe (fwd_profile()) and - non-thread-safe (fwd_profile_i()). The non-thread-safe variety - expect that the lock will be taken and held for the duration of - their usage, but no checking is performed in this respect. - - * tao/giop.cpp: Changed references to the IIOP_Object::fwd_profile - data member to go through the new accessors (see above). - - * tao/stub.i: Created new file with inline methods for - STUB_Object. - - * tao/stub.h: Moved inline method definitions into a new - file--stub.i. - - * tao/orbobj.cpp (BOA_init): Eliminated dead code and unused - variable. - - * tao/except.cpp (print_exception): Eliminated unused argument - warning detected by gcc. - - * tao/corba.h: Re-ordered inclusion of Orb_Core.i to eliminate - 'function used before declared inline' errors detected by gcc. - - * tao/{Orb_Core,boa,corbacom,orb,orbobj,svrrqst}.*: Renamed BOA to - POA. - - * docs/releasenotes*: Moved releasenotes.html into a directory - named "releasenotes" so that the various status pages can live - independently. Currently only the ORB Core's status page is - broken out, but the documentation should eventually turn into two - frames with the one at the top acting as the guide and the lower - frame being the actual status document. - -Fri Oct 17 17:42:27 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/releasenotes.html: Updated to reflect current status. - - * tao/orbobj.*: Added some documentation for open() method. - - * tao/roa.*: Gone. Bye-bye. Removed. - -Fri Oct 17 15:43:04 1997 <nw1@CHA-CHA> - - * tao/connect.h: Added template instantiation supression directive - for Win32. VC was complaining about duplicate symbols definition. - -Fri Oct 17 06:25:23 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/{boa,roa}.*: Merged class ROA into class - CORBA_BOA. Hopefully everything still works ;-) - - * docs/releasenotes.html: Quick update for new TODO list. Will be - updated within the next day or so with dates, too. - - * tao/{server_factory,orbobj,Orb_Core}.cpp: Corrected incorrect - explicit template instantiations and added missing ones. - -Thu Oct 16 23:48:04 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.12, released Thu Oct 16 23:48:04 1997. - -Thu Oct 16 11:15:00 1997 Brian R. Mendel <brian.r.mendel@boeing.com> - - * tao/server_factory.cpp: Added instantiation pragma for VxWorks for - ACE_Acceptor. Added the template to the specialization section, also. - - * tao/orbobj.cpp: Added instantiation pragma for VxWorks for - ACE_Cached_Connect_Strategy and ACE_Hash_Map_Manager for - ACE_Null_Mutex instantiations. Also, added these to the template - specialization sections. - - * tests/Cubit/Build/default.bld: Added TAO_PLATFORM_SVC_CONF_FILE_NOTSUP - to defines section of GHS build file. - -Tue Oct 14 21:11:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/xdr.h: Changed int _fd to ACE_HANDLE _fd to work on NT. - Thanks to Satheesh Kumar <satheesh@aspectdv.com> for reporting - this. - -Tue Oct 14 02:48:21 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.11, released Tue Oct 14 02:48:21 1997. - -Mon Oct 13 23:30:16 1997 <irfan@TWOSTEP> - - * tao/connect.h: If we are using TSS, there is no reason to use - locking in the connector. Therefore, I added a new typedef that - defines the type of lock that should be used for the - cached_connect_strategy. It is ACE_SYNCH_RW_MUTEX in the - non-TSS case, and ACE_SYNCH_NULL_MUTEX in the TSS case. - -Mon Oct 13 21:34:00 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/svrrqst.cpp (oa): Cleaned up the coding style a bit. - -Sun Oct 12 15:38:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/client_factory: Gutted the client factory code related to - the Strategy_Connector so that it's either in the TAO_Orb_Core. - - * tao/default_client.h: Removed the connector() from the - Default_Client_Factory entirely since it's all been put into the - TAO_ORB_Core now. - - * tao/giop.cpp (start): Hacked up the code so that we extract our - connector from thread-specific storage if we're using the - thread-per-rate concurrency model. This needs to be integrated - more cleverly in the ORB. - - * tao/orbobj.h: Put an instance of the TAO_CONNECTOR into each - TAO_ORB_Core object so that we don't have to share these things - among all of the threads in a process, but instead can have them - be located in thread-specific storage. - - * tao/orbobj.cpp (perform_work): Updated the run() and - perform_work() methods to take optional ACE_Time_Value *'s (so - they can return from timeouts) and to return error flags if - things go wrong. - - * tao/orbobj.h (CORBA_ORB): Changed the set_up_for_listening() - call to open(), which is more consistent with other usage in - ACE/TAO. - - * tao/orbobj: Changed the name client_acceptor_ to peer_acceptor_ - to reflect the fact that the connection model is more generic - than the notion of client/server interactions (which really take - place as the result of particular communication roles). - - * tao/corba.h: Moved the order of #includes around so that - "connect.h" is included before "client_factory.h" - - * tao/connect.h: Moved the typedef of the ACE_Strategy_Connector<> - from the TAO_Client_Strategy_Factory into the global space and - renamed it TAO_CONNECTOR file so that it will be equivalent with - the TAO_ACCEPTOR. - -Thu Oct 9 23:17:37 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> - - * tao/giop.cpp (invoke): If an error occurs, make sure to mark the - handler_ as no longer being in use before we set it to 0. - - * tao/giop.cpp (TAO_GIOP_Invocation): We need to make sure that - handler_ isn't 0 before we mark it as no longer being in use. - -Thu Oct 9 11:33:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/giop.cpp: - There was a minor sintax error. - -Tue Oct 07 09:34:35 1997 <brian.r.mendel@boeing.com> - - * tao/Orb_Core.h{cpp}: Added ACE_Svc_Export label to global - TAO_ORB_Core_instance() method. Needed for DLL support on NT.i - - * default.bld, tao.bld: Modified VxWorks build files to add new files. - -Tue Oct 07 07:05:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.10, released Tue Oct 07 07:05:38 1997. - -Mon Oct 06 22:11:40 1997 <nw1@CHA-CHA> - - * tests/Cubit/TAO/cubit_i.cpp (Cubit_please_exit): - * tests/Cubit/TAO/cubitS.cpp (_skel_Cubit): Changed to use the new - TAO_ORB_CORE_instance () global function. - -Mon Oct 6 20:06:05 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/{boa.h,connect.cpp,giop.cpp,giop.h,roa.cpp,roa.h}: - Eliminated unused methods and code. - - * tao/Orb_Core.*: Created new global function called - TAO_ORB_Core_instance() which will return the correct instance of - the ORB Core state. This had previously been accessed using - TAO_ORB_CORE::instance(), but Win32s linking procedures made the - template for TAO_ORB_CORE expand in both the application and the - library/DLL, thus creating two singletons. Bad scene. The - function should force the expansion of the template to only be in - the DLL. - - * tao/{connect,default_client,default_server,orbobj,roa}.cpp: - Changed references to TAO_ORB_CORE::instance() to - TAO_ORB_Core_instance(). - - * tao/singletons.h: Removed definition of TAO_ORB_CORE. - -Sat Oct 4 20:08:57 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/TAO.{dsp,dsw}: Added tao_internals.cpp into project file - list. - - * tao/tao_internals.h (TAO_Internal): Added ACE_Svc_Export and - I d. - - * tao/tao_internals.i (open_services): Added default return value - 0. - - * tao/tao_internals.cpp: Added #include "tao/tao_internals.h" and - the CVS I d field. Also, we should include inline (.i) file - for inline code. - -Fri Oct 3 09:29:05 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * tests/multiCubit/svr.cpp: Changed the key naming scheme back to - not be unique throughout the process. Process-unique code is - still there, but conditionally compiled mutually-exclusive to the - other scheme. - - * tao/server_factory.*: The object_lookup_strategy method is gone - and is replaced by the create_object_table factor method. See - more information below. - - * tao/default_server.*: The server factory no longer holds on to a - single pointer for the object lookup strategy. In previous - incarnations of TAO, this didn't cause problems, but the advent of - ORB-per-thread highlighted the inherent badness in this - implementation choice. Gone is the object_lookup_strategy method, - and in comes the create_object_table factory method, which creates - and returns (and doesn't hold onto) an object table in accordance - with parameters such as size and search algorithm. - - * tao/roa.cpp: Changed to use the create_object_table method. - -Thu Oct 2 13:48:31 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * tests/multiCubit/svr.cpp: Modified the key generation scheme to - include thread ID. This works around a current shortcoming in the - ORB Core in which the object table is shared throughout all object - adapters (yes, this is being fixed). - - * tao/tao_internals.*: Added new class to scope static operations - and data completely internal to the ORB. - - * tao/orbobj.{i,cpp}: Moved CORBA_ORB DTOR into cpp file. Finally - got rid of icky static mutex in ORB_init(). Moved service config - initialization into TAO_Internal method. - - * tao/Orb_Core.h: Added comments. - -Wed Oct 1 12:51:48 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/corbacom.h: Removed CORBA:: name resolution from the class - String_out which is itself defined in class CORBA. MSVC doesn't - like that. - -Wed Oct 1 10:44:55 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/varout.h: Fixed some template errors in class - TAO_Object_out. This was pointed to me by Carlos as he was - compiling TAO in SGI. - -Wed Oct 1 09:10:38 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * docs/releasenotes.html: - Updated information on the Event Channel, the use of the Naming - Service is no longer a plan, it is done already. - -Tue Sep 30 20:14:29 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.9, released Tue Sep 30 20:14:29 1997. - -Tue Sep 30 19:42:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * Makefile: Removed "docs" from DIRS so we don't try to run - make in this directory. - -Tue Sep 30 17:27:00 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * <RELEASE>: Tagged a release for limited consumption until the - Service Configurator bug is fixed. - - * tests/multiCubit/svr.cpp: Added code to properly release CORBA - objects. Delays between task activations simply aid in debugging - and are not necessary. - - * tao/singletons.h: Made TAO_ORB_Core's singleton type - compile-time selectable via the TAO_HAS_TSS_ORBCORE compiler flag. - - * tao/orbobj.cpp: Corrected an incorrect shift count, and the ORB - Core now defaults to using the host name of the local host. - - * tao/Orb_Core.[hi]: Added explicit CTOR. - - * tao/Orb_Core.cpp: Insured that the correct template type was - instantiated. - - * tao/Makefile: Added -DTAO_HAS_TSS_ORBCORE to CPPFLAGS. - -Tue Sep 30 16:43:12 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/releasenotes.html: Added some notes on the ORB Core. - -Mon Sep 29 14:39:51 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/{index,components,releasenotes}.html: Added additional - documentation. - -Mon Sep 29 13:50:34 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO ORB changes: - - any.*: Added _var and _out classes. - - corbacom.{h,i} : Added _out types for primitive types, added _out and - updated _var classes for String. Added corbacom.i for implementing - the String's _var and _out classes - - sequence.{h,i}: Added a number of templates for _var and _out - classes. However, these are yet to be used and tested. - - * Alpha release of TAO IDL compiler added to this release. This is - an alpha release and we are currently putting it to rigorous - test. A large amount of code for the back end is added under the - TAO/TAO_IDL/be_include and TAO/TAO_IDL/be/ directories. - - In addition, some amount of ACEification done to methods belonging - to the TAO/TAO_IDL/utils/ classes. - - A few errors in the IDL grammar have been fixed in - fe/idl.yy. These had to do with the valid types for parameters and - operation return types. There are still some errors recognizing - unions which will be fixed later. The scanner (fe/idl.l) was - modified to recognize the OMG IDL data type "any". - - * The ChangeLog file under TAO/TAO_IDL is removed and its contents - are inserted appropriately in this ChangeLog file - -Sun Sep 28 17:01:27 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/multiCubit: Added a multi-threaded version of Cubit. - - * tao/orbobj.cpp: At long last, Andy has his wish for not having - to provide a "-ORBhost <me>" argument to a server. It now uses - ACE_OS::hostname() to determine the canonical hostname, and - listens on that address. - - * tao/singletons.h: Changed the ORB Core singleton to be a TSS - singleton; this will eventually be conditionally compiled in - (before release). Also added comments and "safety defines". - - * tao/except.cpp: Changed some usage of fputs() in - print_exception() to use ACE_DEBUG. - -Sun Sep 28 03:18:24 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tests/Cubit/TAO/cubitC.h (Object): Changed references of base - class from "CORBA::Object" to "CORBA_Object." MSVC doesn't - allow this. - - * tao/Orb_Core.h: Added ACE_Svc_Export to TAO_Orb_Core class. - - * tao/corbacom.h: Added ACE_Svc_Export to all IID constants. - Notice that we must put ACE_Svc_Export _after_ extern "C". - -Sat Sep 27 09:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/Orb_Core.h: Fixed the friend declaration for - CORBA::ORB_init(). - - * tests/Cubit/TAO/svr.cpp: Modified to use ORB::run() for event - loop and eliminated code cruft. - - * tao/orbobj.*: Added stubs for 4 methods on the ORB from the - POA spec: work_pending, perform_work, run, and shutdown. Of all - of these, only run is reasonably implemented, and there not even - according to the spec (because the way the spec works isn't really - good for our purposes...need to work on that). See the docs for - information. - - Moved the initialization of the Acceptor into its own method, - set_up_for_listening (which is a one-shot style method), and - placed a call to this within the aforementioned run method. - - * tao/default_client.h: Miscellaneous comments added. - - * tao/connect.cpp: Corrected an errant ACE_DEBUG () call. - - * tao/Orb_Core.*: Added private methods to allow setting of the - orb and extended the laurel of friendship to CORBA::ORB_init(). - -Fri Sep 26 10:20:06 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.*: Added acceptor initialization code to CORBA_ORB - CTOR. (We still need to find a way to NOT do this on the client - side.) Moved CORBA_ORB CTOR into .cpp to avoid nasty - interdependencies caused when it was in the .i file. Moved the - specification of host and port to be ORB parameters rather than OA - parameters, i.e., -OAhost is now -ORBhost and -OAport is now - -ORBport. - - * tao/roa.*: Removed server-side connection endpoint - initialization (Acceptor stuff) and put it into the ORB. - - * tao/connect.h: Renamed ROA_Acceptor to TAO_Acceptor (since it's - not related to the OA any longer), and restored explicit inclusion - of ace headers to avoid having to include "corba.h". - - * tao/boa.h: Removed unneeded get_addr() method. - - * tests/Cubit/TAO/cubitS.cpp: Updates to support changes in ORB - Core. - -Thu Sep 25 12:28:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/params.*: Added explicit CTOR & DTOR for - TAO_{OA,ORB}_Parameters classes that somehow got removed in the - previous round of attacks. Also specified all methods which go - into the .i file as "LOCAL_INLINE" within the header. This avoids - having to unravel ugly, complex order interdependencies. - -Thu Sep 25 03:48:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/Options.html: Terse documentation on options available for - the abstract factories. - - * tao/Orb_Core.*: Added this class (TAO_ORB_Core) to hold the - "state" of an ORB. The intent is that as we move towards - different concurrency models, this can be thrown into - thread-specific storage and remain a singleton, essentially - allowing the running of an ORB-per-thread. - - * tao/singletons.h: Added this file to contain type definitions - for *ALL* ACE_Singleton<> types used within TAO. This was - motivated by a desire to eliminate the multitude of warnings - generated by g++ regarding methods being called before declared - inline, and the only way to eliminate this was to insure that all - inlined methods were seen by the compiler before the - ACE_Singleton<> definition. Thus, corba.h includes singleton.h as - the very last thing that it does. - - * tao/params.*: TAO_OA_Parameters is no longer a singleton, and - because of new recognition of associations in the object model for - an ORB, lots of data members and their methods have been shuffled - to other places or eliminated. addr() now belongs in - TAO_ORB_Parameters, and root_poa_ is in TAO_ORB_Core. The - using_threads_, thread_flags_, upcall_, and forwarder_ members - have been eliminated and their roles taken over by the Concurrency - Strategies and the new Dispatch call chain implemented in my last - round of changes. - - * tao/orbobj.cpp: Changed references to the ORB singleton to go - through TAO_ORB_CORE::instance(). Also eliminated an unnecessary - global function (_orb()). - - * tao/marshal.h: Moved all ACE_Singleton<> typedefs into - singleton.h. See comment on tao/corba.h for more information. - - * tao/iioporb.h: Removed unnecessary TAO_ORB singleton. This is - now assumed by TAO_ORB_Core instances. - - * tao/corbacom.h: Added CORBA::POA_ptr for upward compatibility. - - * tao/corba.h: Added Orb_Core.[hi] to the appropriate places. - Moved iiop{orb,obj}.i inclusions around and moved typedef'ing of - all ACE_Singletons into singletons.h, which must be #included - AFTER all the inline files. This eliminated all of the - used-before-declared-inline warnings. - - * tao/{connect,default_client,default_server,roa}.*: Updated - singleton usages to go through the TAO_ORB_CORE singleton. - - * tests/Cubit/TAO/{cubitS,cubit_i}.cpp: Updated singleton usages - to go through the TAO_ORB_CORE singleton. - -Wed Sep 17 12:26:56 1997 Nanbor Wang <nw1@CHA-CHA> - - * tao/TAO.dsp: Updated source file list. - -Mon Sep 15 16:52:28 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * tests/Cubit/TAO/{cubitS,cubit_i}.cpp: Updated references to oa() - to root_pos(). - - * tao/orbobj.cpp: Corrected some adjustments made for Service - Configurator rework. - - * tao/giop.h: Moved the def for TAO_GIOP_EndOfFile out of the - range of valid GIOP messages. - - * tao/connect.cpp: Added special case for TAO_GIOP_Reply to break - out, and distinguished TAO_GIOP_EndOfFile from other errors by - setting errno. - - * tao/boa.cpp: The complete reply header is now stuck into the - response stream...what a novel concept! - -Fri Sep 12 05:40:50 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * params.h: Renamed oa() method to be root_poa() in preparation - for the future. - - * orbobj.cpp: Adjusted the FAKE_SVC_ENTRY macro to catch up to - recent changes in ACE. - - * giop.*: Major surgery including elimination of GIOP as a giant - namespace (now only static methods are in it). Changed names of - things to TAO_*. - - * {encode,decode,iiopobj,invoke,roa}.*: Name changes resulting - from giop.cpp surgery. - - * corbacom.h: Moved TAO_opaque decl into here. - - * corba.h: Re-ordered the inline #includes so that the stuff that - is ALWAYS inlined is included prior to the stuff that's only - inlined when __ACE_INLINE__ is turned on. - - * connect.*: Modified handle_input() substantially. Added 3 - template methods: read_message, handle_message, and send_response. - - * {cdr,marshal,object,typecode}.h: Removed the old "always include - inlines" hackery. - - * boa.*: Added handle_request() method. - -Wed Sep 03 06:15:00 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/default_client.cpp: Added conditional sections around the code for setting the - socket options for VxWorks. VxWorks does not support a 64K buffer size. - -Tue Sep 02 18:32:12 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/orbobj.cpp: Added include for Service_Repository.h to orbobj.h - - * tao/debug.cpp: Removed the TAO_NEEDS_UNUSED_VARIABLES #defines - around the debug_stream declaration. debug_stream is used by - dmsg_filter in debug.cpp. Changed SYSTEM_EXCEPTION to - CORBA::SYSTEM_EXCEPTION. - - * tao/default_client.cpp: Removed extra parameter from - ACE_Hash_Map_Entry #pragma instantiate statement. - - * tao/objtable.cpp: Deleted pragmas for instantiating ACE_Guard, - ACE_Read_Guard, and ACE_Write_Guard to eliminate duplicate - instantiations. Also, removed the instantiations from - ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for the same reason. - - * tao/orbobj.cpp: Added a typecast to void * in argvec_shift - method. - - * tao/default.bld - Modified VxWorks Build File to change template - instantiation modes. - - * tao/tao.bld - Added default_client.cpp, default_server.cpp, - client_factory.cpp, and server_factory.cpp to the VxWorks build - file. - - * tao/tao.dsp - Added default_client.cpp, default_server.cpp, - client_factory.cpp, and server_factory.cpp to the Win NT project - file. - -Tue Sep 2 07:31:45 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.cpp (ORB_init): VxWorks doesn't use - ACE_Service_Config for now; the default factories are used. The - Service Repository is still used, but the appropriate values are - "stuffed" in manually. - -Sat Aug 30 17:07:18 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tests/Thruput: First attempt at ACEifying it and removing the - tremendous amount of unnecessary stuff that was in there. This - modified version still needs testing on other platforms. - -Fri Aug 29 10:59:34 1997 Chris Cleeland <cleeland@lambada.cs.wustl.edu> - - * tao/Makefile (TAO_ROOT): FINALLY corrected the default - definition of TAO_ROOT. - -Thu Aug 28 14:04:44 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.i (CORBA_ORB): Removed assertion that was incorrect - b/c our ORB object is a singleton and not dynamically allocated, - thus the refcount can only reach zero at the end of its life. - - * tao/typecode.cpp (TC_Private_State): Relocated the delete of - tc_discriminator_type_ to be after the deletion of the label list. - This is because the discriminator will be inside each of the - CORBA::Any instances within the label list, and deleting it before - deleting the label list results in extreme badness. - - * tao/typecode.* (operator delete): Added CORBA_TypeCode::operator - delete() to simplify deletion of both automatically and - dynamically allocated instances of CORBA_TypeCode. This fixes the - problem of freeing non-heap memory. - - * tao/nvlist.h (CORBA_NamedValue): Initialized refcount_ in the - CTOR. - -Mon Aug 18 16:39:40 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu> - - * Makefile for TAO compiler: - (SOEXT) must be used instead of just .so, the former does not - work on all platforms, notably HP-UX. - -Mon Aug 18 16:39:29 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu> - - * tao/Makefile: - * tests/Demux_Test/CodeGen/Makefile: - (SOEXT) must be used instead of just .so, the former does not - work on all platforms, notably HP-UX. - -Sun Aug 17 16:53:42 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> - - * IIOP/test/Orbeline/client/Profile_Timer.h: - * IIOP/tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp: - * IIOP/tests/Cubit/VisiBroker/base_server/Profile_Timer.h: - * IIOP/tests/Cubit/VisiBroker/client/Profile_Timer.cpp: - * IIOP/tests/Cubit/VisiBroker/client/Profile_Timer.h: - * tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp: - * tests/Cubit/VisiBroker/base_server/Profile_Timer.h: - * tests/Cubit/VisiBroker/client/Profile_Timer.cpp: - * tests/Cubit/VisiBroker/client/Profile_Timer.h: - We no longer use timestruct_t in ACE, it is a SYSVism; we use - timespec_t instead. - -Sat Aug 16 01:11:56 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/svc.conf: Added this as an example of an - application's service config configuration file. It also serves - as the documentation for various strategy factory options at the - moment. - - * tao/orbobj.cpp: Options parsed by the ORB are now - -ORBsvcconf <filename> specifies the service configurator - file to be used - -ORBdaemon turn this into a daemon - -ORBdebug turns debugging on in the service - configurator - - BOA_init() now sets the itself in the TAO_OA_Parameters singleton. - - * tao/orbobj.*: Changed client_factory(), server_factory(), and - params() to return pointers rather than references. - - * tao/{roa,giop}.cpp: Updated code that uses the - CORBA::ORB::client_factory() to deal with the fact that it now - returns a pointer rather than a reference. - - * tao/default_server.cpp (init): This method now properly - initializes the contained reactive and threaded strategies so that - they're actually usable! - - * tao/connect.cpp: Added #endif comments. - -Wed Aug 13 17:42:39 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/*: Converted to the CORBA:: namespace. - - * tao/default_server.h: Eliminated a few strategy accessors since - they aren't provided by this implementation. - - * tao/default_server.cpp: Made this compile. - - * tao/corbacom.h: Slight reformatting of code. More importantly, - added 'static' to the decl of ORB_init(). - - * tao/corba.h: Added fake comment to trigger C++ mode. - - * tao/any.h: Added #endif comments. - -Tue Aug 12 22:37:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/{any,typecode,cdr}.h: Finished appeasing the compiler gods - so that we can remove the ACE_INLINE hack. Things now seem to be - in order. - - * tao/corba.h: Got all the frigging header *.i files #included in - the right order so that the GCC compiler stops complaining. - - * tao/giop.cpp: We had method definitions that were defined inline - within the giop.h file. This was causing problems for GCC, which - kept warning that methods in the cdi.i file were being used before - being inlined. I've fixed this by creating a giop.i file. - - * tao/corba.h: Add #include files should be prefixed by "tao/". - I've fixed this in the release. - -Tue Aug 12 16:23:17 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/any.i: Added a missing replace() method used by overloaded - operators. - - * tao/{any,cdr}.h: Added conditional ACE_INLINE before the decl - for a few methods whose usage in other inlined methods appears - prior to their definition. - - * tao/default_client.cpp: Eliminated names of unused arguments to - stop the compiler from complaining. - - * tao/server_factory.cpp: Properly scoped return type names for - several methods. - - * tao/{typecode,decode,deep_copy,debug}.cpp: Bracketed unused - variables with #if defined(TAO_NEEDS_UNUSED_VARIABLES)/#endif; - this leaves them around for right now in case they're important. - - * tao/client_factory.i (connector): Properly scoped return type's - name. - - * tao/{client_factory,default_client}.cpp: Added necessary - template instantiations. - - * tao/{typecode,cdr}.h: Added conditional ACE_INLINE in front of - inlined methods to appease the compiler gods. - - * tao/boa.cpp (dispatch): Declared argument unused to get rid of - warnings. - - * tao/corbacom.h: Moved #include of sequence.h before the decl for - class CORBA. - -Sun Aug 10 10:58:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/client_factory: Moved the template specializations from the - *.cpp file into the *.i file in order to get this stuff to link - without multiply defined symbols. Thanks to Brian Mendel for - giving me the idea to do this. - - * tao/client_factory.cpp: Added a template specialization for - ACE_Hash_Addr. - -Sun Aug 10 08:56:20 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * CORBA_ to CORBA:: transformation complete. All the files in the - TAO/tao distribution have been affected. The most notable changes - are: - (1) A file called "tao/corba.h" is now the master file. All *.cpp - files include *just* this file and nothing else. - - (2) "tao/corbacom.h" is the file that defines the CORBA namespace - i.e., class CORBA. Individual CORBA classes such as TypeCode, BOA, - etc are now defined inside the CORBA namespace. This will allow - users and developers to use CORBA::TypeCode as opposed to the - previous CORBA_TypeCode. Instead of nesting the classes, however, - we use typedefs to define individual CORBA classes inside class - CORBA e.g., typedef CORBA_TypeCode TypeCode; - - (3) All *.i files are included at the end of "tao/corba.h" and - nowhere else. However, if __ACE_INLINE__ isnot defined, then each - individual *.i file is not yet included in their corresponding - .cpp file. This will be done next. - - * TAO/tests/Demux_Test: Included code that tests various - demultiplexing strategies in TAO. At this point, however, the code - will not work because of changes in TAO. This will be done - next. A README file provides additional details. - - * TAO/Benchmark: A suite of benchmarking tests have been - included. This is still in the preliminary stages of - development. The idea is to compare various aspects of CORBA such - as marshaling overhead, demux costs, throughput, latency, and - others for a range of ORBs including TAO. Since there are - differences in programming different ORBs, this suite tries to - abstract out all the common features or atleast provide a uniform - interface so that minimal efforts are required to port an - application from one ORB to another. - - Benchmark/benchmark: This directory contains thecommon features - Benchmark/Marshal_Test: Tests marshaling overhead in 3 ORBs - - Orbix, VisiBroker, and TAO. More will be added. There are a few - problems getting DSI to work. The tech support at IONA and - VisiBroker have been contacted. - -Sat Aug 9 14:05:08 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> - - * tao: Continued to clean up all the code so that it is more - consistent with ACE programming style. - - * tao/orbconf.h: Cleaned up a lot of the unnecessary #defines. - - * tao/default_server.h: Make sure we inherit from - TAO_Server_Strategy_Factory, not TAO_Server_Factory. - - * tao/server_factory.cpp: Moved all the inline methods to be - non-inline since this code will always be dynamically bound. - - * tao/client_factory.cpp: Cleaned things up a bit. - -Sat Aug 9 12:37:05 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/corba.h: Deleted include for xdr.h from corba.h. xdr.h - is obsolete. - - * tao/objtable.cpp: Deleted pragmas for instantiating ACE_Guard, - ACE_Read_Guard, and ACE_Write_Guard to eliminate duplicate - instantiations. The templates are instantiated by ACE. Can these - templates also be removed from the - ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION section as well? - - * tao/default.bld: Added build file for VxWorks. - - * tao/tao.bld: Added build file for VxWorks. - -Fri Aug 8 14:25:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.*: Updated various methods to use the new - dynamically-linked strategy factories discussed below. - - * tao/default_client.*: This file now contains the default client - strategy factory which is (a) dynamically linkable by the service - configurator and (b) can be configured by flags passed in via - service configurator. - - * tao/client_factory.*: This file now contains the abstract base - class for the client strategy factory. - - * tao/default_server.*: This file now contains the default server - strategy factory which is (a) dynamically linkable by the service - configurator and (b) can be configured by flags passed in via - service configurator. - - * tao/server_factory.*: This file now contains the abstract base - class for the server strategy factory. - - * tao/params.*: Renamed DEMUX_STRATEGY enum to TAO_Demux_Strategy - and put it at global scope instead of within TAO_OA_Parameters. - - * tao/svc.conf.eg: Created this file to serve as an example of - various lines one might find in an application's svc.conf. - -Thu Aug 7 09:51:31 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * factories.cpp: Incorrect use of ACE_ASSERT in - TAO_Server_Factory::object_lookup_strategy removed. - - * objtable.cpp: The octet sequence object key was being cast into - a char* resulting in undefined behavior at times due to the lack - of a NULL character to terminate it. Changes were made in the bind - and find methods of TAO_Active_Demux_Table. - -Thu Aug 07 03:52:31 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.8, released Thu Aug 07 03:52:31 1997. - -Thu Aug 7 00:43:14 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/typecode.cpp: A couple of errors involving TAO_CONST crept - in when Brian checked in his code. I fixed these. - -Wed Aug 6 18:28:41 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu> - - * tests/Cubit/TAO/clnt.cpp (main): Corrected the format - specifications when timing was printing out from %ld to %d. For - some reason this never caused a problem on other platforms. - -Wed Aug 6 17:27:44 1997 Brian R. Mendel <brian.r.mendel@boeing.com> - - * tao/typecode.h: Removed qualified name in typecode.h to eliminate - compiler warnings by the GHS compiler. Line 297. - - * tao/decode.cpp: Changed wchar_t* to CORBA_WChar* to eliminate - compiler errors on GHS compiler. Lines 142, 216, 729, 1371, and 1475. - - * tao/typecode.cpp: Deleted unreachable break statements at lines - 429, and 477, 904, and 947. - -Wed Aug 6 16:31:29 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu> - - * tao/*: Changed 'const' to 'TAO_CONST' in contexts where the - const didn't make sense. For example, this occurred in situations - where methods declared their return type as 'const CORBA_String', - which does not translate to 'const char*' but rather 'char* - const'. - - * tao/corbacom.h: Added #define for TAO_CONST. See above for - explanation. - - * tao/{connect,factories,giop,iiopobj,marshal,objtable, - optable,orbobj,roa}.cpp: Removed errant trailing semi-colon on all - the #pragma instantiate directives. - -Wed Aug 6 13:56:40 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/{connect,factories,giop,iiopobj,marshal,objtable, - optable,orbobj,roa}.cpp: Changed explicit template instantiations - to use the new ACE enabling macro as well as adding the #pragma - instantiate to placate Edison Design Group compilers. - - * tao/cdr.h: Changed default for CDR CTOR marshal factory to - reflect the new name of the default marshal factory variable. - - * tao/orbobj.cpp (CORBA_ORB_init): Inserted call to - TAO_Marshal::initialize(). - - * tao/marshal.*: Added TAO_Marshal class to scope static - initialization methods for the marshalling engine. - TAO_DEFAULT_MARSHAL_FACTORY has moved inside of this. - -Sun Aug 3 13:12:03 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO: Continued to improve the formatting of these - tests. - -Sat Aug 2 13:55:40 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO: Cleaned up some of the formatting so that - it is easier to read. - -Thu Jul 31 16:19:43 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/corba.h: Removed incorrect #include "tao/corba.h" in this - file. Bad form. - -Thu Jul 31 15:19:43 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/*.{h,i,cpp}: Changed all #include of specific - header files to include the application-level "tao/corba.h". - - * tests/Cubit/TAO/Makefile (BIN): Removed test1_svr and test1_clnt - for now until we can get them working again. They stopped working - after the BOA API changed and the non-standard get_request() - method removed. - - * tao/any.h: Inserted #includes which insure that this header file - is not position-dependent on other header files. - - * tao/corba.h: Created this catch-all header file for APPLICATIONS - to use as a single entry point. Currently it just includes all - TAO header files, but will eventually be pared down to only those - headers which warrant public exposure. - -Wed Jul 30 16:55:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/typecode.i (CORBA_TypeCode): Re-ordered member - initialization to correspond to declaration order. - - * tao/{typecode,orbobj,optable,decode,cdr}.cpp: Added explicit - typecast to CORBA_ULong/unsigned long to eliminate warnings about - comparisons btw. signed and unsigned entities. - - * tao/optable.cpp (bind): Put in explicit return type for - TAO_Active_Demux_OpTable::bind(). - -Wed Jul 30 14:18:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/Makefile: Corrected automatic definition of TAO_ROOT and - fixed all dependencies on tao header/inline files. - - * tao/{typecode,object}.i: Moved a few methods to the beginning of the file - so that the compiler KNOWS that they are inlined when it hits the - first reference to them later in the file. - - * tao/object.cpp: Added an end-of-line to silence a very picky SGI - compiler. - -Wed Jul 30 10:05:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/connect.cpp: Removed a number of explicit template - instantiations that are already included in ACE. - -Wed Jul 30 14:20:18 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/boa.{i,h,cpp}: Removed the #include of "tao/objtable.h" and - instead moved the methods that needed it from boa.i to boa.cpp - -Wed Jul 30 13:58:02 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/boa.h: Added #include of "tao/objtable.h" since it is needed - in boa.i (which is included here when inlining is turned on) - -Wed Jul 30 10:05:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/boa.h: Removed the #include of "tao/objtable.h" which seems - to be unnecessary and may cause problems for template - specialization. - - * tao/iiopobj.i (IIOP_Object): Changed the second parameter to the - IIOP_Object constructor so that we can is a const - IIOP::ProfileBody &. This prevents a compiler warning. - - * tao/typecode.cpp (private_id): Removed unused variable status. - - * tao/objtable.cpp (bind): Removed the temp variable, which - was unused. - -Tue Jul 29 19:31:11 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/boa.cpp (get_boa): Added casts of ACE_UINT32 so that we - don't have ambiguous calls to the constructor of ACE_INET_Addr. - - * tao/deep_copy.cpp (deep_copy): Removed an unreachable return - value. - -Mon Jul 21 15:08:36 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO version 0.0.7, released Mon Jul 21 15:08:36 1997. - -Mon Jul 21 12:06:16 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/object.cpp: removed the #include of object.i since it will - always be #included in object.h - -Thu Jul 17 16:54:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.6, released Thu Jul 17 16:54:38 1997. - -Thu Jul 17 16:43:23 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/{optable,objtable}.cpp: Updated the explicit template - instantiations at the end of these files to reflect the changes - that Andy made. - -Thu Jul 17 10:08:45 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu> - - * tao/align.h: A very subtle error in "align_binary" was corrected. I - was assuming that align_binary is always called by - "ptr_align_binary". In the original inline function versions of - align_binary and ptr_align_binary, the function align_binary would - subtract 1 from the specified alignment that ptr_align_binary - provided. Since I assumed that "align_binary" would always be - called by "ptr_align_binary", I subtracted the 1 in - ptr_align_binary and passed the result to "align_binary". This - caused all sorts of problems for application code that directly - called "align_binary". This error has been fixed. The macros for - align_binary and ptr_align_binary are now exactly as the original - inline functions. - - * tao/any.{h,cpp}: Added comments. In addition, in the code for - Any::replace, we check if "_value" exists before trying to - DEEP_FREE it. Otherwise this was resulting in a segmentation fault - violation. - - * tao/boa.{h,i}: Added comments and changed "release" to CORBA_release - - * tao/cdr.{h,cpp}: Added some comments and removed some stuff that was - under #if 0 .. #endif - - * tao/corbacom.h: Added lots of comments for the CORBA_String_var class - - * tao/decode.cpp: Made TAO_Marshal_Union::decode to work, added comments. - - * tao/encode.cpp: Made TAO_Marshal_Union::encode to work, added comments. - - * tao/factories.{h,cpp}: Added lots of comments. Removed "void - object_lookup_strategy" method since we do this in the parameters - class. Added code that will use a user defined lookup strategy if - the corresponding flag is set. This needs to be tested. - - * tao/iiopobj.{i,cpp}: In the allocation and deallocation of the buffer - for object key, we now use "new/delete" instead of "malloc/free". - - * tao/interp.cpp: commented out a line that decremented 4 from the - offset provided for indirected typecodes. I guess this was plain - hack to get some broken things to work. - - * tao/objtable.{h,cpp}: Added lots of comments. Added code that will use - template specialization for the dynamic hashing case. In addition, - improved the destructors of the classes since previously, these - were not releasing occupied memory. - - * tao/optable.{h,cpp}: Added lots of comments. Added template - specialization for dynamic hashing scheme. Made dynamic hashing - scheme the default. Added a new definition for "struct - TAO_operation_db_entry". The idea is that an IDL compiler will - generate a database of operations and their corresponding - skel_ptrs. Such a database is now passed to teh constructors of - the operation lookup tables. This way, only one instance of such - lookup tables can be shared by any number of objects implementing - the same interface. - - * tao/params.{h,i,cpp}: Made dynamic hashing the default. Added a hook - by which users can supply their lookup strategies. *Needs testing*. - - * tao/typecode.{h,i,cpp}: Added comments and many changes. The private - state's constructor now takes an argument that is a TCKind - representing the TypeCode kind of the object of which we are the - private state. Removed "child_free". Instead, we introduced a - destructor for the private state that frees all the - children. Another important change is to the constructor of the - TypeCode class. We pass a "parent" pointer, if any, to the - constructor. All children typecodes will share the octet buffer of - the parent. Only freestanding typecodes will allocate octet - buffers. We have a new data member called "non_aligned_buffer_" - because the buffer we allocate may not be aligned on a 4 byte - boundary. As a result, we may start using the buffer at a shifted - position to the right. However, we do not want to lose a handle to - the original buffer that was allocated because at the time of - freeing, this pointer needs to be freed. - - * tests/Cubit/TAO: Modified a few files (method_db.i, cubitS.cpp) - so that they use the modified optable and objtable classes. Added - a README file to indicate how to run the example. - - * tests/Thruput_test: Modified virtually all the files to make it - work with the latest TAO release and its include files. Also, - changes similar to Cubit were necessary due to changes in the - objtable and optable classes. - -Wed Jul 16 14:17:01 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * tao/params.*: Eliminated unnecessary - ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES checks from - TAO_OA_Parameters (unnecessary b/c it's not a template). Also - corrected the type of TAO_OA_Parameters::ace_singleton_lock_. - -Wed Jul 16 11:34:36 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/boa.cpp: Removed some unused code. - - * tao/compat/objbase.h: Added explicit check for prior inclusion - of ace/OS.h, with an error being produced if it's not included. - This will help keep me honest and remember to always include OS.h - beforehand, since I do most of my development on non-WIN32 - platforms. - - * tao/*.{h,cpp}: Added #include "ace/OS.h" before every inclusion - of <objbase.h>. This is required on WIN32 platforms because - objbase.h eventually ends up including <winsock.h>, which is the - wrong version of winsock from what ACE requires. Thus, by - including OS.h prior to objbase.h, objbase.h ends up not trying to - include a winsock header. - - * tao/orbobj.cpp: Added missing #include for tao/debug.h. - -Wed Jul 16 10:55:55 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/PC_Install.bat: removed it since it isn't needed anymore - - * tao/TAO.dsp: Changed include path and removed calling of - PC_Install.bat - - * tests/Cubit/TAO/{client,server}.dsp: Changed include path - -Tue Jul 15 16:13:53 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/cubitC.cpp: Added missing calls to Release() - after QueryInterface() calls. The tip-off that this wasn't - happening was the fact that, upon client exit, there were upwards - of 15 references to the object references. Now it's only 5-7 - (more work to go). - - * tests/Cubit/TAO/*: Changed all #include paths to be "tao/...". - Also, changes to orb.h (see below) obviated additional header - inclusion in certain files. - - * tao/compat/*.h: Changed the guts of these files so that they - work more like their "real" counterparts in the VC++ 5.0. This - should encourage compatibility. Note that, unlike the previous - files, objbase.h MUST be included before initguid.h; this is - consistent with the model on WIN32. - - * tao/*.{h,cpp}: Changed all #include paths to be "tao/...". - Also, changes to orb.h (see below) obviated additional header - inclusion in certain files. - - * tao/giop.cpp: Removed get_request() crufty old code. - - * tao/iiopobj.cpp: Backed out many prior special-code additions - for defining IIDs. Hopefully the need for these is negated by - changes elsewhere in the "compat" files. - - * tao/object.cpp: Corrected the conditional compilation switch - used to determine if we define IID_IUnknown. This now happens - whenever WIN32 isn't defined, instead of before when it was only - on unix or vxworks platforms. - - * tao/Makefile: Eliminated the need to copy files into a "proto/" - directory; now, everything is built into and used from the "tao" - directory. - - There is also a new, optional, environment - variable--TAO_ROOT--which should be set to the ".../TAO" - directory. If it's not set, the Makefile will set it to - WRAPPER_ROOT/TAO. - - Lastly, libcorba.* has changed to libTAO.*. - - * tao/orb.h: Eliminated many header files which had been - explicitly included here and were causing all manner of problems - with circular includes. Library components must now be careful to - include appropriate headers for all components they use, and we - will likely have to create a corba.h file for clients to use. - -Fri Jul 11 12:12:40 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/TAO.dsp: changed to use ace-r.dll in the release - version - - * tests/Cubit/TAO/{client,server}.dsp: changed to use ace-r.dll - and tao-r.dll for the release versions. - -Thu Jul 10 15:47:24 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/: Removed the following obsolete files: README.apm, - BUILDING, and TESTS. - - * tao/params.*: Moved the instance() methods into the .cpp from - the .i, as well as the declaration for the singleton locks. - Having the singleton locks declared in the .i file caused much - consternation when ACE inlining was turned on. - - * tao/iiopobj.cpp: #ifdef'd the IID_STUB_Object declaration added - a few days ago so that it happens one way on NT, and another in - the rest of the Universe. I would have preferred to find a more - general solution, but didn't find one quickly enough to satisfy my - current requirements. - - * tao/roa.*: Removed get_request() method. This should improve - our McCabe scores ;-) - - * tao/boa.h: Removed get_request() method. - -Wed Jul 9 14:44:31 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-Install: Added installation instructions for NT - -Tue Jul 8 20:52:06 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/PC_Install.bat: Made it very quiet. - - * tao/params.{cpp,h,i}: Changed TAO_OA_PARAMS from a - ACE_Singleton to a plain singleton by just integrating the - ACE_Singleton code into the class. - -Tue Jul 8 14:27:47 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/except.h: added ACE_Svc_Export to SYSEX macro - - * tao/iiopobj.cpp: changed declaration of IID_STUB_Object - to include ACE_Svc_Export - - * tao/stub.h: added ACE_Svc_Export to IID_STUB_Object - -Tue Jul 8 12:44:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/orbobj.cpp: Put the "*" in before the comment since it is - supposed to be there. Put a space between it and the comment - to get rid of the warning which VC was giving originally. - -Tue Jul 8 10:21:27 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/typecode.cpp: Changed a few loop counters from int to - CORBA_ULong to get rid of unsigned/signed comparison warnings - - * tao/orbobj.cpp: Got rid of a "*" before a comment. Looked like - a typo - - * tao/PC_Install.bat: Replaced "#...." with "rem ...." - -Mon Jul 7 20:59:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/test1_{svr,clnt}.cpp (main): Added template - specialization code and updated the formatting. Thanks to Arturo - Montes <mitosys@colomsat.net.co> for reporting this. - - * tests/Cubit/TAO/test1_svr.cpp (main): Added the -i options to - getopt(). Thanks to Arturo Montes <mitosys@colomsat.net.co> for - reporting this. - - * TAO/tao/orbconf.h (SIZEOF_LONG_DOUBLE): Added a - #define for M_UNIX. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - -Sun Jul 06 02:37:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.5, released Sun Jul 06 02:37:24 1997. - -Sun Jul 6 00:10:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao: Fixed all the code so that we put ACE_MT around all the - ACE_GUARD_RETURN macros. - - * tao: Updated all of TAO to make sure we use [] when deleting - arrays in order to avoid memory leaks. This looks like lots of - sloppiness left over from the original SunSoft IIOP code. - -Sat Jul 5 16:12:31 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/{any,iiopobj,nvlist,principa,request,roa,svrrqst,typecode}.cpp: - Fixed a double-deletion of a lock. - - * tao/typecode.i: Cleaned up lots of minor warnings with the code - that are only revealed when running GCC. The code should now - compile almost completely cleanly with -wall. - - * tao/typecode.{i,h}: Changed the name of TC_PRV_State to - TC_Private_State. - - * tao: Replaced ACE_Thread_Mutex with ACE_SYNCH_MUTEX so that the - code will compile on non-threaded and threaded platforms alike. - - * tao/marshal.cpp: Added template specializations for the Marshal - primitives. Thanks to Arturo Montes <mitosys@colomsat.net.co> for - reporting this. - - * tao/Makefile (LDLIBS): Replaced -lcorba with -lACE so that we no - longer have problems with circular link dependencies. Thanks to - Arturo Montes <mitosys@colomsat.net.co> for reporting this. - -Sat Jul 05 13:25:23 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.4, released Sat Jul 05 13:25:23 1997. - -Sat Jul 5 12:39:57 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao: All throughout TAO I removed the direct use of system - include files in lieu of using ace/OS.h. - - * tao/{orbobj,typecode}.cpp: orb.h must be included before others - include files. Previous includes prevent correct use of ACE config - flags, therefore, I removed them. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - - * tao/{debug,roa}.cpp: changed _POSIX_THREADS to ACE_HAS_PTHREADS. - Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting - this. - - * tao/decode.cpp (decode): The casting (CORBA_ULong) kind is - unnessary and wrong so I removed it. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - - * tao/debug.cpp (emit_prefix): Changed line 99 from - - #define emit_prefix (stream) ... - - to - - #define emit_prefix(stream) ... - - The blank character prevent after macro name (emit_prefix) prevent - correct definition. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - -Sat Jul 5 01:04:24 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * TAO/tao/xdr.cpp: Removed unistd.h and string.h from the xdr.cpp - file since those aren't necessary. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - -Fri Jul 4 00:18:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/roa.h: Removed derogatory COMments ;-). Thanks to Anton van - Straaten <anton@appsolutions.com> for reporting this. - -Thu Jul 3 16:16:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * Added ACE_Svc_Export to a couple of declarations to make NT - happier - -Thu Jul 3 13:43:20 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * Added Visual C++ 5.0 project and workspace files for the TAO - library and Cubit test - -Wed Jul 2 12:44:42 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tests: Moved tests from TAO/IIOP/tests to TAO/tests - -Wed Jul 02 00:20:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * Compiled the first alpha release of TAO on Solaris just - to make sure it still works. So far, so good... hence, - the first alpha release is out the door! - -Tue Jul 1 23:35:53 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * VERSION: Added a VERSION file, starting at version 0.0.0... - -Tue Jul 1 23:00:15 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * Added a new tests directory with the Cubit and TTCP - examples. The older test directory will be deleted soon. - - In addition, the tc_constants in the tc_constants.cpp file are - declared with an ACE_Svc_Export to make the Win NT compiler - happy. Extern declarations in typecode.h had the same changes. - - * Updated the PC_install.bat file. In addition, there was one more - warning in typecode.cpp (Win NT compiler) that was fixed. Finally, - in the the tc_const.cpp file, the ACE_Svc_Export was used - accidently. This has been fixed. - - * A number of files were updated with ACE_Svc_Export so that - variables and classes do not remain unresolved for Win32 - platform. Similarly, Irfan had sent me a list of warnings that the - Win NT compiler was giving. These are fixed. - - * marshal.*: Changed the way make_marshal_object works. Instead of - having a switch statement, we index into a private table of - marshal objects using the TypeCode _kind field. MarshalFactory now - maintains this private table. - -Mon Jun 30 17:39:02 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * Added a new README file and a COPYING file that explains the - contents of TAO and clarifies its copyright status. - -Sun Jun 29 10:06:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * marshal.*: Added CORBA_Environment as a parameter to - make_marshal_object factory method. The reason for doing this was - to enable inlining of the CDR::encode and CDR::decode methods. - - * typecode.*: Changed the way typecodes get deleted. Constant - typecodes are now owned by the ORB and their private state freed - when the ORB dies. IDL generated typecodes are not owned by the - ORB and are the only ones whose refcount matters. Typecodes - belonging to the IDL generated typecodes are also not owned by the - ORB and there is no effect on their refcount. They get freed only - if the parent is destroying itself. - - In typecode.i, methods such as length and content_type were not - getting inlined due to presence of switch statements. Converted to - if/else. - - * interp.cpp: Bug fix: Had previously forgotten to update the - size/alignment of the private state of the typecode. - -Fri Jun 27 14:27:49 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * any.cpp: The deep_copy and deep_free optimizations applied. In - the previous release, I had forgotten to add these to the Any - constructor (that calls deep_copy) and Any destructor/replace - (that call deep_free). - - * connect.cp, factories.cpp: Added code that hardcodes the socket - buffer sizes to 64K. This is a hack for the time being. - -Thu Jun 26 10:02:47 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu> - - * Some more progress on IDL compiler. Generates the client and - server side files without much contents in it. - -Thu Jun 26 09:49:38 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu> - - * Added a full range of optimizations to the TAO IIOP interpretive - marshaling engine. The static methods encoder and decoder have - been removed from the CDR class. Instead, separate classes for - marshaling have been created for each individual data type. The - CDR stream maintains a factory that returns an appropriate - marshaling object depending on the data type to be - marshaled. Files added include marshal.h, marshal.i, encode.cpp, - decode.cpp, deep_free.cpp, and deep_copy.cpp. The marshal.h file - defines classes for an abstract MarshalObject. The factory is - responsible to return a concrete specialized instance of the - MarshalObject. - - * Updated the CORBA_TypeCode class so that it now provides all the - CORBA_2.0 compliant operations. These include length(), - content_type(), member_type(), member_label(), - discriminant_type(), id(), default_index(). The equal() operations - is still not implemented. In addition, precomputation - optimizations are applied to the TypeCode class. This includes - precomputing various parameters (if any) of a TypeCode. For - example, a struct TypeCode keeps track of the member count and - member types. As a result, it is not necessary to interpret the - CDR encapsulated stream to retrieve these parameters. - - * At this time, there are some problems getting the Unions to work. - -Thu Jun 12 15:45:49 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/objtable.cpp: Added explicit template instantiations - for ACE_Hash_Map_Manager<>. - - * IIOP/lib/giop.*: Finally got rid of all those methods that took - ACE_HANDLE as the argument. Now, all those operate on - ACE_SOCK_Streams. - -Thu Jun 5 10:15:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/giop.cpp: Corrected output format in error message. - -Thu Jun 5 10:09:01 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * IIOP/test/svr.cpp: Added a new class to catch SIGINT and - terminate. This was necessary to Quantify the server process. - - * IIOP/lib/orbobj.h: Added ACE_INLINE to forward decls of - CORBA_release() and CORBA_is_nil(). - -Wed May 23 14:39:01 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/lib/objtable.{h,cpp}: Added template specialization of - ACE_Hash_Map_Manager for char*'s. - - * IIOP/test/cubitS.cpp: Fixed type_id to be of type CORBA_String_var. - Also, added a debug msg to print the object address to show the - object for which the request is made. - - * IIOP/test/svr.cpp: Added capability to create multiple Cubit - objects via command line options. Added -n for number of objects and - -k for specifying a base name. For instance, -k Beevis -n 2 creates - Beevis1 and Beevis2 objects. The clnt can then specify a specific - object for the request as usual. - -Wed May 22 12:28:45 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/test/clnt.cpp: Deleted VxWorks specific sections. Command - line is now working for VxWorks. - * IIOP/test/svr.cpp: Deleted VxWOrks specific sections. Command line - is now working for VxWorks. - -Wed May 22 11:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/svr.cpp: Added better error checking and messages, and - performed general re-formatting. - - * IIOP/test/method_db.i (initialize_method_db): Changed arg type - to use a pointer to the abstract class TAO_Operation_Table. - - * IIOP/test/cubitS.cpp (_skel_Cubit::_skel_Cubit): Added better - error checking and messages. Also defaulted to use the linear - object table implementation rather than the hashed to simplify - debugging. - - * IIOP/test/clnt.cpp: Moved some code around so that more of the - code is common is less is specific to VxWorks and other platforms. - Also did general re-formatting. - - * IIOP/lib/optable.cpp (TAO_Linear_OpTable::find): Initialization - of the loop variable makes the loop work properly. - - * IIOP/lib/objtable.cpp (TAO_Dynamic_Hash_ObjTable::find): - Explicitly specified length of object key in CTOR for ACE_CString - because object keys are not zero-terminated. - - * IIOP/lib/giop.cpp: Added newlines to the end of all ACE_DEBUG() - messages. - - * IIOP/lib/factories.cpp: Added template specializations for - ACE_Hash_Addr<ACE_INET_Addr, TAO_Client_Connection_Handler>. - -Tue May 22 09:32:41 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/lib/cdr.h: Deleted #define old_value ACE_INLINE and - #define ACE_INLINE old_value lines. Added #undefs for ACE_INLINE - prior to redefines. Changes required to compile on Windows NT. - -Tue May 20 14:47:46 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/cubitS.h: Removed forward decl of - TAO_Active_Operation_Table. - - * IIOP/test/{cubitC,cubitS}.*: Changed include quoting characters - from [<>] to double-quotes. - - * IIOP/test/Makefile: Removed cubit.o from clnt and svr target - (this has been subsumed by cubit[CS]). - - * IIOP/lib/optable.h: Changed ACE_RW_Mutex to ACE_SYNCH_RW_MUTEX. - - * IIOP/lib/optable.cpp: Inserted explicit template instantiations. - - * IIOP/lib/Makefile: Added optable to the Makefile. - - * IIOP/lib/optable.cpp: Moved ~TAO_Operation_Table() into here. - - * IIOP/lib/object.i: Moved find() and bind() into the cpp file. - Moved ~TAO_Operation_Table() into optable.cpp. - -Tue May 20 14:39:00 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/test/*: Commited changes to Cubit Example as a current snapshot - of required changes. - - * IIOP/lib/*: Changes required for header file includes. Added - conditionals around _IIOP_BUILD_ - -Tue May 20 13:55:58 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * IIOP/test/*: Commited this stuff in-process so that Brian - M. doesn't have to duplicate effort. - -Tue May 20 13:04:00 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/lib/debug.cpp: Deleted spaces between flockfile (f) and - funlockfile (f). Changed instances of debug_filter to - TAO_debug_filter. Deleted space between emit_prefix (stream). - - * IIOP/lib/cdr.cpp Added undef(s) for ACE_INLINE and - do_undef_on_ACE_INLINE to eliminate redefinition problems. - - -Tue May 20 10:55:09 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/cdr.h: Fixed the automatic inclusion of cdr.i into - cdr.h by checking to see if __ACE_INLINE__ is not defined and, if - so, defining ACE_INLINE to be "inline" (we tidy up the namespace - immediately after the inclusion of cdr.i, too). See source for - comments regarding why this is done. - - * IIOP/lib/optable.cpp (TAO_Linear_OpTable_Entry): Removed setting - of opname and skel_ptr to zero in CTOR since the CTOR for those - already insures this. Moreover, NT's compiler was complaining - about ambiguous resolutions. - - * IIOP/lib/{orbobj,giop,debug,boa}.cpp: Fixed reference to - debug_level so it's TAO_debug_level. - - * IIOP/lib/object.h: Replaced inclusion of optable.h with forward - decl of TAO_Operation_Table. - - * IIOP/lib/optable.cpp: Fixed names of methods that were changed - in the header but never changed in the source. Amazing that - neither g++ nor Sun C++ caught these gaffs! (Finally, the NT - compiler wins). - - * IIOP/lib/{orbobj,object}.h: Changed the forward decls of - CORBA_release() and CORBA_is_nil() so that they are only in effect - when inlining is NOT being used. - - * IIOP/lib/giop.cpp: Fixed incorrect passing of an object to - ACE_DEBUG() where an int is expected. - -Mon May 19 17:16:34 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * IIOP/lib/roa.cpp: Explicit cast rids us of a warning. - - * IIOP/lib/params.h: Fixed CTOR name. Once again I'm surprised - G++ didn't catch this. - - * IIOP/lib/optable.h: Corrected erroneous method signature on - bind(). - - * IIOP/lib/objtable.cpp: Corrected erroneous method signature on - TAO_Linear_ObjTable::bind(). - - * IIOP/lib/{object,orbobj}.h: Forward declaration of - CORBA_release(CORBA_Object_ptr) and CORBA_is_nil(CORBA_Object_ptr) - were commented out. I think this will cause a problem when we - DON'T inline, but I'll cross that bridge later. - - * IIOP/lib/{orb,factories}.h: Made inclusion of some headers - conditional on the compilation phase (building the library or an - application). - - * IIOP/lib/cdr.i: Removed incorrect default arguments (g++ didn't - catch them). - - * IIOP/lib/Makefile: Removed thread from the header list. - -Mon May 19 10:07:00 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/optable.cpp: Changed implementation of the operation - table and the parameters repository so that they use the right - class names. - -Sat May 17 17:18:38 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * First pass at providing a backend to the SunSoft's CORBA IDL - compiler front end. - -Fri May 16 17:30:31 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/svrrqst.*: Corrected some comments, adjusted some - argument type names to reflect their new, namespace-sanitized - names, and moved short methods into a new inline file. - - * IIOP/lib/stub.h: Corrected some comments and adjusted some - argument type names to reflect their new, namespace-sanitized - names. - - * IIOP/lib/roa.cpp: Corrected syntax error and fixed up typedef. - - * IIOP/lib/params.*: Removed extraneous comments and fixed - argument type on demux_strategy(). - - * IIOP/lib/orbobj.*: Added comments, removed static pointer to - the ORB. - - * IIOP/lib/optable.h: Removed extraneous comments and fixed - typedefs. - - * IIOP/lib/objtable.cpp: Fixed some syntax errors introduced by - reformating. - - * IIOP/lib/object.cpp: Adjusted some argument type names to - reflect their new, namespace-sanitized names. - - * IIOP/lib/invoke.cpp: Removed crufty #includes and adjusted some - argument type names to reflect their new, namespace-sanitized - names. - - * IIOP/lib/iioporb.*: Moved short methods into inline file, added - IIOP_ORB_ptr typedef, and changed data member to conform to ace - standards. - - * IIOP/lib/iiopobj.*: Added the second CTOR that I forgot last - time and adjusted some argument type names to reflect their new, - namespace-sanitized names. - - * IIOP/lib/giop.h: Added comments for various enums and - structures. - - * IIOP/lib/giop.cpp: Switched various GIOP::Invocation methods to - use handler_->peer() for socket communication rather than going - through a file descriptor. Also began the arduous (no other word - could explain it!) process of converting the homegrown debugging - message macro uses into ACE_DEBUG() uses. - - * IIOP/lib/factories.*: Added explicit DTOR for TAO_Client_Factory - and completed all the darn explicit template instantiations. - Changed 'Svc_Handler' to 'TAO_Client_Connection_Handler', and - added the forgotton TAO_Client_Factory::connector() method. - - * IIOP/lib/debug.*: Added 'TAO_' prefix to global debug state - variables and removed crufty #includes. - - * IIOP/lib/connect.cpp: Change ROA_Handler to - TOA_OA_Connection_Handler (missed these the last time through). - - * IIOP/lib/cdr.cpp: Added responsive commentary. - - * IIOP/lib/boa.cpp: Added comments to the dispatching code. - - * IIOP/lib/{any,boa,request,typecode}.cpp: Removed references to - thread.h/connmgr.*. - -Thu May 15 19:08:16 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * Finished updating all the reformatting. - -Thu May 15 15:54:49 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/principa.h: Corrected syntax error which eliminated the - _refcount data member. - - * IIOP/lib/{params,roa}.*: Updated class names to reflect ROA --> - TOA_OA pseudo-namespace change. - - * IIOP/lib/orbobj.*: Updated CORBA_ORB_init() to return pointer to - new ORB singleton. - - * IIOP/lib/orb.h: Commented out some include files to eliminate - wierd circular dependencies. - - * IIOP/lib/optable.h: Moved TAP_Operation_Table into here. Put - OpTable* classes into the TAO_Operation_Table* pseudo-namespace. - - * IIOP/lib/objtable.*: Moved TAO_Object_Table into here. Moved - the Entry classes out of the scope of their respective concrete - operation tables, so they're now named <concrete_table>_Entry. - - * IIOP/lib/object.*: Moved TAO_Operation_Table into optable.*, and - added a data member which carries a pointer to the ORB with which - the object is associated. - - * IIOP/lib/iioporb.*: Added a singleton typedef for the ORB which - is what CORBA_ORB_init() will now return. Modified - string_to_object() so that it sets the ORB on the CORBA_Object - that it returns. - - * IIOP/lib/{iiopobj,nvlist}.h: Added some responsive commentary. - - * IIOP/lib/giop.cpp: Modified connection establishment code in - GIOP::Invocation::start() to utilize the client connection manager - in the ORB. - - * IIOP/lib/giop.h: Put a TAO_Client_Connection_Handler* into - GIOP::Invocation in place of the client_endpoint. - - * IIOP/lib/factories.*: Updated explicit template instantiations, - added TAO_Client_Connection_Handler. - - * IIOP/lib/connect.*: Renamed things--ROA_Parameters --> - TOA_OA_Parameters, ROA_Handler --> TOA_OA_Connection_Handler. - - * IIOP/lib/boa.h: Moved TAO_Object_Table into objtable.*, added - comments where appropriate. - - * IIOP/lib/{any,cdr,iioporb,invoke}.*: Re-formatting and creation - of inline method file. - -Tue May 13 21:51:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * Continued to update the format of the TAO source code so that it - will be consistent with the style used in ACE. - -Mon May 12 17:02:29 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/roa.*: Moved short method into an inline file. - Miscellaneous reformatting. Adjustment to new type names - (prefaced by TAO_ for namespace protection). - - * IIOP/lib/object.*: Moved short methods into an inline file. - Changed lookup()/register_op() to find()/bind() for consistency - with established ACE APIs. Miscellaneous reformatting. - - * IIOP/lib/iiopobj.*: Moved short methods into an inline file. - Added CTOR for IIOP::Version and IIOP::ProfileBody. Added - convenience CTOR for IIOP_Object where the profile can be - supplied. Miscellaneous reformatting. - - * IIOP/lib/boa.*: Moved short methods into an inline file. Changed - lookup()/register_obj() to find()/bind() for consistency with - established ACE APIs. - - * headers: Added comments to force C++ mode in emacs for header - files, and changed SCCS version tag info to RCS version tag info. - -Wed May 7 14:49:46 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/corbacom.cpp: Some bugs from the CORBA_String_var class - have been fixed. Thanks to Brian Mendel for noticing these. - - * IIOP/lib/boa.cpp: In CORBA_BOA::dispatch, the opname local - variable of type CORBA_String_var is changed to be of type - CORBA_String. This was because the String_var class would assume - ownership of the quantity assigned and delete it. Thanks again to - Brian Mendel for noticing this. - -Tue May 6 14:06:49 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/boa.hh: the register_obj's 2nd argument is changed from - CORBA_Object_ptr& to CORBA_Object_ptr - - * IIOP/lib/object.hh: the return type for register_op method on - CORBA_Object is changed from void to int to be consistent. - - Added a new method "get_subclass" to CORBA_Object that returns a - pointer to the subclass. Typeically, this would be pointer to an - object that implements an interface. - - * IIOP/lib/objtable.{hh,cpp}: @nd argument of register_obj changed - from CORBA_Object_ptr& to CORBA_Object_ptr. - - * IIOP/lib/orb.hh: the type signature of "skeleton" is changed to - take CORBA_Object_ptr rather than CORBA_Object_ptr& as its 2nd argument. - -Mon May 5 20:28:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/boa.cpp: commented out code that uses the "void - *context" field. It doesn't make any sense to have it. - - * IIOP/lib/boa.hh: Added 2 pure virtual methods (shutting_down and - clean_shutdown). - - In addition, the "register_obj" method was added. It was missing before. - - * IIOP/lib/corbacom.cpp: String_var's constructor bug is fixed. It - was trying to free storage that was never allocated. - - * IIOP/lib/iiopobj.{hh,cpp}: Added a method - "get_name" that - retrieves the object name. - - * IIOP/lib/object.{hh,cpp}: Added a method - "get_name" that - retrieves the object's name or key. This is for debugging purposes. - - * IIOP/lib/orbobj.cpp: There was an infinite loop in parsing the - options to BOA_init. Fixed. - - * IIOP/lib/stub.hh: Added the "get_name" virtual method. - -Sat May 3 22:45:23 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/boa.cpp: Added code temporarily that invokes the - skeleton that is looked up. We still need to add code that will - handle the case when no match is found on the operation names. - - * IIOP/lib/boa.hh: The register_obj method on TAO_Object_Table - now returns an integer indicating status of registering (-1 => - failure, 0 for success). - - * IIOP/lib/object.hh: The register_op method on - TAO_Operation_Table now returns an integer code (O for success, -1 - for failure). - - * IIOP/lib/objtable.{hh,cpp}: The register_obj method returns an - integer code representing either success or failure. - - * IIOP/lib/optable.{hh,cpp}: Added new files that implement - concrete strategies for operation name lookup. - -Fri May 2 08:48:29 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/object.hh: Modified the signature of register_op on - TAO_Operation_Table to take a second argument to be a pointer to - the actual skeleton. - - Thanks to Brian Mendel for reporting this. - -Thu May 1 16:46:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/object.{hh,cpp}: Added a method that can set the parent - pointer. - - * IIOP/lib/params.cpp: A hook has been provided in ROA_Factory to - enable the user to use a user-defined demux strategy. - -Wed Apr 30 22:00:51 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/objtable.{hh,cpp}: Added two new files that define - different object demultiplexing strategies. - - * IIOP/lib/Makefile: Added objtable as additional source file to compile. - - * IIOP/lib/boa.cpp: Provided the default destructor for the - TAO_Object_Table. - - * IIOP/lib/boa.cpp: Provided the default destructor for the - TAO_Operation_Table. - - * IIOP/lib/orbobj.cpp: Added support for the -OAtablesize option - in the call to CORBA_ORB::BOA_init method. - - * IIOP/lib/params.{hh,i,cpp}: Added support to ROA_Factory to return - a specific object lookup strategy. - - *IIOP/lib/roa.cpp: The ROA constructor initializes its "objtable_" - private data member with the object lookup strategy returned by - ROA factory. - -Tue Apr 29 11:52:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/any.hh: Moved CORBA_Any_ptr declaration to orb.hh. - - * IIOP/lib/boa.{hh,cpp}: Renamed BOA to CORBA_BOA. The CORBA_BOA class - maintains a pointer to an abstract TAO_ObjectTable class. Concrete - classes inheriting from TAO_ObjectTable will provide strategies - for lookup. - - Added virtual functions to do dispatch based on object key. In - addition, added a lookup method based on object key that delegates - the task of looking the object to the object table it maintains. - - Changed the signature of typedef CORBA_BOA::dsi_handler to be pointer to - member function of class CORBA_BOA. Eventually, this will point to - the dispatch method of class CORBA_BOA. - - Moved "struct Dispatch_Context" from roa.hh to boa.hh since we - want BOA to be a full fledged OA eventually and not remain an - abstract class as it is now. All other OA's such as ROA inherit - from BOA and only add extra functionality. - - * IIOP/lib/connect.cpp: There was a syntax error (missing comma) - in one of the ACE_DEBUG statements which has been fixed. - - * IIOP/lib/corbacom.{hh,cpp}: Added class CORBA_String_var as well - as the CORBA compliant CORBA_string_dup. - - * IIOP/lib/except.hh: Moved CORBA_Exception_ptr declaration to orb.hh. - - * IIOP/lib/object.hh: Added an abstract class - TAO_Operation_Table. CORBA_Object maintains a pointer to this - abstract class. The IDL compiler will eventually generate concrete - classes that employ different lookup strategies for operation name - lookup. - - * IIOP/lib/orb.hh: Added forward declarations to all CORBA_* - classes. In addition, moved all the CORBA_*_ptr declarations here. - - * IIOP/lib/orbobj.{hh,cpp}: Added the CORBA compliant BOA_init - method to class CORBA_ORB. Users can now pass arguments to - BOA_init. Eventually, we want to make this method return any of - the specialized OA's depending on the arguments. Right now, we get - a pointer to the ROA. - - * IIOP/lib/params.{hh,i}: Added some more methods and enum - declarations to the ROA_PARAMS singleton. - - * IIOP/lib/principa.hh: Moved the CORBA_Principal_ptr declaration - to orb.hh. - - * IIOP/lib/roa.{hh,cpp}: Moved some functionality to boa.hh. ROA - is now only a specialized form of BOA. - - * IIOP/lib/stub.hh: Moved the typedef for "skeleton" to orb.hh. - - * IIOP/lib/svrrqst.{hh,cpp}: Had to rename BOA to CORBA_BOA. - - * IIOP/lib/typecode.hh: Moved the CORBA_TypeCode_ptr declaration - to orb.hh. - -Tue Apr 22 23:30:19 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/connect.cpp (open): Added log message. - - * IIOP/lib/params.cpp (concurrency_strategy): Uses reactive - strategy when appropriate. - - * IIOP/lib/params.hh: Reactive strategy added. - -Tue Apr 22 21:03:15 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * IIOP/lib/giop.cpp: Changed erroneous ACE_GUARD calls to ACE_GUARD_RETURN - calls. - -Tue Apr 22 16:15:52 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/roa.cpp: Removed more POSIX thread calls. - - * IIOP/lib/invoke.cpp: Changed ForceSynchronousCancellation to - ACE_Synchronous_Cancellation_Required and made it use the ACE_OS - calls. - - * IIOP/lib/{typecode,svrrqst,request,principa,orbobj,nvlist,iiopobj,giop,except,any}.*: - Removed all vestiges of pthread mutexes...they are now - ACE_Thread_Mutexes. This will likely have to change if we want to - compile something completely devoid of threads, but that's another - day. Also, the mutexes have moved from being globals to being - members on the respective classes. No files should be dependent - on thread.hh any longer. - - * IIOP/lib/connect.cpp (open): Removed code obsoleted by use of - the Strategy_Acceptor. - - * IIOP/lib/{roa.cpp,connect.cpp},IIOP/tests/svr.cpp: Changes to - use new singletons described below. - - * IIOP/lib/params.*: Changed ROA_Parameters and ROA_Factory to use - ACE_Singleton<>. The singleton types are now named ROA_PARAMS and - ROA_FACTORY. - -Mon Apr 21 23:44:34 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * IIOP/lib/roa.cpp (ROA): Changed spelling of clientAcceptor_ to - client_acceptor_ to be consistent with ACE style conventions. - -Mon Apr 21 10:52:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/clnt.cpp: Moved call to CORBA_ORB_init() prior to the - parsing of the command line args. This got switched around during - porting to VxWorks. - - * IIOP/lib/roa.cpp: Changed calls using clientAcceptor_to use APIs - vended by ACE_Strategy_Acceptor. - - * IIOP/lib/roa.hh: Moved default thread flags into ROA_Factory. - - * IIOP/lib/params.*: Added ROA_Factory, a singleton which is the - beginning of an abstract factory dynamically producing runtime - strategies based on information found in ROA_Parameters. - - * IIOP/lib/connect.cpp: Added call to ROA_Handler's base class - CTOR in initializer list. - - * IIOP/lib/connect.hh: Changed ROA_Handler's CTOR so that it can - take an optional ACE_Thread_Manager* arg. This makes it - compatible with the CTORs for the base class. Also changed base - class for ROA_Acceptor to ACE_Strategy_Acceptor. - - * IIOP/lib/svrrqst.*: Changed references to BOA_ptr from TOA_ptr. - - * IIOP/lib/connect.*: ROA_Handler/ROA_Acceptor moved from roa.* - into here. - - * IIOP/lib/params.*: ROA_Parameters moved from roa.* into here. - - * IIOP/lib/boa.*: What used to be TOA is now BOA, and lives in - here. - - * IIOP/lib/roa.*: Major restructuring required removal of all - classes (see other log entries) from here. This file now houses - only the ROA class. - - * IIOP/lib/{tcpoa.*,toa.*}: Removed because of name changes from - TCP_OA->ROA and TOA->BOA. - -Fri Apr 18 08:09:19 1997 Brian Mendel <bmendel@mdc.com> - - * cdr.hh,corbacom.{hh,cpp},giop.cpp,marshall.cpp,typecode.cpp: - Changes required for WChar missed in earlier committed code. - - * connmgr.cpp: Changes required for select statement. - - * nvlist.cpp: Conditional include for memory.h added. VxWorks - does not have memory.h. - - * object.cpp: Added conditional for VXWORKS to define - IID_IUnknown. - - * orbconf.hh: Minor tuning of the configuration file. - - * tcpoa.{hh,cpp}: Added VXWORKS conditional includes. - - * toa.cpp: Added VXWORKS conditional includes. - - -Mon Apr 15 17:01:00 1997 Brian Mendel <bmendel@mdc.com> - - * roa.cpp: Added return statement to ROA_Handler::open(void*) - method. - - * giop.cpp: Modified giop::read_buffer to replace undefined fc - with peer.get_handle(). Modified giop::incoming_message method - parameter list to match function prototype exactly. - - * tcpoa.cpp: Replaced fd instances in debug messages with - peer.get_handle() calls. - -Mon Apr 14 13:45:54 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * roa.{hh,i,cpp},tcpoa.cpp,svr.cpp: Replaced ACE_ROA with - ROA_Parameters, which is a GoF-style singleton. - -Sun Apr 13 00:01:56 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * roa.cpp: Fix continuation condition in ROA_Handler::svc()'s loop - so that it doesn't stop after one iteration. Also added some - debug messages. - - * giop.cpp: Fixed some returns being called with no value. This - should have been caught in the previous round of changes. - -Sat Apr 12 23:10:08 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tcpoa.{hh,cpp}: TCP_OA::handle_message() now returns a value - indicating how a message was handled. - - * roa.cpp: ROA_Handler::handle_input() now returns a meaningful - value based on what TCP_OA::handle_message() returns. - - * giop.{hh,cpp}: Added end-of-file detection on socket - connections, and that is now propagated all the way back up - through GIOP::incoming_message(). I don't know if I violated - something in the spec by doing this, but it was necessary. I'll - look into it later. - -Thu Apr 10 11:49:44 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * giop.{hh,cpp}: Overloaded all methods dealing with connections - so that there are two, one taking a file descriptor as argument, - the other taking an ACE_SOCK_Stream. Right now, the *_Stream - version simply forwards to the fd-based one. I would have - preferred to get rid of the fd-based methods altogether, but we've - only converted the server runtime; the client is still using the - original sun code, which is effectively fd-based. In the course - of doing this, I also simplified the decls for incoming_message by - creating typedefs for some of the function pointers passed as - args. - - * orbconf.hh: Fixed the stupid auto-endian-ness detector - AGAIN...had my logic reversed! - - * roa.cpp: Adjusted code in accordance with changes to tcpoa.hh. - - * tcpoa.hh: Moved and renamed TCP_OA::dispatch_context to be - ::Dispatch_Context, and changed its endpoint member to be an - ACE_SOCK_Stream. - - * roa.hh: Fixed handle_input() to use the underlying peer() data - member for reading data, rather than using its argument. This is - so that when a different thread handles each connection, - handle_input() can simply be called repeatedly by svc(). - -Wed Apr 9 16:19:21 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tcpoa.cpp: Fixed a problem that G++ didn't notice regarding - changing the notion of endpoints in servers from server_endpoint - to an ACE_HANDLE. - -Wed Apr 9 15:43:37 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * svr.cpp: The -p option is gone, and -e takes its place and is - required. This requires the user to specify not only the port - number, but also the IP address of on which the server should - listen for requests. See ACE_INET_Addr documentation for valid - string formats for addresses. Also, the -t option sets the "use - threads" global. - - * orbconf.hh: Hopefully resolved the tension between MS and Unix - platforms in inferring endian-ness of the target platform based on - preprocessor defines. We now check for i386, _M_X86, and vax - (yeah, like we really worry about that, but it's easy to do). - - * roa.{hh,i,cpp}: Added support for spawning threads to handle - incoming requests. This involves a state flag for whether or not - to use threads, calling activate() in ROA_Handler::open() if that - flag is set, and creating ROA_Handler::svc() that simply loops - calling handle_input(). - -Tue Apr 8 11:14:57 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/svr.cpp: Moved setting of upcall(), forwarder(), - context(), etc. into here rather than in TCP_OA::TCP_OA(), which - is where I mistakenly stuck them a few days ago (duh!). - - * IIOP/lib/tcpoa.cpp: Removed setting of ACE_ROA::upcall(), which belongs - in the server code. I got confused because the function names - were so similar: tcpoa.cpp contains ::tcp_oa_dispatcher(), and - svr.cpp contains ::tcpoa_dispatch(). - - * IIOP/lib/roa.{hh,i,cpp}: Added forwarding function to ACE_ROA global namespace - hack. - - * IIOP/lib/orbconf.hh: Fixed preprocessor checks that auto-detect - endian-ness of this processor. - -Mon Apr 7 21:08:24 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/test1_{clnt,svr}.cpp: THESE HAVE NOT BEEN CONVERTED TO - USE ACE EVENT HANDLING!! This round of changes explicitly - instantiates templates where required. - - * IIOP/test/svr.cpp: Global function ::OA_listen() no longer - exists; its functionality is now fully contained within ::main(). - If USE_ACE_EVENT_HANDLING is defined, a Reactor-based event loop - is used. The original intent was to allow conditional compilation - to select btw. the original method and a Reactor-based method. - However, weaving that into the library proved far more difficult - than anticipated, so more than likely not defining - USE_ACE_EVENT_HANDLING will cause massive grief. - - * IIOP/lib/toa.cpp: Changed call to TCP_OA::init() to reflect new - ACE_INET_Addr argument type. - - * IIOP/lib/tcpoa.cpp (TCP_OA): All initialization methods were - changed, specifically the CTOR and TCP_OA::init, to reflect the - introduction of ACE_INET_Addr. Two side-effects of using - ACE_INET_Addr are that (1) a server can specify the address on - which it wants to listen and (2) best that I can tell, the server - MUST specify the address on which it wants to listen because - otherwise it won't be able to publish a rational IOR. The event - loop is now changed to simply loop on Reactor::handle_events(). - - * IIOP/lib/tcpoa.hh (TCP_OA): Removed vestiges of this component's - use of the original connection management scheme. Where - appropriate, hostnames and ports were replaces by ACE_INET_Addr, - endpoints by ACE_HANDLEs, etc. One particularly nasty thing done - was to declare ROA_Handler as a friend so that handle_message() - can be called from ROA_Handler::handle_input(), which to me - exposes a hole in the original architecture wherein input is - "pulled" rather than waited-for. We might need to re-think how - this is handled within TAO. - - * IIOP/lib/roa.{hh,i,cpp}: These files contain the required - components to support the new server-side ACE-based - connection/event substrate. The client side remains, as always, - using the connection mgmt scheme used by the original Sun IIOP - code. - - * IIOP/lib/giop.cpp: Added explicit template instantiation for - when this is needed. - - * IIOP/lib/corbacom.hh: Now protects itself from multiple - inclusion. - - * IIOP/lib/Makefile: Added roa.* where appropriate. - -Wed Mar 19 10:25:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/docs/us/codecount/*.count: Added to repository. - - * Makefile: Added to repository. - - * IIOP/objbase.h: Moved to IIOP/compat. - - * IIOP/initguid.h: Moved to IIOP/compat. - -Thu Mar 13 14:06:28 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * ChangeLog: Added the ChangeLog. diff --git a/TAO/ChangeLog-98a b/TAO/ChangeLog-98a deleted file mode 100644 index 7683f5a7be4..00000000000 --- a/TAO/ChangeLog-98a +++ /dev/null @@ -1,11669 +0,0 @@ -Sat Jun 27 11:38:27 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.35 released. - -Sat Jun 27 10:32:46 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.cpp (log): Must use a u_short cast - rather than an int cast to avoid ambiguity. Thanks to David - Levine for detecting this. - - * orbsvcs/orbsvcs/Log/Logger_i.cpp: Fixed some minor problems with - constness. Thanks to David Levine for reporting this. - -Sat Jun 27 07:15:49 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * tests/NestedUpcall: Added a Makefile. - -Sat Jun 27 07:15:49 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.34 released. - -Sat Jun 27 00:27:29 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/{RT_Task.cpp, Event_Channel.cpp, - ReactorTask.cpp, Dispatching_Modules.cpp}: Moved the - ACE_TIMEPROBE_EVENT_DESCRIPTIONS use inside - #if defined (ACE_ENABLE_TIMEPROBES). This will help prevent - compiler warnings when time probes are not used. Also, added a - semi-colon at the end of the ACE_TIMEPROBE_EVENT_DESCRIPTIONS line. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp, - orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.cpp, - orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp, - orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: - - Removed extra include of Timeprobe.h - - * Added the following comment to all uses of enums for time - probes. This way it should be easy (relatively) to find a unique - starting key for the next set of descriptions. - - // Timeprobe description table start key - -Sat Jun 27 01:06:24 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.cpp (log): Commented out unused. - Cast the 0 passed to ACE_INET_Addr to int explicitly. - (Otherwise, the compiler can't tell whether it's a NULL ptr or - int 0.) - -Fri Jun 26 21:24:58 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/Makefile: Removed DII_Cubit for now until - Jeff fixes it. - - * orbsvcs/tests/Logger: Rename clnt.{cpp,h} and svc.cpp to - client.{cpp,h} and server.cpp to be more consistent with other - naming schemes in TAO. - -Fri Jun 26 16:57:54 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/encode.cpp: - Check the length of a string before encoding. - - * tao/CDR.h: - * tao/CDR.i: - * tao/CDR.cpp: - Added operations to write strings with known lengths - - * tests/Param_Test/Makefile: - * tests/Param_Test/README: - * tests/Param_Test/tests.h: - * tests/Param_Test/bd_string.h: - * tests/Param_Test/bd_string.cpp: - * tests/Param_Test/driver.cpp: - * tests/Param_Test/helper.h: - * tests/Param_Test/helper.cpp: - * tests/Param_Test/options.h: - * tests/Param_Test/options.cpp: - * tests/Param_Test/param_test.idl: - * tests/Param_Test/param_test_i.h: - * tests/Param_Test/param_test_i.cpp: - Added a test for bounded strings. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - Use the TAO extensions to create an octet sequence using a - message block. - -Fri Jun 26 16:45:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/README: Added information about the - new version of the event service. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: removed the - "cout" commands. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp: Made the - Event consumer work. - -Fri Jun 26 14:22:40 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tests/Param_Test: - - The ever increasing tests.{h, cpp} files have been broken down - into the following files to make modifications and adding new - tests simpler. The tests.cpp file is removed. Any new tests that - are added will have their individual *.h and *.cpp files. - - We now keep a tests.h file that includes all the individual *.h - files for each test. This way, we just need to include the tests.h - file. Individual files for different tests are given below. - - any.h - bd_long_seq.h - bd_short_seq.h - bd_str_seq.h - bd_struct_seq.h - fixed_array.h - fixed_struct.h - nested_struct.h - objref.h - short.h - typecode.h - ub_any_seq.h - ub_long_seq.h - ub_objref_seq.h - ub_short_seq.h - ub_str_seq.h - ub_string.h - ub_struct_seq.h - var_array.h - var_struct.h - - These are the different *.cpp files implementing various tests. - - any.cpp - bd_long_seq.cpp - bd_short_seq.cpp - bd_str_seq.cpp - bd_struct_seq.cpp - fixed_array.cpp - fixed_struct.cpp - nested_struct.cpp - objref.cpp - short.cpp - typecode.cpp - ub_any_seq.cpp - ub_long_seq.cpp - ub_objref_seq.cpp - ub_short_seq.cpp - ub_str_seq.cpp - ub_string.cpp - ub_struct_seq.cpp - var_array.cpp - var_struct.cpp - - We use the bd_* convention for the bounded sequences/strings tests - and the ub_* convention for the unbounded cases. - - *NEW TESTS* : - - Tests for arrays of fixed and varying sizes are included in this - release. - -Fri Jun 26 14:20:58 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Sequence.h: - * tao/Sequence.cpp: - * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: - TAO provides an extension for octet sequences: a constructor - taking a Message_Block. - - * TAO_IDL/be_include/be_array.h: - * TAO_IDL/be_include/be_enum.h: - * TAO_IDL/be_include/be_exception.h: - * TAO_IDL/be_include/be_interface.h: - * TAO_IDL/be_include/be_interface_fwd.h: - * TAO_IDL/be_include/be_native.h: - * TAO_IDL/be_include/be_predefined_type.h: - * TAO_IDL/be_include/be_sequence.h: - * TAO_IDL/be_include/be_string.h: - * TAO_IDL/be_include/be_structure.h: - * TAO_IDL/be_include/be_type.h: - * TAO_IDL/be_include/be_typedef.h: - * TAO_IDL/be_include/be_union.h: - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_enum.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_interface_fwd.cpp: - * TAO_IDL/be/be_native.cpp: - * TAO_IDL/be/be_predefined_type.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_string.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_type.cpp: - * TAO_IDL/be/be_typedef.cpp: - * TAO_IDL/be/be_union.cpp: - Removed a method that was not used anymore. - -Fri Jun 26 12:54:25 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation/{rettype_post_docall_cs, - rettype_pre_docall_cs}.cpp: We were using the underlying node - names in the generated code even when those nodes were Typedefed - to other names. So in such cases, we should use the typedef name. - Thanks to John Geiss <jtgb@eci-esyst.com> for reporting the - problem. - -Fri Jun 26 11:46:46 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence/gen_{,un}bounded_sequence_ch.cpp: - added ACE_CAST_CONST to get_buffer () const member functions, to - avoid Sun C++ warning about casting away constness. Thanks to - J. Russell Noteworthy <rnosewor@objectsciences.com> for - reporting this. - -Fri Jun 26 09:48:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * VERSION: Updated this file to direct bug reports to - the ACE mailing list. - -Thu Jun 25 19:35:50 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/NestedUpcall/{Triangle_Test, Reactor}: Added the - Triangle test to examine ORB behavior doing nested upcalls. - Also moved the Reactor test one level down in the hierarchy - which means it is now in ../NestedUpcall/Reactor - -Thu Jun 25 17:57:50 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/Makefile: Integrated the new DII_Cubit - test into the Makefile scheme. - -Thu Jun 25 17:17:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - We disconnect all consumers and suppliers at shutdown. - - * orbsvcs/orbsvcs/Event/Task_Manager.h: - * orbsvcs/orbsvcs/Event/Task_Manager.cpp: - Once the class is shutdown it cannot start again. This last two - changes make shutdown clean for the test. - - * orbsvcs/orbsvcs/Event/ReactorTask.cpp: - * orbsvcs/orbsvcs/Event/RT_Task.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - The debugging messages start with "EC" to spot (or ignore) - them more easily. - - * orbsvcs/orbsvcs/RtecEventComm.idl: - I added an octet sequence payload, just to make things more - interesting. - -Thu Jun 25 16:31:00 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tao/GIOP.cpp: - In method TAO_GIOP_Invocation::invoke, when the method being - invoked threw an exception, invoke would iterate over the list of - possible thrown exceptions, the TAO_Exception_Data for the method, - but wasn't breaking when it matched exception names. Added a break - statement. - -Thu Jun 25 12:54:09 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Sequence.h: - * tao/Sequence.i: - For octet sequences the method to obtain the underlying messsage - block was too expensive (it created a duplicate). This also - solve a memory leak in the operator<< for OutputCDR and octet - sequences. - -Thu Jun 25 11:57:27 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp - (visit_union): We were "memset"ing the return value to 0. In our - changed scenario where the Union class now derives from a base - class, this memsetting results in the vptr becoming 0. This was - causing seg faults. Thanks to Carlos for his help in the debugging - efforts. - -Thu Jun 25 11:18:32 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO_IDL/tao_idl.dsp: Removed the use of CPP_PATH altogether. - The location now defaults to "C:\Program Files\DevStudio\bin\cl.exe". - If this is not the case, then use the environment variable - CPP_LOCATION to override it. - - * TAO-INSTALL.html: Changed the paragraph that talked about - CPP_PATH to mention the default and CPP_LOCATION. - -Thu Jun 25 10:53:12 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/NestedUpcall/NestedUpCalls_Test.cpp: Removed unnecessary - Backing store code. - -Thu Jun 25 08:44:03 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_union/union_cs.cpp: - The generated _access method was missing a return statement for - the default case. Thanks to David Levine for pinpointing this. - - * TAO_IDL/be/be_visitor_attribute/attribute.cpp: - For the TIE classes, we had forgotten to generate the "set" - attribute operation (for attributes that are not readonly). Again - thanks to David Levine for pinpointing this. - - * tao/IIOP_Object.i: A newline was missing at the end of the file - which resulted in a huge number of compile errors from SunCC. This - is now fixed. - - * tao/append.cpp: Unused variables in Union::append removed. - -Thu Jun 25 06:57:43 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_union/union_ch.cpp: - Added a new virtual overridden method that returns a pointer to - the discriminant. - - In addition, we now name the underlying private union as u_. - - * TAO_IDL/be/be_visitor_union/union_ci.cpp: - - In the default constructor, we were setting the entire class - object to 0 which was making the virtual pointers 0. We now only - initialize the union and the discriminant. - - Added the implementation of the virtual overridden _discriminant - method. Also, the _reset method was moved here from the - union_cs.cpp file. - - * TAO_IDL/be/be_visitor_union/union_cs.cpp: - Moved the _reset method to the union_ci.cpp file - - * TAO_IDL/be/be_visitor_union_branch/{public_access_cs, - public_reset_cs, public_assign_cs, public_ci}.cpp: - - The generated code now has to use the named underlying union. SO - every field must now be accessed as u_.<field>. - - * tao/Union.h: - - Added a pure virtual method returning pointer to void. This will - be overridden by subclasses and a pointer to the discriminant will - be returned. - - * tao/{encode, decode}.cpp (TAO_Marshal_Union::{encode, decode}): - - We now use the _discriminant () method on the union class to - access the discriminant. This is much safer than simply casting - it. - -Wed Jun 24 21:41:21 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/GIOP.cpp: Added a lock to - - * tao/Connect.cpp: Added a lock to the access of the - forwarding profile. Some overhead might be due to that, - but we don't want to sacrifice stability. - - * tao/IIOP_Object.{h,icpp}: Added thread safe access functions - for the forwarding profile. - -Wed Jun 24 18:13:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - * orbsvcs/orbsvcs/Event/Task_Manager.h: - * orbsvcs/orbsvcs/Event/Task_Manager.cpp: - The multiple EC is not shutting dows cleanly, apparently it is a - synchronization problem between the two processes. These changes - try to minimize the problem by making shutdown() (and activate) - idempotent in the EC internal threads. - -Wed Jun 24 15:55:33 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB.cpp (resolve_root_poa): Changed resolve_poa() to - resolve_root_poa(). - - * tao/ORB.cpp (resolve_poa): Rearranged this method so that the - user can specify the name, POA Manager, policies, and active - object map of a root poa. Use this method instead of - resolve_initial_reference("RootPOA"). This method also allows - the user the specify the policies used by the root POA - the - most common change will be to switch the lifespan policy of the - root POA from TRANSIENT to PERSISTENT. resolve_poa() is - non-standard. - -Wed Jun 24 15:49:19 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/Union.{h, cpp}: - - Added a base sequence definition for Unions. This uses the same - logic as the Base sequences. We need such a base sequence to - provide us virtual methods called "_access" and "_reset". The - _access method us ised to access the right union member at the - right offset. The reset method is used to free the storage. - - *NOTE* these are new files - - * tao/{encode, decode}.cpp: For Union::{encode, decode}, we now - use the Base Union class on which we invoke the virtual methods. - - * TAO_IDL/be_include/be_codegen.h: Added a new enumeration for - generating the overloaded _access method on the union class. - - * TAO_IDL/be/be_visitor_union/union.cpp: - - Handled the case for the access method generating visitor. - - * TAO_IDL/be/be_visitor_union/union_ch.cpp: - - The union class now inherits from the TAO_Base_Union class. In - addition, it defines the virtual overloaded _reset and _access - methods. - - * TAO_IDL/be/be_visitor_union/union_ci.cpp: - - Since the reset method was renamed to _reset, we now use this - name. - - * TAO_IDL/be/be_visitor_union/union_cs.cpp: - - Added code for the overloaded _reset and _access method. - - * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: - All calls to reset converted to _reset. - - * TAO_IDL/be_visitor_union_branch/public_access_cs.cpp: - TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h: - - New visitor to generate the code for the access method. - *NOTE* these are new files. - - * TAO_IDL/be_visitor_union_branch.cpp: - TAO_IDL/be_include/be_visitor_union_branch.h: - - Includes the new files. - - * TAO_IDL/be/be_interpretive.cpp: Handled the case for the new - visitor on unions that generates the _access method. - -Wed Jun 24 14:29:56 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * docs/releasenotes/index.html: - Updated the Trader portion of the releasnotes. - -Wed Jun 24 12:02:40 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * tests/POA/RootPOA/RootPOA.cpp (main): Replaced the exception - checking/printing code by TAO_CHECK_ENV_PRINT_RETURN. - -Wed Jun 24 11:52:12 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * tao/corba.h: Added the exception macros - TAO_CHECK_ENV_PRINT_RETURN(ENV, PRINT_STRING, RETURN) and - TAO_CHECK_ENV_PRINT_RETURN_VOID(ENV, PRINT_STRING). - -Wed Jun 24 11:38:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}: - Removed runtime dynamic dispatch strategy classes, - as these are now provided by the ACE dynamic message - strategy classes for the dynamic message queue. For - performance and architectural reasons, it is better to - strategize the dispatch queue itself, rather than have - the *ACE* dispatch queue call out to a *TAO* strategy. - -Wed Jun 24 11:13:32 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/be_codegen.h: Added a new state for resetting - the appropriate element of a union. - - * TAO_IDL/be_include/be_visitor_union_branch/public_reset_cs.h: - Added a new visitor that generates code for resetting elements of - a union. This is required in 3 scenarios: (1) for destructor, (2) - for union's assignment operator, and (3) individual modifier - operations in which a new value is set. This will require freeing - of previous value. - - *NOTE* this is a new file. - - * TAO_IDL/be_include/be_visitor_union_branch/public_assign_cs.h: - Added a bunch of methods to the visitor that visit the - "type". This was necessary since simple assignment is not - enough. We must ensure that old values are freed and the - assignment results in deep copies wherever necessary. All this is - required for the assignment operator of the union. - - * TAO_IDL/be/be_interpretive.cpp: Handled the newly added case for - the union reset visitor. - - * TAO_IDL/be/be_visitor_argument/docall_cs.cpp: - TAO_IDL/be/be_visitor_argument/marshal_ss.cpp: - TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp: - TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: - - Added support for Arrays as in, inout, out parameters. - - * TAO_IDL/be/be_visitor_array/array_ch.cpp: - TAO_IDL/be/be_visitor_array/array_ci.cpp: - - For fixed size arrays, the _out definition is simply a - typedef. Whereas for arrays whopse base type is of variable - size, we define the _out class. - - * TAO_IDL/be/be_visitor_structure/structure_ch.cpp: - the export macro for structures is always generated, even if it - is nested. This is only valid for the Windows platform since for - the other cases the export macro is NUL. - - * TAO_IDL/be/be_visitor_union/union.cpp: - The generic visitor now also handles the union reset visitor - case. - - * TAO_IDL/be/be_visitor_union/union_ch.cpp: - The union mapping that generates a class now uses the Export - macro even if it was nested. Seth Widoff reported that this was - necessary. - - * TAO_IDL/be/be_visitor_union/union_ci.cpp: - - The constructor now zeros the entire union on - initialization. Thus, at the start, all the fields will be 0s. - - The destructor now calls the private "reset" method with the - finalize flag=1 to indicate freeing of all allocated resources. - - * TAO_IDL/be/be_visitor_union/union_cs.cpp: - - Added code for the reset method. In addition, the assignment - operator first invokes the reset method to clean up old - storage. - - * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: - - Members of the private anonymous union inside the union class - may either be pointers or scalar variables. They will be - pointers if their types are aggregate classes or structures that - have ctors. C++ does not allow using the instances of such - aggregate classes. - - * TAO_IDL/be/be_visitor_union_branch/private_assign_cs.cpp: - - Added code for all the methods that visit the type. Each method - tries to free previous storage (if any) and then does the - necessary deep copying. - - * TAO_IDL/be/be_visitor_union_branch/public_ch.cpp: - - Some modifier and access methods that were generated had - errors w.r.t the parameters they take. This is now fixed. - - * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: - - All the modifier methods now call reset to free old storage and - then do the appropriate deep copying of the new value. - - * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: - - Code for the reset visitor. - - *NOTE* this is a new file. - - * tao/decode.cpp: Released the IIOP_Object that is created during - the ObjRef::decode method. This was necessary to overcome a - memory leak. Thanks to Irfan and Jeff. - - -Wed Jun 24 09:56:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit.idl: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.h: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/IDL_Cubit/client_i.h: - * tests/Cubit/TAO/IDL_Cubit/client_i.cpp: - Removed DII test. - Print clearer messages for sequences (to distinguish octet vs - long sequences). - Print the results for each test (long, short, octet, structs - and unions) and *also* a mixin of lonng/short/octet. - -Wed Jun 24 02:23:38 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.33 released. - -Tue Jun 23 17:30:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/Scheduling_Service/Makefile: - Updated dependencies. - - * orbsvcs/Event_Service/Event_Service.cpp: - Improved a debug message. - - * orbsvcs/Event_Service/svc.conf: - The options are more realistic now. - - * orbsvcs/tests/start_services: - No need to run the Scheduling Service now; the Event_Service - program has a collocated one (by default). - - * docs/releasenotes/ec.html: - Updated the release notes to reflect the latest changes. - -Tue Jun 23 16:47:43 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.{h,cpp} (class TAO_Collocation_Table_Lock): Rename - TAO_COLTBL_Lock TO TAO_Collocation_Table_Lock. COLTBL was a bit - cryptic. Changed its implementation to use the new - ACE_Adaptive_Lock class. - -Tue Jun 23 12:34:23 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: - Merged Attributes(_T).{h,cpp} into the above files. Updated the - Makefile. - -Tue Jun 23 12:18:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Task_Manager.h: - * orbsvcs/orbsvcs/Event/Task_Manager.i: - * orbsvcs/orbsvcs/Event/Task_Manager.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.i: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - * orbsvcs/orbsvcs/Event/RT_Task.cpp: - * orbsvcs/orbsvcs/Event/ReactorTask.cpp: - The Event Channel can be shutdown cleanly using the destroy() - method. The problem was that two components (the Dispatching - Module and the TaskManager or the handler for Timer threads) - were not waiting for their threads to shutdown. - The modules keep their own Thread_Manager to wait for shutdown. - Startup was also changed: the event channel constructor - receives a new argument to control the creation of the internal - threads; if the argument is FALSE the user must call the - activate() method to start the threads. - - * orbsvcs/orbsvcs/RtecEventComm.idl: - * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: - Many operations were oneways because early releases of TAO did - not support nested upcalls. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - use the activate method to start the threads. - - * orbsvcs/Event_Service/Event_Service.cpp: - Added support for a collocated Scheduling Service; this is the - common use case that we wish to implement, improves performance - and works around some nested upcall problems in the ORB. - The user can select the old behavior using the <-s global> - flag. - - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Only shutdown the EC once our event loop exits - - * orbsvcs/tests/EC_Multiple/histo.pl: - Fixed typo in a comment. - -Tue Jun 23 11:59:12 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Makefile,tests/Thruput/TAO/Makefile, - tests/NestedUpcall/Makefile,tests/Quoter/Makefile, - tests/OctetSeq/Makefile: - added S_T.* files to realclean target. - -Mon Jun 22 21:30:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * TAO_IDL/be/be_sequence.cpp - * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: Making - a special treatment for sequence of octets. - -Mon Jun 22 20:32:25 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Attributes.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Attributes_T.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Constraint_Nodes.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Constraint_l.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Constraint_y.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Dynamic_Property.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Offer_Database.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Offer_Iterators.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}: - * orbsvcs/orbsvcs/Makefile: - By having related classes share a file, reduced the number of - files in the Trading Service by half. Updated the Makefile to - reflect the changes. - - * orbsvcs/tests/Trading/Makefile: - * orbsvcs/tests/Trading/Offer_Exporter.cpp: - * orbsvcs/tests/Trading/Offer_Importer.cpp: - * orbsvcs/tests/Trading/TT_Info.cpp: - * orbsvcs/tests/Trading/export_test.cpp: - Updated the Trading tests to use the new header file scheme. - -Mon Jun 22 11:54:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile: - * tests/Cubit/TAO/IDL_Cubit/Makefile: - Updated dependencies. - -Mon Jun 22 11:32:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * docs/releasenotes/index.html: Added documentation - about the changes in the TAO IDL compiler. - -Mon Jun 22 11:32:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * TAO_IDL/be/{be_helper.h, be_sequence.h}: see comment below, - only the declarations were added. - - * TAO_IDL/be/be_visitor_sequence/sequence_{ch,cs}.h: Added - the declarations of the things mentioned below. - -Mon Jun 22 11:15:40 1998 Michael Kircher <mk1@cs.wustl.edu> - - * TAO_IDL/be/be_helper.cpp: Added gen_ifdef_AHETI(), gen_else_AHETI() - and gen_endif_AHETI() to write the proper #ifdef. - - * TAO_IDL/be/be_sequence.cpp: Added instance_name() to create - a unique instantiation name for the instantiated templates. - Added object_manager_name () to create a unique object_manager - name. - - * TAO_IDL/be/be_visitor_sequence.cpp: Added the new files. - - * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: Added ifdefs - for generating appropriate code to handle Object Manager - references. - - * TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: Added - the hook-up to generate the instantiated templates. Basically - the hook-up is the method instantiate_sequence(). - - * TAO_IDL/be/be_visitor_sequence/sequence_c{i,s}.cpp: Added - the ifdef distinguishing. - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp, - TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp, - TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp, - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp, - TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp, - TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp: - New files for code generation. - -Mon Jun 22 11:12:54 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory (preemption_priority): - use ACE_TSS_Type_Adapter instead of specializing the - adaption of RtecScheduler::Preemption_Priority here. - - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: made some - ACE_hrtime values non-const so that Sun C++ 4.2/SunOS 5.6 - doesn't complain about casting away constness. Thanks to - J. Russell Noteworthy <rnosewor@objectsciences.com> for - reporting this. - - * test/Cubit/TAO/IDL_Cubit/collocation_test (main): - changed the static_cast of svr_worker to a reinterpret_cast, - and added a & in front of it for good measure. Thanks to - J. Russell Noteworthy <rnosewor@objectsciences.com> for - reporting this, and to Carlos for recommending the use of - reinterpret cast. - - * tao/GIOP.cpp,ORB.cpp,IIOP_Object.cpp,POA.cpp,Server_Request.cpp, - Connect.cpp, - orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp,Event_Channel.cpp, - RT_Task.cpp,ReactorTask.cpp, - orbsvcs/tests/Event_Latency/Event_Latency.cpp, - tests/Cubit/TAO/IDL_Cubit/client_i.cpp,cubit_i.cpp: - removed trailing semicolon from ACE_TIMEPROBE_EVENT_DESCRIPTIONS, - now that it is part of the macro definition. - -Mon Jun 22 09:19:40 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp: The typecode - declarations now have the appropriate export macro generated for - them. This is required for the DLLs. Seth Widoff pointed out this - requirement. - -Mon Jun 22 00:09:23 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.32 released. - -Mon Jun 22 00:01:44 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs.dsp: This project file no longer copies - the orbsvcs.dll to $TAO_ROOT/tao/. Be sure to remove this file: - $TAO_ROOT/tao/orbsvcs.dll. - -Sun Jun 21 23:59:06 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.31 released. - -Sun Jun 21 16:29:49 1998 Seth Benjamin Widoff <sbw1@cs.wustl.edu> - - * tao/ORB.cpp: - * tao/Params.cpp: - Wasn't initializing Params::trading_service_{ior,port}_ or - CORBA_ORB::trading_service_. - -Sun Jun 21 14:36:26 1998 Seth Benjamin Widoff <sbw1@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/*.*: - Trading Service now compiles without warnings or link errors on - Windows NT (MSVC++). - -Sun Jun 21 08:39:38 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tests/Param_Test/tests.cpp: Removed a bunch of warnings related - to creation of a temporary when a var or ptr type is passed as an - out parameter. - -Sat Jun 20 14:22:22 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: wrapped - RtecScheduler::Preemption_Priority (int) with a struct - when used with ACE_TSS. ACE_TSS<TYPE>::operator-> () returns - TYPE *, so it cannot be instantiated with built-in types: - "ace/Synch_T.h", line 267: Error: Cannot have a return type - of int* for ACE_TSS<int>::operator->() const. - Where: While specializing "ACE_TSS<int>". - Where: Specialized in non-template code. - -Sat Jun 20 03:31:28 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA: - - - Added TAO_POA_locking as a new policy to the POA. This policy - is used to control the kind of lock created for POA state - synchronization. Previously, the user could only specific the - synchronization choice at an application level in the svc.conf - file. This approach did not allow a scheme where some POAs - had thread safe synchronization, while others had no - (null) synchronization. - - The new policy has three options: - - - USE_DEFAULT_LOCK: This option is the default value for this - policy. This option indicates that the application level - choice for POA synchronization specified in the svc.conf - file be used. Currently, this defaults to thread safe - synchronization. - - This option allows the programmer to make application level - decisions about the synchronization in the POA. Hence, - unless specified otherwise in create_POA, all POAs in the - application will have thread safe synchronization or null - (no) synchronization depending on the chioce made in - svc.conf. - - - USE_NULL_LOCK: Use null (no) synchronization to protect the - state of this POA. - - - USE_THREAD_LOCK: Use thread synchronization to protect the - state of this POA. - - - Changed POAC.{h,i,cpp}, POAS.{h,i,cpp} and POA{h,i,cpp} to - support this new policy. - - - Removed Strategy_POA and Strategy_POA_Manager. Both were - rather unnecessary in view of the above changes. - - * tests/POA/locking/locking.cpp: New test for showing off new POA - locking policy. - - * tao/Sequence.h (Octet>): Removed extra operator<< and operator>> - declarations, and changed the implementation to use non-private - members. - - * tao/Principal.i: Added new file (empty). - -Sat Jun 20 01:39:35 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/TAO4.{mdp,mak}: Defined TAO_BUILD_DLL, undefined - TAO_NO_COPY_OCTET_SEQUENCES. Added Current{C,S}.cpp and - Forward_Servant.cpp into project. Removed timeprobe.cpp from - project. - - * tao/Forwarding_Servant.h: - * tao/POA{C,S,_CORBA}.h: Changed to use the underbar class names - for better portability. Thanks to Ernesto Guisado - <eguisado@saincotrafico.com> for providing the perl script to - automate the process. - -Sat Jun 20 00:00:56 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/GIOP.h: - * tao/GIOP.cpp: - * tao/Server_Request.cpp: - Used compiled encoding and decoding for the GIOP and Request - headers, thus reducing the time on the critical path. - Removed a memory allocation on the server side by using ad-hoc - marshalling for the object key: it does not need to increase the - reference count on the CDR message block because its lifetime is - shorter that the CDR stream. - Added compiled marshalling methods for the ServiceContextList, - this is mostly a waste because the context list is always - empty. - - * tao/CDR.h: - * tao/CDR.i: - Enabled >> and << operators for CDR and basic types, added new - operators for strings. - - * tao/corba.h: - * tao/ORB.cpp: - Added operators to marshal octet sequences. - - * tao/decode.cpp: - Use the new replace() method to set the message block on octet - sequences. - - * tao/Sequence.h: - * tao/Sequence.i: - Added new replace() method that set the internal message block - in an octet sequence. - - * orbsvcs/tests/start_services: - Recommend the $USER instead of the $login macro for bash. - -Fri Jun 19 21:30:22 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.30 released. - -Fri Jun 19 15:18:04 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory.{h,cpp} (preemption_priority, - set_preemption_priority): added these static functions. They are for - use by applications and the Event Channel, to get/set the - preemption priority of the calling thread. - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: replaced the static - ACE_Runtime_Factory instance with an ACE_Singleton instance - of a locally-defined struct. In addition, the struct - contains the ACE_TSS instance that is used by the static - {set_,}preemption_priority functions. - - * orbsvcs/orbsvcs/Event/RT_Task.cpp (svc): register each - Event Channel dispatch thread with the Scheduler's - set_preemption_priority () function. - - * orbsvcs/orbsvcs/Event/RT_Task.cpp (svc): suppress the - warning about thr_setprio failure on Solaris, if the - priority is 0 and not running as root. It's a no-op, - in that case, but Solaris' ::thr_setprio fails with EINVAL. - - * orbsvcs/tests/Concurrency/lex.CC_command.cpp{,.diff} - (ace_cc_yyinput): don't compile this function in if - ACE_CC_YY_NO_INPUT is defined, to avoid compile warning about - unused static function. - -Fri Jun 19 12:07:30 1998 Chris Gill <cdgill@cs.wustl.edu> - - * tests/Quoter/Generic_Factory.cpp: added .in() to passed - object reference parameter to remove compiler error - using g++ on Solaris 2.6 for Intel x86 - -Fri Jun 19 11:29:24 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.29 released. - -Fri Jun 19 10:14:22 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/POA/On_Demand_Activation/Servant_Activator.h: - * tests/POA/On_Demand_Activation/Servant_Activator.cpp: - * tests/POA/On_Demand_Activation/Servant_Locator.h: - * tests/POA/On_Demand_Activation/Servant_Locator.cpp: - * tests/POA/On_Demand_Activation/server.cpp: - The Locator and Activator objects require an ORB_ptr now (that - in turn is passed to the MyFooServant). - - * tests/POA/On_Demand_Activation/Makefile: - * tests/POA/Forwarding/Makefile: - Updated dependencies. - -Fri Jun 19 09:56:55 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/README: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.h: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - (1) Minor aesthetic changes and code cleanup. - (2) Changes to the utilization tests of the server and client. We - now make the utilization "scavenger" thread run for a determined - period of time and report the number of computations performed. - The client thread that performs CORBA calls also reports the - number of calls performed. - -Fri Jun 19 07:25:41 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp (Next): removed - break following a TAO_THROW to avoid compiler warning about - unreachable statement. - - * tao/ORB.cpp (run): #ifdef'ed out unused locals max_iterations and - counter. - - * tests/NestedUpcall/client.cpp: removed unused static - max_sequence_length. - - * tests/Param_Test/tests.cpp: removed or commented out some - unused variables. - -Thu Jun 18 18:33:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/GIOP.cpp: - Added a few more Timeprobes to the client side. - Removed another memory allocation by using a buffer on the stack - for the (initial) output CDR stream. - - * tao/ORB.cpp: - No automatic printing of Timeprobes in the ORB anymore. The - application is responsible of invoking the ACE_TIMEPROBE_PRINT - macro as needed. - - * tao/IIOP_Object.cpp: - Added more Timeprobes. - - * tests/POA/Generic_Servant/Foo.idl: - * tests/POA/Generic_Servant/MyFooServant.h: - * tests/POA/Generic_Servant/MyFooServant.cpp: - Added methods to request a shutdown of the server. - - * tests/POA/Generic_Servant/client.cpp: - Added an option (-x) to shutdown the server. Also added support - for Timeprobe. - - * tests/POA/Explicit_Activation/server.cpp: - Print the timeprobes at exit. - -Thu Jun 18 14:17:35 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Attributes_T.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Validator.cpp: - * orbsvcs/orbsvcs/Trader/Lookup.cpp: - * orbsvcs/orbsvcs/Trader/Policies.cpp: - * orbsvcs/orbsvcs/Trader/Policy_Manager.cpp: - * orbsvcs/orbsvcs/Trader/Property_Filter.cpp: - * orbsvcs/orbsvcs/Trader/Property_Evaluator.cpp: - * orbsvcs/orbsvcs/Trader/Register.cpp: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: - Eliminated warnings on NT compilation. - -Thu Jun 18 14:07:57 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/start_services: use port 0, use the -o and - -p Naming_Service options and use URL objrefstyle. Thanks - to Carlos for these suggestions. Also, write outputs to - different log files, and added note about setting the NameService - environment variable. - -Thu Jun 18 12:07:32 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Quoter/{Factory_Finder, Generic_Factory}_Impl.cpp: - removed unneccessary code. - - * orbsvcs/LifeCycle_Service/LifeCycle_Service_Impl.cpp: - removed unneccessary code. - -1998-06-18 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/tests/Concurrency/CC_command.tab.cpp - orbsvcs/tests/Concurrency/Makefile - Now the yacc generated file is patched too. - -Thu Jun 18 11:38:32 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbscvs/tests/AVStreams/server_discovery/TS_Resolve.java: - * orbscvs/tests/AVStreams/server_discovery/Property_Evaluator.java: - * orbscvs/tests/AVStreams/server_discovery/Discover_Server.java: - * orbscvs/tests/AVStreams/server_discovery/Makefile: - * orbsvcs/tests/AVStreams/server_discovery/remote_netscape: - The beginnings of a Java tool to locate a best matched server for - the A/V demo's client using the Trading Service. - - -1998-06-18 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/tests/Concurrency/CC_command.cpp - orbsvcs/tests/Concurrency/CC_command.l - orbsvcs/tests/Concurrency/CC_command.tab.cpp - orbsvcs/tests/Concurrency/CC_test_utils.h - orbsvcs/tests/Concurrency/Makefile - orbsvcs/tests/Concurrency/lex.CC_command.cpp: - Removed warnings reported by DU cxx - Now a patch file is used to patch the output from flex. - -Thu Jun 18 10:21:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Comparing an _var to a 0 is non-portable (and non-complaint), - the right thing to do is CORBA::is_nil. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - Comparing a Time_Value to 0 is a bad idea (we can convert the 0 - to a Time_Value or the Time_Value to an int), we compare to - ACE_Time_Value::zero. - -Thu Jun 18 09:34:18 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/util/utl_scope.cpp (UTL_Scope ctor): removed - extraneous ; following the function definition. - - * orbsvcs/Event_Service/Event_Service.cpp (main), - orbsvcs/Scheduling_Service/Scheduling_Service.cpp (main): - added filename to debug messages. - -Wed Jun 17 22:03:42 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL: Massive restructuring of directories for be_include and - the "be" directories. Since each individual file was getting too big - with a large number of visitors, we have now subdivided them and - grouped them under individual subdirectories. - - The original header files (e.g., be_include/be_visitor_interface.h), - now only include their subdivided header files. This way the rest of - the code does not need to "#include" every individual file. They - still deal with the higher level include files only. This avoids - any modification of existing code. - - The new directory structure for the be_include directory and the - newly added files are shown below: - - - be_visitor_argument/arglist.h - be_visitor_argument/argument.h - be_visitor_argument/docall_cs.h - be_visitor_argument/marshal_ss.h - be_visitor_argument/post_docall_cs.h - be_visitor_argument/post_marshal_ss.h - be_visitor_argument/post_upcall_ss.h - be_visitor_argument/pre_docall_cs.h - be_visitor_argument/pre_upcall_ss.h - be_visitor_argument/upcall_ss.h - be_visitor_argument/vardecl_ss.h - be_visitor_array/any_op_ch.h - be_visitor_array/any_op_cs.h - be_visitor_array/array.h - be_visitor_array/array_ch.h - be_visitor_array/array_ci.h - be_visitor_array/array_cs.h - be_visitor_attribute/attribute.h - be_visitor_constant/constant_ch.h - be_visitor_constant/constant_cs.h - be_visitor_enum/any_op_ch.h - be_visitor_enum/any_op_cs.h - be_visitor_enum/enum_ch.h - be_visitor_enum/enum_cs.h - be_visitor_exception/any_op_ch.h - be_visitor_exception/any_op_cs.h - be_visitor_exception/ctor.h - be_visitor_exception/ctor_assign.h - be_visitor_exception/exception.h - be_visitor_exception/exception_ch.h - be_visitor_exception/exception_ci.h - be_visitor_exception/exception_cs.h - be_visitor_exception/exception_ctor.h - be_visitor_field/field_ch.h - be_visitor_field/field_ci.h - be_visitor_field/field_cs.h - be_visitor_interface/any_op_ch.h - be_visitor_interface/any_op_cs.h - be_visitor_interface/collocated_sh.h - be_visitor_interface/collocated_ss.h - be_visitor_interface/interface.h - be_visitor_interface/interface_ch.h - be_visitor_interface/interface_ci.h - be_visitor_interface/interface_cs.h - be_visitor_interface/interface_sh.h - be_visitor_interface/interface_si.h - be_visitor_interface/interface_ss.h - be_visitor_interface/tie_sh.h - be_visitor_interface/tie_si.h - be_visitor_interface_fwd/interface_fwd_ch.h - be_visitor_interface_fwd/interface_fwd_ci.h - be_visitor_module/any_op.h - be_visitor_module/module.h - be_visitor_module/module_ch.h - be_visitor_module/module_sh.h - be_visitor_operation/arglist.h - be_visitor_operation/argument.h - be_visitor_operation/collocated_sh.h - be_visitor_operation/collocated_ss.h - be_visitor_operation/exceptlist_cs.h - be_visitor_operation/operation_ch.h - be_visitor_operation/operation_cs.h - be_visitor_operation/operation_sh.h - be_visitor_operation/operation_ss.h - be_visitor_operation/rettype.h - be_visitor_operation/rettype_assign_ss.h - be_visitor_operation/rettype_docall_cs.h - be_visitor_operation/rettype_marshal_ss.h - be_visitor_operation/rettype_post_docall_cs.h - be_visitor_operation/rettype_post_upcall_ss.h - be_visitor_operation/rettype_pre_docall_cs.h - be_visitor_operation/rettype_return_cs.h - be_visitor_operation/rettype_vardecl_cs.h - be_visitor_operation/rettype_vardecl_ss.h - be_visitor_operation/tie_sh.h - be_visitor_operation/tie_si.h - be_visitor_root/any_op.h - be_visitor_root/root.h - be_visitor_root/root_ch.h - be_visitor_root/root_ci.h - be_visitor_root/root_cs.h - be_visitor_root/root_sh.h - be_visitor_root/root_si.h - be_visitor_root/root_ss.h - be_visitor_sequence/any_op_ch.h - be_visitor_sequence/any_op_cs.h - be_visitor_sequence/buffer_type.h - be_visitor_sequence/elemtype.h - be_visitor_sequence/sequence_base.h - be_visitor_sequence/sequence_ch.h - be_visitor_sequence/sequence_ci.h - be_visitor_sequence/sequence_cs.h - be_visitor_structure/any_op_ch.h - be_visitor_structure/any_op_cs.h - be_visitor_structure/structure.h - be_visitor_structure/structure_ch.h - be_visitor_structure/structure_ci.h - be_visitor_structure/structure_cs.h - be_visitor_typecode/typecode_decl.h - be_visitor_typecode/typecode_defn.h - be_visitor_typedef/any_op_ch.h - be_visitor_typedef/any_op_cs.h - be_visitor_typedef/typedef.h - be_visitor_typedef/typedef_ch.h - be_visitor_typedef/typedef_ci.h - be_visitor_typedef/typedef_cs.h - be_visitor_union/any_op_ch.h - be_visitor_union/any_op_cs.h - be_visitor_union/discriminant_ch.h - be_visitor_union/discriminant_ci.h - be_visitor_union/discriminant_cs.h - be_visitor_union/union.h - be_visitor_union/union_ch.h - be_visitor_union/union_ci.h - be_visitor_union/union_cs.h - be_visitor_union_branch/private_ch.h - be_visitor_union_branch/public_assign_cs.h - be_visitor_union_branch/public_ch.h - be_visitor_union_branch/public_ci.h - be_visitor_union_branch/public_cs.h - - The same logic of breaking up individual files and grouping them - under individual subdirectories is used for the be_visitor_*.cpp - files. Each individual file "#include"s their individual - subfiles. This way, we do not have to modify the Makefile to - compile individual file. In addition, the Makefile would have - required each individual subdirectory in its VPATH. Furthermore, - it does not compile files with the same name in different - directories. The new structure is shown below. - - be_visitor_argument/arglist.cpp - be_visitor_argument/argument.cpp - be_visitor_argument/docall_cs.cpp - be_visitor_argument/marshal_ss.cpp - be_visitor_argument/post_docall_cs.cpp - be_visitor_argument/post_marshal_ss.cpp - be_visitor_argument/post_upcall_ss.cpp - be_visitor_argument/pre_docall_cs.cpp - be_visitor_argument/pre_upcall_ss.cpp - be_visitor_argument/upcall_ss.cpp - be_visitor_argument/vardecl_ss.cpp - be_visitor_array/any_op_ch.cpp - be_visitor_array/any_op_cs.cpp - be_visitor_array/array.cpp - be_visitor_array/array_ch.cpp - be_visitor_array/array_ci.cpp - be_visitor_array/array_cs.cpp - be_visitor_attribute/attribute.cpp - be_visitor_constant/constant_ch.cpp - be_visitor_constant/constant_cs.cpp - be_visitor_enum/any_op_ch.cpp - be_visitor_enum/any_op_cs.cpp - be_visitor_enum/enum_ch.cpp - be_visitor_enum/enum_cs.cpp - be_visitor_exception/any_op_ch.cpp - be_visitor_exception/any_op_cs.cpp - be_visitor_exception/ctor_assign.cpp - be_visitor_exception/exception.cpp - be_visitor_exception/exception_ch.cpp - be_visitor_exception/exception_ci.cpp - be_visitor_exception/exception_cs.cpp - be_visitor_exception/exception_ctor.cpp - be_visitor_field/field_ch.cpp - be_visitor_field/field_ci.cpp - be_visitor_field/field_cs.cpp - be_visitor_interface/any_op_ch.cpp - be_visitor_interface/any_op_cs.cpp - be_visitor_interface/collocated_sh.cpp - be_visitor_interface/collocated_ss.cpp - be_visitor_interface/interface.cpp - be_visitor_interface/interface_ch.cpp - be_visitor_interface/interface_ci.cpp - be_visitor_interface/interface_cs.cpp - be_visitor_interface/interface_sh.cpp - be_visitor_interface/interface_si.cpp - be_visitor_interface/interface_ss.cpp - be_visitor_interface/tie_sh.cpp - be_visitor_interface/tie_si.cpp - be_visitor_interface_fwd/interface_fwd_ch.cpp - be_visitor_interface_fwd/interface_fwd_ci.cpp - be_visitor_module/any_op.cpp - be_visitor_module/module.cpp - be_visitor_module/module_ch.cpp - be_visitor_module/module_sh.cpp - be_visitor_operation/arglist.cpp - be_visitor_operation/argument.cpp - be_visitor_operation/collocated_sh.cpp - be_visitor_operation/collocated_ss.cpp - be_visitor_operation/exceptlist_cs.cpp - be_visitor_operation/operation_ch.cpp - be_visitor_operation/operation_cs.cpp - be_visitor_operation/operation_sh.cpp - be_visitor_operation/operation_ss.cpp - be_visitor_operation/rettype.cpp - be_visitor_operation/rettype_assign_ss.cpp - be_visitor_operation/rettype_docall_cs.cpp - be_visitor_operation/rettype_marshal_ss.cpp - be_visitor_operation/rettype_post_docall_cs.cpp - be_visitor_operation/rettype_post_upcall_ss.cpp - be_visitor_operation/rettype_pre_docall_cs.cpp - be_visitor_operation/rettype_return_cs.cpp - be_visitor_operation/rettype_vardecl_cs.cpp - be_visitor_operation/rettype_vardecl_ss.cpp - be_visitor_operation/tie_sh.cpp - be_visitor_operation/tie_si.cpp - be_visitor_root/any_op.cpp - be_visitor_root/root.cpp - be_visitor_root/root_ch.cpp - be_visitor_root/root_ci.cpp - be_visitor_root/root_cs.cpp - be_visitor_root/root_sh.cpp - be_visitor_root/root_si.cpp - be_visitor_root/root_ss.cpp - be_visitor_sequence/any_op_ch.cpp - be_visitor_sequence/any_op_cs.cpp - be_visitor_sequence/buffer_type.cpp - be_visitor_sequence/elemtype.cpp - be_visitor_sequence/sequence_base.cpp - be_visitor_sequence/sequence_ch.cpp - be_visitor_sequence/sequence_ci.cpp - be_visitor_sequence/sequence_cs.cpp - be_visitor_structure/any_op_ch.cpp - be_visitor_structure/any_op_cs.cpp - be_visitor_structure/structure.cpp - be_visitor_structure/structure_ch.cpp - be_visitor_structure/structure_ci.cpp - be_visitor_structure/structure_cs.cpp - be_visitor_typecode/typecode_decl.cpp - be_visitor_typecode/typecode_defn.cpp - be_visitor_typedef/any_op_ch.cpp - be_visitor_typedef/any_op_cs.cpp - be_visitor_typedef/typedef.cpp - be_visitor_typedef/typedef_ch.cpp - be_visitor_typedef/typedef_ci.cpp - be_visitor_typedef/typedef_cs.cpp - be_visitor_union/any_op_ch.cpp - be_visitor_union/any_op_cs.cpp - be_visitor_union/discriminant_ch.cpp - be_visitor_union/discriminant_ci.cpp - be_visitor_union/discriminant_cs.cpp - be_visitor_union/union.cpp - be_visitor_union/union_ch.cpp - be_visitor_union/union_ci.cpp - be_visitor_union/union_cs.cpp - be_visitor_union_branch/private_ch.cpp - be_visitor_union_branch/public_assign_cs.cpp - be_visitor_union_branch/public_ch.cpp - be_visitor_union_branch/public_ci.cpp - be_visitor_union_branch/public_cs.cpp - - * TAO_IDL/be_include - TAO_IDL/be - - Renamed be_visitor_args.{h, cpp} to be_visitor_argument.{h, cpp} - to reflect the correct name used by the AST node. - -Wed Jun 17 23:29:06 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Fixed many bugs in the disconnection code. The main ones were - related to memory managment (missing _duplicate() calls for - ES_Consumer_Rep objects) and to agressive memory release - (disconnecting a consumer could result in removing a critical - entry for the map of type consumers in a supplier, rendering the - supplier unusable). - The code more transparent for CORBA exceptions (it just passes - them back); but some places still catch them or create new - CORBA::Environment and/or signal errors using return values. - Looked more carefully at memory managment, but we still need - clean startup and shutdown to really track any problems in this - area. - Some stylistic changes here and there. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Added an option to connect and disconnect the consumers and/or - suppliers before doing anything else. This was useful to debug - the EC. - - * orbsvcs/tests/EC_Multiple/Makefile: - Updated dependencies. - - * orbsvcs/tests/EC_Multiple/svc.conf: - Added more options to control the kind of lock used in the POA - and similar things. - - * orbsvcs/orbsvcs/Event/RT_Task.cpp: - Failing to run in the real-time class is only a warning, added - an explanation to the user in that sense. - - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - Added debug messages (now commented out). - - * orbsvcs/orbsvcs/Event/CORBA_Utils_T.i: - Fixed off-by-one bug in Simple_Array_Iterator. - - * orbsvcs/orbsvcs/Event_Utilities.cpp: - Initialize the rt_info field to 0. - -Wed Jun 17 23:21:45 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/DynSched.{cpp, h} - orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h, i} - orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp - - Several bug fixes for consumers specifying a period - of 0. Incorrect handle was being used for the - dependency, framing/reframing caused divide-by-zero - errors, merging was not correctly picking up the - priority information from the supplier. - - * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp - - Added a -n <Scheduling Service Name> argument, - and command-line argument processing code to the - test so that multiple copies with differently - named scheduling services can run simultaneously - within the context of a single naming service. - -Wed Jun 17 17:07:12 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/README: added new options with - explanations. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * tests/Cubit/TAO/MT_Cubit/client.cpp: Changed the utilization - test to bound the test by time instead of by number of requests. - - * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/server.cpp:Minor changes to cleanup - code. - - * tests/Cubit/TAO/MT_Cubit/README: Updated the options and - explanation of the options. - -Wed Jun 17 16:58:26 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/start_services: Moved this file form - orbsvcs/tests/Simulator/ to this location. David - made it more generic in order to allow it to work - on more Unix platforms. - - * orbsvcs/tests/Simulator/ss: See comment above. - - * orbsvcs/tests/Simulator/README: Added some comments about - the above mentioned. - -Wed Jun 17 16:14:26 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile: minor fix for Chorus. - -Wed Jun 17 15:05:43 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Connect.cpp (activate): Set the thr_mgr of the service - handler so the newly spawned thread is created under the ORB's - Thread_Manager. - - * tao/ORB_Core.cpp (inherit_from_parent_thread): Inherit more - properties from the parent thread so the spawned thread has a - complete environment to run on. - - (add_to_collocation_table): - (get_collocated_poa): Changed to use the address in the - orb_params. - -1998-06-17 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory: Changed the - factory not to use an ACE_Lock, but rather to use the - ACE_Thread_Mutex directly. - - * orbsvcs/orbsvcs/Concurrency/CC_LockSet: Changed _d to _i - to be more consistent with ACE. - - * orbsvcs/orbsvcs/Concurrency/CC_LockSet: Don't create the - Thread_Mutex as a pointer since it doesn't change. - - * orbsvcs/tests/Concurrency/CC_client.{h,cpp} - orbsvcs/tests/Concurrency/CC_command.l - orbsvcs/tests/Concurrency/CC_command.y - orbsvcs/tests/Concurrency/Makefile - Now using yacc. Now patching the generated files like SVC - in order to make them more portable. Patching not used yet. - - * orbsvcs/tests/Concurrency/CC_client.{h,cpp} - orbsvcs/tests/Concurrency/CC_command.l - orbsvcs/tests/Concurrency/CC_command.y - orbsvcs/tests/Concurrency/Makefile - Now using yacc. Now patching the generated files like SVC - in order to make them more portable. Patching not used yet. - -Wed Jun 17 11:46:49 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/Makefile: suppressed some warnings from DEC cxx. - - * TAO/tests/Cubit/TAO/MT_Cubit/Task_Client.h: removed unused - static variables. - -Tue Jun 16 17:00:14 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/be_interface.h: Added a helper called - "collocated_ctor_helper" that will be passed to the - traverse_inheritance_graph to generate calls to the CTORs of each - and every base class in the viryal inheritance hierarchy - - * TAO_IDL/be/be_interface.cpp: Added code for - collocated_ctor_helper method. - - * TAO_IDL/be/be_visitor_interface.cpp: In the constructor for the - collocated class, we now call the interface node's - traverse_inheritance_graph with collocated_ctor_helper method as - the callback. This will generate calls to the ctors of all the - base classes in the entire class hierarchy. - - * TAO_IDL/be/be_visitor_exception.cpp: On suggestions by Irfan, - the generated code no more duplicates the typecode. Instead, it - will be the receipient's responsibility to duplicate the typecode - for the exceptions. - - * TAO_IDL/be/be_visitor_union_branch.cpp: A quick fix has been - made in the generated modifier functions. We now make sure that - memory is allocated to pointer union members if they were not - already set. Note that this solution is simply a quick fix to - allow making progress for IDl using unions. We still need to make - sure that old storage is freed. Will be done in the next attempt. - Thanks to Seth for reporting the problem. - -Tue Jun 16 16:52:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/Event_Service/Makefile: - * orbsvcs/tests/Event_Latency/Makefile: - Updated dependencies. - -1998-06-16 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/tests/Concurrency/Makefile, CC_command.tab.cpp - Removed error detected by DU cxx. - -Tue Jun 16 15:39:43 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Simulator/ss: use perl instead of cut to - extract uid and NameService IOR. It no longer extracted - the NameService IOR. The new method is based on regular - expressions instead of character counts, so is more resilient. - Ported to Linux (and many other Unix platforms that don't - have ksh). - - * tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: added ACE_THR_FUNC - static cast of svr_worker to avoid warning on VxWorks. - -Tue Jun 16 15:14:50 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.cpp (inherit_from_parent_thread): Also inherit the orb - from the spawning thread. - -Tue Jun 16 15:10:11 1998 Chris GIll <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory.{cpp,h,i} - - Added usability features. Added status enumerated - type and accessor so user can see if factory is - uninitialized, set up for a config run, or set up - for run time. Added explicit type casts for - enumerated types to output of dump_schedule, - added defaulted argument to allow a different format - string to be used in dump_schedule, made default - format print each struct initialization array on a - single column aligned line. - - * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp - - Removed duplicated explicit template instantiations for - scheduling strategy instantiations of strategy scheduler. - - * orbsvcs/orbsvcs/Sched/DynSched.cpp - - Fixed bug in add_dependency: put in a break so case - for ONE_WAY dependency does not fall through to default. - -Tue Jun 16 13:50:33 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/test/AVStreams/mpeg/source/server/augmented_server.{h,cpp}: - This new version of the AVStreams demo server, augmented_server, - exports an offer to the Trading Service containing a reference to the - MMDevice and a number of properties describing the MMDevice. - - * orbsvcs/test/AVStreams/mpeg/source/server/Machine_Properties.{h,cpp}: - * orbsvcs/test/AVStreams/mpeg/source/server/Video_Repository.{h,cpp}: - Dynamic Property callback handlers that supply values - for AV server machine performance, and the names and descriptions - of movies offered by the AV server. - - * orbsvcs/test/AVStreams/mpeg/source/server/Property_Exporter.{h,cpp}: - Utility to make it simpler for the augmented_server to export an - offer to the Trading Service. - -Tue Jun 16 14:44:42 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp: - Added acceptor code to accept connection from the java GUI. - Added code to read the MMDevice ior and movie name from the - socket to java GUI. - -1998-06-16 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/tests/Concurrency/CC_command.h, CC_client.cpp - Removed errors detected by DU cxx - - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.{h,cpp} - Cleaned up debugging code. - -Tue Jun 16 14:01:52 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.cpp: - Fixed potential inifinite loop in buffer growth if the initial - buffer size was 0. Thanks to Stuart Myles - <smyles@wsj.dowjones.com> for detecting this. - -Tue Jun 16 10:33:20 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO/orbsvcs/tests/Event_Latency/Event_Latency.cpp: - use ACE_U64_TO_U32 conversion macro. WIN32's __int64 - and ACE_U_LongLong need an explicit narrowing to 32 bits. This - macro provides a consistent way to do that on all platforms. - -Tue Jun 16 10:14:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.cpp: - Fixed memory leak on OutputCDR streams, thanks to Lothar - Werzinger <lwerzinger@krones.de> for reporting and tracking down - the problem. - -Mon Jun 15 23:13:46 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.28 released. - -Mon Jun 15 20:56:20 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POAC: Changed all the exception from user exceptions to - system exceptions. - - * tao/GIOP.cpp (convert_CORBA_to_GIOP_exception): Added new - function to convert CORBA Exception type to GIOP reply type. - - * tao/Exception.cpp - - (init): Register POA exceptions as system exceptions - - (exception_type): Added code to determine if exception is a POA - exception. - - (print_exception): Changed code to use exception_type. - - Removed sys_exceptions and NUM_SYS_EXCEPTIONS. They were not - being used. - - * tao/Connect.cpp (send_error): Cannot assume that the exception - is a system exception. Must use - TAO_GIOP::convert_CORBA_to_GIOP_exception to find the correct - type of the exception. - -Mon Jun 15 16:14:28 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * test/Cubit/TAO/IDL_Cubit/collocation_test.cpp: New program to - test the performance of collocation optimization. - - * test/Cubit/TAO/IDL_Cubit/server_i.{h,cpp}: - * test/Cubit/TAO/IDL_Cubit/client_i.{h,cpp}: - * test/Cubit/TAO/IDL_Cubit/server.cpp: - * test/Cubit/TAO/IDL_Cubit/client.cpp: Extracted out the - implementation of Cubit_Server and Cubit_Client to *_i.{h,cpp} - so that I can reuse them with collocation_test.cpp. - - When shutting down the ORB, the client side will first turn off - the collocation optimization and get the shutdown object from - Naming Service. Then, it calls the shutdown method of that - object. Without this, we can't shutdown the server ORB. - - * test/Cubit/TAO/IDL_Cubit/svc.conf: Changed to use TSS resource. - - * test/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - * test/Cubit/TAO/IDL_Cubit/cubit.idl: Added a new interface for - shutting down the server ORB. This is necessary because we - can't use the shutdown in collocated object (which shuts down - the wrong ORB.) - - * test/Cubit/TAO/IDL_Cubit/Makefile: Added settings for building - collocation_test. Tidy up the Makefile a bit. - - * tests/Cubit/TAO/IDL_Cubit/README: Added documentation for - collocation_test. - - * tao/ORB_Core.{h,i} (using_collocation): Added a new method to allow - turn on/off collocation optimization at run time. - -Sat Jun 13 13:20:58 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: added explicit - template instantiations. - - * tao/POA.i (find_POA): rearranged to avoid use before - definition. - -Fri Jun 12 20:20:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/{Object_KeyC.cpp, Typecode_Constants.cpp}: Changed the - typecode manually. - -Fri Jun 12 19:34:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/POAC.cpp: The generation of the typecodes has changed, - this file had to be changed manually. - -Fri Jun 12 16:53:49 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_decl.cpp (gen_name2long): Michael found out that - the TAO_IDL compiler was generating non-portable code for the - TypeCode arrays of longs for the RepoID and the name. After - discussions with Doug and Irfan, we have decided to always - generate the arrays in network order (big endian) and add an - ACE_NTOHL macro as the static array is initialized. This way there - won't be any run-time penalty. At the same time, the code will be - portable. - - * TAO_IDL/{be_enum, be_exception, be_interface, be_structure, - be_typedef, be_union, be_predefined_type, be_field, be_enum_val, - be_union_branch}.cpp: Added the call to ACE_NTOHL macro for the - arrays of long that are generated for TypeCodes. - - * tests/Param_Test/params.idl: Added interface definition for - tests for arrays. This is still not working at this time. - -Fri Jun 12 15:39:41 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Generic_Servant: Added oneway calls. - -Fri Jun 12 15:01:16 1998 Marina Igorevna Spivak <marina@flamenco.cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: Added _env parameter to - <get_context> helper method, and added the check of environment in - all methods using <get_context>. This is to allow exceptions - propagate back. - -1998-06-12 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/Concurrency/CC_LockSet.{h,cpp} - Added locks to avoid race conditions. - Corrected errors regarding the semantics of the service - One issue is still outstanding: The use of a semaphore to - lock the threads which do not preserve the ordering of the - locking. - -Fri Jun 12 11:48:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/POAC.cpp: The TAO_IDL compiler generates platform - dependent code for typecodes right now. POA.idl is !not! - recompiled on a compilation, because it has been customized. - This means, that a ifdef is needed to cover for the - platform dependence. - -Fri Jun 12 09:43:14 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Connect.cpp (send_error): dereferenced - forward_request_ptr->forward_reference so that it compiles - with g++. - -Fri Jun 12 9:00:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/Connect.cpp: Removed my own bug, using a var as a ptr. - -Thu Jun 11 21:30:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/POA/Forwarding/{client, server}.cpp: cleaned up the code. - -Thu Jun 11 21:15:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/Connect.cpp: Added send_error, which does proper system exception handling - and marshalling. - - * tao/Connect.h: Added the request_id as parameter to handle_message and - handle_locate - - * tao/GIOP.cpp: Changed the forwarding. A method named location_forward has been - introduced. It changes the IIOP_Profile of the object reference in copying the IIOP_Profile - from the object where the requests should go to, now. - - * tao/GIOP.h: Added the TAO_GIOP_Invocation::location_forward (CORBA::Environment &env); - - * tao/IIOP_ORB.cpp: The IIOP_Object pointer is now released in each case, not only - in the error case. This was necessary, because the control was given to the caller - and the ref_count was to high. - - * tao/IIOP_Object.cpp: Implemented the copy operator on IIOP_Profile, which is needed - by the above mentioned location_forward method. - - * tao/IIOP_Object.h: Removed old forward profile things and changed the copy operator - - * tao/IIOP_Object.i: Removed old forward profile stuff. - - * tao/Server_Request.cpp: Changed the exception handling. We have now a special - case of the forward_request exception. This exception contains an object reference - to a object at the new location. - - * tao/Server_Request.h: Added "CORBA::ULong request_id (void)" to query the request_id and - added a member "CORBA::Object_var forward_location_". - - * tao/Server_Request.i: added ACE_INLINE CORBA::ULong IIOP_ServerRequest::request_id (void) - - * docs/releasenotes/index.html: Added a reference to location forwarding. - - * docs/forwarding.html: Documentation about location forwarding. - -Thu Jun 11 21:09:30 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Quoter/Quoter_Impl.cpp (Quoter_Factory_Impl ctor): - dereference quoter_ior in ACE_DEBUG statement. - -Thu Jun 11 18:22:50 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.cpp: Added template instantiations for Write_Guard - and Read_Guard. - -Thu Jun 11 16:45:11 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_array.cpp: (gen_encapsulation, gen_encap_len): - Added code that generates the TypeCode and encapsulations for - Arrays. - - be_array::gen_forany_{defn,impl}: Added a "nocopy ()" method that - returns the "nocopy" flag. This is useful for the <<+ and >>= - operators. - - Also, removed a lot of code that was commented out. - - * TAO_IDL/be_include/be_visitor_array.h - TAO_IDL/be/be_visitor_array.cpp: These are newly added files. - - Added a bunch of visitors that generate code for Arrays. As of now - only typedefined arrays have been handled. Work is still going on - for anonymous arrays. - - * TAO_IDL/Makefile: Added be_visitor_array.cpp for compilation - - * TAO_IDL/be/be_interpretive.cpp: Added cases for the Array - visitors. - - * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, - be_visitor_interface, be_visitor_sequence, be_visitor_structure, - be_visitor_typedef, be_visitor_union}.cpp: Fixed an error in the - generate code for the "non copying" and "copying" versions of the - <<= operators. - - * TAO_IDL/be/be_visitor_interface.cpp: After discussions with - Irfan, we now use POA_var as a data member inside the generated - TIE classes. In addition, the code for the _default_POA, which - previously was incorrect, is now fixed. - - * TAO_IDL/be/be_visitor_sequence.cpp: We now always create a name - for the sequence node even when it is imported. The reason we have - to do this is that an imported sequence node may very well be used - in another IDL file. Thus, while code generation, if the name was - not set, then it resulted in seg faults. Thanks to John Geiss" - <jtgb@eci-esyst.com> for reporting the problem. - - * TAO_IDL/be/be_visitor_typedef.cpp: For typedefs of a typedef to - an array, we simply generate the typedefs for the _var, _out, - _forany types. In addition, inline functions for the _alloc, _dup, - _copy, and _free are generated. - - * orbsvcs/orbsvcs/Makefile: In the realclean target, added the - *_T.* files that need to be cleaned. - -Thu Jun 11 15:32:02 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile: - * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp}: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.{h,cpp}: - * tests/Cubit/TAO/MT_Cubit/server.{h,cpp}: Added the server utilization - test. Use "-U" on both the client and the server. - -Thu Jun 11 15:26:36 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.{h,cpp} (inherit_from_parent_thread): This new - method was added to TAO_ORB_Core to localize all inheriting - operations needed when spawning new threads to handle incoming - requests. - - * tao/Connect.cpp (svc): Changed to use - inherit_from_parent_thread. - -Thu Jun 11 13:01:11 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/DynSched.cpp: - - Changed ACE_Thread_Mutex to ACE_SYNCH_MUTEX in - template instantiation statements and pragmas - -Thu Jun 11 12:40:11 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/Exception.cpp: Method Release created an any, named - free_it_all, which was responsible in old time to - deep free memory. Now that that Any automatically - encodes its content in a CDR stream this is no more - the right thing to do. It actually can create a - infinite loop, if an exception is thrown within - the encoding code. So it has been replaced by a - delete this command. - -Thu Jun 11 11:25:11 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/LifeCycle_Service/LifeCycle_Service.dsp: Added - proper multithreaded support. - - * orbsvcs/orbsvcs.dsw: Added the LifeCycle_Service - -Thu Jun 11 09:39:11 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: changed the - ACE_EC_Gateway template instantiations to TAO_EC_Gateway. - - * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): - changed types of local i, and global num_of_objs, to u_int - to avoid signed/unsigned comparisons. - -Thu Jun 11 00:14:25 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Connect.cpp (TAO_Server_Connection_Handler): Reordered base - class / member initialization. - -Wed Jun 10 20:00:21 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/POA/Forwarding/*: enhanced the Forwarding test enormously. - -Wed Jun 10 19:00:21 1998 Carlos O'Ryan <coryan@JIG> - - * tao/Sequence.cpp: - Fixed small bug in octet sequence assignment operator. - -Wed Jun 10 16:09:49 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB.cpp: fixed template instantiations: ACE_SYNCH_MUTEX - instead of ACE_SYNCH_RW_MUTEX. - - * tao/POAS.h (POA_PortableServer): Added missing TAO_Exports. - - * tests/POA/DSI: New test directory to show DSI features in TAO. - - * tests/POA/TIE: New test directory to show TIE features in TAO. - -1998-06-10 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.{h,cpp} - Added multiple possesion semantics. CC_Lock.{h,cpp} is - not used anymore. - -Wed Jun 10 14:29:55 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/Config_Scheduler.{h,cpp}: - - Moved included header files from .cpp to .h to - fix incomplete types error when compiling files - that include the header file and are using the - strategized scheduler implementation - - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h - orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h: - - Fixed warning when compiling file that include these - header files: set all Info_Type values to 0 (Operation). - Values were 0-4, where the enum only goes 0-2 - -Wed Jun 10 13:03:03 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Explicit_Activation/server.cpp, - tests/POA/Generic_Servant/client.cpp, - tests/POA/NewPOA/NewPOA.cpp, and tests/POA/RootPOA/RootPOA.cpp: - Use ACE_DEBUG instead of cout. - - * tao/Server_Request.cpp (dsi_marshal): Only marshal if the params - are valid. - - * tao/ORB_Core.h: Changed the lock used by - ACE_Cached_Connect_Strategy from a rw_mutex to a regular mutex. - - * tao/ORB.cpp: Changed CORBA::B_TRUE and CORBA::B_FALSE from enums - to CORBA::Boolean. - - * tao/{Connect.cpp, ORB.cpp}: Fixed the template instantiations in - lieu of the changes to Hash_Addr. - - * tao/Any.h: Added ACE_Export to nested structs. - -Wed Jun 10 10:28:31 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Added support to automatically create the publication and - subscription lists for the gateways. - - * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: - Added fields to the QOS structures so gateways can be - distinguished in the EC. - Several field names were inconsistent (some had a trailing _ and - others won't). - - * orbsvcs/orbsvcs/Event_Utilities.h: - * orbsvcs/orbsvcs/Event_Utilities.i: - Adapted to use the changes in the QOS structures. - - * orbsvcs/orbsvcs/Event/EC_Gateway.h: - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - As part of the plan to support UDP and multicast gateways we - have a base class to handle all the different configurations for - a gateway. - - * orbsvcs/orbsvcs/Event/Local_ESTypes.h: - Removed a lot of BOAImpl typesdefs, they were completely - outdated and quite ugly. - - * orbsvcs/orbsvcs/Event/RT_Task.cpp: - Added code to call ORB_init() no each thread, but it is - commented out until we know what arguments to pass and how. - - * orbsvcs/orbsvcs/Scheduler_Factory.h: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - We cannot use enums in the POD_RTInfo because those are hard to - generate correctly. - - * orbsvcs/tests/EC_Multiple/svc.conf: - I'm starting to set a more realistic config for the Event - Channel, but we still have a lot of work to do in this area. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - The test uses the automatic gateway connection now. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: - The ConsumerQOS and SupplierQOS structure have changed. - - * TAO_IDL/driver/drv_preproc.cpp: - Fixed type in comment. - -Tue Jun 09 17:27:25 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Connect.{h,cpp} (activate): Added this method to - Default_Server_Connection_Handler so we can prepare information - for inheriting some objects/properties from the spawning thread. - (svc): Inherit and setup some properties/objects from the parent - thread. Currently, only root poa is inherited in spawned - threads. I should probably add another method called inherit () - to handle this. Anyhow, this solved the thread-per-connection - problem. - - * tao/ORB_Core.cpp (add_to_collocation_table): Removed the - explicit conversion from ACE_INET_Addr to ACE_Hash_Addr since - Irfan fixed ACE_Hash_Addr::operator==. - -Tue Jun 09 16:18:54 1998 David L. Levine <levine@cs.wustl.edu> - - * Makefile: removed old release targets. They're no longer - used, or maintained. Silenced the creation of INSTALL. - -Tue Jun 9 15:57:28 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader: The Trading Service now uses ACE - containers rather than stl containers. - - * orbsvcs/orbsvcs/Makefile: Since all stl containers in the - Trading Service have been replaced with ACE analogues, I've - updated the orbsvcs Makefile to eliminate the stl dependency. - -Tue Jun 09 15:41:53 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.27 released. - -Tue Jun 9 15:14:09 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation.cpp: There was an error in the - generated code for the variable declaration of return types for - type Anys in the skeletons. Fixed. - -Tue Jun 9 13:29:19 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_typedef (be_visitor_typedef_ch::visit_predefined) - - We had forgottent to generate the typedef for the _var types for - pseudo objects and Anys. Thanks to Seth Widoff for reporting - this. - -Tue Jun 09 12:52:59 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.cpp (add_to_collocation_table): ACE_Hash_Addr must - be created with recyclable flag set to 1 otherwise the - Hash_Map_Manager can't find the object. - -Tue Jun 09 11:43:19 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: added newline to - shutdown message. - -1998-06-09 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * Updated orbsvcs/tests/Concurrency/CC_command.h - Removed warnings generated by g++ - -Tue Jun 9 08:53:30 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/be_codegen.h: Added two states (but no new - visitors) for argument passing to the upcall for the collocated - case. This was necessary since in this case, the argument is - passed as it is. In the skeleton case, we may have _var variables, - and hence we may have to pass the .in () or .inout () of those - _var variables. - - * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, - be_visitor_interface, be_visitor_sequence, be_visitor_structure, - be_visitor_typedef, be_visitor_union}.cpp: - - Once again, due to the compulsions of the MSVC++ compiler and the - DLLs, we require the export/import macros for all the <<= and >>= - operators so that they are visible outside. - - * TAO_IDL/be/be_visitor_args.cpp: - TAO_IDL/be_include/be_visitor_args.cpp (be_visitor_upcall_ss): - - We were using _var variables to make sure that allocated memory - was released after the marshaling is done and the skeleton has - returned. However, for objrefs and strings, we ended up passing - the .in () values of these _var parameters. The expected value was - a pointer to the in () value. This is now corrected. - - Also dealt with the collocated case, where we simply pass the - argument from the parameter list to the upcall as it is. - - Due to these two differences, we had to add a bunch of visit_* - methods to the upcall_ss visitor. - - * TAO_IDL/be/be_visitor_operation.cpp: The same reasoning (case 1) - given for be_visitor_args.cpp holds here too for the return value - case. - -1998-06-08 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * Updated orbsvcs/tests/Concurrency/CC_command.cpp because of an - error reported by g++ - - * Updated orbsvcs/tests/Concurrency/Makefile to reflect the - changed stated below - - * Added the following files: - orbsvcs/tests/Concurrency/CC_command.{h,cpp,y,l}: Command - interpreter for the test language for the concurrency service. - orbsvcs/tests/Concurrency/test.{basic,extended,e1,dinphil, - phil[1-5]: Tests for the concurrency service. - Updated: - orbsvcs/tests/Concurrency/{README,CC_client} to be aware of - the changes in CC_command. - -Mon Jun 08 09:41:52 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB_Core.cpp: added/fixed template instantiations. - -Sun Jun 7 17:54:31 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * docs/Options.html: Added options available for ORB, - Resource_Factory, and Default_Server_Strategy_Factory. - - * tao/IIOP_ORB.{h,cpp}: Removed _register_collocation from - IIOP_ORB and all usage of it. Also, when using a global - collocation table, it gets the table from the resource factory. - - * tao/ORB.h: Remove pure virtual function _register_collocation. - - * tao/ORB.cpp: Register the ORB's listening endpoint to the global - collocation table if we are using one. - - * ORB_Core.{h,i,cpp}: Added a new class TAO_COLTBL_Lock to choose - the lock to use in global collocation table at run time. - - Added a command option in ORB_Core to disable collocation - optimization and an option in Resource Factory to decide to use - a global collocation table or not. - - (using_collocation): Get whether we want to use the collocation - optimization. - - (add_to_collocation_table): Used to register a listening - endpoint when an ORB gets initialized. - - (get_collocated_poa): This function look thru the collocation - table and return the root poa associate with the ORB. - - (get_global_collocation_table): Return a pointer to the global - collocation table if we choose to use one, otherwise, return 0. - - * tao/Server_Strategy_Factory.{h,cpp} (create_coltbl_lock): Added - new method to allow not using a lock in the global collocation - table. - - * tao/default_server.{h,cpp} (create_coltbl_lock): Added - implementation of this method. - -Sat Jun 06 21:17:13 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/{server,client}.dsp: Both projects now - require to link against orbsvcs.lib. - -Sat Jun 6 20:32:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/OctetSeq/OctetSeq.cpp: Changed Test::_tc_CharSeq_seq and - Test::_tc_OctetSeq_seq to Test::_tc_CharSeq and - Test::_tc_OctetSeq. Thanks to David Levine for spotting this. - -Sat Jun 6 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * docs/orbsvcs.html: Changed the test directory from - CosPropertyService to Property. - -Sat Jun 6 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * Moved $TAO_ROOT/orbsvcs/tests/CosPropertyService to - $TAO_ROOT/orbsvcs/tests/Property. - -Sat Jun 6 18:55:51 1998 Sergio Flores <sergio@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit.idl: - * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.h: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/server.h: Changed the code to use the - same priority for all low priority clients. Deleted unnecessary - code that implemented a cubit factory, we now will use the file to - store/retrieve the iors. Fixed a bug having to with unsupported - fields in the rusage structure for NT. - -Sat Jun 6 17:35:59 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp: Added CORBA::Environment - &env to the _default_POA() tie method. Thanks to David Levine - for reporting this. - - * orbsvcs/orbsvcs/Log/Logger_i.cpp: Added a simple-minded - implementation of the log() method. This can certainly be - improved... - -Fri Jun 5 16:02:54 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.h: - * tao/CDR.i: - * tao/CDR.cpp: - The output CDR class uses the Data_Block directly to minimize - memory allocation. - This has taken the count of memory allocations to 4 on the - client side and 4 on the server side. - - * tao/GIOP.cpp: - OutputCDR::stream() now returns a const message block. - - * tests/Param_Test/client.cpp: - * tests/Param_Test/driver.h: - * tests/Param_Test/driver.cpp: - * tests/Param_Test/options.h: - * tests/Param_Test/options.cpp: - * tests/Param_Test/param_test.idl: - * tests/Param_Test/param_test_i.h: - * tests/Param_Test/param_test_i.cpp: - It is now possible to shutdown the server using a method, this - is useful to test memory leaks because the client can request a - clean shutdown (using the option -x). - - * TAO_IDL/be/be_visitor_operation.cpp: - For some types the return values were not deleted at the end of - the upcall. I'm using T_var classes to automatically release the - memory. - -Fri Jun 5 12:22:44 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/debug.{h,cpp}: Added TAO_orbdebug flag so TAO code - does not check the flag in Service Configurator anymore. - That way, it should still work when there isn't a - Service Configurator. - - * tao/Connect.cpp: Made the switch to TAO_orbdebug. - - * tao/ORB_Core.cpp: First, since the semantics of the -d - flag in the Service Configurator now means to suppress - debug messages, it is now passed in by default unless - -ORBdebug was specified. Also sets TAO_orbdebug when - -ORBdebug is specified. - -Thu Jun 04 05:05:39 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.26 released. - -Thu Jun 04 03:45:12 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp - (be_visitor_interface_sh::visit_interface): Don't change the - output stream until the template declaration part is complete. - This delayed redirection of output writes the generated template - classes into regular *S.h file and get them enclosed by - appropriate namespace there. Perhaps we can put them in the - *S_T.h files, but that won't make platforms which don't have - namespace support happy. - - * TAO_IDL/be/be_visitor_module.cpp - (be_visitor_module_sh::visit_module): Changed to use - TAO_NAMESPACE as server side's module namescope. - -Wed Jun 3 17:50:09 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - Irfan Pyarali discussed the need to generate *_T.{h, i, cpp} files - that hold the generated code for the TIE classes. The *_T.h file - uses the ACE_TEMPLATES_REQUIRE_SOURCE and - ACE_TEMPLATES_REQUIRE_PRAGMA macros to conditionally include the - *_T.cpp files. The following changes were necessary to suport - these features. - - * TAO_IDL/be_include/be_codegen.h - TAO_IDL/be/be_codegen.cpp: - - Added more methods and data mebers for the server-side template - files that have the code for the TIE classes. The added methods - are: start_server_template_header, start_server_template_inline, - start_server_template_skeletons, end_server_template_header, and - end_server_template_skeletons. The corresponding data members were - added. - - * TAO_IDL/be_include/be_helper.h: Added 3 new enumerations for the - three newly introduced streams that will hold code for the TIE - classes. - - * TAO_IDL/be_visitor_interface.cpp: We now initialize the visitor - context of the TIE visitors with the appropriate *_T.{h, i} files. - - * TAO_IDL/be_visitor_root.cpp: Made calls to initialize and close - the newly added streams that hold the code for the TIE classes. - - * TAO_IDL/include/idl_global.h: - TAO_IDL/utils/utl_global.cpp: - - Added new methods that generate names for the newly introduced - streams that hold the code for TIE classes. These methods are: - be_get_server_template_fname, be_get_server_template_inline_fname, - be_get_server_template_inline_skeleton_fname and their - corresponding helper methods. - -Tue Jun 2 18:57:08 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, - be_visitor_interface, be_visitor_sequence, be_visitor_structure, - be_visitor_typedef, be_visitor_union}.cpp: - Factored out some code that should have been placed inside the - TypeCode visitors. - - * TAO_IDL/be/be_visitor_typecode.cpp: Added teh factored out code - mentioned above. - - * TAO_IDL/be_include/be_codegen.h: Added a few more enumerations - that deal with generation of the TIE classes and code for - interfaces, operations and attributes. - - * TAO_IDL/be/be_visitor_attribute.cpp: Added cases to deal with - attribute mapping inside a TIE class. - - * TAO_IDL/be_include/be_visitor_interface.h - TAO_IDL/be/be_visitor_interface.cpp: - - Added 2 new visitors for generation of the TIE class and its code - in the server header and server inline file. - - * TAO_IDL/be_include/be_visitor_operation.h - TAO_IDL/be/be_visitor_operation.cpp: - - Added 2 new visitors for generation of the operations and its code - inside the TIE class in the server header and server inline file. - - * TAO_IDL/be/be_interpretive.cpp: Added cases for the TIE visitors - for interfaces, operations and attributes. - - * docs/releasenotes.index.html: Updated to indicate support for - TIEs. - -Tue Jun 02 08:35:58 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: added cast to avoid - signed/unsigned comparison. - - * tests/Cubit/TAO/MT_Cubit/server.cpp: added cast to avoid - signed/unsigned comparison. Reordered initializers to - match declaration order. - -Tue Jun 02 08:29:20 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/Event_Service/Makefile,orbsvcs/tests/EC_Multiple/Makefile, - orbsvcs/tests/Event_Latency/Makefile,tao/Makefile: - moved probe=1 support from individual Makefiles to - wrapper_macros.GNU. - -Mo Jun 1 21:36:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Quoter: Several files had to be modified in order - to use the LifeCycle Service now as a separate object as - part of the orbsvcs. - - * orbsvcs/LifeCycle_Service: Did some more customizations. - -Mon Jun 1 15:48:28 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/orbconf.h: Modified the TAO_NAMESPACE related macros. Added - some more to deal with the nested namespaces that can occur due to - nested modules. - - * TAO_IDL/be_include/be_visitor_typecode.h - TAO_IDL/be/be_visitor_typecode.cpp: - - Added two new files that define a new visitor which will - generate code for different types. The TypeCode generation now - uses the different NAMESPACE related macros described above. - - * TAO_IDL/be_include/be_codegen.h: Added two new enumerations for - the TypeCode generating visitors. - - * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, - be_visitor_interface, be_visitor_sequence, be_visitor_structure, - be_visitor_typedef, be_visitor_union}.cpp: Used the new TypeCode - visitors. One advantage of using these is that all code gets - factored into a visitor. At the same time, we can conditionally - opt not to generate the TypeCodes. This may be desired for - compiled marshaling. - - In be_visitor_sequence.cpp, we do not generate the typecode if the - sequences was typedefed. - - * TAO_IDL/be_include/be_visitor_constant.h - TAO_IDL/be/be_visitor_constant.cpp: Added similar logic to the - TypeCode generation when constants are defined insided modules - that get mapped to namespaces. - - * TAO_IDL/be/be_interpretive.cpp: Added cases to deal with the two - new TypeCode generating visitors. - - * TAO_IDL/fe/{idl.yy, y.tab.cpp}: Removed some incorrect code in - the action part of the idl.yy file. - - * TAO_IDL/Makefile: Reran make depend. - -Mo Jun 1 14:37:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/RtecScheduler.idl - orbsvcs/orbsvcs/Runtime_Scheduler.{cpp, h} - orbsvcs/orbsvcs/Scheduler_Factory.{cpp, h} - orbsvcs/orbsvcs/Event/Dispatching_Modules.{cpp, h, i} - orbsvcs/orbsvcs/Event/Event_Channel.cpp - orbsvcs/orbsvcs/Event/RT_Task.cpp - orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp, h} - orbsvcs/orbsvcs/Sched/DynSched.{cpp, h} - orbsvcs/orbsvcs/Sched/SchedEntry.h - orbsvcs/orbsvcs/Sched/Scheduler.{cpp, h} - - Removed Dynamic Subpriority from RtecScheduler IDL - interface: both static and dynamic subpriorities - now map into a single preemption subpriority value - - * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp - orbsvcs/tests/Sched_Conf/Sched_Conf.{dsp, dsw} - orbsvcs/tests/Sched_Conf/Makefile - - Added a "test" program that simulates a configuration - run and generates a runtime scheduler header: to use - the strategized scheduler for static RMS scheduling, - put the following at the beginning of ace/config.h: - - #define TAO_USES_STRATEGY_SCHEDULER - #define TAO_USES_RMS_SCHEDULING - #define TAO_MIN_CRITICAL_PRIORITY 3 - -Mo Jun 1 10:16:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * docs/orbsvcs.html: Added the LifeCycle Service to the list - of services. - - * docs/releasenotes/index.html: Added new information about - DOVE to the file. - -Mo Jun 1 10:16:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/LifeCycle_Service: Created the LifeCycle Service. - - * orbsvcs/Makefile: Added the LifeCycle Service to the list - of directories. - - * orbsvcs/orbsvcs/Makefile: Added the LifeCycleService* files. - - * orbsvcs/orbsvcs/LifeCycleService.idl: Created an IDL - file describing the interface of the LifeCycle Service. - -Fri May 29 17:58:16 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.25 released. - -Fri May 29 16:03:00 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp: Removed the - terminate calls by adding -x option to the client so that it shuts - down the server. - -Fri May 29 13:00:35 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Quoter/Factory_Trader.cpp: CosTradingC.h is only - parsed when the trading service is available. - -Fri May 29 11:02:35 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/orbconf.h: Removed an unnecessary OR condition for the - TAO_NAMESPACE macro. - -Fri May 29 09:15:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/ORB_Core.cpp (init): Added code to pass svcconf directives - to the Service Configurator. Thanks to Mark Boriack for - contributing this. - - * tao/ORB_Core.cpp (init): Make sure that we dynamically - string_dup() ALL the argv/argc arguments, not just some of them, - so that we can correctly clean stuff up when we're done. - -Thu May 28 14:32:07 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/Server_Request.cpp:(demarshal, marshal): more optimizations - to get rid of the NVList and other DSI-centric logic in the - handling of static skeletons generated by the IDL compiler. These - optimizations are the result of my discussions with Irfan - Pyarali. - -Thu May 28 11:37:35 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/orbconf.h: Removed the TAO_NAMESPACE_STORAGE_CLASS macro. - - * tao/CurrentS.cpp: In the initialization of the constructor, we - were calling the default ctor of the base class. However, we now - call the other ctor that takes the stub object and servant as - arguments. - - * tao/{encode, decode}.cpp: In Struct::{encode, decode}, I had - made an erroneous change a few days back where I was passing the - address of a pointer. This was for the Objref and Typecode - cases. Carlos pointed this out. Seth was getting lots of errors - due to this. This has been fixed. - - * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, - be_visitor_interface, be_visitor_sequence, be_visitor_structure, - be_visitor_typedef, be_visitor_union}.cpp: - - Reverted my previous change where I generated the - TAO_NAMSPACE_STORAGE_CLASS macro if the data type was nested. We - no more generate this macro and this macro has been removed from - orbconf.h as explained above. - -Thu May 28 00:08:19 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/orbconf.h (TAO_NAMESPACE_STORAGE_CLASS): Changed it from - extern to static. - - * orbsvcs/orbsvcs/Naming/Entries.h: Removed the default for the - binding type in the constructor of NS_IntId. It was breaking - VC5.0 if CosNaming was a namespace. - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (rebind): Added - CosNaming::nobject as the binding type to NS_IntId instances - since the default was removed in the constructor. - -Wed May 27 17:56:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_module.cpp (visit_module): Supress - generation of NT export specifier after TAO_NAMESPACE. - - * tao/CurrentS.cpp (_tao_collocated_Current): Changed - "ACE_NESTED_CLASS (CORBA,Current)" to "CORBA_Current". - - * tao/POAS.cpp (_tao_collocated_Current): Changed - "POA_CORBA::_tao_collocated_Current" to ACE_NESTED_CLASS - (POA_CORBA,_tao_collocated_Current). - - * tao/POA_CORBA.h (_tao_collocated_Current): Changed its base - class to CORBA_Current. - -Wed May 27 16:08:10 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, - be_visitor_interface, be_visitor_sequence, be_visitor_structure, - be_visitor_typedef, be_visitor_union}.cpp: - - The typecode declarations generated in the header file for - user-defined IDL types used to be "static" if the data type was - enclosed inside a module. However, for platforms that support - "namespaces", this should be extern. Hence we generate a macro - called "TAO_NAMESPACE_STORAGE_CLASS" defined in tao/orbconf.h - - * orbsvcs/orbsvcs/Makefile: Ran make depend since some files in - TAO/tao were removed. - - * tao/PolicyS.{h, i}: Removed from the CVS repository - - * tao/CurrentC.{h, i, cpp} - tao/CurrentS.cpp: Added to the repository. This defined the - interface Current in the CORBA namespace. *NOTE* these are newly - added files. - - * tao/ORB.h: Moved Declarations for RepositoryID and Identifier - from the POA namespace to the CORBA namespace. Also added some - more TypeCode declarations e.g., _tc_Current, _tc_Identifier, - others. - - * tao/POAC.{h, i, cpp}: Removed everything related to - CurrentBase. RepositoryID and Identifier are now in the CORBA - namespace instead of the PortableServer namespace. - - * tao/POAS.{h, cpp}: PortableServer::Current now inherits from - POA_CORBA::Current instead of PortableServer::CurrentBase. - - * tao/POA_CORBA.h: Merger of the PolicyS.h and CurrentS.h - files. It defines the POA_CORBA namespace which is the C++ mapping - for the CORBA module for the server-side. It defines the Policy - and Current classes for the server-side. *NOTE* This is a newly - introduced file. - - * tao/PolicyC.cpp: Moved the definition of the _tc_Policy typecode - to the TypeCode constants file since this is owned by the ORB. - - * tao/Servant_Base.{h, cpp}: PortableServer::RepositoryId is now - CORBA::RepositoryId. - - * tao/Typecode_Constants.cpp: Added new typecode definitions for - all the newly introduced stuff as well as moved stuff such as - Current, Policy, PolicyType, PolicyList, RepositoryId, and - Identifier. - - * tao/orbconf.h: TAO_NAMESPACE macro is now "namespace" for - platforms that supports it. Needs to be checked. - - * tao/Makefile: Did make depend. - -Wed May 27 12:53:01 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/Makefile: ran make depend to - remove dependency on tao/Timeprobe.i. - - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: added casts of - ACE_hrtime_t to long now that ACE_hrtime_t is an __int64 on WIN32. - Thanks to Irfan for reporting this. - -Tue May 26 22:25:23 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB.cpp (CORBA_ORB): Never assume a pointer will be - initialized to null. - -Tue May 26 21:32:03 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/GIOP.cpp (recv_request): Changed CDR::grow() to take an - ACE_Message_Block * rather than an ACE_Message_Block *& since we - don't seem to change the message block pointer in the method. - Thanks to Nanbor for reporting this. - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (new_context): Add a - couple of calls to the new init() method in the appropriate - places. - - * orbsvcs/orbsvcs/Naming/CosNaming_i: Changed the implementation - so there's now an init() method that must be called before using - the NamingContext. This is necessary to make sure we don't try - to initialize the lock_ until the ORB has been initialized. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Changed the - implementation to call init() on the NamingContext - implementation. - -Tue May 26 20:22:12 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.h: - * tao/CDR.i: - * tao/CDR.cpp: - * tao/GIOP.cpp: - I was able to remove a memory allocation on the client side by - playing some tricks with the underlying Data_Block. - - * tests/CDR/basic_types.cpp: - The ORB was destroyed before the test was run, hence all the - Typecodes were invalid. - - * tests/Param_Test/tests.cpp: - Disabled several DII tests because they will not compile. - -Tue May 26 18:39:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB.h: - * tao/ORB.cpp: - * tao/Server_Strategy_Factory.h: - * tao/Server_Strategy_Factory.cpp: - * tao/default_server.h: - * tao/default_server.cpp: - Added options to control the kind of locking in the ORB event - loop (i.e. ORB::run), by default it acquires no locks. - - * tao/Object.h: - * tao/Object.i: - All the objects in the ORB that are reference counted do *not* - have locks to protect the count. - -Tue May 26 16:24:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Server_Request.h: - * tao/Server_Request.cpp: - The Server Request does not need to copy the operation name from - the CDR stream. In TAO there is no translation for strings and - the underlying stream survives during all the invocation. - Fortunately the strings in CDR are zero terminated. - -Tue May 26 12:40:30 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/ORB.cpp: We seem to have an extra comma here... - -Tue May 26 10:32:12 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/tao_idl.dsp: Updated project files per Andy's changes. - -Tue May 26 10:03:51 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/NestedUpcall/server.cpp (init_naming_service): dereferenced - the parameters to init () call. - - * tests/NestedUpcall/client.{h,cpp}: moved template instantiations - from .h file to .cpp file. Removed unused instantiations. - - * tests/NestedUpcall/NestedUpCalls_Test.cpp,NestedUpCalls_i.h, - client.{h,cpp},eh_i.{h,cpp},reactor_i.{h,cpp},server.h: - removed trailing ^M's from all lines. - -Tue May 26 09:51:20 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - This ChangeLog entry describes massive cleaning efforts to - remove all unwanted code as well as some more additions and - modifications to the TAO IDL compiler. - - * TAO_IDL/Makefile: Removed compilation of all the be_state* - files. - - * TAO_IDL/be_include/be_decl.h - TAO_IDL/be/be_decl.cpp: - Removed the gen_client_header, gen_client_inline, - gen_client_stubs, gen_server_header, gen_server_inline, - gen_server_skeleton methods. - - * TAO_IDL/be_include/ - - be_argument.h - be_array.h - be_attribute.h - be_constant.h - be_enum.h - be_enum_val.h - be_exception.h - be_field.h - be_interface.h - be_interface_fwd.h - be_module.h - be_native.h - be_operation.h - be_predefined_type.h - be_root.h - be_scope.h - be_sequence.h - be_string.h - be_structure.h - be_typedef.h - be_union.h - be_union_branch.h - - AND - - TAO_IDL/be/ - - be_argument.cpp - be_array.cpp - be_attribute.cpp - be_constant.cpp - be_enum.cpp - be_enum_val.cpp - be_exception.cpp - be_field.cpp - be_interface.cpp - be_interface_fwd.cpp - be_module.cpp - be_native.cpp - be_operation.cpp - be_predefined_type.cpp - be_root.cpp - be_scope.cpp - be_sequence.cpp - be_string.cpp - be_structure.cpp - be_typedef.cpp - be_union.cpp - be_union_branch.cpp - - Removed the gen_client_header, gen_client_inline, - gen_client_stubs, gen_server_header, gen_server_inline, - gen_server_skeleton methods. - - * TAO_IDL/be_include/be_codegen.h - TAO_IDL/be/be_codegen.cpp: - - Added a bunch of enumerations for code generation of the Any <<= - and >>= operators for all the IDL types - - Removed a bunch of methods and data members that were used for - the state based approach. - - * TAO_IDL/be_interpretive.cpp: Added cases for the newly - introduced enumerations for the <<= and >>= operators. - - * TAO_IDL/be_produce.cpp: added more documentation. - - * TAO_IDL/be_include/ - AND - TAO_IDL/be - - {be_visitor_enum, be_visitor_exception, be_visitor_interface, - be_visitor_module, be_visitor_root, be_visitor_sequence, - be_visitor_structure, be_visitor_typedef, be_visitor_union}.{h, - cpp}: - - Added visitors to each class called be_visitor_*_any_op_{ch,cs} to - each file. These generate the <<= and >>= operators for all the - types. - - * TAO_IDL/be_visitor_scope.cpp: Added a check to see if a node in - the scope is NUL or not. - - * TAO_IDL/be_include/be_state.h - - AND - - TAO_IDL/be/ - {be_state, be_state_argument, be_state_array, be_state_attribute, - be_state_exception, be_state_exception, be_state_operation, - be_state_sequence, be_state_structure, be_state_typedef, - be_state_union}.cpp: - - All these files are no longer needed. - -Tue May 26 09:40:42 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Makefile: - NestedUpcall was not on the list. - - * tests/NestedUpcall/Makefile: - Added a .PRECIOUS directive. - - * tests/NestedUpcall/Reactor.idl: - The file was full of ^M (i.e. it was using DOS end-of-line) - characters; that was confusing the IDL compiler. - - * TAO_IDL/be/be_visitor_args.cpp: - The code generation for strings and anys as out parameters was - broken. - -Tue May 26 01:46:23 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Timeprobe.h: Broke up this file in small pieces. The time - probe map is now split over many files, reducing the - dependencies. - -Mon May 25 18:42:25 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp: added - -ORBobjrefstyle url and -ORBport 0 to both the client and server - arguments. - -Mon May 25 15:54:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Timeprobe.h: - Protected the file against multiple inclusion. - - * tao/Makefile: - * tao/orbsvcs/orbsvcs/Makefile: - Updated dependencies. - -Sat Apr 18 01:27:52 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Timeprobe.h: Added more timeprobes to POA, ORB, and GIOP. - - * TAO: Change the use of time probes. The new ACE scheme is now - used. - -Mon May 25 11:58:35 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Quoter/client.cpp: - * tests/Quoter/Factory_Finder.cpp: - * tests/Quoter/Generic_Factory.cpp: - * tests/Quoter/Life_Cycle_Service.cpp: - Added several .in() calls to disambiguate things, otherwise g++ - gets really confused. - -Mon May 25 10:04:52 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/GIOP.cpp: - Removed some superflous memory allocations and copys. - - * tao/CDR.cpp: - write_octet_array_mb() was returning -1, but it should return a - CORBA_Boolean, thanks to David Levine (levine@cs.wust.edu) for - detecting this one. - -Mon May 25 09:55:36 1998 David L. Levine <levine@cs.wustl.edu> - - * ace/Sequence.cpp (TAO_Unbounded_Sequence ctor): initialize base - class before data members. - -Sun May 24 22:04:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_args.cpp: - Fixed some mistakes in previous change. - -Sat May 23 21:50:00 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.h: - * tao/CDR.i: - * tao/CDR.cpp: - The no copy marshalling of octet sequences can only be applied - if the octet sequence owns its memory through a message block. - - * tao/Connect.cpp: - The input stream is allocated from the heap to permit the no - copy optimizations to work. - - * tao/GIOP.cpp: - Fixed some unitialized memory read problems. - - * tao/Request.cpp: - The result was not released. - - * tao/Sequence.h: - * tao/Sequence.cpp: - Added constructor based on a Message_Block. - Fixed memory deallocation in _allocate_buffer() for octet - sequences. - - * tao/Typecode.cpp: - The buffer was not released every time. - - * TAO_IDL/be/be_visitor_args.cpp: - The return value must be allocated by the upcall and is held in - a _var variable to guarantee automatic release. - - * tests/Cubit/TAO/IDL_Cubit/client.cpp: - The result is released by the request, no need to release it in - the invocation. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - Initialize the octet sequence using a Message Block to exploit - the no copy marshalling. - - * tao/Any.cpp: - The cdr buffer must be released always. - -Fri May 22 16:39:14 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (NS_NamingContext): Use - the lock returned by server_factory ()-> create_servant_lock () - instead of hacking its own. - - * tao/default_server.cpp (create_servant_lock): Changed to use - ACE_Recursive_Thread_Mutex to avoid further trouble. - -Fri May 22 12:29:28 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Connect.cpp (handle_message): Simplified code in this file. - - * tao/GIOP.cpp (writev_n): Changed TAO to use the new - ACE_IO_Vector class. - - * poaC.* (PortableServer): Updated the old exceptions in the POA - generated code. - - * tao/Server_Request.h (IIOP_ServerRequest): Merged the - ServerRequest and the GIOP_RequestHeader class into one - class. When these classes were separate, there were too many - questions about ownership of memory. The separation also caused - extra memory allocations and tight coupling between the two - classes. - -Fri May 22 10:24:48 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Quoter/Factory_Finder.cpp,Generic_Factory.cpp, - Life_Cycle_Service.cpp,Quoter_Impl.cpp: - added explicit int return value to function definition. - - * tests/Quoter/Criteria_Evaluator.cpp (getInitialization): - initialized sequence_ptr to 0 to avoid warning about use - of uninitialized variable. It looks like the implementation - is incomplete, though. - -Fri May 22 10:15:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB_Core.cpp: - The -ORBCDRtradeoff option had no effect, thanks to David Levine - (levine@cs.wust.edu) for catching that one. - -1998-05-22 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp - Removed unreached statement - -Fri May 22 07:34:35 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.24 released. - -Thu May 21 21:59:19 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.23 released. - -Thu May 21 17:28:55 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/GIOP.cpp (writev_n): added static cast of iov_len to - ssize_t to avoid signed/unsigned comparison. - - * tests/OctetSeq/OctetSeq.cpp (main): changed type of loop - index to u_int to avoid signed/unsigned comparison. - -Thu May 21 12:16:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile: - orbsvcs should go before TAO in the link line. - - * tests/Quoter/Makefile: - Pass a -I flag to the IDL compiler so it can find the - CosLifeCycle.idl file. - - * tests/POA/Default_Servant/Makefile: - * tests/POA/Generic_Servant/Makefile: - Added dependencies. - - * tests/OctetSeq/Makefile: - Updated dependencies. - - * tests/OctetSeq/OctetSeq.cpp: - Removed yet another signed/unsigned comparison. - Also was doing the wrong kind of cast. - - * tao/GIOP.cpp: - Fixed pointer airthmetic, it was done using "void*" instead of - "char*". - - * tao/CDR.cpp: - Fixed problems in error detection for OutputCDR::adjust. - -Wed May 20 21:25:33 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/CDR.cpp: Changed a few locals from int to size_t to - avoid signed/unsigned comparison. Added const to a char * - reinterpret cast. Wrapped and unreachable return with - ACE_NOTREACHED. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: started migration - to ACE_Stats. - -Wed May 20 16:44:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/tests/NestedUpcall/{server,client}.dsp: Updated settings. - -Wed May 20 12:54:40 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA: Added the following optimizations to the POA: - - - Use the new ACE_CString to make sure that no malloc/strcpy are - done while the IOR is being parsed. This optimization is - valid irrespective of how deep/long the POA name is. - - - The class that holds the ObjectId in the IOR is now allocated - off the stack instead of coming from the heap. - - - Timestamping and checking for persistent/transient Ids in the - POA can be disabled by using POA_NO_TIMESTAMP flag in the TAO - config file. - - * tao/ORB_Core.cpp (create_and_set_root_poa): Renamed the RootPOA - from "RootPOA" to "" (the empty string). - -Wed May 20 12:10:12 1998 Carlos O'Ryan <coryan@JIG> - - * tao/CDR.h: - * tao/CDR.i: - * tao/CDR.cpp: - OutputCDR buffers grow by appending a message blocks using the - cont() field. - - * tao/GIOP.cpp: - When sending an OutputCDR use writev to send the message block - chain. - - * tao/decode.cpp: - Added support for no copy marshalling of octet sequences. - - * tao/decode.cpp: - * tao/encode.cpp: - Reverted part of a change by Andy because it simply breaks tons - of code. The change in question was passing the address of a - pointer to a string (or wstring) to the - marshlling/dermarshalling interpreter, but only when the string - was a field of a structure. - - * tao/orbconf.h: - * tao/params.h: - * tao/params.i: - * tao/params.cpp: - * tao/ORB_Core.cpp: - * docs/Options.html: - Added options to control the tradeoff between copy vs. no copy - marshalling of octet sequences. If the octet sequence is "small - enough" and the current CDR buffer contains enough space the - octet sequence is copied instead of chained with the buffer. - - * tao/Typecode.cpp: - More fixes to avoid crashes at shutdown. - - * tao/Any.cpp: - The start() method was changed to begin() it looks more STL - like. Also removed a bunch of casts that are no longer needed. - - * tao/Align.h: - Corrected a typo in a comment. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - Reduce the maximum number of suppliers, consumers and messages, - otherwise we exceed the maximum stack size on NT. - - * orbsvcs/Event_Service/Event_Service.cpp: - Fixed error message. - - * tests/CDR/CDR.dsw: - * tests/CDR/growth.dsw: - * tests/CDR/growth.dsp: - Added growth to the project file. - - * tests/CDR/growth.cpp: - Workaound MSVC++ bug wrt conversions from UINT64 to double. - - * tests/Cubit/TAO/IDL_Cubit/client.cpp: - Use larger sequences. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - Fixed ambiguous use of [] operator. - - * tests/Cubit/TAO/IDL_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/server.dsp: - For Win32 Debug we use aced.lib. - - * tests/Cubit/TAO/MT_Cubit/server.dsp: - Added orbsvcs.lib to the library list. The client will not - compile due to unportable use of getrusage. - - * tests/OctetSeq/OctetSeq.dsw: - * tests/OctetSeq/OctetSeq.dsp: - Added a project file for this test. - - * tests/OctetSeq/OctetSeq.cpp: - Fixed several portability problems. - The OutputCDR is not preallocated. - - * tests/Param_Test/tests.cpp: - Fixed bug in bounded string sequence test. - -1998-05-20 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/tests/Concurrency/CC_client.cpp - Fixed errors causing compilation problems on VxWorks. - -Wed May 20 08:40:51 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Propery/CosPropertyService_i.cpp: fixed - instantiation #pragmas. - - * orbsvcs/orbsvcs/Naming/Naming_Service.cpp (parse_args): - removed break; following an ACE_ERROR_RETURN, to avoid compile - warning. - - * tao/POAC.cpp: initialized some retvals, of enum types, to -1 - to avoid GHS compile warnings. The warnings were all in - exception handling blocks, so performance isn't an issue here. - - * tests/Cubit/TAO/IDL_Cubit/README: added instructions on how - to build the client without the ACE and TAO libraries for - VxWorks. Thanks to Umar Syyid <usyyid@hns.com> for asking - about this. - -Tue May 19 12:19:42 1998 Carlos O'Ryan <coryan@JIG> - - * tao/Typecode.cpp: - Fixed crash at shutdown, TypeCode is a reference counted type, - but in some points they were removed by a simple "delete". - -Mon May 18 16:46:46 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA.cpp (parse_key): Changed the processing of IORs so that - POA names are not copied. Only a pointer is kept to the correct - place in the IOR. - -Mon May 18 12:34:57 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/Connect.cpp: Debug messages now check - Service_Configurator::debug() to see if -ORBdebug - is specified. - -Mon May 18 09:00:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: added forward - declarations of scheduling strategy and dynamic scheduler - classes - - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: added - conditional inclusion of strategy scheduler header file. - -Sat May 16 13:56:01 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Channel_Clients_T.h - (ACE_Push{Consumer,Supplier}_Adapter); added (private) - declarations of copy constructors. g++ 2.7.2.3/Solaris - needs them, to avoid missing definitions of the copy - constructors when linking with orbsvcs/EC_Gateway.cpp. - - * orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp: added TAO_Object_Manager - instantiations. g++/LynxOS 2.5.0 needs them. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (print_priority_info): - replaced Solaris priocntl () system calls with a call to - ACE_OS::lwp_getparams (). This allowed removal of #includes - of the priocntl headers, which were causing warnings with - g++ because _REENTRANT was #defined after they were #included. - - * orbsvcs/orbsvcs/Propery/CosPropertyService_i.cpp: fixed - instantiation #pragmas. - -1998-05-15 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp - (delete_all_properties): Removed the warnings by having _out - variables instead of having _var variables. - -1998-05-15 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/orbscvs/Concurrency/CC_Lock: - Added some debugging statements - * orbsvcs/tests/Concurrency/CC_client.cpp - orbsvcs/tests/Concurrency/CC_client.h - orbsvcs/tests/Concurrency/CC_naming_service.cpp - orbsvcs/tests/Concurrency/CC_naming_service.h - orbsvcs/tests/Concurrency/CC_tests.cpp - orbsvcs/tests/Concurrency/CC_tests.h: - Added more tests and diagnostics - -Fri May 15 11:12:26 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: re-enabled EC_Gateway build. The - problem appears to be only with g++. - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: added - template instantiations. - - * orbsvcs/orbsvcs/Makefile: re-enabled CosPropertyService_i.cpp - build. - - * Makefiles in orbsvcs and tests: removed DCFLAGS = -g. That - should only be defined in the ACE platform_macros file. - -Fri May 15 10:42:22 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/POA/Makefile: - * tests/POA/Forwarding/Makefile: - Removed the Forwarding test because it only compiles on NT. - - * tests/POA/Generic_Servant/Makefile: - Removed outdated comment. - -Fri May 15 09:33:47 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.22 released. - -Fri May 15 08:40:40 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp: added template - instantiations. - - * orbsvcs/orbsvcs/Makefile: commented out Event/EC_Gateway and - Property/CosPropertyService_i because they cause build failures. - - * Makefile: added .PHONY for phony targets. - -Fri May 15 00:25:29 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.21 released. - -Thu May 14 16:39:15 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/Server_Request.{h,cpp}: Added an extra environment parameter - to the marshal method. This change was required since we wanted to - keep the ORB related exceptions and the user supplied - operation-raised exceptions to be separate. - - * tao/{POAS,PolicyS}.cpp: Made several changes to the IDL - compiler-generated code that were necessary due to the changes - made to the Server_Request's marshal interface explained above. - - * tao/{encode,decode}.cpp: Made a minor change by passing the - address of the void pointer for the string and object cases. This - needs to be thoroughly tested. - - * tao/orbconf.h: Added a conditional macro called TAO_NAMESPACE - that generates either "namespace" or "struct". - - * TAO_IDL/be/be_visitor_module.cpp: The code for the module now - uses the TAO_NAMESPACE macro. - - * TAO_IDL/be/be_visitor_constant.cpp: We were not checking of the - constant was imported or not. In addition, inside the stub - generation code, we were incorrectly checking if the header was - generated or not. Thanks to Andrew Harbick - <aharbick@opentext.com> for providing the bug report that led to - this fix. - - * TAO_IDL/be/be_visitor_operation.cpp: Modifications that were - necessary due to the changes in the Server_Request class and our - policy of distinguishing between ORB raised and user-raised - exceptions. - - * TAO_IDL/be/be_visitor_interface.cpp: Similar changes as in - be_visitor_operation.cpp for the _is_a_skel skeletons. - -Thu May 14 15:20:28 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Quoter/Makefile: moved TAO_ROOT definition outside of - "ifdef trader" block. - -Thu May 14 14:34:40 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: CosLifeCycle is now compiled - by default. - -Thu May 14 14:10:40 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Quoter/{Factory_Trader.cpp, Factory_Trader.h - Makefile, run_test.sh}: Factored out the code depending - on the Trading Service. The standard compilation does - now not use the Trading Service. The Makefile has - to be called using the "trader=1" option to activate - compilation of the parts using the Trading Service. - "run_test.sh" will not use by default the - creation service "lifecycle service object", instead - it will ask the Generic Factory directly - -Thu May 14 14:10:26 1998 Carlos O'Ryan <coryan@watusi.cs.wustl.edu> - - * tests/Param_Test/tests.cpp: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Added the right .in() or .out() calls for some T_var types - passed to functions expecting a T_ptr or T_out parameter. - -Thu May 14 13:14:40 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit.idl: - * tests/Cubit/TAO/IDL_Cubit/client.h: - * tests/Cubit/TAO/IDL_Cubit/client.cpp: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.h: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - Added a simple test for octet sequences, it tries to compare the - end-to-end cost of a normal sequence (longs) vs an octet - sequence; it compares the cost for a small sequence<long> vs a - small sequence<octet> and then repeats the test for a large - sequence. To make the comparison more acurate it uses the same - number of bytes in the sequence<long> as in the sequence<octet>, - not the same number of elements. - - * tao/Sequence.h: - * tao/Sequence.i: - The message block accessor can be constant now. - - * tao/Typecode.h: - * tao/Typecode.i: - * tao/Typecode.cpp: - Clean up the destruction code: made the destructor nilpotent to - avoid double destructions. Also removed the redundant operator - new and operator delete; they were not doing any actual work. - -Thu May 14 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: Removed PropertyService from the - conditional compilation. - -Thu May 14 10:00:37 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/OctetSeq/OctetSeq.cpp: - Removed signed/unsigned comparison warnings. - -Wed May 13 21:48:08 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Quoter/Makefile: define TAO_ROOT if it's not defined. - - * TAO/orbsvcs/tests/Concurrency/tmplinst.cpp, - TAO/tests/Cubit/TAO/{IDL,MT}_Cubit/tmplinst.cpp, - TAO/tests/Param_Test/tmplinst.cpp, - TAO/tests/Thruput/TAO/tmplinst.cpp: - removed TAO_Unbounded_Sequence<CORBA::Long> instantiation - because it's now in libTAO. - -Wed May 13 18:18:56 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.20 released. - -Wed May 13 16:12:38 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Quoter/Makefile: changed the compiling options for - the IDL compiler - - * tests/Quoter/Quoter.idl: changed the include path - -Wed May 13 06:58:38 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Makefile: added Forwarding_Servant. - - * tao/IIOP_Interpreter.cpp: added TAO_Unbounded_Sequence - <CORBA::ULong> template instantiation. - - * tao/IIOP_Interpreter.cpp,Typecode.cpp,append.cpp, - decode.cpp,encode.cpp,skip.cpp: - changed ~0 to ~0u to avoid signed/unsigned comparisons. - - * tao/IIOP_Interpreter.cpp (calc_seq_attributes): - replaced TAO_Unbounded_Sequence<CORBA::Long> with - TAO_Unbounded_String_Sequence. For unknown reasons, - GreenHills couldn't compile it without this change. - Thanks to Carlos for providing the fix. - - * many *.{h,i,cpp,idl} files: inserted RCS keyword string. - - * tests/Param_Test/tests.cpp: moved some return statements - out of loops, and changed some loop indexes to CORBA::ULong - to avoid signed/unsigned comparison. - - * tests/Param_Test/run_tests.sh: fixed traps, and added - uid component to port number. - -Wed May 13 00:05:52 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB.i (orb_free_resources): This should return - !CORBA_ORB::orb_init_count_ instead of simply - CORBA_ORB::orb_init_count_. Thanks to Pavel Motuzenko - <p_motuzenko@hotmail.com> for pointing these two problems out. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Server): - Fixed the initialization of naming_context_name_. - - * tests/POA/Forwarding/: Added new test that shows the forwarding - features in TAO. - - * tao/default_server.cpp (concurrency_strategy): Made sure that - the reactive strategy is returned if no concurrency_strategy has - been explicitly set by the user. This should allow servers to - work without a svc.conf file. - - * tao/Server_Request.cpp (set_result and set_exception): These - should not raise exceptions if this->exception_ is set. - - * tao/Servant_Base.cpp: Removed implementation for - TAO_ServantBase::_dispatch() and made it pure virtual. Also, - passed the system environment to the DSI implementation class. - - * tao/POAC.cpp (ForwardRequest): Fixed old IDL code for this - exception. - - * tao/Forwarding_Servant: New DSI servant used by the POA for - forwarding. - - * tao/POA.cpp (forward_object): Adding forward support to the POA. - -Tue May 12 17:34:06 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/OctetSeq/OctetSeq.cpp: - Added missing template instantiation. - - * tao/Sequence_T.i: - Fixed typo in Unbounded sequences. - -Tue May 12 16:53:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/orbconf.h: - * tao/Sequence.h: - * tao/Sequence.i: - * tao/Sequence.cpp: - * tao/Sequence_T.h: - * tao/Sequence_T.i: - * tao/Sequence_T.cpp: - * tao/decode.cpp: - Unbounded Sequences of octets are specialized so their - demarshalling (and eventually their marshalling) is implemented - by increasing the reference count on the CDR stream message - block and then setting the buffer as a pointer to that stream. - The buffers are copied upon assingment or copy ctor. - The feature is enabled by the macro TAO_NO_COPY_OCTET_SEQUENCES, - by default the macro is defined inTAO_ROOT/tao/orbconf.h - and only applies if the CDR stream owns its buffer, in other - words the optimization is disabled when the buffer is allocated - on the stack or is not allocated by the CDR stream. - - * tao/IIOP_Interpreter.h: - * tao/IIOP_Interpreter.cpp: - If the octet sequence is enabled then the size of a sequence - depends on its basic type. - - * tao/ORB.cpp: - If the octet sequence optimization is enabled we don't need to - instantiate TAO_Unbounded_Sequence<CORBA::Octet>. - - * tests/Makefile: - * tests/OctetSeq/Makefile: - * tests/OctetSeq/svc.conf: - * tests/OctetSeq/test.idl: - * tests/OctetSeq/OctetSeq.cpp: - Added a simple test that just writes an octet sequence in a CDR - stream and then reads it back. The test compares the time - against a char sequence. - - * tao/GIOP.cpp: - Changed several system exceptions from COMPLETED_MAYBE to - COMPLETED_NO. - - * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: - Added missing forward declaration for ACE_Scheduler. - - -Tue May 12 16:48:46 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tao/corba.h: - Added a new macro TAO_CHECK_ENV_RETURN_VOID -- same as - TAO_CHECK_ENV_RETURN, but for methods with no return value. - -Tue May 12 15:22:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Param_Test/driver.cpp: - * tests/Param_Test/tmplinst.cpp: - Added missing template instantiations. - -Tue May 12 13:45:45 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp,h}: - Fixed compile problem when using ACE_Scheduler - instead of ACE_DynScheduler - -1998-05-12 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * Reordered initializers and added virtual destructors to - the files orbsvcs/tests/Concurrency/* files. - Updated README files in orbsvcs/tests/Concurrency and - orbsvcs/Concurrency_Service - -Mon May 11 18:11:03 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Param_Test/README: - * tests/Param_Test/driver.cpp: - * tests/Param_Test/options.cpp: - * tests/Param_Test/options.h: - * tests/Param_Test/param_test.idl: - * tests/Param_Test/param_test_i.cpp: - * tests/Param_Test/param_test_i.h: - * tests/Param_Test/tests.cpp: - * tests/Param_Test/tests.h: - Added many tests including bounded sequences of different types, - sequences of Any, Typecode and others. We know that some of this - tests still do not work. Thanks to Rob E. Thornton - <ret1@cec.wustl.edu> for his collaboration on this. - -Mon May 11 17:00:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * ace/ace_dll.dsp - orbsvcs/orbsvcs/RtecScheduler.idl - orbsvcs/orbsvcs/orbsvcs.dsp - orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp,h} - orbsvcs/orbsvcs/Sched/DynSched.{cpp,h} - orbsvcs/orbsvcs/Sched/Scheduler.h - orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp,h} - - Integrated strategized scheduler with off-line scheduling - interface in Config_Scheduler.{cpp,h}. To use the - strategized scheduler, define the following symbols - in ace/config.h (you can substitute RMS, etc for MUF, - and can choose a different value for the minimum critical - priority - more on this in the release notes, once the - dynamic portion is integrated): - - #define TAO_USES_STRATEGY_SCHEDULER - #define TAO_USES_MUF_SCHEDULING - #define TAO_MIN_CRITICAL_PRIORITY 0 - - -Mon May 11 07:57:47 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (init): - dereferenced second arg in init () call. Thanks to - Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch> for - reporting this. - - * IIOP/test/Makefile, IIOP/tests/Cubit/TAO/Makefile, - orbsvcs/tests/Trading_Service/Makefile, tests/CDR/Makefile, - tests/Cubit/CORBAplus/MT_Cubit/{client,server}/Makefile, - tests/Cubit/TAO/{DII,MT}_Cubit/Makefile, - tests/POA/Generic_Servant/Makefile, tests/Param_Test/Makefile, - tests/Thruput/CORBAplus/Makefile: removed Log from clean target. - - * TAO/tests/Cubit/CORBAplus/MT_Cubit/client/Makefile, - TAO/tests/Demux_Test/CodeGen/Makefile, - TAO/tests/Thruput/COOL/Makefile: - replaced WRAPPER_ROOT with ACE_ROOT. - -Sat May 09 12:01:37 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: removed Log from clean target, - because it's now a directory that we need to keep. - - * orbsvcs/tests/Concurrency/NS_client.cpp (CosNaming_Client ctor): - reordered initializers to match declaration order. - (list_contents): changed loop index type to CORBA::ULong to avoid - signed/unsigned comparison. - - * tao/Makefile: suppress -g when building POA.o with ghs for - VxWorks/i86. - - * tests/Cubit/COOL/{IDL,MT}_Cubit/Makefile: added(ACELIB)(LIBS) - to VLDLIBS. Thanks to Steve Kay <slk1@icore.ih.lucent.com> for - reporting that link lines were missing -lACE on Chorus. - -Fri May 8 16:32:55 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_exception.cpp: In the typecode generation, we were - incorrectly generating the byte order flag as 0 meaning big - endian. This is now changed to TAO_ENCAP_BYTE_ORDER. - - * TAO_IDL/be/be_visitor_exception.cpp: A spurious "return 0;" - statement in the middle of the code led to generation of empty - code for exception constructors. - - * TAO_IDL/be/be_visitor_interface.cpp: Added the "ACE_CORBA_1" - macro to the generated code so that MSVC++4.2 will be able to - parse the generated code. - - * orbsvcs/orbsvcs/Naming_Service/Naming_Service.cpp: We were - passing a variable of type ORB_var to a method expecting an - ORB_ptr. g++ was not too happy with this. So now we use the in () - method on the _var variable. - - * tao/Connect.cpp: Removed a large segment of commented-out code - which I had kept to remind me to use it to handle the DSI - case. See the log entry for Server_Request.{h,cpp}. - - * tao/{POAC, PolicyC}.h: Used the ACE_CORBA_1 macro when the - classes inherit from CORBA::Object. MSVC++4.2 was not too happy - with CORBA::Object. It needed CORBA_Object. - - * tao/ServantBase.h: Removed the Environment parameter from the - invoke method of TAO_DynamicImplementation class. This was - suggested by Irfan. - - * tao/Servant_Base.cpp: (invoke): Added code after the invoke to - the DSI implementation is made. This code creates a REPLY message - and then uses the dsi_marshal method (described below) to marshal - outgoing parameters. These methods are called only if the request - was 2 way. - - * tao/Server_Request.{h, cpp}: Several changes made - - Added a data member that indicates if the request was oneway or - twoway. This is used by the DSI when it has to decide if a reply - message must be constructed or not. - - Changed the is_user_exception_ data member to - exception_type_. This now explicitly tells us if it was a - GIOP_USER_EXCEPTION or a GIOP_SYSTEM_EXCEPTION or - GIOP_NO_EXCEPTION. This change was required because we faced a - situation in which we not only needed to know if the exception was - a user or a system exception but we wnated to know if there was an - exception itself or not. So a boolean variable was not sufficient - for this. - - Added a new method called "dsi_marshal". This is used by the DSI - to marshal the outgoing parameters. - -Thu May 07 19:14:16 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.19 released. - -Thu May 07 17:55:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO/orbsvcs/orbsvcs/orbsvcs.dsp: - * TAO/orbsvcs/tests/Logger/server.dsp: Updated. Thanks to Carlos' - instruction on how to make the change. - -Thu May 7 16:11:00 1998 Robert Eric Thornton <ret1@cec.wustl.edu> - - * orbsvcs/tests/Naming/ns_tree.cpp: added the NamingService to this - test. - -Thu May 7 15:29:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: - The warning was disabled before including other headers, it is - possible (and in some cases certain) that the headers will - enable the warning again. We now disable *after* all the - includes and re-enable at the end. Thanks to Darrell Brunsch - <brunsch@cs.wustl.edu> for catching this one before we even - tried it :-) - - * Makefile: - * orbsvcs/README: - The README file is generated from the docs/orbsvcs.html page - whenever a release is made. - - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Logger/logger_i.h: - * orbsvcs/tests/Logger/logger_i.cpp: - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/Log/Logger_i.h: - * orbsvcs/orbsvcs/Log/Logger_i.cpp: - Moved the logging service implementation to the library. - - * TAO_IDL/be/be_codegen.cpp: - Generated #pragma to disable the "inheritance via dominance" - warnings on MSVC++; the warning is left on its original state - after when leaving the generated include files. - - * docs/orbsvcs.html: - Updated the document to reflect the new location of the Logging - Service implementation. - - * docs/orbsvcs.html: - Updated the documentation on the directory hierarchy and - contents. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Fixed template instantiation pragmas. - - * tests/CDR/basic_types.cpp: - * orbsvcs/tests/Concurrency/NS_client.cpp: - * orbsvcs/tests/Concurrency/CC_client.cpp: - * orbsvcs/tests/Concurrency/CC_tests.cpp: - * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp: - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: - * tao/skip.cpp: - * tao/encode.cpp: - * tao/Server_Request.cpp: - Fixed several warnings, mostly unused variables. - -Thu May 7 14:28:01 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * Moved the explanation about adding IDL files to MSVC++ from the - docs/releasenotes/index.html file to the TAO-INSTALL.html file. - -Thu May 07 11:19:25 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: added - ACE_Condition<ACE_Thread_Mutex> instantiation. - - * tao/Object_Key.idl,POA.idl,Policy.idl: moved *.idl files - to *.IDL, so that the Makefile rules won't automatically - regenerate them. Inserted RCS keyword string. - - * tao/Makefile: removed rule to suppress regeneration from - .idl files, because it's no longer needed. - - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: reordered - initializers to match declaration order. - - * orbsvcs/tests/Sched/DynSched.cpp,Makefile: added Quantify probes. - -Thu May 7 00:44:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * Reverted a bunch of s/_env/env/g changes... Thanks to Sumedh - for reporting these. - -Wed May 6 23:58:22 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> - - * TAO_IDL/be_include/be_visitor.h: - Added missing int in method declaration. - -Wed May 06 23:51:37 1998 Carlos O'Ryan <coryan@JIG> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.dsp: - * orbsvcs/tests/EC_Multiple/EC_Multiple.dsw: - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - The test now compiles on NT, it lacked a project file and we had - to workaround some MSVC++ bugs. - - * orbsvcs/orbsvcs.dsw: - Added the tests to the main workspace. - - * orbsvcs/orbsvcs/orbsvcs.dsp: - * orbsvcs/orbsvcs/Event/EC_Gateway.h: - The export macro was wrong and Event/EC_Gateway files were not - in the project file. - -Wed May 6 18:16:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/NestedUpcall: Added the new "one-button" features for the - nested upcalls test so that it can run with a single file, just - like IDL_Cubit. Thanks to Rob Thornton <ret1@cec.wustl.edu> for - this enhancement. - -Wed May 6 08:46:18 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * rules.tao.GNU: Added dependency of the generated files on the - TAO_IDL compiler (in addition to the source IDL files). Thanks to - Jim Penny <jpenny@universal-fasteners.com> for suggesting this - modification. - -Wed May 06 06:36:18 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Param_Test/tests.cpp: (Test_Any::check_validity): added - missing definition of short_in. - - * tests/Param_Test/run_test: filtered "grep" out of ps output, - and use SIGCHLD instead of hard-coded signal number. - -Wed May 6 00:28:09 1998 Marina Igorevna Spivak <marina@macarena.cs.wustl.edu> - - * orbsvcs/tests/Naming/ns_tree.cpp: made several minor - modifications to the test program to make it work for compound - names. - -Tue May 5 15:40:09 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: Changed the - ACE_SYNCH_MUTEX to ACE_SYNCH_RECURSIVE_MUTEX to try and - workaround intra-class method deadlocks. Thanks to Marina for - pointing this out. - - * tao/orbconf.h: Added macros for - TAO_SOCK_{STREAM,ACCEPTOR,CONNECTOR}, which can be overridden in - an ACE config.h file to select a different set of transport - APIs. - - * tao/{ORB_Core,GIOP,Server_Strategy_Factory,ORB}.{h,cpp}: Changed - all uses of ACE_SOCK_* to TAO_SOCK_* so we can override this to - use a different transport API without changing the code at - compile time. - -Mon May 4 11:57:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - * orbsvcs/tests/EC_Multiple/gen_latency: - * orbsvcs/tests/EC_Multiple/gen_throughput: - * orbsvcs/tests/EC_Multiple/gen_utilization: - * orbsvcs/tests/EC_Multiple/histo.pl: - * orbsvcs/tests/EC_Multiple/latency.pl: - * orbsvcs/tests/EC_Multiple/run_latency: - * orbsvcs/tests/EC_Multiple/run_schedule: - * orbsvcs/tests/EC_Multiple/run_throughput: - * orbsvcs/tests/EC_Multiple/run_utilization: - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h: - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h: - The test now has two sets of consumers and two sets of - suppliers, running at different rates, with different events, - with varying number of suppliers and or consumers, etc. - Statistics are kept for latency, total time, laxity, time per - event, etc. - The scripts were updated for the new command line interface. - - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - Fixed minor error in debug message. - - * orbsvcs/orbsvcs/Scheduler_Factory.h: - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.h: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - The Runtime_Scheduler uses the POD_RT_Info array directly now. - - * orbsvcs/orbsvcs/Event/RT_Task.cpp: - Set the LWP priority of the task to obtain proper priorities. - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - The split some methods in the MT safe and non-MT safe counter - parts (i.e. the version that takes locks and the _i version that - does not), the method appeared to dead-lock in shutdown. - Anyway the methods are only used at shutdown and startup so - nothing should be broken by this. - - * orbsvcs/tests/EC_Multiple/README: - * docs/releasenotes/ec.html: - Updated the documentation on the multiple EC test. - -Mon May 4 09:35:07 1998 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * Comitted the files for the concurrency service - * Updated release notes - -Mon May 04 09:05:04 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp,Util_Thread.cpp,server.cpp: - removed ACE_OS::thr_setprio class to set LWP priority, now that ACE - handles that internally. - -Sun May 03 02:05:21 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.18 released. - -1998-05-02 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * docs/releasenotes/index.html: Updated the status information for - PropertyService. - -Sat May 2 14:28:41 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init): There was a bug - in Ross' code that was failing to initialize the - naming_context_var_. This is now fixed. Thanks to Andy for - noticing this. - -Sat May 2 09:58:41 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_exception.cpp: We now make the *_alloc - method as a static method of the generated Exception class. The - reason for doing this was that some exceptions get borrowed from - included files. Now if we make the _alloc method as a static - method in the generated *C.cpp file, we don't see it in other - files where it is needed. The best way to do this was to make a - _alloc method as a static method on the generated exception class. - - * TAO_IDL/be/be_visitor_operation.cpp: Changes made above required - some trivial modifications. However, it remains to be see if - MSVC++ accepts the generated code or not OR whether it needs the - ACE_NESTED_CLASS macro. I am waiting for reports on this. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp}:(init): Due to - application of patches, the signature of the - TAO_Naming_Server::init got reverted to the older and buggy - version. This is now fixed. - -Fri May 01 17:56:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Moved #include of - Arg_Shifter.h after #include of tao/corba.h so that ACE_Export - is properly defined. - - * tao/TAO.dsp: Removed Arg_Shifter.cpp from the project. - -Fri May 1 17:26:31 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (init): Added support - for the -NScontextname option. Thanks to Ross J. Lillie - <lillie@rsch.comm.mot.com> for this feature. - - * orbsvcs/orbsvcs/Naming_Utils.h: Added "argv/argc" parameters to - the TAO_Naming_Server::init() and constructor methods. Thanks - to Ross J. Lillie <lillie@rsch.comm.mot.com> for this feature. - - * tao/Makefile: Moved the Arg_Shifter from TAO to ACE since it is - generic and not TAO-specific. - -Fri May 1 13:05:56 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/Stub.h: Added a new structure called TAO_Exception_Data that - holds the typecode and pointer to a function for the user - exception we are dealing with. This was necessary since the - interpreter had no clue of how to allocate storage for the - exception we are dealing with and how to decode it. - - * tao/GIOP.{h, cpp}: Affected by the above change is the "invoke" - method which takes the list of exceptions. It is this method that - is responsible for allocating the right amount of storage for the - exceptions and decode it. - - We kept the original invoke method as it is because the newer - signature cannot work with DII. This still needs work. - - * tao/IIOP_Object.cpp:(do_static_call) - When "invoke" is called, - we now pass the TAO_Exception_Data table. - - * TAO_IDL/be/be_visitor_operation.cpp: The exceptionlist table - that gets generated is now an array of TAO_Exception_Data. In - addition, it is made static. - - * TAO_IDL/be/be_visitor_exception.cpp: Added code to generate the - *_alloc function that allocates memory for the exception. - -Fri May 1 09:55:56 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/POAS.cpp: In the initialization section of constructors for - some of the collocated classes, we had forgotten to use the - ACE_NESTED_CLASS macro. This is now fixed. - -Fri May 1 06:19:03 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp: Modified the generated code - for <<= and >>= operators. It involves more memory allocation. The - previous version was buggy because it was holding pointers to data - allocated on function call stacks. - - * Makefiles: A few Makefiles have been updated with the .PRECIOUS - clause. Otherwise the make was deleting some IDL compiler - generated files. - - * tao/Marshal.i: trivial changes. Probably not even required to - do. Instead of casting the void pointer at the time of passing the - parameter to release, we do it prior to it and then pass the local - variable. - - Added theId: ChangeLog,v 1.1421 1998/05/15 05:26:25 schmidt Exp CVS string. - - * tests/Param_Test: Added support to handle Anys of Object - references (In our case Anys of Coffee objects). - -Thu Apr 30 20:18:44 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/tests/CosPropertyService/client.{h, cpp}, server.{h, - cpp}: The client and server programs exclusively for testing - CosPropertyService. - -Thu Apr 30 15:35:45 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/tests/Cubit/TAO/MT_Cubit/Task_Client.*,Util_Thread.*, - client.cpp,server.cpp: adapted to work on VxWorks. - -Thu Apr 30 14:26:00 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.17 released. - -Thu Apr 30 10:06:19 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/tests/Cubit/TAO/MT_Cubit/server.{h,cpp}: moved the - start barrier from the stack frame of start_servants () - to the stack frame of main (). This turned out the be - the cause of the barrier failure on Linux. And on Solaris86, - but it only appeared there when the ior file was in /tmp. - That's because start_servants () was able to write the file - more quickly there, and then destroy the old barrier. Threads - are evil. - -Wed Apr 29 14:06:35 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/{Object, POAC, POAS, PolicyC, PolicyS}.cpp: Moved all the - static Param_Data and Call_Data tables from the outer global scope - to the scope of the respective stubs and skeletons. This was - necessary since the ORB-owned typecodes are now dynamically - allocated. Thus, if the tables remain in the global scope, the - values for typecodes get initialized to NUL. Thanks to Naga, - Sergio, and Sumedh who were trying in vain to understand why - things were failing. - - * TAO_IDL/be/be_visitor_interface.cpp: Moved the code generation - of static Param_Data tables for the _is_a_skel from the outer - global scope to inside the skeleton for _is_a_skel. - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: On line 119 to the call - to _narrow, we were passing the Object_var. g++ did not like - it. Hence we take the in () of the var object and pass it to - _narrow. - - * tao/skip.cpp: In Sequence::skip, we did not have a return - TRAVERSE_CONTINUE statement after successfull skipping. Hence we - always returned an exception. The same iwas true with Array::skip. - Thanks to Alex (alex@cs.wustl.edu) for reporting this bug. - -Wed Apr 29 12:26:12 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/Makefile: - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h: - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Added two precomputed schedules that are selected when the - argument to -s is either RUNTIME1 or RUNTIME2, but it is still - possible to have a global scheduler (-g) or to compute new - schedules (-s <anyname>). - The amount of work performed in the high priority threads can be - controlled using the -w option. - - * orbsvcs/tests/EC_Multiple/latency.pl: - * orbsvcs/tests/EC_Multiple/run_utilization: - * orbsvcs/tests/EC_Multiple/run_overhead: - * orbsvcs/tests/EC_Multiple/run_latency: - * orbsvcs/tests/EC_Multiple/gen_utilization: - * orbsvcs/tests/EC_Multiple/gen_overhead: - * orbsvcs/tests/EC_Multiple/gen_latency: - This scripts execute the test with different configurations - designed to measure latency, overhead, utilization, etc. - The run_* scripts execute the test, the gen_* scripts filter the - results and generate Encapsulated PostScript and JPEG files with - the results. - I've tried to make the file naming conventions consistent so its - easier to add new scripts or tests. - - * orbsvcs/Naming_Service/Naming_Service.h: - * orbsvcs/Naming_Service/Naming_Service.cpp: - Added an option (-p) to dump the process ID into a file, this is - useful when running the service from a script that has to shut - it down. - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - Fixed some memory managment problems, but the whole class has to - be revised to be more compliant. - -Wed Apr 29 07:08:18 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): - fixed loop indices to follow ANSI scoping rules and avoid - signed/unsigned comparisons. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (run_tests): cast the - entire expression to u_long, not just the first term. - -Tue Apr 28 13:02:25 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation.cpp: The tables for Param_Data - and Call_Data in the stubs and skeletons are now generated inside - the stub/skeleton instead of being global. This change was - necessitated since we removed all statics from the TAO library. - - * TAO_IDL/be/be_visitor_structure.cpp: Some trivial indentation - changes and moved code a bit so that related code gets generated - near each other. - - * tao/Exception.cpp: Got rid of all static typecodes for system - exceptions. In addition, there was an error in - "make_standard_typecode" where we were creating a new - ExceptionList for every call to make_standard_typecode. This is - now moved to the init method. - - A few TypeCode definitions have been moved to - Typecode_Constants.cpp since these were owned by the ORB. - - * tao/Exception.h:(make_standard_typecode): The first parameter - now takes a reference to TypeCode_ptr. - - * tao/{Connect, GIOP, Server_Request}.cpp: Use the new TC_opaque - and TC_ServiceContextList typecode pointers rather than the - previous static TypeCode object. - - * tao/Marshal.cpp: Removed a lot of commented out code. - - * tao/Marshal.h: Added some documentation. - - * tao/ORB.cpp: Added a call to TAO_TypeCodes::init in the - init_orb_globals method. - - * tao/ORB.{h,i}: Missing documentation added. Added a new method - that returns a boolean value indicating if the ORB's reference - count for its globals has reached 0. The TypeCode destructor uses - this to get rid of ORB owned typecodes. - - * tao/Object_Key.idl: Added missing documentation. - - * tao/Sequence_T.h: Added missing documentation. - - * tao/Typecode.{h, cpp}: Refined the destructor such that ORB - owned typecodes are now destroyed once the reference count for - globals has reached 0. - - Added a new class called "TAO_Typecodes". It provides a namespace - to defined some static methods for initialization and finalization - of ORB owned typecodes. - - * tao/Typecode_Constants.cpp: Lots of changes. All typecodes are - now dynamically allocated. All the static allocation is removed. - - * tao/{append, skip}.cpp: In the respective append and skip - methods for Exceptions, we had forgotten to append/skip the - repository ID for the exception. In addition, we now use TC_opaque - pointer rather than the static object. - - * tao/decode.cpp: The static table __tc_consts had to be moved - inside the TypeCode::decode method since the typecodes are no more - static. Also, we use the newly defined TC_opaque typecode pointer. - - * tao/{encode, deep_copy, deep_free}.cpp: Used the TC_opaque - pointer instead of the static object TC_opaque that we previously - had. - - * tests/CDR/tc.cpp: Moved the static table of typecodes inside the - function since the typecodes are no more static. - -Mon Apr 27 16:46:42 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/*.cpp: put in RT class if running - as root, and set LWP priorities. - - * tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: added this shell - script, which spawns the server and client (locally). - -Sun Apr 26 10:19:49 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - The print_priority_info() routine is platform specific, but I - did not protect it with the right #ifdef/#endif block. - -Sun Apr 26 01:09:23 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.16 released. - -Sat Apr 25 16:14:02 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Added routine to print the scheduling parameters of the main and - scavenger thread. - Before starting we report all the user defined parameters for - the test execution. - The push() method consumes a little CPU via the is_prime() - method. - Fixed problem with auto_ptr<> usage. - For the short circuit case the timer is reset at the beginning - of handle_timeout(), otherwise the main thread sleeps a constant - amount of time. - Changed the option to set the timeout interval to -i and now -t - tries to run the test in the Time-shared scheduling class. - The main thread scheduling parameters are modified after - parsing the user arguments. - - * orbsvcs/tests/EC_Multiple/run_latency: - * orbsvcs/tests/EC_Multiple/run_utilization: - * orbsvcs/tests/EC_Multiple/gen_data: - This scripts are attempts to make single button entries for the - diverse configurations of this test. - -Sat Apr 25 08:36:08 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - added a few .in () dereferences and ACE_UNUSED_ARGs. - -Fri Apr 24 14:08:47 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - The test creates its own scheduling service now, so all the - invocations are collocated. - Added support for overhead test, but it is still untested. - - * orbsvcs/tests/EC_Multiple/Makefile: - Updated dependencies. - - * orbsvcs/tests/EC_Multiple/latency.pl: - The program generates number in usecs now, less need for - conversion here. - - * orbsvcs/tests/EC_Multiple/gen_data: - Improved the graphs, include titles, the time is in usecs, the - EPS files are generated (for LaTeX) and then converted to JPEG - (for HTML). - - * orbsvcs/orbsvcs/Makefile: - Added Event/EC_Gateway.{h,cpp} and updated dependencies. - - * orbsvcs/Naming_Service/Naming_Service.cpp: - Removed obsolete options from usage message. - -Fri Apr 24 10:15:37 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Quoter/Generic_Factory.{h,cpp,dsp}: server for a - Generic Factory conforming to the LifeCycle Service - - * tests/Quoter/Generic_Factory_Impl.{h,cpp}: Implementation - of a LifeCycle Service conforming Generic Factory - -Fri Apr 24 10:08:37 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/NVList.cpp: added ACE_Node<CORBA::NamedValue_ptr> template - instantiation. - -Fri Apr 24 00:18:05 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.15 released. - -Thu Apr 23 18:50:29 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * TAO_IDL/ast_enum.h, - TAO_IDL/ast_exception.h, - TAO_IDL/ast_interface.h, - TAO_IDL/ast_module.h, - TAO_IDL/ast_operation.h, - TAO_IDL/ast_root.h, - TAO_IDL/ast_structure.h, - TAO_IDL/ast_union.h, - TAO_IDL/utl_scope.h: Changed 'friend int yyparse()' to - 'friend int tao_yyparse()' to reflect new changes. - - * The following changes will hopefully provide a framework - for getting rid of all the nasty problems with statics - in TAO! - - * tao/ORB: Added a new static method called init_orb_globals() - that initializes the globals when necessary. - - * tao/ORB: Added a new orb_init_count_ data member that keeps - track of the number of times ORBs have been initialized in order - to do a better job of managing globa ORB resources. - - * tao/Exception: Added a new method called fini() that deletes the - dynamically allocated exceptions list. - - * tao/Exception: Changed init_standard_exceptions() to init() to - be consistent. - - * tao/Marshal: Changed initialize() to init() to be consistent. - - * tao/IIOP_Interpreter: Changed init_table() to init() to be - consistent. - - * tao/ORB: Added support so that we make sure to only initialize - and destroy global ORB resources when the first/last ORB is - created/destroyed, rather than using static objects (which are - causing problems on shutdown). - -Thu Apr 23 16:20:58 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * TAO/TAO_IDL/Makefile: Change the YY* symbols to ACE_YY* symbols - to avoid clashes if we link with other flex/yacc generated code. - -Thu Apr 23 15:48:29 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_visitor_structure, be_visitor_exception, - be_visitor_union, be_visitor_sequence}.cpp: The code generation of - the >>= operators is now improved to take into account the fact - that an Any may not own the value. In such cases, the >>= operator - should simply do a cast rather than retrieving the value from the - CDR member - - * tao/Any.{h,i}: Added a new method (TAO extension) returning a - boolean to indicate if the Any owns the data or not. This is used - by the >>= operators generated for user-defined types - - * tao/Any.cpp: The constructor and assignment operator of Any that - was creating a CDR stream used to point its ACE_Message_Block - member to a buffer that was allocated on the function call - stack. We now explicitly call "clone" on it to make a deep copy. - - * tao/GIOP.{h,i}: Added two methods that return the underlying - input and output CDR streams. - - * tao/IIOP_Object.cpp: (do_dynamic_call): Made major - modifications. We are now able to handle the case when the user - has not supplied the top level storage for out and return - parameters. For these cases, we use exactly the same logic as the - Any::decode method. We maintain a pointer to the part of the CDR - stream that holds the value and save it in the Any. It is the - application's responsibility to use the appropriate >>= methods to - retrieve the value. - - * tao/NVList.{h, i, cpp}: We now use ACE_Unbounded_Queue to - maintain the list of NamedValues. The original code was mixing up - C++ and C memory management by using calloc and realloc. This was - cauisng too many problems. At the same time, reallocing would - introduce a large number of deep_copies of the Anys that are held. - All the add_* and item methods have been affected. - - * tao/ORB.cpp: Modified the create_list method since the NVList - now uses ACE_Unbounded_Queue<NamedValue_ptr> to maintain a list of - NamedValues. - - * tao/{append, encode, decode, skip}.cpp: For the Union::{append, - encode, decode, skip} methods, it was necessary to use the >>= - operators to retrieve the label values. We were originally using - casts to the void* returned by the Any::value () method. However, - since this returns the underlying CDR buffer, we need to use the - type-safe >>= operators. For the enum case label, we explicitly - invoke the decoder. - - * tao/Server_Request.cpp:(demarshal): We now create an NVList of - size 0 and then add individual items according to the - CallData_skel table. This is no more wasteful as in the previous - scheme because now we use ACE_Unbounded_Queue to mainatin the - internal list and hence growing the list does not result in huge - amounts of deep_copies. - - * tests/Cubit/TAO/IDL_Cubit/client.cpp: Fixed the usage for DII in - struct_dii and union_dii to use the >>= operators. - - * tests/Param_test/tests.cpp: Partially fixed the way DII tests - should be coded. Some of them are now working. I need to fix the - rest of them. - -Wed Apr 22 15:56:58 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - The test also has a collocated scheduling service now. - - * orbsvcs/tests/EC_Multiple/svc.conf: - Added a missing svc.conf file. - - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: - The -n option can be used to specify the scheduling service name. - - * orbsvcs/orbsvcs/Scheduler_Factory.h: - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - We can find scheduling services with different names now. - Removed all method that used resolve_initial_references() to - find the scheduling service; this was needed before the naming - service was working. - - * orbsvcs/tests/EC_Multiple/latency.pl: - * orbsvcs/tests/EC_Multiple/gen_data: - Simple scripts to process the data obtained in the experiments. - -Mon Apr 20 16:46:07 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp: An ACE_NESTED_CLASS was - getting generated with a blank first argument for cases where the - interfaces were defined in the outermost scope. This is now fixed - by using a conditional "is_nested". - -Mon Apr 20 13:23:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Server_Request.h: - * tao/Server_Request.cpp: - We keep a flag to determine whether the exceptions stored with - the set_exception() method are user exceptions or system - exceptions. - -Mon Apr 20 09:48:01 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/CDR/growth.cpp (main): cast ACE_ONE_SECOND_IN_USECS - to ACE_UINT32 to avoid ambiguity when using ACE_U_LongLong. - - * tao/append.cpp (append): commented out unused local - "continue_append". - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (run_tests): removed - unused local "context_switch". Protected declarations of - "ptartTime" and "pstopTime" for CHORUS only. - - * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): - protected declaration of context_switch for ACE_HAS_PRUSAGE_T or - ACE_HAS_GETRUSAGE. - -Mon Apr 20 06:36:44 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: The generated typecode was incorect - in its encapsulation length. We were generating the entire - TypeCode length as the encapsulation length. - -Sat Apr 18 20:21:24 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_visitor_exception, be_visitor_sequence, - be_visitor_structure, be_visitor_union}.cpp: In the generated code - for the >>= operators, we were incorrectly passing the address of - the pointer to the decode method rather than simply passing the - pointer. - - * tao/Any.cpp: The value () routine either returns the cdr_ or the - value_ field depending on whether the Any owns the data or not. - - * tao/TypeCode.cpp: In private_equal, we had forgottent to account - for the tk_any case. - -Sat Apr 18 15:52:20 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * tao/Exception.cpp (CORBA_Exception): Removed a debugging - statement assert (1==2) in the destructor of this class. - -Sat Apr 18 12:19:11 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/server.cpp (init_naming_service): - dereference orb and child_poa with in () in calls to - my_name_server_.init (). - -Sat Apr 18 10:14:13 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/Any.cpp: There was a mistake in some of the the >>= - operators in which for the "any owns data" case, we were - retrieving the data from the value_ field instead of the cdr_ - field. - - * tao/GIOP.cpp: An unwanted explicit template instantiation for - Unbounded sequences of TypeCode is now removed. - - * tao/decode.cpp: A very very subtle error. For the case of - Any::decode, our strategy was to let the Any maintain a pointer to - the CDR stream and eventually let the >>= operators do the - retrieve part. We were correctly maintaining pointers to the - duplicated ACE_Message_Block. Unfortunately, this - ACE_Message_Block was maintaining a data member which is the CDR - stream which was allocated on the function call stack of - "do_static_call". As a result, all kinds of weird results started - showing up. We now make an explicit copy. Although this scheme - will slow down the performance for Anys, at this time, this is the - only feasible solution to get things working. - - * tests/CDR: Added test for Any in basic_types.cpp - - * tests/Param_Test: Added some debug statements. - -Fri Apr 17 19:15:24 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * tao/Any.h : - * tao/Any.cpp : Added static dump () method for debugging any - values. It prints out type and value (if the type is primitive). - -Fri Apr 17 15:35:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: - An explicit ACE_Thread_Mutex was used, this is non-portable to - platforms without threads, the "Right Thing" is to use the macro - ACE_SYNCH_MUTEX. - -Fri Apr 17 13:29:46 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/skip.cpp (skip): - * tao/deep_copy.cpp (deep_copy): - * TAO_IDL/be/be_decl.cpp (tc_name2long): Removed unreferenced - variables. - -Fri Apr 17 12:12:04 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation.cpp: There was an error in the - way the return Any type was passed to the demarshal and marshal - routines of the generated skeleton code. - - * tao/Any.cpp: Error in the assignment operator for Any fixed. For - the Any owns case, we were copying the data from the value_ field - instead of the cdr_ field. - - * tao/decode.cpp: In Any::decode, we were setting the value_ field - of the Any to the ACE_Message_Block rather than setting the cdr_ - field. - - * tao/encode.cpp: In Any::encode, we were reading from the value_ - field of the Any rather than the cdr_ field. - - * tests/Param_Test: Added code for the Any test. This is still - under test. - -Fri Apr 17 02:38:13 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_visitor_exception, be_visitor_sequence, - be_visitor_structure, be_visitor_union}.cpp: We had a mismatch in - the signatures of operator <<= in the declaration and - implementation. In addition, we force the generated code for >>= - operator to own the allocated memory. - - * TAO_IDL/be/be_visitor_interface.cpp: In the code that generates - >>= operator, we also generate code such that the allocated memory - is owned by the Any - - * tao/Any.{h, cpp}: We now have two data members in class Any. We - keep the older semantics of the value_ field. In addition, we - maintain a ACE_Message_Block *cdr_ member. Originally we shared - the value_ variable to mean either a CDR stream or a pointer to - some data type. This was based on whether the Any owns the data or - not. However, this strategy does not work because in the >>= - operators for constructed types, we must hold on to the newly - allocated storage since we own it and we must free it. - - * tao/TypeCode.cpp: In the constructor, we were initializing the - internal buffer to point to 4 bytes past the actual buffer that - was passed as a parameter. Things were fine as long as we were not - transmitting typecodes. However, once we started doing that, we - realized that somehow the buffers kept on reducing by 4 as we kept - transmitting typecodes over the wire. Thus, a typecode receive don - the other end had a smaller buffer (and hence different contents) - than the original. We fix this by making our internal buffer point - ot the start of the buffer that was passed as a parameter. The - side-effect of this is that whenever we have to initialize a - TAO_InputCDR with this internal buffer, we must do so by - explicitly skipping the first 4 bytes (which contains the byte - order flag) and indicating that the length is 4 less than the - actual. - - * tao/decode.cpp: In TypeCode::decode, there was a very subtle - error. Whenever we were decoding a typecode and determining that - it was one of the ORB maintained constants, we were simply - pointing to it and passing it back. However, this is not correct - because the application can call "release" which was resulting in - "Freeing Non-Heap Memory" which is terrible. We now "_duplicate" - such typecodes and then pass them to the applications. - -Thu Apr 16 20:34:40 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB_Core.cpp (TAO_ORB_Core): reordered initializers to - match declaration order. - - * tao/Exception.cpp: added ACE_Unbounded_Queue<CORBA::TypeCode_ptr>, - etc., instantiations. - - * tao/PolicyC.h (CORBA_PolicyList): commented out unused - _tc_PolicyList_seq. - -Thu Apr 16 19:22:10 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp: - The ACE_NESTED_CLASS macro in the base/member initialization - section of a collocated class was using the wrong scope to - initialize inherited collocated classes. Prefixed a "POA_" to - the scope. - -Thu Apr 16 16:00:35 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/decode.cpp: In TypeCode::decode, for the case of bounded - strings, we were passing a null pointer to the typecode - constructor. - - * tao/encode.cpp: In TypeCode::In encode, for strings, we were - encoding the typecode's buffer length rather than the bounds of - the string. - - * tests/Param_Test: Added code to test TypeCodes. Most of the - files in this suite are modified. - -Thu Apr 16 13:28:59 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/decode.cpp: - An exception was raised if a nil object reference was decoded. - - * tao/POA.cpp: - For debugging purposes we print a message when an exception is - raised on the server side. - - * TAO_IDL/be/be_visitor_interface.cpp: - Use ACE_NESTED_CLASS macro for collocated classes, this makes - the generated code portable between NT and other platforms. - -Thu Apr 16 10:31:53 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp: I had forgotten to generate - a "return TRUE" statement in the code for the >>= operator on - interfaces. - - * TAO/tao/Any.cpp: All the basic >>= operators were using plain - casts. However, according to the new strategy, if the Any owns the - value, then it is a CDR stream. So we make this distinction in the - code. - - * TAO/tao/POAS.cpp: In the initialization section of a number of - skeleton class constructors, we were initializing - _tao_collocated_Policy without specifying its fully scoped name - which happens to be POA_CORBA::_tao_collated_Policy. g++ was - complaining. However, it remains to be seen if MSVC++ accepts this - new style. - -Thu Apr 16 10:10:16 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests\Quoter\Quoter_Impl.cpp: Improved the copy operation - * tests\Quoter\client.{h,cpp}: Using the copy operation - Status: Bootstraping and copying of Lifecycle Objects works. - -Thu Apr 16 08:36:16 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (parse_args): - removed break following an ACE_ERROR_RETURN. - -Thu Apr 16 01:25:18 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/poa.idl: Fixed the idl file. - - * tao/PolicyS.cpp (_tao_collocated_Policy): _tao_collocated_Policy - must inherit from CORBA_Policy and not from CORBA::Policy. This - is because the VC++ compiler cannot deal with inheriting from - nested typedefs. - - * tao/Policy{C,S}.h: Added TAO_Export macros. Also fixed the - #include files. - - * tao/POAS.*: Added code for _get_policy_type_skel() and - policy_type() by hand. - - * tao/POAC.*: Removed code for PortableServer::Policy. - - * tao/POA.cpp: Added the policy_type() method to the policy - classes. - - * TAO: Changed PortableServer::Policy to CORBA::Policy. - -Wed Apr 15 22:29:29 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_visitor_structure, be_visitor_union, - be_visitor_enum, be_visitor_sequence, be_visitor_interface, - be_visitor_exception}.cpp: Added code to generate the <<= and >>= - operators for CORBA::Any. - - * TAO_IDL/be/be_predefined_type.cpp: Added cases for LongLong, - ULongLOng, and LongDouble which were missing. Thanks to Sam Hauer - <shauer@nmo.gtegsc.com>. - -Wed Apr 15 20:20:58 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer{Factory}.java.JDK1.2 - added these two files, they can be used by the JDK 1.2 instead - of by the Visigenic ORB. - -Wed Apr 15 15:59:58 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tao/append.cpp: Added a bunch of methods that take a CDR - stream and append it to another CDR stream while maintaining the - alignment. These functions use exactly the same logic as that used - by the encode, skip, decode, deep_free, and deep_copy methods. - - * TAO/tao/any.cpp: When we reset the contents, we set value_ to 0 - - * TAO/tao/CDR.{h, i, cpp}: Added a constructor to the - TAO_OutputCDR and TAO_InputCDR to take an ACE_Message_Block as - input. In addition, added the "append" methods that append one CDR - to other while maintaining the alignment. - - * TAO/tao/Exception.{h, i, cpp}: Added the definition and - implementation of the CORBA::ExceptionList class according to the - CORBA v2.2 (Feb 98). This required a few changes in the - Exception.cpp file while initializing the list of system - exceptions. - - * TAO/tao/{GIOP, IIOP_Object}.cpp: Changes required due the new - definition of ExceptionList - - * TAO/tao/Marshal.h: Added the append methods on all classes. - - * TAO/tao/ORB.h: Chnaged the definition of ExceptionList from - typedef to TAO_Unbounded_Object_Sequence<TypeCode_ptr> to using - the new defintion. - - * TAO/tao/Typecode.{h, cpp}: Moved the defintions of Bounds and - BadKind inside the TypeCode class. This is where it belongs. - - * TAO/tao/decode.cpp: In Any::decode, we set the value_ data - member of Any to a duplicated ACE_Message_Block. - - * TAO/tao/encode.cpp: Changed the implementation of Any::encode - such that if the Any owns the data, then the value_ which is an - ACE_Message_Block that holds a CDR stream gets appended to the - destination CDR. Otherwise, the value is literally encoded into - the destination CDR. - - * TAO/tao/skip.cpp: Added WString::skip. In addition, we had - forgotten to pass the address of the discriminant_val to the - decoder inside the Union::skip function. - -Wed Apr 15 12:19:36 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/deep_copy.cpp (deep_copy): We need a return if no error was - found. - -Wed Apr 15 09:28:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Stub.h: - A field was declared <const CORBA::TypeCode_ptr*>, this field is - needed to initialize a Sequence that requires a - <CORBA::TypeCode**> parameter. The careful reader will notice - that there is no implicit conversion between the two types, the - first is a pointer to constant TypeCode_ptr no a constant - pointer to TypeCode_ptr. Only SGI/C++ detected this problem. - -Wed Apr 15 09:11:11 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/DynSched.cpp (compare_entry_finish_times): - added const's to first_entry and second_entry declarations and - casts, so that ANSI static_casts will succeed. - - * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp (create): - removed extraneous trailing semicolon. - - * orbsvcs/orbsvcs/Event/RT_Task.h (ACE_RT_Task): added "class" - to declaration of friend ACE_RT_Thread_Manager. - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp (main): added an _out - temporary to avoid compiler warning about a temporary being used - for a non-const reference. Because only Sun C++ seems to complain - about this, and the temporary is non-comformant (it is an _out - type, and users aren't supposed to create them), the hack is - only used with Sun C++. - -Tue Apr 14 19:35:50 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Quoter/*: Quoter example is running using the Cos LifeCycle - Factory Finder. - -Tue Apr 14 16:37:50 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/encode.cpp: - * tao/deep_copy.cpp: - * tao/decode.cpp: - * tao/Principal.cpp: - * tao/ORB.h: - * tao/IIOP_Object.cpp: - * tao/GIOP.cpp: - * tao/Exception.cpp: - Removed the last traces of CORBA_SEQUENCE<T>, we use - TAO_Unbounded_Sequence<CORBA::Octet> for CORBA::OctetSeq and - TAO_Unbounded_Object_Sequence<T> for CORBA::ExceptionList. - - * orbsvcs/Naming_Service/Naming_Service.cpp: - * orbsvcs/orbsvcs/Naming/Naming_Utils.h: - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: - It is less surprizing to receive arguments as T_ptr than as - T_var&. - Also followed the usual memory managment conventions of CORBA, - i.e. we don't own the parameters we receive, but we do own the - return values or out parameters we obtain. - - * orbsvcs/tests/Event_Latency/Event_Latency.h: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Pseudo-objects or objects passed as input parameters must be - duplicated before storing them in a T_var variable. - -Tue Apr 14 13:49:51 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - The following changes are untested. - - * TAO/tao/skip.cpp: Added a new file that can skip values in the - CDR stream. We need this functionality so that when an Any is - decoded, it will simply hold a pointer to the ACE_Message_Block - (which in turn consists the incoming CDR stream). However, we - still need to skip past the value. This skipping uses the same - interpretive algorithm used by the encoder and decoder. - - * TAO/tao/Any.{h, cpp}: Changed the way constructors, assignment - operators, replace method, and destructor worked. The policy is - that if the Any owns the value, then it immediately converts the - value to a CDR stream and destroys the value. - - * TAO/tao/CDR.{h, i}: Added some more functionality to do the - basic "skip" operations. - - * TAO/tao/Marshal.h: Added the skip methods on all the - TAO_Marshal_* classes. - - * TAO/tao/decode.cpp: When we decode an Any, the value pointer now - points to the CDR stream (represented as a ACE_Message_Block). It - is the application's responsibility to use the <<=, >>= operators - to retrieve the right type. - - * TAO/tao/Policy{C,S}.{h,i,cpp}: Added these files that have stubs - and skeletons for the CORBA::Policy interface. - - * TAO/tao/{ORB, corba}.h: Added definitions for the PolicyType, - Policy, and PolicyList. - -Tue Apr 14 12:27:35 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/decode.cpp: - * tao/encode.cpp: - Use the write_*_array() and read_*_array() when - encoding/decoding arrays or sequences into/from a CDR - stream. Since every request has at least one sequence (the - object key) this is a improvement for all requests. - I was able to measure improvements in the order of 5% to 10% for - IDL_Cubit. - - * tests/CDR/growth.cpp: - The correct interface to accumulate measurements in a - ACE_High_Res_Timer is start_incr()/stop_incr(). - - * tests/Cubit/TAO/IDL_Cubit/client.cpp: - Increased the maximum sequence size to 100, otherwise it is hard - to notice how the sequences affect performance. - - * docs/releasenotes/ec.html: - Added an explicit example on how to run the Event_Latency test. - - * tao/Exception.cpp: - Fixed indentation. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - An exception was not "rethrown". - -Tue Apr 14 12:23:04 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/DynSched.cpp,Strategy_Scheduler.cpp, - tests/Cubit/TAO/MT_Cubit/Task_Client.h: - #include math.h after #including the ACE headers, to avoid a - compile warning on ghs/VxWorks. - - * orbsvcs/orbsvcs/Sched/DynSched.cpp (add_dependency): removed - a break statement following a return. - - * orbsvcs/orbsvcs/Sched/SchedEntry.h (OS_priority): removed - name qualifier (the class name). - - * tests/Param_Test/client.cpp (run_dii_test): removed second - return statement at end. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp},client.cpp - (get_latency): cast double latency_ to u_int. - -Tue Apr 14 10:23:32 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/ORB_Core.h (TAO_ORB_Core): Moved a bunch of "set" methods - into the public part of the class so that we can set them if - necessary. Also changed the "set" methods so they return the - original pointer, which enables "chaining". Thanks to Brian - Mendel for point this out. - -Tue Apr 14 07:16:21 1998 David L. Levine <levine@cs.wustl.edu> - - * Makefile: added CONTROLLED_FILES macro. Thanks to Doug - for reporting this. - - * INSTALL,Makefile: removed INSTALL from CVS control. - -Tue Apr 14 00:51:45 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.14 released. - -Sat Apr 11 20:02:32 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.13, released Sat Apr 11 20:02:32 1998. - -Sat Apr 11 10:00:09 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowser.java: - modified to be used only when the DOVE Browser is running as - an Java Application. - - * orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowserApplet.java: - used when the DOVE Browser is running as an Applet. - - * orbsvcs/tests/Simulator/DOVEBrowser/*: minor changes to handle - the afore mentioned changes. - -Fri Apr 10 15:11:44 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/GIOP.cpp (message_name): Fixed a missing increment by 1 - code. Thanks to Sumedh for noticing the bug. - -Fri Apr 10 10:41:04 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Param_Test/tmplinst.cpp: - Added a missing template instantiation. - -Fri Apr 10 04:38:36 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_typedef.cpp: The changes made by me in the - log entry mentioned just below had some flaws. I had sort of - blidly applied it to a case in the "visit_typedef" node of the - be_visitor_typedef_ci class. I was resetting the alias context - before the code generation action was taken as aooposed to doing - it after the action was taken. Thanks to Seth Widoff for sending - the bug report. - -Thu Apr 9 21:57:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/POAS.cpp: Fixed up the POA to use the new - ACE_Static_Allocator_Base stuff. - - * tao/Operation_Table: Added an additional parameter to the - TAO_Dynamic_Hash_OpTable constructor so that we can pass in the - ACE_Static_Allocator_Base. Also, changed the code to use the - base/member initialization section, which is more efficient. - -Thu Apr 9 22:53:21 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: We now use the - ACE_Static_Allocator_Base to define a static allocator for the - Dynamic Operation Hash Table. Using this approach will finally - solve the seg faults in the static destructors. - - * TAO_IDL/be/{be_visitor_args, be_visitor_array, be_visitor_field, - be_visitor_exception, be_visitor_operation, be_visitor_typedef, - be_visitor_union, be_visitor_union_branch}.cpp: The visit_typedef - operation on all the classes in these files was setting the - TAO_Visitor_Context's alias state to the typedef node being - visited. However, we were not resetting this context alias state - after the action has been taken. This broke code for a scenario - shown in a dummy IDL below: - - typedef X Y; - struct foo { ... }; - struct bar { - Y y_field; - long long_field; - }; - In the code generation for the struct "bar" (for that matter for - unions, exceptions, sequences, and others), when we are generating - the code for the field whose type is "Y", we set the alias - context, it gets set to Y and we use its primitive type which is X - to do the "accept". However, we do not reset the alias context. As - a result, when we are generating the code for the long_field, the - alias context is still "Y" which leads our IDL compiler to - generate code that says "Y long_field;" rather than "long - long_field;". This is now fixed. - -Thu Apr 9 20:15:41 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (init): Added code to - recognize the -o option to output the Naming Service ior to a file - to avoid setting the NameService env. variable when multiple - naming services are running. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Added a - naming_service_ior () method to return the ior of the Naming - Service. - -Thu Apr 9 19:25:44 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java, - orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.cpp. - orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: - Had to conform to the new RtecScheduler.set ( ..) method, - some parameters were added. - - * docs/releasenotes/index.html: Enhanced description of the DOVE - -Thu Apr 9 10:07:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Time_Utilities.i: - Fixed warnings in convertion from 64 bit ints to 32 bit - ints. This is a classical example of a "good" cast, we know the - numbers will be in range (unless something *really* bad happens, - like), so the conversion will work. - -Wed Apr 08 10:02:16 1998 David L. Levine <levine@cs.wustl.edu> - - * bin/make_release: added this script that creates ACE and/or - TAO releases. - - * Makefile: added support for make_release. See comments at - the top of the Makefile. The old release mechanism has - been retained; to use it: make release-old. - - * tao/ORB.cpp (ORB_init): added missing __FILE__ to printout. - Thanks to Tom Brusehaver <tgb@cozy.netco.com> for reporting - this. - - * orbsvcs/Runtime_Scheduler.{h,i}, - orbsvcs/orbsvcs/Config_Scheduler.{h,i} (set): - removed const from Criticality and Info_Type arguments. Thanks - to Doug and Irfan for reporting this. - -Wed Apr 08 07:41:53 1998 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/{default.bld, tao.bld}: Updated VxWorks GHS Build files. - - * orbsvcs/default.bld, - orbsvcs/orbsvcs/orbsvcs.bld, - orbsvcs/Event_Service/Event_Service.bld, - orbsvcs/Scheduling_Service/Scheduling_Service.bld, - orbsvcs/Naming_Service/Naming_Service.bld, - orbsvcs/Dump_Schedule/Dump_Schedule.bld: - Updated VxWorks GHS Build files. - - * tests/Cubit/TAO/IDL_Cubit/{default.bld,IDL_Cubit.bld}: - Updated VxWorks GHS Build files. - -Wed Apr 08 00:31:08 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.cpp (init): If the host is not supplied by the - user, we will go ahead and call ACE_OS::hostname immediately. - This will help later down the road, since ACE_OS::hostname will - not have to be called each time an IIOP_Profile is created. - - * tao/IIOP_Object.cpp (set): Changed the calls to get_host_addr() - to get_host_name(). The name is more readable than the IP - address. - - * tao/ORB_Core.cpp (init): If the user explicitly specifies - -ORBport 0, we choose a port and start listening. This will - make sure that all IORs produced will be correct. If -ORBport 0 - is not specified, lazy listening is done as usual (on - orb->run()). - -Tue Apr 7 18:25:09 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Quoter/quoter.idl: Extended the interface by a Factory - Finder. - - * tests/Quoter/QuoterFactoryFinder.{cpp,h}: Server and - Implementation of the Factory Finder. - -Tue Apr 7 16:22:09 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/util/utl_global.cpp: - Changed a buffer size from MAXNAMELEN to MAXPATHLEN, the former - is very small in some systems, plus the fact is that a fullpath - can be use in that buffer, so MAXPATHLEN is the right constant. - -Tue Apr 07 10:55:53 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Simulator/ss: generate port numbers based on - uid, and set TAO_ROOT (based on ACE_ROOT) if it's not set. - This utility should be moved, maybe up two directories? - - * orbsvcs/orbsvcs/{Makefile,RtecScheduler.idl,Runtime_Scheduler.*, - Scheduler_Factor.*}, - orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp,Event_Channel.cpp, - ReactorTask.cpp, - orbsvcs/orbsvcs/Sched/Config_Scheduler.{h,cpp},DynSched.*, - SchedEntry.*,Scheduler.cpp,Strategy_Scheduler.{h,cpp}, - orbsvcs/tests/EC_Multiple/EC_Multiple.cpp, - orbsvcs/tests/Event_Latency/Event_Latency.cpp: - merged DynSched into liborbsvcs. - - * orbsvcs/tests/Sched/Makefile: added. - - * orbsvcs/tests/Sched/DynSched_Test.cpp: builds on Suns. And - runs! - -Mon Apr 6 14:43:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Connect.cpp: - The process would crash if it was unable to resolve an address - to a name, even though it was only used in a debugging - message. Thanks to Keith Nicewarner <knicewar@sanders.com> for - pointing out this. - -Mon Apr 06 09:59:22 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Thruput/tao/utils.cpp: hacked so that it will compile - on VxWorks and Chorus. It won't run properly, though. The - file should be updated to use ACE_Profile_Timer instead of - using rusage directly. - - * TAO_IDL/Makefile: moved include of rules.local.GNU to after - include of rules.bin.GNU. Without this change, tao_idl doesn't - get build on LynxOS. - - * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): ACE_OS::mktemp () - instead of mktemp (). - -Sun Apr 05 18:05:26 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/{ DOVEBrowser.java, - DemoCore.java, PushConsumerFactory.java }: - The Browser accepts now the parameter -ORBnameserviceior. - -Sun Apr 05 10:04:57 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Makefile: don't regenerate files using TAO's IDL compiler. - Instead, always use what's in our CVS repository, or in the TAO - distribution. - - * tao/Makefile: use fakesvcconf = 1 if shared_libs is not defined, - instead of if CROSS-COMPILE is not defined. - -Sat Apr 04 21:25:43 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.12, released Sat Apr 04 21:25:43 1998. - -Sat Apr 4 17:43:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/Operation_Table.cpp: Removed the call to hash_.close() since - the Hash_Map_Manager destructor handles this already. - -Sat Apr 4 15:50:29 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence.cpp, - TAO_IDL/be_include/be_visitor_sequence.h: Added a case to - support sequence of exceptions. - -Sat Apr 04 07:45:33 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB.h: don't use u_longlong_t on Suns if - ACE_LACKS_U_LONGLONG_T is defined. - - * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): - moved declaration of loop index "i" out of two for loops, and - declared as u_int instead of int to prevent signed/unsigned - comparison. - -Sat Apr 4 04:26:49 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface_fwd.cpp: We were not checking if - the node was imported. Due to this, code was getting generated for - forward declared interfaces from "#include"d IDL files. - - * TAO_IDL/be/be_visitor_sequence.cpp: We were not calling - "nested_type_name" while generating the return type of the - operator [] in the sequence var class. As a result, a fully scoped - name was getting generated instead of a relative scoped name which - the MSVC++ compiler does not like. - - * TAO_IDL/be/be_visitor_exception.cpp: For "typedefed" nodes, we - were using their base types to generate the code. This is fixed. - - In addition, some files from the above and others were modified to - correct some formatting problems in the generated code. - -Sat Apr 4 00:24:01 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/client.cpp: Fixed a typo where - "i" was being defined twice in the same block of code. - -Fri Apr 3 18:40:49 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Minor changes for - Chorus. Cleanup code. - -Fri Apr 3 18:39:21 1998 Steve Huston <shuston@riverace.com> - - * tests/POA/On_Demand_Activation/Makefile: Changed LSRC to SRC to - match today's changes to ACE's rules.bin.GNU. - -Fri Apr 3 17:43:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.h: - * tao/orbconf.h: - * tao/CDR.cpp: - Added configuration macros to enable swap on write, and to - disable swap on read. - Also increased the default size of a CDR buffer. - - * tests/CDR/Makefile: - * tests/CDR/growth.cpp: - Added another simple test of the CDR buffer, this one tries to - measure performance. - -Fri Apr 3 17:15:22 1998 Steve Huston <shuston@riverace.com> - - * TAO_IDL/Makefile: The sources that go into the compiler are - listed in SRC, not LSRC. This matches a change in ACE's - include/makeinclude/rules.bin.GNU. - -Fri Apr 3 17:07:18 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tao/TAO_Internal.cpp (FAKE_SVC_ENTRY): - * tao/orbconf.h: Made minor changes to have the fake service - configurator receive its values through macros, instead of - changing the ".cpp" file. Seems cleaner this way. - -Fri Apr 3 15:35:39 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/tests/AVStreams/client.h, client.cpp: All PropertySet - methods and the Iterator class methods tested. - -Fri Apr 3 08:59:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.cpp: - Null strings are transmitted as empty strings. - Fixed - - * tao/IIOP_ORB.cpp: - Ensure that CDR buffer created from the IOR string is properly - aligned. - - * tao/Server_Request.cpp: - More checking for exceptions while decoding parameters and we - print an error message if decoding fails. - - * tao/Typecode.cpp: - Only the first byte of the encapsulation stores the byte order, - the next three bytes are ignored because the <kind> is stored as - a long. - - * tao/decode.cpp: - Removed dead code, improve error message when decoding object - references and fix an off by one error in ObjRef::decode. - - * tao/encode.cpp: - When encoding Object References an encapsulated stream is - created in place, I debugged the computation of the length for - that stream and left some debug messages commented out. - The support for encoding null strings and wstrings as empty - strings is in the CDR classes, no need to duplicate the effort - here. - - * tao/Connect.cpp: - Cosmetic changes. - -Fri Apr 03 09:01:00 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): - changed local "ior_file" to "ior_f" because it shadowed - the global and caused compile failure with g++. - - * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): - check return values of activate calls. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (run_tests): - added default case to switch statement. - - * tao/Sequence*.{i,cpp}: use ACE_CAST_CONST instead of const - in reinterpret casts, to keep all compilers happy. - -Thu Apr 02 15:49:16 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/tests/Cubit/TAO/MT_Cubit/client.dsp: - * tao/tests/Cubit/TAO/MT_Cubit/server.dsp: Updated project file. - - * tao/ORB_Core.{h,i,cpp} (create_and_set_root_poa): Added this - private method to create and set the root poa of the calling - ORB_Core. - (root_poa): Make sure this function will always return a valid - poa pointer (thru the use of create_and_set_root_poa above.) - - * tao/ORB.cpp (resolve_poa): Moved the creation of poa into - ORB_Core. - -Wed Apr 1 23:39:04 1998 Sergio Flores <sergio@flamenco.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.h: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/server.h: Fixed some bugs and added - some comments. - -Wed Apr 01 22:37:59 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Default_Servant/client.cpp: Fixed options parsing. - - * tao/Servant_Base.h: Added TAO_Export to - TAO_DynamicImplementation. - -Wed Apr 1 17:33:04 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit: Cleaned up the formatting of the code - to conform to the TAO programming style. - -Wed Apr 1 11:07:53 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/VisCompFactory.java: - Implemented a Factory pattern to generate the Visualization - Components and the Java class loader is now used to instantiate - the JavaBeans Visualization Components. - - * orbsvcs/tests/Simulator/DOVEBrowser, DOVEMIB and Event Supplier - are running under NT properly. - -Wed Apr 01 09:44:31 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.cpp (init,fini): Removed calls to - ACE_OS::socket_init and ACE_OS::socket_fini because they are - taken care of by ACE already. - -Wed Apr 1 09:46:53 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - The following fix was also made by Carlos simultaneously. Here is - the reason what was going wrong. - - * tao/IIOP_Interpreter.cpp: In calc_nested_size_alignment_i, there - was a bug in which we were initializing the CDR stream for - nested parameters with an incorrect size. This was due to the - fact that we were computing the byte order outside and then - initializing the stream with 4 less bytes. However, the - constructor of the TAO_InputCDR was also computing the byteorder - using wrong locations in the bytestream. This is now fixed. - - * tests/Param_Test: Added barebones implementation to test - Anys. This is still not complete because we still have to work - on getting Anys in TAO to work correctly and get rid of the - memory management problems we are having. - -Wed Apr 1 09:41:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/IIOP_Interpreter.cpp (calc_nested_size_and_alignment_i): - Fixed nested strem interpretation. - -Wed Apr 1 08:56:24 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao: Renamed ResultFromScode to TAO_ResultFromScode to avoid - clashes with MFC functions. Thanks to David Janello - <djanello@cccis.com> for reporting this. - -Tue Mar 31 21:01:30 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init): Fixed a typo. - -Tue Mar 31 20:18:36 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Server): - Added code to remove the IOR_Multicase event handler in the destructor. - -Tue Mar 31 19:50:48 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/server.cpp (Cubit_Server): Removed the - naming service unbind code from the destructor as the naming - server is a component and not an external server. Also they will - be destructed when the ~Cubit_Server is called. - -Tue Mar 31 19:30:03 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/server.cpp (Cubit_Server): Added a - check in the destructor to unbind the cubit_factory from the - naming service. - -Tue Mar 31 15:15:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Sequence.h: - * tao/Sequence.i: - * tao/Sequence_T.h: - * tao/Sequence_T.i: - g++ does not like typedefs inside templates, and we were abusing - them in the sequences. - - * tests/CDR/tc.cpp: - Fixed formatting problems. - - * tests/Param_Test/tmplinst.cpp: - Added missing template instantiations. - -Tue Mar 31 11:10:34 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB.h (String_out): Added the infamous TAO_Export macro. - -Tue Mar 31 14:38:29 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/Sequence_T.i (replace): Make sure to cast this->buffer_ - to (T *) to make compilers like GCC happy! - -Tue Mar 31 13:34:36 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): dereference - cb_factory with .in (). - - * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): declare - iorFile outside the conditional statement. - - * tests/Cubit/TAO/MT_Cubit/cubit.idl: added comments and RCS Id - string. - - * tests/Cubit/TAO/MT_Cubit/{client,server}.cpp: fixed priority - assignments so that they work on all platforms. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: fixed fabs() to negate - the argument if less than 0. - -Tue Mar 31 11:05:23 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.h: - * tao/CDR.cpp: - * tao/decode.cpp: - * tao/Typecode.cpp: - Added constructor for encapsulated streams to the TAO_InputCDR - class; this was causing problems on Intel machines. - - * TAO_IDL/be/be_helper.cpp: - * TAO_IDL/be/be_codegen.cpp: - We end #if/#endif blocks using C style comments (/* */) as - opposed to C++ style (// ) - - * tao/Sequence.i: - * tao/Sequence.cpp: - * tao/Sequence_T.i: - * tao/Sequence_T.cpp: - Fixed a lot of const-correctness problems, thanks to J. Russell - Noteworthy <rnosewor@objectsciences.com> for putting me on this - track. - - * tests/Param_Test/tmplinst.cpp: - * tests/Param_Test/tests.cpp: - * tests/Param_Test/param_test_i.h: - * tests/Param_Test/param_test_i.cpp: - * tests/Param_Test/param_test.idl: - The test now includes all kind of sequences: of basic types, of - structs, of strings, of objects; both bounded and unbounded. - Unfortunately only compilation is verified, I still have to add - code to verify functionality. - - * TAO_IDL/be/be_visitor_sequence.cpp: - Unproper code was generated for bounded sequences of strings. - - * tao/IIOP_ORB.cpp: - Added some debug messages to verify that collocation works. - - * orbsvcs/tests/EC_Multiple/README: - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Now that the ORB supports collocation we can create a collocated - EC, but that requires a smarter startup. - It seems that the ECP is not receiving all the messages it - should. - The main purpose of the change was to verify that collocation - works and it seems to do so. - - * tao/Connect.cpp: - We set the flag to expect input *before* making the - request. This alleviates (but does not solve) the problems of - using several threads and a global ORB: in such a configuration - it is possible that one thread is running the event loop, but - another makes a request, if the reply is received before the - flag is set the ORB believes it has received an out-of-order - reply and shutdowns the connection. - The real solution is to use the leader-follower model. - - * tao/decode.cpp: - * orbsvcs/Event_Service/Event_Service.cpp: - Cosmetic changes. - -Mon Mar 30 21:38:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.cpp (fini): Added a call to ACE_OS::socket_fini (). - - * tao/IIOP_ORB.cpp (_get_collocated_object): Changed to call - TAO_ORB_Core_instance ()-> root_poa () instead of - this->resolve_poa (). Thanks to Carlos for tracing this down. - -Mon Mar 30 17:59:30 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.i: Only _NOT_ specialize - ACE_Hash_Addr<ACE_INET_Addr> when ACE needs to instantiate - template explicitly and it is not inlined. - -Mon Mar 30 13:13:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Typecode.cpp: - Fixed cast that dropped constness when only reinterpret_cast was - needed; thanks to David Levine (levine@cs.wustl.edu) for - detecting this. - - * tao/Server_Request.cpp: - bytes_remaining was called in a debug message (not seen in - Solaris); thanks to Nanbor Wang (nanbor@cs.wustl.edu) for - reporting this. - -Mon Mar 30 12:28:02 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB_Core.i: only specialize ACE_Hash_Addr<ACE_INET_Addr> - with ACE inlining enabled, to avoid link collision with the - instantiation in Connect.cpp. - - * tao/CDR.cpp (TAO_OuputCDR ctors): rearranged initializations - to match declaration order. - - * tao/t-sizes.cpp: #include "tao/corba.h" instead of "tao/orb.h". - -Mon Mar 30 10:28:05 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Implemented new classes to manipulate CDR streams, this classes - separate input (interpretation) and output (creation) of the - streams; in an attempt to make the interface more robust. - The new classes provide methods to write and read strings and - arrays, this is currently used in very few places, but it could - provide a big performance boost. - - The change affected the following files: - - * TAO/tao/Align.h: - * TAO/tao/CDR.cpp: - * TAO/tao/CDR.h: - * TAO/tao/CDR.i: - * TAO/tao/Connect.cpp: - * TAO/tao/Connect.h: - * TAO/tao/Exception.cpp: - * TAO/tao/GIOP.cpp: - * TAO/tao/GIOP.h: - * TAO/tao/GIOP.i: - * TAO/tao/IIOP_Interpreter.cpp: - * TAO/tao/IIOP_Interpreter.h: - * TAO/tao/IIOP_ORB.cpp: - * TAO/tao/ORB.h: - * TAO/tao/Server_Request.cpp: - * TAO/tao/Server_Request.h: - * TAO/tao/Server_Request.i: - * TAO/tao/Typecode.cpp: - * TAO/tao/Typecode.h: - * TAO/tao/decode.cpp: - * TAO/tao/deep_copy.cpp: - * TAO/tao/deep_free.cpp: - * TAO/tao/encode.cpp: - * TAO/tao/orbconf.h: - * TAO/tao/params.h: - In most cases it was only a matter of changing the class name - and the method invocations. - - * tests/Param_Test/options.cpp: - Use CORBA::string_copy instead of ACE::strdup because we delete - the buffer with CORBA::string_free. - - * tests/Cubit/TAO/IDL_Cubit/client.cpp: - I limited the size of the sequences, otherwise the test time - grows non-linearly with the number of loops. - - * tests/Param_Test/README: - The test can also check string sequences, but the option to do - so (-t strseq) was not documented. - - * tests/CDR/basic_types.cpp: - The test is run several times; this is useful when trying to - verify performance. - -Sun Mar 29 03:09:17 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/IIOP_ORB.{h,i,cpp}: Added an optimize_collocation_objects_ - flag to turn optimization for collocation objects on and off. - - * tao/ORB_Core.cpp: Added an initialization argument - -ORBcollocation to make ORB aware of collocation objects or - not. The default is on. - - * doc/Options.html: Added documentation for -ORBcollocation. - -Fri Mar 27 20:08:24 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (NS_NamingContext): - Changed to get lock from the ORB. - - * orbsvcs/orbsvcs/orbsvcs.dsp: Update the source file list. - - * tao/ORB.h: Added TAO_Export to class CORBA_ORB_var. - - * tao/params.cpp: Removed the extra inclusion of <params.i>. - -Fri Mar 27 14:10:34 1998 Steve Huston <shuston@riverace.com> - - * TAO_IDL/driver/drv_preproc.cpp: (also see my entry from 09:50) - Removed explicit char * operator call, and use the conversion - as it was before. However, I needed to change the ?: operator to - an if/else for AIX xlC to compile it correctly. - -Fri Mar 27 13:38:04 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/IOR_Multicast.{h,cpp}: - * orbsvcs/Makefile: - * orbsvcs/Naming/Naming_Utils.{h,cpp}: - I moved the Ior_Multicast.{h,cpp} files up a directory and changed - the class name to TAO_IOR_Multicast. It didn't logically belong - in the Naming directory, since other bootstrappable services - require it. - -Fri Mar 27 11:47:58 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/IIOP_ORB.*,IIOP_Object.{h,cpp},Request.{h,cpp},Server_Request.*, - Exception.*,params.*,Connect.*,default_{client,server}.*,corba.h: - #include the .i file in the .h/.cpp files instead of corba.h. - - * tests/Demux_Test/client.cpp: #include ace/stream.h instead of - system headers, and use ACE_OS::gethrtime () instead of - gethrtime (). - - * orbsvcs/orbsvcs/Event/Reactor_Task.cpp (ACE_ES_Reactor_Task): always - use ACE_OS::gettimeofday (). ACE_High_Res_Timer::gettimeofday () - now takes an argument, so it's not compatible with what - ACE_Timer_Queue needs. And it didn't seem necessary to have - separate code for VxWorks. And the hrtimer on WIN32 is flakely - on multiple-CPU machines. - - * tao/IIOP_ORB.cpp: added ACE_Unbounded_Set_Iterator template - instantiation. - -Fri Mar 27 09:50:52 1998 Steve Huston <shuston@riverace.com> - - * TAO_IDL/driver/drv_preproc.cpp: Use explicit char * operator on - cpp_path (AIX xlC requires this). Added CVS Id. - - * tao/Sequence_T.h: Fully qualify the template type when used as a - function return. - -Fri Mar 27 04:45:46 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB.h: Added two pure virtual functions - _register_collocation and _get_collocated_servant to CORBA_ORB - class so the derived classes have their own implementations. - (resolve_poa,resolve_poa_current): Changed these two functions - from private methods to protected methods. I need to access - them from IIOP_ORB. - - * tao/IIOP_ORB.{h,cpp} (_register_collocation): Added this new - method to record connection end points an IIOP ORB owns. - (_get_collocated_servant): Added this new method which uses a - passed in STUB_Object to determine whether a requested object is - collocated or not. If it's a collocated object, returns the - servant of that object and we can use that to create a - collocated object reference. - (object_to_string): Added code to register object end point with - IIOP ORB. - (iiop_string_to_object): Added code to check whether a requested - object is collocated or not and return a collocated object if it - fits to do so. - - * tao/ORB_Core.cpp (preconnect): Added code to register success - preconnections to IIOP's end point repository. - - * tao/decode.cpp (TAO_Marshal_ObjRef::decode): Added code to - optimize against collocation objects. - -Thu Mar 27 10:57:02 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEMIB: New version of the DOVE - MIB. - - * orbsvcs/tests/Simulator/README: Updated. - - * docs/releasenotes/index.html: Updated. - -Thu Mar 26 21:24:59 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB.*,corba.h (CORBA_ORB::shutdown): uninlined, so that - ORB.i can be #included properly. - - * tao/CDR.{h,cpp},GIOP.{h,cpp},corba.h: #include the .i file - in the .h/.cpp files instead of corba.h. - - * TAO_IDL/fe/y.tab.cpp: wrapped a couple of assignments in - conditionals with parens. - -Thu Mar 26 17:28:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.11, released Thu Mar 26 17:28:24 1998. - -Thu Mar 26 10:07:02 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEMIB: Checked in a first draft - of the DOVE Management Information Base (DOVE MIB). A README - will be available with further details. - -Thu Mar 26 08:31:02 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/fe/idl.yy: We were setting the name of a sequence (named - sequence) when the code for client header generation was - invoked. However, in cases where we import some definitions, we - never go into the code generation code for that type. As a result, - such imported typedefed (a.k.a named) sequences remained - nameless. So when the time came to emit their name, it resulted in - a segmentation fault. - - We fix this by setting the name of the sequence in the parsing - stage itself. - - Thanks to Torben Worm (tworm@cs.wustl.edu) for reporting the bug - to me. - - Changed files also include y.tab.cpp and y.tab.h - - * TAO_IDL/be/be_visitor_sequence.cpp: Minor correction to get the - formatting right. - - * TAO_IDL/be/be_decl.cpp: Simplified the logic of converting a - name into a padded long array. The original logic caused problems - on NT/PC because of its "little-endian" nature. This was causing - the repoIDs and names (represented as longs) undergo byte - swapping. - -Thu Mar 26 06:29:09 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Marshal.{h,cpp},ORB.*,Object.{h,cpp},corba.h: - #include the .i file in the .h/.cpp files instead of corba.h. - -Wed Mar 25 22:55:02 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Servant_Base.h: - * tao/Object.cpp: - Collocated objects (even if their dynamic type is simply - CORBA_Object) can use the servant to resolve the _is_a() - calls. - -Wed Mar 25 22:06:19 1998 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> - - * tao/TAO.cpp: Added accessors for child/root poa. - -Wed Mar 25 15:10:48 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/encode.cpp: In the encoding of exceptions, we were not - encoding its repository ID. This is now fixed. - -Wed Mar 25 11:11:47 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB.h: use ACE_UINT32 instead of u_char for CORBA_Boolean - with Green Hills on Chorus, to work around a compiler bug. - The bug is revealed with accessing the root_poa, by - TAO/tests/POA/RootPOA/RootPOA. - - * tao/ORB.{h,cpp}: changed type of open_called_ and - should_shutdown_ flags from CORBA::Boolean to u_int, because - they're ACE_Atomic_Ops. This allows CORBA::Boolean to be - a typedef of bool. Without this change, bool would be required - to support all of the arithmetic operations that ACE_Atomic_Op - needs, and that's not standard. - - * orbsvcs/tests/Logger/{clnt.cpp,logger_i.*,svr.cpp}, - orbsvcs/orbsvcs/Naming/{Ior_Multicast.cpp,Naming_Utils.cpp}, - tests/Thruput/TAO/server.cpp: - removed unnecessary #include of ace/streams.h. - - * tao/Makefile,tests/Cubit/TAO/IDL_Cubit/Makefile, - tests/NestedUpcall/Makefile: - removed CPPFLAGS, LDFLAGS, and DCFLAGS because they duplicated - what's already in taoconfig.mk or platform_macros.GNU. - -Wed Mar 25 09:08:44 1998 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * docs/releasenotes/index.html: Added comment to the concurrency - control service section. The implementation of the concurrency - control service is discontinued due to unclear specs. - -Wed Mar 25 02:36:06 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/NestedUpcall/server.cpp: Renamed tao_util.h to TAO.h. - -Tue Mar 24 19:13:35 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/Server_Request.cpp: There was a lot of messy code on the - outgoing path from skeleton to the wire. Specifically, we were - mixing system exceptions with user defined exceptions. This has - been fixed and is under testing. - - * TAO_IDL/be/{be_visitor_exception, be_exception}.cpp: The generated - typecode for Exceptions erroneously had a "tk_struct" TypeCode - kind. This has been fixed to be "tk_except". - - * TAO_IDL/be/be_visitor_operation.cpp: Handling of oneway operations - in the server skeletons was buggy. It is now fixed. - - * TAO_IDL/be/be_predefined_type.cpp: TypeCodes for pseudo objects - were not getting properly generated. This is now fixed. - -Tue Mar 24 14:51:33 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp (gen_server_skeletons): Changed - op_name() to operation (). - - * TAO_IDL/be/be_visitor_operation.cpp (visit_operation): Added a - return statement. - - * tao/IIOP_Object.cpp: Initialze - TAO_Synchronous_Cancellation_Required::old_type_. - -Tue Mar 24 14:07:08 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/Server_Request.{h, i, cpp}: Made the class compliant with - the latest CORBA v2.2. Added some extensions. There were some - subtle bugs related to user defined exceptions that were not being - reported back to the caller. Modified the constructor to take a - GIOP_RequestHeader as a parameter. - - * tao/IIOP_Interpreter.{h, cpp}: Removed the "struct_traverse" and - "union_traverse" methods as they were no longer used. - - * tao/Typecode.{h, cpp}: Removed the original interpreter - "traverse" as it is no longer used since its logic is included in - the different encode and decode methods. - - * tao/POA.cpp: changed the usage of "op_name" to "operation" since - that is the correct method name of the ServerRequest class - according to the CORBA v2.2 spec. - - * tao/POAS.cpp: Massive changes made to use the new style of - skeleton code that the IDL compiler generates - - * tao/{Servant_Base, Operation_Table}.{h, cpp}: The "_find" and - "_bind" operations now take a "const char *opname" rather than - "CORBA::String &opname". - - * tao/Connect.cpp: Server_Request creation now uses the modified - constructor. - - * TAO_IDL/be/{be_visitor_operation, be_interpretive}.cpp: Added - another visitor that generates the exceptionlist for the client - stub. - - * TAO_IDL/be/be_visitor_interface.cpp: Change in generated code to - use the "operation" method on class Server_Request rather than the - non-compliant "op_name". - - * TAO_IDL/be/be_visitor_sequence.cpp: Minor correction to get some - formatting in generated code correct. - - * TAO_IDL/be_include/be_codegen.h: Added a state for exception - list generation - - * TAO_IDL/be_include/be_visitor_operation.h: Added a new visitor - for exception list generation. - -Tue Mar 24 11:01:33 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/TAO.dsp: Added Stub.cpp into the project. - -Tue Mar 24 07:29:20 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Makefile,Any.{h,cpp},NVList.*,ORB.h,ORB_Core.{h,cpp}, - Stub.{h,i,cpp},Typecode.{h,cpp},corba.h: - #include the .i file in the .h/.cpp file instead of corba.h - - * tao/ORB.cpp (wscpy): removed, because we now use ACE_OS::wscpy () - instead. - -Mon Mar 23 19:44:11 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB: CORBA_ORB no longer inherits from IUnknown. - - * tao/IIOP_Object.cpp (set): A valid key must be provided, else - the function will fail. Also removed all cases where the key - was given a default value (of "0"). - - * tao/IIOP_ORB.cpp (QueryInterface): Removed this method. - -Mon Mar 23 13:20:12 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/WeaponsVisComp.java: - Found some uninitialized variables and fixed the problem. - This component should now be more stable. - -Mon Mar 23 10:42:12 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/DynSched.{cpp,h,i} - orbsvcs/orbsvcs/Sched/SchedEntry.{cpp,h,i} - orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp,h,i} - - Merged in the final round of timeline fixes from the - files in the old scheduler directory into the ones - in the new directory. - - * orbsvcs/tests/Sched/DynSched_Test.cpp - - Added directory orbsvcs/tests/Sched and checked in a - copy of DynSched_Test.cpp, the file used to test the - offline behavior of the dynamic scheduler locally. - This file will serve as the basis of a real TAO test - for the on and off line behaviors of the dynamic - scheduler when it is fully integrated into TAO. - -Mon Mar 23 09:18:12 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/Dump_Schedule/Makefile,orbsvcs/Event_Service/Makefile, - orbsvcs/Scheduling_Service/Makefile, - orbsvcs/tests/Event_Latency/Makefile, - orbsvcs/tests/EC_Multiple: - replaced orbsvcs/orbsvcs/orbsvcs with orbsvcs/orbsvcs in some - dependencies. - - * tao/ORB.{h,cpp},tao/POA.cpp,tao/encode.cpp, - TAO_IDL/ast/ast_generator.cpp,TAO_IDL/be/be_generator.cpp: - migrated to ACE_OS::WChar. That has a size of 32 bits. - Thanks to Irfan for this recommendation. - - * tao/ORB.cpp (wstring_copy): changed null check at beginning - from "if (*str)" to "if (!str)". - - * tao/Sequence_T.cpp (allocbuf): added missing ; at end of - ACE_NEW_RETURN statement. - - * TAO_IDL/fe/Makefile,lex.yy.cpp,lex.yy.cpp.diff: replaced - #includes of standard headers with #include of OS.h so that - ace/config.h is #included first. The allows config.h to - #defined _REENTRANT before stdio.h is #included, for example. - - * tao/Makefile: marked Object_KeyC.* and POA[SC].* files as - .PRECIOUS so that gmake avoids deleting them. Thanks to - Chris Cleeland for this suggestion. - -Mon Mar 23 03:20:47 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.10, released Mon Mar 23 03:20:47 1998. - -Mon Mar 23 01:19:19 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.cpp (init): It is ok not to have a svc.conf file, - therefore check should be: - - if (result != 0 && errno != ENOENT) - -Mon Mar 23 01:17:18 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/corba.h: Moved Request.i up a notch in the corba.h file so - that it will be defined correctly! This obviates the need for - Nanbor's fix below! - -Sun Mar 22 23:19:42 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Request.cpp: Include Request.i conditionally. - - * tao/Object.h: Added macro TAO_Export to class CORBA_Object_var - and class CORBA_Object_ptr. - -Sun Mar 22 21:54:57 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * TAO_IDL/be/be_interface: Made full_coll_name() a NON-const - method to work around a bug with GCC... - - * TAO/tao: Moved a bunch of inline methods from *.i files into - *.cpp files to avoid warnings from G++. I don't know why it - complains but not inlining this code shouldn't matter unless we - find that these functions get called a lot via profiling... - Thanks to David Levine for pointing this out. - -Sun Mar 22 14:04:31 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/tao.{dsp,dsw}: Updated Project files. - - * tao/Exception.{i,cpp}: Conditionally include its inline file. - Added codes for copy ctor and assignment operator for - CORBA_UserException and CORBA_SystemException. - -Sun Mar 22 13:05:15 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao: Added comments, made some modifications, and refined some - class definitions. Changes were made to a large number of files. - -Sun Mar 22 08:00:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * Naming_Service.h: Renamed tao_util.h to TAO.h. - - * tao: Removed the CORBA_Cls.* files (since they conflict with the - overall naming scheme) and merged them into the ORB.h class. - -Sun Mar 22 03:52:39 1998 Sergio Flores <sergio@lambada.cs.wustl.edu> - - * tao/TAO_Internal.cpp (open_services): "this" may only be used - inside a nonstatic member function. - -Sun Mar 22 02:58:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Makefile: - * tao/corba.h: - * tao/CORBA_Cls.{h,i,cpp}: Rename CORBA.{h,i,cpp} to - CORBA_Cls.{h,i,cpp} because NT doesn't like the coexistance of - corba.h and CORBA.h. - -Sun Mar 22 02:39:54 1998 Sergio Flores <sergio@lambada.cs.wustl.edu> - - * tao/CORBA.cpp (ORB_init): made change to check for the return - value when initializing the ORB Core instance. Also, changed the - TAO_Marshal::initialize() to be called before the initialization - of standard exceptions, where we need the marshal factory for CDR - streams. - * tao/ORB_Core.cpp (TAO_ORB_Core::init): made change to check for - the return value when initializing service configurator. - * tao/ORB_Core.cpp (TAO_Resource_Factory::parse_args): changes to - correctly parse the options for "-ORBresources" and "-ORBpoa" - -Sun Mar 22 01:52:01 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/CORBA.cpp: Moved TAO_Exceptions::init_standard_exceptions() - to the beginning of ORB_init() so that we can use exceptions - later within that function. Thanks to Sergio for reporting - this. - -Sat Mar 21 11:00:40 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao: Renamed a bunch of files so that the names and - capitalization matches precisely. - - * tao/Request.i: Created this file and moved a bunch of inline - methods into here. - - * tao: Renamed the corbacom.* files (since we don't support COM - anyhow) into CORBA.h and the new CORBA.i and CORBA.cpp files. - - * tao/corbacom.h: Moved the CORBA_SEQUENCE stuff back into the - header file since it wasn't linking correctly... - - * tao/TAO_IDL: Changed all uses of do_call() to do_static_call(). - - * tao: Made lots of minor enhancements to formatting and style. - - * tao: Removed the invoke.cpp file and moved its functionality - back into iiopobj.cpp, where it belongs. - - * tao/sequence_T.i (replace): Added a cast to (T *) so compilers - wouldn't complain! Thanks to Sergio for pointing this out. - - * tao: Renamed IIOP_Object::do_call() to - IIOP_Object::do_static_call() to be symmetrical with - do_dynamic_call()... - - * tao/typecode.cpp: Due to the new reorganization of the code in - interp.cpp we're now able to put all the CORBA_TypeCode methods - back into typecode.cpp, where they belong... - - * tao: Added a new interp.h file and moved the TypeCode table - intialization function into that file. - - * tao/orbobj.cpp: Removed the friggin' global functions - - extern void __TC_init_table (void); - extern void __TC_init_standard_exceptions (CORBA::Environment &env); - - and put them inside of classes, where they belong... - - * tao/corbacom.cpp: Moved CORBA::ORB_init() from orbobj.cpp - (what was it doing there) to corbacom.cpp, which is where it - belongs! - - * tao/giop.cpp: Moved the TAO_GIOP_MsgType enum into the TAO_GIOP - class namespace and renamed all the enums accordingly. - - * tao/except.cpp: Added except.i file to split off inlines into - their own file. - - * tao/sequence_T.i (replace): Fixed some typos in the template - code. Thanks to Ben Eng <ben@jetpen.com> for reporting these. - -Sat Mar 21 20:34:39 1998 Sergio Flores <sergio@lambada.cs.wustl.edu> - - * tao/connect.cpp (open): fixed a bug due to wrong parens - location. - - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: added option to - disable use of the name service. hacked the code for platforms - that don't support floating point math. Added Quantify start/stop - primitives around CORBA calls. - -Sat Mar 21 17:55:40 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/test/Simulator/NavWeap.idl: removed typo - - * orbsvcs/test/Simulator/DOVEBrowser: New Demo using Java Beans - as visualization components added. This will replace the old - demo under orbsvcs/test/Simulator/Sim_Display. See the readme - file under orbsvcs/test/Simulator for further details. - -Fri Mar 20 23:25:28 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/tests/Trading_Service/Makefile: - * orbsvcs/tests/Trading_Service/export_tests.cpp: - * orbsvcs/tests/Trading_Service/import_tests.cpp: - * orbsvcs/tests/Trading_Service/Offer_Exporter.{h,cpp}: - * orbsvcs/tests/Trading_Service/Offer_Importer.{h,cpp}: - * orbsvcs/tests/Trading_Service/Service_Type_Exporter.{h,cpp}: - * orbsvcs/tests/Trading_Service/TT_Info.{h,cpp}: - * orbsvcs/tests/Trading_Service/TTest.idl: - I've added the rough draft of tests that pound the Trading Service - with a variety of method invocations. - - * orbsvcs/Trading_Service/trader.cpp: - * orbsvcs/Trading_Service/Makefile: - The trader now responds to resolve_intial_references multicast - requests with the IOR of its Lookup interface, as per the - specification. - -Fri Mar 20 21:48:47 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.9, released Fri Mar 20 21:48:47 1998. - -Fri Mar 20 19:46:43 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/sequence_T: Added the full complement of get_buffer(), - replace(), and release() calls to TAO's sequences. - - * docs/releasenotes/index.html (href): Reformatted the DOVE - demo section of the release notes a bit. - -Thu Mar 20 17:05:42 1998 Michael Kircher <mk1@cs.wustl.edu> - - *TAO_ROOT/docs/releasenotes/index.html: - Documentation about the DOVE demo - -Fri Mar 20 16:21:28 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Generic_Servant/MyFooServant.h: No need to include - generic_servant_export.h. - - * tests/POA/Generic_Servant/Makefile: Added flags to the idl - compiler so that the server library can be made as a dynamic - library. - -Thu Mar 20 16:12:42 1998 Michael Kircher <mk1@cs.wustl.edu> - - *TAO_ROOT/orbsvcs/tests/Simulator/Event_Supplier: - New Project and Workspace files for NT - -Fri Mar 20 11:53:15 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/NestedUpcall/client.cpp: Use EventHandler_vare.in() to - pass in a pointer. Added explicit template instantiation - codes. - -Fri Mar 20 09:46:50 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Memory_Pools.h: - * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: - Locks are needed for the memory pool singletons; thanks to - Thomas Venturella <tventurell@mdc.com> for detecting this. - -Fri Mar 20 09:26:28 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/POA/Generic_Servant/MyFooServant.h: added - #include "generic_servant_export.h". - - * tao/corbacom.{h,cpp},tao/encode.cpp,tao/poa.cpp, - TAO_IDL/ast/ast_generator.cpp,TAO_IDL/be/be_generator.cpp: - changed CORBA::WChar from platform-dependent type to ACE_UINT16. - This may require casts in application code, if they use - a native wchar_t, from wchar_t to CORBA::WChar. - -Fri Mar 20 02:47:22 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/default_server.cpp - (create_servant_lock,create_poa_lock,create_poa_mgr_lock): - Don't return 0 but an ACE_Null_Mutex as default. - -Fri Mar 20 00:36:16 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/poa.cpp (dispatch_servant_i): The POA Current was not being - setup correctly. It was used before it was created. Fix was to - change the order of things in dispatch_servant_i() and restored - pre_invoke() to its original state. - - * tests/POA/Generic_Servant/client.cpp (main): Make sure the - client does not crash if the user does not provide an IOR. - - * tests/POA/Generic_Servant/MyFooServant.h (MyFooServant): Added - export macro so that the class gets properly included in the - DLL. - - * TAO_IDL/GenExportH.BAT: Changed %1% to %1. - - * tests/POA/Generic_Servant/generic_servant_export.h: The server - lib will now be created as a DLL instead of as a static library. - New file was added to get the exports right. - -Thu Mar 19 18:42:20 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_attribute.cpp (visit_attribute): Undefined - variable bt to removed a compilation warning. - - * tao/server_factory.cpp (create_servant_lock): - * tao/default_server.{h,cpp} (create_servant_lock): Added new - method which creates a servant lock according to various - strategies used. - -Thu Mar 19 18:45:13 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/tests/AVStreams/client.h: - * orbsvcs/tests/AVStreams/client.cpp: - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: - * orbsvcs/orbsvcs/AVStreams.idl (interface MMDevice): - PropertyService's PropertySet methods have been tested in the - AVStreams' test application. Tested using the MMDevice interface - of the AVStreams. - -Thu Mar 19 18:20:42 1998 Michael Kircher <mk1@cs.wustl.edu> - - *TAO_ROOT/orbsvcs/tests/Simulator/README: New notes about this release - - *TAO_ROOT/orbsvcs/tests/Simulator/NavWeap.idl: New, simpler Weapons struct - because of a Visibroker for Java 3.2 bug. - - *TAO_ROOT/orbsvcs/tests/Simulator/Event_Supplier: Using the new - Weapons struct. - - *TAO_ROOT/orbsvcs/tests/Simulator/Sim_Display/NS_Resolve.java: Complying - with the new Name Service lookup protocol (4 bytes instead of 2) - - *TAO_ROOT/orbsvcs/tests/Simulator/Sim_Display/Display_Weapons.java: - Using the new Weapons struct. - - *TAO_ROOT/orbsvcs/tests/Simulator/Sim_Display/Display_Push_Consumer.java: - Complying with the naming conventions for the skeleton code of VB 3.2. - -Thu Mar 19 10:51:22 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * docs/releasenotes/index.html: Updated entry for the property service. - -Thu Mar 19 09:55:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/CDR/README: - * tests/CDR/basic_types.cpp: - * tests/CDR/tc.cpp: - Added basic documentation on the purpose of the tests. - -Thu Mar 19 09:26:25 1998 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * docs/releasenotes/index.html: Added an entry for the Concurrency - Control Service - -Thu Mar 19 08:41:27 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (new_context): replaced - ???! with ???? in comment to avoid g++ "warning: 1 trigraph(s) - encountered". - - * orbsvcs/orbsvcs/Sched/Scheduler.cpp: removed two ACE_Lock_Adapter - template instantiations because they're in tao/poa.cpp. - - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: wrapped a few return - statements that follow ACE_THROW's with ACE_NOTREACHED. - - * orbsvcs/orbsvcs/Config_Scheduler.cpp: wrapped a couple of break - statements that follow returns with ACE_NOTREACHED. - -Thu Mar 19 05:26:10 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/typecode.cpp: In private_member_name, the return value of - "skip_typecode ()" was incorrectly compared with TRAVERSE_CONTINUE - rather than with a boolean value. This is now fixed. - -Wed Mar 18 21:43:46 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/typecode.cpp: private_equal method had a big error. I had - forgotten break statements after every case in the switch - statement. So no matter what, the last result which returned - "TRUE" used to be returned. This is now fixed. - -Wed Mar 18 21:32:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.8, released Wed Mar 18 21:32:24 1998. - -Wed Mar 18 21:26:29 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Ior_Multicast.cpp (IOR_Multicast): - reordered initializers to match declaration order. - -Wed Mar 18 20:36:46 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/CDR/basic_types.cpp: Rearranged this test file a bit to - make it more structured. - -Wed Mar 18 18:52:12 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/object.{h, cpp}: Changed the name of the method "key ()" to - "_key ()" since this was clashing with names used by users in - their IDl files. As such "key" is not a standard method defined by - OMG on the class Object. Hence we must use a _ before it. - - * tao/{poa, servant_base}.cpp: Used _key instead of key as - explained above. - -Wed Mar 18 18:41:34 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/tests/CosPropertyService/main.cpp (main): Added testcode - for NamesIterator. - -Wed Mar 18 18:33:08 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/any.cpp: There was a bug in the assignment operator whereby - a Release was causing the Any object itself getting deleted. - - * tao/poa.cpp: Changed occurrences of "buffer ()" used on the - object key (which is a sequence) to use "get_buffer" according to - the latest C++ mapping. - -Wed Mar 18 18:32:04 1998 Sergio Flores <sergio@mambo.cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: - * orbsvcs/orbsvcs/Naming/CosNaming_i.h: Fixed some allocation - errors and added synchronization mechanism for static internal - data structures. Also fixed an undefined symbol due to templates - not being instantiated. - -Wed Mar 18 17:22:40 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/sequence_T.h: Renamed buffer() to get_buffer() to confrom to - orbos/98-01-11. - - * tao/sequence[_T].*: Added the get_buffer(), release(), and - replace() methods defined by the proposed orbos/98-01-11 - specification. - -Wed Mar 18 16:54:33 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (next_n): Changed ACE_NEW - to ACE_NEW_RETURN. - -Wed Mar 18 16:39:40 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tao/orbobj.{h,cpp}: * tao/params.{h,cpp}: * tao/orbcore.cpp: - Expanded the resolve initial references protocol to include - bootstrappable services other than the Naming Service. Now, the - multicast message includes a field identifying the target - service. The values for this field are defined in orbobj.h -- - currently there are only TAO_SERVICEID_NAMESERVICE, and - TAO_SERVICEID_TRADINGSERVICE. For completeness I've added for - the -ORBtradingserviceior and -ORBtradingserviceport command - line parameters. - - * orbsvcs/Naming/Naming_Utils.cpp: - * orbsvcs/Naming/Ior_Multicast.cpp: - Now, on the receiving end, the bootstrappable service compares - the service_id it receives in the multicast message with its own - before responding to it. - -Wed Mar 18 16:04:38 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/CosPropertyService.idl (CosPropertyService): - Uncommented sequence of typecodes. It passed the tao_idl - compiler. - -Wed Mar 18 07:18:08 1998 David L. Levine <levine@cs.wustl.edu> - - * release.pl: uncommented unlink of .del files. - - * tao/encode.cpp (TAO_Marshal_String::encode): #if 0'd unused - local "continue_encoding". - - * tao/sequence{,_T}.cpp: removed some more "meaningless" const - modifiers from casts. - - * tao/typecode.cpp (private_equal): wrapped a break with - ACE_NOTREACHED. - - * tao/corbacom.h: changed CORBA_Boolean to u_char. Thanks - to Seth and Carlos for pointing out that this will conform - to the standard. - - * tao/cdr.i: removed operator <</>> for CORBA::Boolean _with_ - ACE_HAS_BOOL. No ACE platform currently #defines ACE_HAS_BOOL, - and this will prevent divergence of TAO code if any do in the - future. - -Wed Mar 18 02:08:55 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Param_Test/client.cpp (~Param_Test_Client): Removed - releasing of the Param_Test pointer. It is owned by the Driver - class. - -Tue Mar 17 23:28:59 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/poa.h (POA): Changed the LOCATION_RESULT enum from protected - to private. - -Tue Mar 17 13:20:05 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit (print_stats): with - ACE_LACKS_FLOATING_POINT, multiply calls/usec by 10^6 to get - calls/sec. And, use call_count_ instead of hard-coded 1000. - - * tao/orbconf.h,interp.cpp: renamed TAO_ALIGNMENT_MAGIC_NUMBER to - TAO_MAXIMUM_NATIVE_TYPE_SIZE. - - * tao/sequence.i,sequence_T.{i,cpp}: removed "const" from some - ACE_reinterpret_casts, because ghs warned that it's "meaningless". - - * tao/cdr.*,decode.cpp (get_encapsulation): changed type of second - arg from size_t to CORBA::ULong for platform independence. - -Tue Mar 17 11:26:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence.cpp: - Fixed return value for operator[] in sequences of basic types, - the _out and _var classes generated non-nested types. Thanks to - Frank. J. Hodum <fhdum@std.saic.com> for reporting this problem. - -Tue Mar 17 10:25:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_attribute.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_interface_fwd.cpp: - * TAO_IDL/be/be_operation.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_state_argument.cpp: - * TAO_IDL/be/be_state_attribute.cpp: - * TAO_IDL/be/be_state_union.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_union.cpp: - * TAO_IDL/be/be_visitor_exception.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be/be_visitor_sequence.cpp: - * TAO_IDL/be/be_visitor_union_branch.cpp: - Some export macros were missing; also fixed minor formatting - problems. - -Mon Mar 16 18:26:51 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Default_Servant/File_i.cpp (open): Fixed string being - passed to create_reference_with_id(). The test now works. - - * tao/poa.cpp (find_servant): Added new method to the POA. It - finds and returns the servant related to the key passed by the - user. - -Mon Mar 16 15:27:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp: - The _narrow() method is more careful about collocation: the - servant could return 0 on the call to _downcast (for instance if - the servant is using DSI or is implementing the default servant - posicies), in such a case a remote object is created. - Generate the _interface_repository_id() method in all classes. - - * TAO_IDL/be/be_visitor_module.cpp: - In some cases the export macros were not generated. - - * tao/object.h: - * tao/object.cpp: - Added a new method to get the interface repository id (only - locally). - - * tao/servant_base.cpp: - Removed some dead code. - -Mon Mar 16 14:28:34 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/orbconf.h: cleaned up #define of TAO_ALIGNMENT_MAGIC_NUMBER, - to allow it to be overridden. - -Mon Mar 16 10:47:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/cdr.h: - * tao/cdr.i: - * tao/cdr.cpp: - The CDR stream class exposed its implementation completely, this - change is the first attempt to close that interface and make it - safer. The internal representation was changed to a - Message_Block, so CDR could eventually create chains of - Message_Blocks (minimizing buffer copies and using writev() for - output). - The next step is to split the class in an input and output - interface, following the Java IDL model. - - * TAO_IDL/Makefile: - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_enum.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_typedef.cpp: - * TAO_IDL/be/be_union.cpp: - * TAO_IDL/be/be_visitor_enum.cpp: - * TAO_IDL/be/be_visitor_exception.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be/be_visitor_sequence.cpp: - * TAO_IDL/be/be_visitor_structure.cpp: - * TAO_IDL/be/be_visitor_typedef.cpp: - * TAO_IDL/be/be_visitor_union.cpp: - * tao/any.cpp: - * tao/connect.cpp: - * tao/decode.cpp: - * tao/except.cpp: - * tao/giop.h: - * tao/giop.cpp: - * tao/iioporb.cpp: - * tao/interp.cpp: - * tao/objkeyC.cpp: - * tao/poaC.cpp: - * tao/tc_const.cpp: - * tao/typecode.h: - * tao/typecode.cpp: - This files were modified to use (or generate, in the case of the - IDL compiler) the new CDR stream class interface. - - * TAO_IDL/be_include/be_type.h: - * TAO_IDL/be/be_type.cpp: - It used a static buffer to evaluate be_type::nested_type_name(), - it was changed for a per-class buffer, but the real solution is - to allocate a buffer on the fly and return it to the user, maybe - using UTL_String will solve the problem. - - * tests/Makefile: - * tests/CDR/Makefile: - * tests/CDR/basic_types.cpp: - * tests/CDR/tc.cpp: - Added some simple tests to verify that CDR streams work - correctly. - - * taoconfig.mk: - The clean target is defined in ACE config files. - - * docs/orbsvcs.html: - Included documentation on the collocation services. - - * docs/releasenotes/ec.html: - Moved some of the changes from "new in this release" to "changes - in previous releases". - -Sun Mar 15 22:36:08 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Admin.* - * orbsvcs/orbsvcs/Trader/Lookup.* - * orbsvcs/orbsvcs/Trader/Policies.* - * orbsvcs/orbsvcs/Trader/Policy_Manager.* - * orbsvcs/orbsvcs/Trader/Offer_Iterator_Collection.* - Added the logic to perform federated queries. At this point I'm - halting further coding of the Trading Service to concentrate on - testing and debugging. The only portion of the specfication left - unimplemented is the Proxy interface, which isn't of immediate - practical use anyway. - -Sun Mar 15 07:56:02 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_field.cpp - (be_visitor_field_cs::visit_sequence): made int return type - explicit. - -Sun Mar 15 06:18:58 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/{be_codegen, be_visitor_args}.h: Added a new - state called "POST_MARSHAL_SS" i.e., to do post processing after - the marshaling of return, inout, and out parameters is done in a - server skeleton. Added new visitor class to the argument visitors. - - * TAO_IDL/be/{be_visitor_args, be_visitor_operation, - be_interpretive}.cpp: Code for post processing after marshaling in - the server skeletons. This was required to support object - references. - -Sat Mar 14 19:28:50 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_field.cpp: Added a case for handling - anonymous sequences in the client stub visitor. The header file - was also changed. - -Sat Mar 14 19:29:00 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/client.cpp (print_stats): added - support for ACE_LACKS_FLOATING_POINT. - -Sat Mar 14 16:40:05 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation.cpp: We were not generating the - "_get_" and "_set_" prefixes for operations corresponding to - attributes. This is now fixed. - - * TAO_IDL/be/be_visitor_enum.cpp: Typecode implementation of enum - class was not getting generated due to an incorrect "if" - condition. Thanks to Seth Widoff for noticing this. - - * TAO_IDL/be/be_visitor_union_branch.cpp: We had forgotten to - generate the "set" and "get" operation implementation for union - members that are sequences. Thanks to Seth Widoff for noticing - this. - -Sat Mar 14 02:48:55 1998 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile (IDL_FILES): Added the SFP IDL files - and the AV/sfp.cpp to the rules. - -Sat Mar 14 02:17:34 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/*.*: - I've hammered out a number of errors from the initial port: - the Trading Service compiles on Solaris. - - * orbsvcs/orbsvcs/Makefile: - I've added all the necessary additions to the Makefile for the - Trading Service. The makefile will perform the compilation when - the 'trader' flag is set to 1 on the command line. - - * orbsvcs/Trading_Service/Makefile: - * orbsvcs/Trading_Service/trader.cpp: - trader.cpp instantiates a Trader object and registers its Lookup - interface with the bootstrapped Naming Service. All the Trader - interfaces are implicitly activated in the Trader class. In the - future we'll want to have the Trading Service bootstrappable - through the resolve_initial_references method. - -Sat Mar 14 00:36:30 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp (define_property): - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.h (PropertyNamesIterator): - - * orbsvcs/orbsvcs/Property/CosProperty_Hash.cpp (CosProperty_Hash_Value): - - * orbsvcs/orbsvcs/Property/CosProperty_Hash.h: - The tao_idl compiler has been made to generate Any at some places - where it was generating Any_var. Hence, I had to modify this - implementaion to accomadate this change. - -Fri Mar 13 10:34:15 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation.cpp: For return types that are - object references, we were using the actual return type and - passing its address to the marshaling routine. However, the - marshaling routine needs the address of the base class i.e., - CORBA::Object. Due to "public virtual" inheritance all kinds of - crazy things happen. So now we had to resort to declaring the - return value of type "CORBA::Object_ptr" and things worked fine. - -Fri Mar 13 09:57:51 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/corbacom.h: use types of known sizes, such as ACE_UINT32 - and ACE_INT16, instead of native types for Boolean, Short, - UShort, Float, and Double. - -Thu Mar 12 21:23:10 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/debug.cpp (_dmsg_x): Changed ex->id () to ex->_id (). - -Thu Mar 12 20:40:09 1998 Sergio Flores <sergio@lambada.cs.wustl.edu> - - * tests/Thruput/TAO/client.cpp: - * tests/Thruput/TAO/run_client: - * tests/Thruput/TAO/run_server: - * tests/Thruput/TAO/run_test: Minor fixes in the scripts and usage - message. - -Thu Mar 12 18:02:06 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tao/request.cpp: - * tao/typecode.cpp: - The is_nil methods of typecode and CORBA had this: - (CORBA::Boolean) ptr == 0 to test for the nil condition, when we - really want this: (CORBA::Boolean) (ptr == 0). This way we cast - the result of the expression, and not the pointer, to - CORBA::Boolean. - -Thu Mar 12 17:49:45 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_visitor_typedef.cpp: For typedefs of pseudo object - types, we had forgottten to generate a typedef to the _ptr type. - -Thu Mar 12 17:21:32 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/sequence_T.cpp: Fixed a couple of weird bugs were freebuf - (MAX) was being called instead of freebuf (tmp). Thanks to - Keith Nicewarner <knicewar@sanders.com> for reporting this. - -Thu Mar 12 15:53:44 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/except.h: Changed the member functions "type ()" and "id ()" - on the CORBA::Exception class to "_type ()" and "_id ()". This - affected the following files: - tao/{except, object, poaC, svrrqst}.cpp - - * TAO_IDL/be/be_visitor_exception.cpp: Made changes to use the - _type and _id methods. Thanks to Seth Widoff for noticing this in - his Trader application where a user defined exception had a member - called "type" which clashed with the base class operation "type". - -Thu Mar 12 15:00:47 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_exception.cpp: In those cases where object - references or strings were assigned, the g++ compiler failed to do - implicit conversion to assign a _var to a _ptr type. This is now - fixed by using the _var.in () method. - - * TAO_IDL/be/be_visitor_typedef.cpp: Fixed a bug that was - generating typecode information for data types that were imported - resulting in a multiply defined symbol error at link time. - -Thu Mar 12 09:01:43 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/Makefile: added -Wno-unused to g++ CCFLAGS to - suppress warnings about unused parameters and variables. - - * TAO_IDL/be/be_visitor_interface.cpp - (be_visitor_interface_sh::visit_interface, - be_visitor_interface_collocated_ss::visit_interface): - changed type of loop index "i" to signed, to avoid - signed/unsigned comparison. - - * TAO_IDL/be/be_visitor_sequence.cpp - (be_visitor_sequence_ci::visit_sequence): made int return - type explicit. - - * tests/Cubit/TAO/IDL_Cubit/server.cpp (~Cubit_Server): changed - root_poa_ to poa_. - -Thu Mar 12 01:03:17 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/NewPOA/NewPOA.cpp (main): Updated the following files - to correctly use CORBA::Policies that are used to create new - POAs. Things that needed fixing included proper exception - handling and making sure to destroy the policies once we were - through using them. - - - TAO/tao/tao_util.cpp - - TAO/tests/Cubit/TAO/MT_Cubit/server.cpp - - TAO/tests/POA/Default_Servant/server.cpp - - TAO/tests/POA/Explicit_Activation/server.cpp - - TAO/tests/POA/NewPOA/NewPOA.cpp - - TAO/tests/POA/On_Demand_Activation/server.cpp - -Wed Mar 11 21:02:13 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/svrrqst.cpp (marshal): instead of declaring a new loop - index "i", use the one at outer scope because it was shadowed. - -Wed Mar 11 18:10:47 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/TAO_IDL/tao_idl.dsp: Added new visitor files into the project. - -Wed Mar 11 17:23:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/tao_util: Changed the name of root_poa_ to poa_ since it - doesn't have to be a root POA. - -Wed Mar 11 14:37:08 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/Makefile: Included be_visitor_exception.cpp and ran make - depend - - * TAO_IDL/be/be_interpretive.cpp: The factory is now able to - produce concrete visitors for exceptions. - - * TAO_IDL/be/be_visitor_args.cpp - TAO_IDL/be_include/be_visitor_args.h: Added a method - "void_return_type" that determines if the operation return type - was "void" or not. This was necessary since we were incorrectly - generating ACE_NEW_RETURN statements in stubs for cases that had - void return types - - * TAO_IDL/be/be_visitor_context.cpp - TAO_IDL/be_include/be_visitor_context.h: Added a boolean data - member that indicates whether we are generating the special - constructor in the exceptions. - - * TAO_IDL/be/be_visitor_exception.cpp - TAO_IDL/be/be_visitor_exception.h: Added various visitors for - exception handling. - - * TAO_IDL/be/be_visitor_{struct, union, module, interface, - sequence}.cpp: Made sure that code is not generated for imported - types. - - * TAO_IDL/be/be_visitor_typedef.cpp: Eliminated the multiple - declaration of typedefed variables and their typecodes. - - * TAO_IDL/be/be_visitor_interface.cpp: The "_is_a_skel" now uses - the same table driven approach as the other skeletons do. - -Wed Mar 11 12:54:59 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Explicit_Activation/server.cpp (main): The server was - changed to test how the POA handles a user given ID which does - not contain printable characters. - - * tao/poa (Policies and Currents): Since Policies and Currents do - not have locality constraints, they now inherit from regular - servants rather than local servants. This change causes them to - register with POAs when their _this() method is invoked. - Therefore, the destroy() methods on the Policies was changed to - make sure that the Policies are deactivated from the POA they - were registered with. - - * tao/sequence_T.cpp (operator=): The semantics of the elements of - a sequence are the same as that of a var variable. Therefore we - will not duplicate the user provided pointer before assigning it - to the internal variable. However, we will release it. - -Tue Mar 10 16:09:56 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/cdr.{h,cpp}: Added a get_string and put_string method for - retrieving and encoding a string. This uses "memcpy" rather than - having to go through a get_char/put_char for every byte of the - string. - - * tao/connect.cpp: In "handle_request", the marshaling of inout, - out, and return value parameters was done inside this method after - the operation skeleton had returned. This required unnecessary - heap allocation of these parameters. Allocating these parameters - on the skeleton call stack was not possible since the marshaling - took place after the skeleton had returned. To eliminate these - unnecessary waste, 2 new methods on the ServerRequest class are - added that perform the demarshaling and marshaling while the - skeleton call stack is active. More explanation on these is given - below. - - * tao/{encode, decode}.cpp: Used the get_string and put_string - methods on the CDR class. - - * tao/giop.*: Added a method called "stream" that returns a - reference to the underlying CDR stream. This is helpful when you - need access to the stream so that data types can be marshaled into - the stream using a compiled form of marshaling. This form of - marshaling will soon be added to TAO IDL compiler. - - * tao/object.{h, cpp}: Added a method called "stubobj" which - returns a pointer to the underlying Stub_Object. This method - eliminates the need to call QueryInterface inside every stub. This - way some code size is reduced. - - Also, removed the "get_most_derived" method as well as the "void - *sub_" data member which was useless. - - * tao/svrrqst.{h, i, cpp}: Added a new file svrrqst.i. Added two - new methods on class IIOP_ServerRequest. These methods enable - demarshaling and marshaling of parameters while the operation - skeleton's call stack is active. The interface to these methods is - exactly like the one used by do_call i.e., a table driven - approach. Two new data structures - TAO_Param_data_Skel and - TAO_Call_Data_Skel are added. These two tables behave in exactly - the same way as the TAO_Param_Data and TAO_Call_Data tables. See - the generated code to see how these are used by the demarshal and - marshal methods. - - Two more methods and data members are added to this class - - "incoming" and "outgoing". These are the CDR streams that indicate - the incoming and the outgoing CDR streams. - - An additional "init_reply" method is added that is useful for the - compiled marshaling. This is still experimental. - - * TAO_IDL: This is the first release of the new TAO_IDL compiler - based on the Visitor pattern. All the old files and code is still - included in this release until the transition is complete. - - Although the Visitor pattern is used, we still maintain all the - code generation states we had in the previous version of the - compiler. The reason is that we maintain a Factory of Visitors - indexed on these enumerated states. The downside is the necessity - to have states and a larger code size. The larger code size is due - to the fact that everytime a Visitor is required, we must first - set the appropriate state and then ask the factory to produce it - for us. The positive side of this design is that almost all the - Visitor files are independent of each other. They only deal with - an abstract base level Visitors. The Factory will produce the - appropriate specialized Visitor which is a subclass of the base - "visitor" class. An additional benefit is that we can switch from - having to generate code that uses Interpretive marshaling to - compiled marshaling. Visitors for compiled marshaling will be - added later. Here are the files that are added: - - be_include/ - be_visitor.h - be_visitor_args.h - be_visitor_attribute.h - be_visitor_constant.h - be_visitor_context.h - be_visitor_decl.h - be_visitor_enum.h - be_visitor_field.h - be_visitor_interface.h - be_visitor_interface_fwd.h - be_visitor_module.h - be_visitor_operation.h - be_visitor_root.h - be_visitor_scope.h - be_visitor_sequence.h - be_visitor_structure.h - be_visitor_typedef.h - be_visitor_union.h - be_visitor_union_branch.h - be/ - be_visitor.cpp - be_visitor_args.cpp - be_visitor_attribute.cpp - be_visitor_constant.cpp - be_visitor_context.cpp - be_visitor_decl.cpp - be_visitor_enum.cpp - be_visitor_exception.cpp - be_visitor_field.cpp - be_visitor_interface.cpp - be_visitor_interface_fwd.cpp - be_visitor_module.cpp - be_visitor_operation.cpp - be_visitor_root.cpp - be_visitor_scope.cpp - be_visitor_sequence.cpp - be_visitor_structure.cpp - be_visitor_typedef.cpp - be_visitor_union.cpp - be_visitor_union_branch.cpp - - NOTE: Code generation for attributes is achieved by using a crude - form of the Adapter pattern. We convert the Attribute node into - one or possibly two operation nodes and add scope elements that - are arguments. The code gene ration is then handed over to the - Operation Visitors. - - * be/be_interpretive.cpp: This file defined the implementation of - the Factory of Visitors for intepretive marshaling. - - * be_include/be_codegen.h: Added a few more states. Some others - are now useless. They will be removed eventually. Also added the - Abstract Factory for Visitors. - - * Makefile: Modofoed to include all the visitor files and ran - "make depend" on it. - -Tue Mar 10 13:22:20 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Event_Latency/Makefile, - orbsvcs/tests/EC_Multiple/Makefile, - orbsvcs/tests/Simulator/Event_Supplier/Makefile: removed -pedantic - from g++ CCFLAGS because prevented use of native long long - (Linux/i386). - - * orbsvcs/orbsvcs/RtecScheduler.idl: addressed RT_Info open issues, - and updated to match TAO paper. The updates consisted of - changing the names of the Importance enum values so that we - don't have collisions when criticality is added, and comment - updates. - - * orbsvcs/Event/Dispatching_Modules.cpp,ReactorTask.cpp, - orbsvcs/Sched/Config_Scheduler.cpp, - orbsvcs/tests/EC_Multiple/EC_Multiple.cpp, - orbsvcs/tests/Event_Latency/Event_Latency.cpp, - orbsvcs/tests/Simulator/Event_Supplier/Event_{Con,Sup}.cpp: - added _IMPORTANCE to Importance enum values. - -Mon Mar 09 22:27:53 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Generic_Servant/client.cpp: Added code to time calls - and produce stats. - - * tao/svrrqst: Removed the lock in CORBA_ServerRequest which was - used to protect the refcount. This protection was excessive. - - * tao/optable.cpp: Changed the table so that it does not use a RW - Lock. Since the optable is read only, a null lock will suffice. - - * tao/objtable.cpp: Changed the implementation of - TAO_Dynamic_Hash_ObjTable so that it does not use a RW Lock. The - POA takes care of all necessary locking, and therefore, a null - lock will suffice. - - * tao/poa: The following optimizations were made to decrease the - time a POA takes to find a servant: - - - Added new classes TAO_Creation_Time and - TAO_Temporary_Creation_Time. These classes are used to record - and compare the creation time of POAs. The old method was - inefficient as unsigned long were used. These long required - conversions to strings. The new scheme uses a fixed size - buffer. The TAO_Temporary_Creation_Time is a special class - that tracks the creation time only during the lifetime of the - upcall. - - - parse_key_permanent_id() and parse_key_temporary_id() were - added so that the parse_key() routine can distinguish when to - create a new id and when to create a special id which is only - used during the lifetime of the upcall. - - - rfind() was added so that the TAO_POA::String::rfind() does - not have to be used. - - - Changed the object_key_type from String to char. - - - In post_invoke(), only create the POA_var if necessary. - - - Changed create_object_key() and parse_key() so that the old - format of: - - Transient/Seconds/MicroSecond/POAName/ObjectId - - to: - - T/TimeStampPOAName/ObjectId - - - Removed excessive memcpy() and strcpy() calls in parse_key(). - - - Changed create_object_id() to not include the POA name. - - - Changed is_poa_generated_id() to take the changes to - create_object_id() into account. - - - Changed string_to_ObjectId() and ObjectId_to_string() to not - use encode and decode routines. - -Mon Mar 9 15:23:19 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/mpeg/source/server/server.cpp (open): - Temporarily disabled use of threads, and reverted back to the - forking model. The threaded model needs more work before it can - safely support multiple clients. - -Mon Mar 9 14:57:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/sequence.h: - * tao/sequence.cpp: - * tao/sequence_T.h: - * tao/sequence_T.cpp: - Removed the _narrow_fixup() method, it was causing problem with - sequences of TypeCodes and it is not really needed: the - functionality can be implemented in the stubs (skeletons) and/or - the >>= methods. - -Mon Mar 09 09:59:01 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: removed - VxWorks-specific code, because it was no longer used, and - relied on a header that was not distributed with TAO. - -Sat Mar 07 12:14:58 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO version 0.1.7, released Sat Mar 07 12:14:58 1998. - -Sat Mar 7 11:59:27 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/orb_core.cpp (get_root_poa): Changed this from being a - macro-implemented method to a hand-implemented method. This is - necessary b/c the location of its resource is keyed not off - resource_source_ but rathe off poa_source_, and there's no macro - avaialble for that. Thanks to John Geiss <jtgb@eci-esyst.com> for - reporting the bug that led to this fix! - -Sat Mar 07 08:29:51 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/orb_core.cpp (TAO_Default_Reactor ctor and dtor): removed - inline qualifiers. - - * tests/Cubit/TAO/MT_Cubit/Makefile: changed -lm to(MATHLIB). - It looks like Sun C++ and g++ link with -lm by default, so - there shouldn't be any affect on those platforms. Others may - have to define MATHLIB in their platform_macros.GNU. - - * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): - changed variables low_client and high_client to low_priority_client - and high_priority_client. Replaced use of cerr with ACE_DEBUG. - -Fri Mar 6 17:56:25 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * Aloha: I bid fond farewall to Team TAO for now. Thanks for the - fun times! - - * tests/NestedUpcall/server.cpp: Integrated new stuff. - - * tests/NestedUpcall/client.cpp: Called new 'stop' method. - - * tests/NestedUpcall/{Reactor.idl,reactor_i.*}: Added 'stop' to Reactor - interface to shutdown the server. - - * tao/tao_util.cpp: Added code to explicitly destroy policies - after creating a child POA. - - * tao/poaS.h: Added a little comment to bring this up in C++ mode - in emacs. - - * tao/poa.cpp: Performed explicit deletes on buffers. - - * tao/object.{cpp,i}: Moved DTOR into .cpp and stuck in comment - explaining refcount semantics on CORBA_Object. - - * tao/iiopobj.i: Changed initial refcount value to zero; the ORB - Core must perform an explicit AddRef() if it intends to hold on to - this object. - - * tao/iiopobj.cpp: Changed Release() so that it will call 'delete - this' whenever the refcount is below zero. - -Fri Mar 06 11:38:38 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * docs/Options.html: Shrinked the table widths to 80% so we can - see everything without scrolling. Thanks to Darrell for the - HTML tip. - -Fri Mar 06 09:36:47 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/object.i (CORBA_Object): reordered initializers to match - declaration order. Also, move _set_parent () before the - constructor so that it is defined before being used. - - * tao/cdr.{i,cpp}: modified to base in/out operations - on ULongLong instead of LongLong, because we have - better support for ULongLong with ACE_LACKS_LONGLONG_T. - - * tao/cdr.{h,cpp} (get_ulonglong): removed const argument qualifier. - -Fri Mar 06 00:18:38 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/poaS and poaC: Removed about a 1000 lines of stubs and - skeletons code from poaC.cpp and poaS.cpp. This code was not - necessary because of the locality constraints on certain POA - objects. This should help reduce the footprint of TAO. - -Thu Mar 5 19:54:27 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: bind_context, rebind, - and bind were fixed to handle errors more carefully. Thanks to - Mark Boriack for pointing this out. - -Thu Mar 5 18:15:32 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/giop.cpp: Removed crufty unused code. - - * tao/iioporb.cpp: - * tao/iiopobj.*: - * tao/decode.cpp: - * tao/object.{h,i}: - * tao/orbobj.cpp: - * tao/poaC.cpp: - * tao/request.cpp: - * tao/servant_base.{h,cpp}: - Broke the old, incestous, bizarre "contained" relationship between - IIOP_Object and CORBA_Object. Now, multiple CORBA_Objects can - reference the same IIOP_Object, and each is reference-counted - separately. Moreover, an IIOP_Object has no back-pointer to a - CORBA_Object. All of this should help alleviate many memory - leaks. - - * TAO_IDL/be/be_interface.cpp: Changed emitted code for _narrow - and _bind to deal with new relationship btw. CORBA_Object and - IIOP_Object. - -Thu Mar 5 17:45:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/cdr.i: - If CORBA::WChar is an alias for CORBA::Short we cannot overload - operator<< on it. - - * tao/corbacom.h: - * tao/typecode.h: - MSVC++ does not like a class forward declared as a structure. - - - * tests/Cubit/TAO/MT_Cubit/Makefile: - -lm is required in IRIX. - -Thu Mar 05 16:18:53 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/poa.cpp (ObjectId_to_wstring and ObjectId_to_const_wstring): - Changed the odd looking access to a sequence's buffer to use the - new buffer() accessor. - -Thu Mar 5 13:15:37 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/cdr.h: - * tao/cdr.i: - Added a error flag to the class and some << and >> operators to - start a more useable interface for the CDR streams. - - * tao/any.h: - * tao/any.cpp: - * tao/except.h: - * tao/except.cpp: - * tao/nvlist.h: - * tao/nvlist.cpp: - * tao/principa.h: - * tao/principa.cpp: - * tao/request.h: - * tao/request.cpp: - * tao/typecode.h: - * tao/typecode.i: - * tao/typecode.cpp: - They don't inherit from IUnknown any more. Removed the - QueryInterface method, but kept AddRef and Release to keep the - change propagation to a minimum. - In accordance to the new memory managment scheme the locks were - also removed, the agument is: - + In the common case the locks are *not* needed. - + When needed a lock at that level does *not* work. - + The application can add its own locking for the objects that - are effectively shared among threads. - - * tao/sequence.h: - * tao/sequence.cpp: - * tao/sequence_T.h: - * tao/sequence_T.cpp: - Sequences of objects require some post processing *after* - demarshalling: the object references must be narrowed to the - right type; a new virtual method was added for that purpose. - -Thu Mar 05 09:08:09 1998 David L. Levine <levine@cs.wustl.edu> - - * .../Makefile: added(POSTLINK) to link commands. - Please, if you don't use rules.bin.GNU, be sure to - follow it as closely as possible. - -Wed Mar 04 19:49:31 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/orb_core (preconnect): changed type of loop index to - size_t to avoid signed/unsigned comparison. Added some - template instantiations. - -Wed Mar 4 16:35:37 1998 Chris Cleeland <cleeland@lambada.cs.wustl.edu> - - * tao/orbobj.*: Added an extension to the CORBA_ORB interface - that allows an application to preconnect to multiple servers by - specifying a string of host:port pairs. - - * tao/orb_core.*: Broke the preconnection logic out of init() - and made it its own method, preconnect(). This also uses - Connector<>::connect_n() rather than implementing its own loop. - It really didn't make things much easier, but we can take - advantage of future improvements to that implementation - transparently, now. - - * docs/Options.html: Added more details on various options. - -Tue Mar 03 21:11:22 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/RtecScheduler.idl: updated a comment: the units - of Period are 100 ns. - - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp (initialize_queues), - Task_Manager.cpp (initialize): maintain period in units of 100 ns - when converting period from a 64 bit to a 32 bit int. - - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp (open_queue), - ReactorTask.cpp (open_reactor): assign name to thread using units - of us. - -Mon Mar 2 19:01:44 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/tests/CosPropertyService/main.cpp (class - TAO_PropertySet_Tester): Added this wrapper class to organise my - test code, testing the methods in the PropertyService interfaces. - -Mon Mar 2 16:48:59 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/fe/idl.ll: - * TAO_IDL/fe/lex.yy.cpp: - * TAO_IDL/util/utl_global.cpp: - More changes attempting to remove the \ problem for NT. - - * tao/orbobj.h: - Added a missing TAO_Export macro. - - * tao/typecode.h: - * tao/typecode.i: - Added the _var and _out classes for CORBA_TypeCode. - - * tao/corbacom.h: - Added the TypeCode_var and TypeCode_out classes to the CORBA - class. - -Mon Mar 2 15:39:57 1998 Douglas C. Schmidt <schmidt@waltz.cs.wustl.edu> - - * tao/sequence_T.h: Added a ptr() accessor to both the - TAO_Bounded_Sequence and TAO_Unbounded_Sequence classes. Thanks - to Carol Sanders <csanders@mdc.com> for suggesting this. - - * tao/sequence[_T].{i,cpp}: Cleaned up a bunch of - ACE_reinterpret_cast() operations. Thanks to Russ Noseworthy - <rnosewor@objectsciences.com> for reporting this. - -Mon Mar 2 13:13:19 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/fe/idl.ll: - * TAO_IDL/fe/lex.yy.cpp: - Fixed pathname canonization for NT, we convert a double - backslash into a single slash. - -Mon Mar 02 08:00:41 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/orb_core.cpp: only instantiate ACE_Convert with g++. - Even that shouldn't need it, because it's always inline. - But, g++ typically creates out-of-line instantiations of - inline template member functions. - - * tao/sequence.{h,cpp} (TAO_{B,Unb}ounded_Base_Sequence): - added (virtual) destructors. Without them, GreenHills on - Chorus was duplicating their vtables when instantiating - templates based on those classes. - - * orbsvcs/orbsvcs/Makefile,tmplinst-orbsvcs.cpp: - renamed tmplinst.cpp to tmplinst-orbsvcs.cpp to avoid mangled name - collisions with tmplinst.cpp in test directories, when using - GreenHills/Chorus. - - * tests/Cubit/TAO/IDL_Cubit/server.cpp (main): added explicit - int return type. - -Sun Mar 1 13:42:56 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * release.pl: This script will now move the 'Current' tag to - point to the latest beta release. - -Sun Mar 1 10:40:31 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/{poa, objtable}.cpp: Removed the "Anachronism" warning - associated with the _out parameters passed to the find () method. - -Sat Feb 28 18:37:54 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/CosProperty_Hash.cpp: - * orbsvcs/orbsvcs/Property/CosProperty_Hash.h: - * orbsvcs/tests/CosPropertyService/main.cpp: - Added some more code to test the functions defined in CosPropertyService_i.cpp. - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: - * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: - * orbsvcs/orbsvcs/CosPropertyService.idl: - * orbsvcs/tests/Makefile (DIRS): Added the directory - CosPropertyService under DIRS here. It is compiled when av=1. - -Fri Feb 27 19:55:09 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp (main): Added this - file which spawns the server and client and terminates them after - some time. - -Fri Feb 27 17:57:55 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/NestedUpcall/server.cpp: Started integrating the - TAO_ORB_Manager, but it's untested thus far so it's - conditionally-compiled out. - - * tao/{any,connect,default_server,except, - orb_core,orbobj,principa,request}.cpp: Whacked out a bunch of @@ - comments. - -Fri Feb 27 16:11:53 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.h: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/server.h: Changes to make it compile on - sigle-threaded platforms. - - * docs/releasenotes/index.html: update to naming service - entry. - -Fri Feb 27 15:03:58 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/Options.html (TAO_Default_Server_Strategy_Factory): Added - documentation for POA-related lock strategies. - - * tao/connect.cpp (handle_input): Added call to - Reactor::suspend_handler() in here so that, in the bizarre corner - case where sub-event loop "A" eventually leads to sub-sub-event - loop "B" being called, but input becomes available for "A"'s - descriptor prior to "B"'s descriptor, B's loop won't spin wildly, - gobbling up CPU. - -Fri Feb 27 15:00:42 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Time_Utilities.i (hrtime_to_TimeT): with - ACE_LACKS_LONGLONG_T, set the high word directly. The - ACE_U_LongLong operator >> returns an ACE_U_LongLong, - so the assignment won't work otherwise. - - * tao/orb_core.cpp: added ACE_Convert (const char *, u_int &) - instantiation. - -Fri Feb 27 12:08:19 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/orb_core.h (TAO_Resource_Factory): Changed to use - TAO_Default_Reactor class in TAO_Resource_Factory. - -Fri Feb 27 11:10:24 1998 Chris Cleeland <cleeland@lambada.cs.wustl.edu> - - * test/NestedUpcall/{eh_i,reactor_i}.cpp: Changed debug statements - to utilize the new ACE_Log_Msg conversions to indent scopes, etc. - -Fri Feb 27 00:40:36 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.6, released Fri Feb 27 00:40:36 1998. - -Thu Feb 26 19:29:33 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbscvs/orbsvcs/Trader/Admin.cpp: - * orbsvcs/orbsvcs/Trader/Admin.h: - * orbsvcs/orbsvcs/Trader/Attributes.cpp: - * orbsvcs/orbsvcs/Trader/Attributes.h: - * orbsvcs/orbsvcs/Trader/Constraint.cpp: - * orbsvcs/orbsvcs/Trader/Constraint.h: - * orbsvcs/orbsvcs/Trader/Constraint_Evaluator.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Evaluator.h: - * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h: - * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Nodes.h: - * orbsvcs/orbsvcs/Trader/Constraint_Tokens.h: - * orbsvcs/orbsvcs/Trader/Constraint_Validator.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Validator.h: - * orbsvcs/orbsvcs/Trader/Constraint_Visitor.h: - * orbsvcs/orbsvcs/Trader/Constraint_l.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_y.cpp: - * orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp: - * orbsvcs/orbsvcs/Trader/Dynamic_Property.h: - * orbsvcs/orbsvcs/Trader/Interpreter.cpp: - * orbsvcs/orbsvcs/Trader/Interpreter.h: - * orbsvcs/orbsvcs/Trader/Link.cpp: - * orbsvcs/orbsvcs/Trader/Link.h: - * orbsvcs/orbsvcs/Trader/Lookup.cpp: - * orbsvcs/orbsvcs/Trader/Lookup.h: - * orbsvcs/orbsvcs/Trader/Monitor.h: - * orbsvcs/orbsvcs/Trader/Offer_Filter.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Filter.h: - * orbsvcs/orbsvcs/Trader/Offer_Id_Iterator.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Id_Iterator.h: - * orbsvcs/orbsvcs/Trader/Offer_Iterator.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Iterator.h: - * orbsvcs/orbsvcs/Trader/Offer_Modifier.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Modifier.h: - * orbsvcs/orbsvcs/Trader/Policies.cpp: - * orbsvcs/orbsvcs/Trader/Policies.h: - * orbsvcs/orbsvcs/Trader/Policy_Manager.cpp: - * orbsvcs/orbsvcs/Trader/Policy_Manager.h: - * orbsvcs/orbsvcs/Trader/Preference_Interpreter.cpp: - * orbsvcs/orbsvcs/Trader/Preference_Interpreter.h: - * orbsvcs/orbsvcs/Trader/Property_Evaluator.cpp: - * orbsvcs/orbsvcs/Trader/Property_Evaluator.h: - * orbsvcs/orbsvcs/Trader/Property_Filter.cpp: - * orbsvcs/orbsvcs/Trader/Property_Filter.h: - * orbsvcs/orbsvcs/Trader/Proxy.cpp: - * orbsvcs/orbsvcs/Trader/Proxy.h: - * orbsvcs/orbsvcs/Trader/Query_Only_Offer_Iterator.cpp: - * orbsvcs/orbsvcs/Trader/Query_Only_Offer_Iterator.h: - * orbsvcs/orbsvcs/Trader/README: - * orbsvcs/orbsvcs/Trader/Register.cpp: - * orbsvcs/orbsvcs/Trader/Register.h: - * orbsvcs/orbsvcs/Trader/Register_Offer_Iterator.cpp: - * orbsvcs/orbsvcs/Trader/Register_Offer_Iterator.h: - * orbsvcs/orbsvcs/Trader/Sequences.idl: - * orbsvcs/orbsvcs/Trader/Service_Type_Map.cpp: - * orbsvcs/orbsvcs/Trader/Service_Type_Map.h: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.h: - * orbsvcs/orbsvcs/Trader/Trader.cpp: - * orbsvcs/orbsvcs/Trader/Trader.h: - * orbsvcs/orbsvcs/Trader/Trader_Base.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Base.h: - * orbsvcs/orbsvcs/Trader/constraint.l: - * orbsvcs/orbsvcs/Trader/constraint.y: - * orbsvcs/orbsvcs/CosTrading.idl: - * orbsvcs/Trading_Service/Makefile: - * orbsvcs/Trading_Service/trader.cpp: - - The Trading Service has a new home and a new orb. I've migrated - the VisiBroker implementation of the Trading Service to TAO by - having the interfaces inherit from the POA_CosTrading skeletons, - replacing the the C++ exception handling with the TAO_* macro - exception handling and CORBA::Environment passing, and prefixing - all top level classes with 'TAO_'. Because the tao_idl generated - code from CosTrading.idl was having some trouble, nothing here has - been compiled since the port. The README file contains additions - to the Makefile necessary to accommodate the Trading Service's - reliance on STL. - - The orbsvcs/Trading_Service/trader.cpp is a server that activates - the supported interfaces of our Trading Service. At this point our - Trader adheres to the Stand Alone Trader designation of - conformance as described in the specification. - -Thu Feb 26 18:38:56 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Server): - Fixed a syntax error. - -Thu Feb 26 18:07:16 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * docs/releasenotes/index.html: Added an entry for the Property Service. - -Thu Feb 26 17:36:21 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/orb_core.{h,cpp} (TAO_Default_Reactor): I added the new class - tring to strategize the type of reactor used. It is not used at - the moment. - -Thu Feb 26 16:18:47 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp (gen_client_stubs): Split out some - code to use a couple temporary variables to work around what - might be a Heisenbug with GCC. Thanks to Carlos O'Ryan and - Keith Nicewarner <knicewar@sanders.com> for reporting this. - -Thu Feb 26 14:52:20 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/NestedUpcall/{eh_i,reactor_i}.{h,cpp}: Added - implementation for the new decrement operation. - - * tests/NestedUpcall/client.cpp: Added calls to invoke the new - decrement operation. - - * tests/NestedUpcall/Reactor.idl: Added a new operation, - decrement, to test multi-nested upcalls. - - * tao/connect.cpp (send_request): Fixed to return appropriate - return values, especially in case of errors. - -Thu Feb 26 14:02:36 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/tao_util.cpp (activate_under_child_poa): Instead of - returning a String_var, return String_var._retn (). - (activate_under_child_poa): Actually, it seems better just - use String than String_var. - -Thu Feb 26 13:31:06 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/Makefile: added "all" target for CROSS-COMPILE platforms. - -Thu Feb 26 05:39:43 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/NestedUpcall/client.cpp: Cast (char *) to 0 which is used - to initialize remote_reactor_key. - (main): Added ACE_const_cast in string_to_object call. - - * tests/NestedUpcall/NestedUpcall.dsw: - * tests/NestedUpcall/client.dsp: - * tests/Nestedupcall/server.dsp: New project files for NT. - - * tests/Cubit/TAO/IDL_Cubit/server.cpp (init_naming_service,main): - Appended a return at the end. - - * tests/Cubit/TAO/IDL_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/server.dsp: Updated project file - lists. - - * tao/TAO.dsp: Added tao_util.cpp into this project. - - * tao/tao_util.h (TAO_ORB_Manager): Added TAO_Export flag. - - * orbsvcs/orbsvcs/orbsvcs.dsp: Added Ior_Multicast.cpp and - Naming_Utils.cpp into this project. - - * orbsvcs/orbsvcs/Naming/Ior_Multicast.h: - * orbsvcs/orbsvcs/Naming/Naming_Utils.h: Added - TAO_ORBSVCS_Export flag. - - * orbsvcs/Naming_Service/Naming_Service.cpp: Added a return - statement to muffle MSVC. - -Wed Feb 25 22:53:56 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/orbobj: Changed the signature of the run(ACE_Time_Value &) - method to run(const ACE_Time_Value &) so we can pass the const - ACE_Time_Value::zero to it. Thanks to Chris Cleeland for - suggesting this. - - * orbsvcs/orbsvcs/Event/RT_Task.h: Changed the use of ACE_MT_SYNCH - to ACE_SYNCH so that we can at least build the Event Channel on - a single-threaded platform. - - * orbsvcs/orbsvcs/Event_Service_Constants.h: Changed the use of - ACE_Thread_Mutex and ACE_RT_Thread_Mutex to ACE_THREAD_MUTEX and - ACE_RW_THREAD_MUTEX, respectively, so that TAO will build on - non-threaded platforms. - - * tao/poa.cpp, - tao/default_server.cpp: Fixed TAO by conditionally - compiling the code that relies on the recursive mutexes - and mutexes. Thanks to Jim Penny <jpenny@universal-fasteners.com> - for reporting this. - -Wed Feb 25 22:47:48 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/README:: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * tests/Cubit/TAO/MT_Cubit/cubit.idl: - * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.h: Made changes to have the - option to specify oneway calls instead of the usual two-way - cube_X() call. Now, you can specify the "-o" argument on the - client side. - -Wed Feb 25 22:47:16 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/client.cpp (parse_args): Similar to - server.cpp changed the meaning of -s option to not to use the - naming service and naming service is used by default. - - * tests/Cubit/TAO/IDL_Cubit/server.cpp (parse_args): Changed the - meaning of the -s option to "don't use the naming service" and made - using the naming service the default. - -Wed Feb 25 22:47:16 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/server.cpp (parse_args): Changed the - meaning of the -s flag to "don't use the naming service" and made - using the naming service the default. - -Wed Feb 25 18:03:35 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/tests/AVStreams/Makefile: - * tests/Cubit/TAO/IDL_Cubit/Makefile: - Updated dependencies. - -Wed Feb 25 17:13:05 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (Naming_Service): - Changed the main to just create an instance of Naming_Service and - call init and run on it. - - * orbsvcs/Naming_Service/Naming_Service.h: Added this file which - defines a Naming_Service class to simplify the Naming_Service.cpp - file. - -Wed Feb 25 16:52:13 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/servant_base.cpp: Updated to reflect change of poa_current_ - from structure to pointer. - - * tao/poa.*: Changed signature of pre_invoke() and post_invoke() - to deal with poa current storage coming from the stack. - - * tao/poa.cpp (dispatch_servant_i): Changed to create POA Current - information record on the stack during the upcall, thus clearing - the way for proper operation in the face of nested upcalls. - - * tao/orbobj.cpp: Updated to reflect change of poa_current_ from - structure to pointer. - - * tao/orb_core.*: Changed poa_current_ to a pointer rather than - ownership. This allows the structure holding the POA Current - information to be created in the activation record for the upcall, - thus opening the door for proper operation in the face of nested - upcalls. - - * tao/giop.h: Removed cruft/unused code. - - * tao/giop.cpp: Addressed some '@@' comments. - - * tao/connect.*: Fixed a problem where nested upcalls would only - work every other time. This was caused by the fact that the - servant-turned-client cached the connection to the - client-turned-servant. However, when the client-turned-servant - terminated, the servant-turned-client was ignoring input events on - this cached connection handle. Then, when the next instance of - the client-turned-servant came along and tried to connect, when - the servant-turned-client made the invocation back to the - client-turned-servant, the cached handle was returned. However, - when its input was read, rather than getting the expected - response, an EOF was received and the servant-turned-client - aborted the entire original invocation. - - This was fixed by having the TAO_Client_Connection_Handler always - registered to receive input events and to maintain record of its - state so that it can tell whether or not it's expecting input. If - it receives an unexpected input event, then it will simply close - down the connection, possibly logging a warning message as well. - -Wed Feb 25 16:06:59 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/{client,server}.{h,cpp}: Added callback - support - -Wed Feb 25 16:04:49 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp,h: Added support for making - upcalls into the application when connection is established, - requested etc.. - -Wed Feb 25 12:58:04 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tao/tao_util.cpp: Added the implementation for the 2 new methods - to use a child_poa. - - * tao/tao_util.h (class TAO_ORB_Manager): Added 2 new methods - init_child_poa and activate_under_child_poa to create a child_poa - with policies PERSISTENT and USER_ID. - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (bind): Added checks for - null pointers in ACE_DEBUG. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Moved this file from - orbsvcs/Naming_Service/ to this dir. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.h: Moved this file from - orbsvcs/Naming_Service/ to this directory. - -Wed Feb 25 12:20:04 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/any.cpp (operator<<=): removed declaration of local "tc", - which shadowed the declaration in the outer scope. - - * tao/giop.cpp (start): added a debug message for connection - failures. This is where problems often occur for new users/ - environments, and it'll help diagnose configuration problems. - And Linux getsockname () bugs. - -Tue Feb 24 21:05:08 1998 Nagarajan Surendran <naga@mambo.cs.wustl.edu> - - * orbsvcs/Naming_Service/Main.cpp: This now contains the main - which was previously in Naming_Service.cpp to facilitate - integrating the IOR_Multicast class defined in Naming_Service.cpp - into the orbsvcs library. - - * orbsvcs/Naming_Service/Naming_Utils.h: Defines a new - TAO_Naming_Server wrapper class which can be used as a - Naming_Server component if one wants a separate Naming_Server. - - * orbsvcs/Naming_Service/Naming_Utils.cpp: Added this new file - which implements the TAO_Naming_Server class. - - * tests/Cubit/TAO/IDL_Cubit/client.cpp (read_ior): Added 2 new - methods read_ior and init_naming_service. - - * tests/Cubit/TAO/IDL_Cubit/server.cpp: Now contains the - implementation of Cubit_Server class with a really simple main. - - * tests/Cubit/TAO/IDL_Cubit/server.h (class Cubit_Server): Defined - a new Cubit_Server class akin to Cubit_Client. - - * orbsvcs/Naming_Service/Naming_Service.cpp: Moved the main () to - a separate file Main.cpp - -Tue Feb 24 17:45:20 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/orbobj.h: Removed the unnecessary = 0 on the new run method. - - * tao/orbobj.cpp (run): Added a new run() method that takes an - ACE_Time_Value & rather than an ACE_Time_Value * so that we don't - need to pass the address! - -Tue Feb 24 14:31:37 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/NestedUpcall/client.cpp (main): Replaced orb->open() with - orb->run(&ACE_Time_Value::zero), which though still non-standard, - is less non-standard than open(). - - * tests/NestedUpcall/README: Added one for the good of all - mankind. - -Tue Feb 24 13:23:48 1998 Michael Kircher <mk1@cec.wustl.edu> - - * orbsvcs/tests/Simulator/NavWeap.idl: Added new fields - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: - adopted to new IDL file - - * orbsvcs/tests/Simulator/Sim_Display/Display_Push_Consumer.java: - adopted to new IDL file - - -Tue Feb 24 00:41:48 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Added TITLE, - DESCRIPTION for all the classes - -Mon Feb 23 22:40:22 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/cdr.h: removed old, commented out configuration code. - - * TAO_IDL/be/be_decl.cpp (tc_name2long): changed type of "buf" array - from char to long so that it gets properly aligned. This solves - the core dump problem with tao_idl on egcs/Solaris. Thanks to - Håkan Källberg <hk@simulina.se> for reporting this. - - * TAO/tests/Thruput/TAO/utils.cpp (prep_timer): cast LONG_MAX - to ACE_INT32 to avoid overflow problems if the result is an - int type, and long is bigger than int. - - * orbsvcs/orbsvcs/Event/Event_Channel.i: specify constant - 2147483648u as unsigned, to avoid compiler warning. - - * TAO_IDL/Makefile: removed -fPIC for g++ because it's not needed - without shared libraries. - - * TAO_IDL/Makefile: added Cleanup section, which cleans out builds - that were created with the nested version of the Makefile. - -Mon Feb 23 22:13:14 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.5, released Mon Feb 23 22:13:14 1998. - -Mon Feb 23 21:30:04 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/Makefile: added the g++ options that were picked up - from be/Makefile. - - * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): - declare local "i" outside of for loop because it is reused - in a few loops. - -Mon Feb 23 20:45:03 1998 Michael Kircher <mk1@cec.wustl.edu> - - * orbsvcs/tests/Simulator/Sim_Display: Fixed some small - bugs concerning the representation - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: - Changed the rate on which events are supplied - - -Mon Feb 23 18:51:03 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (main): Set the handle - limit to the maximum. - - * tests/Cubit/TAO/MT_Cubit/server.cpp (initialize_orb): Fixed a - warning from compiler. - -Mon Feb 23 17:33:52 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/Makefile: - We don't generate the compiler as a single executable, without - multiple shared libraries. - -Mon Feb 23 16:55:08 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event_Service_Constants.h: changed types of - ACE_ES_* constants from u_long to long to match - RtecEventComm::EventType. - - * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: updated template - instantiations to use ACE_Singleton instead of ACE_TSS. - -Mon Feb 23 12:25:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Memory_Pools.h: - * orbsvcs/orbsvcs/Event/Memory_Pools.i: - * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: - We cannot use TSS memory pools: in some cases the memory is - allocated in one thread and disposed in another. Until we can - clean out that behavior I'm using a singleton. - -Mon Feb 23 11:57:16 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/ : Changed the names EXT_ID and INT_ID - that I used for Hash_Table operations to less generic - CosProperty_Hash_Key and CosProperty_Hash_Value respectively. - -Mon Feb 23 11:40:37 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/corbacom.h (CORBA::LongLong): use ACE_BIG_ENDIAN - instead of TAO_WORDS_BIGENDIAN. - - * tao/orbconf.h (TAO_ENCAP_BYTE_ORDER): use ACE_LITTLE_ENDIAN - instead of trying to figure it out from cpp #defines, which - failed for LynxOS. Also, removed TAO_WORDS_BIGENDIAN. - - * tao/interp.cpp (declare_entry,setup_entry): use the align_struct_ - with padding by default, unless TAO_HAS_FIXED_BYTE_ALIGNMENT is - #defined. - - * tao/corba.h: added ACE_UNUSED_ARG (VAR); to TAO_CATCH macro - for platforms without ACE_HAS_EXCEPTIONS, to avoid compiler - warning about unused variable if VAR isn't used anywhere. - - * TAO_IDL/Makefile: added clean and realclean targets for - CROSS-COMPILE platforms. - - * TAO_IDL/be/be_interface.cpp (be_interface::relative_name): - commented out unused local variable "def_scope". - - * TAO_IDL/be/be_sequence.cpp: commented out some unused variables - to avoid compiler warnings. The comments correspond to commented-out - sections of code. - - * TAO_IDL/be/be_visitor_interface.cpp - (be_visitor_collocated_ss::visit_operation): removed unused - local "nl". - - * TAO_IDL/be/be_visitor_root.cpp (be_visitor_root_ch::visit_sequence): - added ACE_UNUSED_ARG (node). - - * TAO_IDL/be/be_visitor_sequence.cpp - (be_visitor_sequence_ch::visit_sequence): commented out unused - local "cg". - - * orbsvcs/tests/Event_Latency/Event_Latency.cpp - (Latency_Supplier::push): added ACE_UNUSED_ARG (_env). - -Mon Feb 23 10:58:42 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/AVStreams_i.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/orbsvcs/Event/Fast_Reactor.h: - * orbsvcs/orbsvcs/Event/GPlot_File.h: - * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: - * orbsvcs/orbsvcs/Property/CosProperty_Hash.h: - * orbsvcs/orbsvcs/Sched/DynSched.h: - * orbsvcs/orbsvcs/Sched/SchedEntry.h: - * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h: - * Added more TAO_ORBSVCS_Export macros, this time in files that - are not compiled all the time. - -Sun Feb 22 22:14:08 1998 Chris Cleeland <cleeland@lambada.cs.wustl.edu> - - * tao/giop.cpp (invoke): Created my own temporary variable in - order to de-warn on g++ and Sun CC. - -Sun Feb 22 20:12:24 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs/orbsvcs.dsp: Adapted chages to the directory - rearrangement. - - * orbsvcs/orbsvcs/Runtime_Scheduler.h: - * orbsvcs/orbsvcs/Scheduler_Utilities.h: - * orbsvcs/orbsvcs/Event/BCU.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Memory_Pools.h: - * orbsvcs/orbsvcs/Event/RT_Task.h: - * orbsvcs/orbsvcs/Event/ReactorTask.h: - * orbsvcs/orbsvcs/Event/Task_Manager.h: - * orbsvcs/orbsvcs/Naming/CosNaming_i.h: - * orbsvcs/orbsvcs/Naming/Entries.h: - * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: - * orbsvcs/orbsvcs/Sched/Scheduler.h: - * orbsvcs/orbsvcs/Sched/Scheduler_Generic.h: Added - TAO_ORBSVCS_Export flags. - -Sat Feb 21 08:08:55 1998 David L. Levine <levine@cs.wustl.edu> - - * rules.tao.GNU: added -Wno-used to CCFLAGS, with g++ only. - - * tao/align.h,corbacom.h,orbconf.h,orbobj.cpp: - use ACE Basic_Types instead of local SIZEOF_* macros. - - * tao/debug.cpp: null f{,un}lockfile with ACE_HAS_DCE_DRAFT4_THREADS - (LynxOS). - - * tao/any.cpp (operator<<=): initialized local "tc" to avoid compiler - warnings. - - * tests/POA/On_Demand_Activation/Servant_Activator.cpp (etherealize), - Servant_Locator.cpp (preinvoke,postinvoke): - added some ACE_UNUSED_ARG's. - - * TAO_IDL/Makefile,tao/Makefile: use CROSS-COMPILE flag instead of - CHORUS, LYNXOS, and VXWORKS. This allows us to add new cross- - compile platforms without having to modify the TAO Makefiles. - The new platform need only set the CROSS-COMPILE flag. - -Sat Feb 21 00:31:20 1998 Chris Cleeland <cleeland@lambada.cs.wustl.edu> - - * tao/connect.* (send_request): Modified to take an extra arg - which specifies whether or not the request is a twoway, i.e., - whether or not it should enter a sub-event loop looking for a - reply. - - * tao/giop.cpp (invoke): Changed to match signature of - send_request. - - * tests/NestedUpcall/Reactor.idl: Added a oneway method to test - nested upcalls with oneways. - - * tests/NestedUpcall/reactor_i.*: Added the oneway implementation. - - * tests/NestedUpcall/client.cpp: Made oneway invocation to test a - problem that the nested upcall allowing ORB exhibited. Thanks to - Carlos for reporting this! - -Fri Feb 20 14:40:28 1998 Chris Cleeland <cleeland@lambada.cs.wustl.edu> - - * tao/connect.*: Extended TAO_Client_Connection_Handler to be run - a sub-event loop while sending a request in order to handle nested - upcalls. A really cool side-effect of this is that if your - application start out being a client but has servants too, it's - really easy to get that up and running. An example of this is - shown in the new test, NestedUpcall. - - * tao/giop.cpp (invoke): Changed to call send_request on the - client connection handler rather than TAO_GIOP. This new - send_request will handle nested upcalls (see above). - - * tao/giop.* (send_request): Changed signature so that the - TAO_SVC_HANDLER* wasn't passed by reference. This was totally - unnecessary. - - * tao/{iioporb,orbobj}.* (string_to_object): Removed unnecessary - 'const' preceding CORBA::String. - -Fri Feb 20 08:29:35 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): added .in () - dereference to several objref uses. - - * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: updated the - ACE_TSS <ACE_Malloc<...> > template instantiation to use the - ACE_LOCAL_MEMORY_POOL macro. - - * orbsvcs/orbsvcs/Event/Event_Channel.{h,cpp} - (ACE_ES_{Con,Dis}junction_Group): added virtual destructors. - -Thu Feb 19 12:54:50 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp - (create_initial_propertysetdef): Assigned dummy return values in - order to avoid Warnings. - - * orbsvcs/orbsvcs/Property/CosProeprtyService.idl file removed - from here. It is supposed to be there in ./.. - -Thu Feb 19 12:49:49 1998 David L. Levine <levine@cs.wustl.edu> - - * Makefile: build orbsvcs before tests. - - * tao/Makefile: set fakesvcconf on LynxOS. - - * TAO_IDL/Makefile: don't build the IDL compiler for - Chorus, LynxOS, or VxWorks. - - * tao/orbobj.cpp: enhanced some printouts. - - * tao/tao_util.cpp (orb): added .in () dereference to orb_ argument. - -Thu Feb 19 10:15:00 1998 Michael Kircher <mk1@cs.wustl.edu> - * orbsvcs/test/Simulator: Set the file permissions right. - -Thu Feb 19 10:15:00 1998 Michael Kircher <mk1@cs.wustl.edu> - * orbsvcs/test/Simulator: - Intruduced new demo, using the Event Service as transport - media for monitoring events. - See orbsvcs/test/Simulator/README for more information - - in orbsvcs/tests/Simulator: - NavWeap.idl - IDL definition of the Navigation and Weapons struct - ss - restart services script - - in orbsvcs/tests/Simulator/Event_Supplier: - Event_Sup.cpp - Event Supplier - Event_Sup.h - Event Supplier class definition - Makefile - Event Supplier Makefile - (Event_Con.cpp, Event_Con.h - Event Consumer for testing) - svc.conf - helper file - - in orbsvcs/tests/Simulator/Sim_Display: - Display.java - Simulation - Display_Client.java - Main Entry point of the Simulation - Display_Consumer.java - Event Consumer - Display_Object.java - Interface for an Display_Object - Display_Weapons.java - Implementation of an Display_Object - Display_Art_Horizon.java - Implementation of an Display_Object - Display_Object_Factory.java - Factory Object for Display_Objects - Graph.java - Simulation - Graph_Panel.java - Simulation - NS_Resolve.java - Resolving the inital reference to the Naming Service - Queue.java - Simulation - Sim_Panel.java - Simulation - Border_Panel.java - Simulation - - -Wed Feb 18 22:15:06 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * tao/tao_util.cpp,h: Updated class to include a constructor so - user can supply his own orb, poa or manager. - -Wed Feb 18 21:40:24 1998 <coryan@MILONGA> - - * docs/orbsvcs.html: - Updated the description of orbsvcs directory hierarchy. - -Wed Feb 18 19:45:57 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * Added the idl file for the CosPropertyService , i.e. - orbsvcs/orbsvcs/Property/CosPropertyService.idl - -Wed Feb 18 17:56:54 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs: - Moved all the implementations to the orbsvcs libraries, this is - the first step to give the user control over object - collocation. - Please note that this version is only known to compile on - Solaris/CC, it will *not* compile on NT (some "export" macros - are missing); since this change is very disruptive (because it - moves files around) it was thought that holding it for a long - time will result in more harm than good. - A top-level make onTAO_ROOT/orbsvcs works OK. - -Wed Feb 18 17:10:23 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * tao/tao_util.cpp (init): The ORB_Manager class does not create - it's own POA, but uses the default root POA instead. - -Wed Feb 18 16:02:34 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * Commented and indented the follwing files in orbsvcs/orbsvcs/ - CosPropertyService.idl - CosPropertyService_i.h - CosPropertyService_i.cpp - -Wed Feb 18 12:28:58 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Thruput/TAO/tmplinst.cpp: - The templates should be instantiated over the CORBA:: typedefs, - otherwise they fail in weird platforms. - -Wed Feb 18 11:57:24 1998 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile (LDLIBS): Removed -lposix4 - from the LDLIBS. Thanks to Bob Olson <olson@mcs.anl.gov> for - reporting this. - -Wed Feb 18 02:58:40 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (IOR_Multicast): Make - sure that response_addr_ is properly initialized before it is - used to initialize response_, which is an ACE_SOCK_Dgram. - -Tue Feb 17 20:20:35 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/giop.cpp: Removed an extra explicit template instantiation - of TAO_Unbounded_Sequence<TAO_GIOP_ServiceContext>. Thanks to - Ben Eng <ben@jetpen.com> for reporting this! - - * tests/Thruput/TAO/Makefile: Removed the "clean" macro since it - was conflicting with the TAO default. - -Tue Feb 17 21:47:41 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (shutdown): Renamed please_exit - method to shutdown. - - * tests/Cubit/TAO/IDL_Cubit/cubit.idl: Renamed please_exit operation to - shutdown. - -Tue Feb 17 17:22:47 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO version 0.1.4, released Tue Feb 17 17:22:47 1998. - -Tue Feb 17 16:50:20 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.cpp (open): Modified so that if it's been called - multiple times it returns '1' rather than '-1', thus not appearing - to calling code as an error. - -Tue Feb 17 16:05:55 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs.dsp: Chris G. updated the file list of - this project. - - * orbsvcs/orbsvcs/Time_Utilities.h: - * orbsvcs/orbsvcs/Event_Utilities.h: Added MS keayword, - TAO_ORBSVCS_Export. - - * tests/Cubit/TAO/IDL_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/server.dsp: Updated project setting to - take the advantage of TAO naming service. - - * orbsvcs/tests/Event_Latency/Event_Latency.dsp: Updated project - setting to use DLL version of orbsvcs. - -Tue Feb 17 15:39:49 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.h:: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit.idl: - * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.h: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/server.h: Made a bunch of changes to - correctly support the POA. In addition, MT_Cubit now uses the - Name Service to bind the Cubit objects. In case the Name Service - doesn't exist, there is still the "cut&paste" ior method that uses - a cubit factory to give the client a reference to the cubit - objects. - -Tue Feb 17 13:25:52 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO-INSTALL.html: Added instructions on using the CPP_LOCATION - environment variable in NT's section. You can also use it on - UNIX but NT is the only platform which depends on it. - -Tue Feb 17 11:30:53 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/orbconf.h: set TAO_ALIGNMENT_MAGIC_NUMBER to 128 if - ACE_SIZEOF_LONG > 4, e.g., on 64-bit CPUs. - - * tao/except.cpp (make_standard_typecode): replaced unsigned long/ - long with CORBA::ULong/CORBA::Long. - - * TAO_IDL/ast/ast_array.cpp,ast_operation.cpp,ast_sequence.cpp, - ast_string.cpp, - TAO_IDL/util/utl_decllist.cpp,utl_exceptlist.cpp,utl_exprlist.cpp, - utl_idlist.cpp,utl_labellist.cpp,utl_namelist.cpp,utl_strlist.cpp: - moved base class initialization to beginning of initializer list. - -Tue Feb 17 10:43:45 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/CosTimeBase.idl: - * orbsvcs/orbsvcs/Time_Utilities.cpp: - * orbsvcs/orbsvcs/Time_Utilities.h: - * orbsvcs/orbsvcs/Time_Utilities.i: - Added the standard CORBA types for time, also added some helper - routines to convert between BasicTime::TimeT and the common - representations of time in ACE (ACE_Time_Value and ACE_hrtime_t) - - * orbsvcs/orbsvcs/RtecEventComm.idl: - * orbsvcs/orbsvcs/RtecScheduler.idl: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - * orbsvcs/Event_Service/ReactorTask.cpp: - * orbsvcs/Event_Service/Task_Manager.cpp: - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - * orbsvcs/Scheduling_Service/Config_Scheduler.h: - * orbsvcs/Scheduling_Service/Scheduler.cpp: - * orbsvcs/orbsvcs/Channel_Clients_T.i: - * orbsvcs/orbsvcs/Event_Service_Constants.h: - * orbsvcs/orbsvcs/Event_Utilities.i: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.h: - * orbsvcs/Event_Service/Dispatching_Modules.cpp: - * orbsvcs/Event_Service/Event_Channel.cpp: - Adapted all the code to use the new time structures. - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/tests/EC_Multiple/Makefile: - * orbsvcs/tests/Event_Latency/Makefile: - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Simple_Naming/Makefile: - * orbsvcs/Event_Service/Makefile: - * orbsvcs/Naming_Service/Makefile: - * orbsvcs/Scheduling_Service/Makefile: - * orbsvcs/Dump_Schedule/Makefile: - Updated dependencies. - - * docs/releasenotes/ec.html: - Updated documentation for this release. - -Tue Feb 17 07:40:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/any.cpp: Added a "return *this" to operator= to stop certain - compilers from complaining. Thanks to Andy for fixing this. - -Tue Feb 17 04:08:11 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp (DRV_cpp_init): Setting the - CPP_PATH has been causing a lot of nasty trouble on NT. I - changed this function to allow overwriting the internal c++ - compiler location at run time using CPP_LOCATION. If someone - forgets to set the CPP_PATH when compiling tao_idl, one can - make tao_idl work by defining this environment variable to - something like: - - set CPP_LOCATION="C:/Program Files/DevStudio/VC/BIN/CL.exe" - - Notice that CPP_LOCATION _must_ be a full pathname of the c++ - compiler. - -Tue Feb 17 00:56:08 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/tests/CosPropertyService/main.cpp (main): Added some - more testing for Any in and out of Hash Table. - -Mon Feb 16 18:01:23 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO version 0.1.3, released Mon Feb 16 18:01:23 1998. - -Mon Feb 16 18:00:15 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * release.pl: Changed C++ comment leaders to Perl comment leaders. - -Mon Feb 16 17:51:15 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp : Added -s option to use the - NamingService. Default doesn't use NamingService. - -Mon Feb 16 17:38:15 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/iioporb.cpp: Made sure to count separators when allocating - space for the IOR. This corrected ABW errors in purify. - - * tao/connect.cpp: Explicitly set the buffer when being purified - to avoid complaints. - -Mon Feb 16 17:22:15 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Makefile: Changed LDFLAGS to link orbsvcs - library.Now uses the Naming service. - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Added code to register - IDL_Cubit/cubit_factory name with the naming service. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Added a -s flag to use the - NamingService to resolve the cubit_factory flag. It still has the - commandline IOR and -f ior_file options. - -Mon Feb 16 13:29:31 1998 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/poa.cpp: Added SCE_HAS_TEMPLATE_TYPEDEFS_CHAR guards - around ACE_OS:strlen calls for WChar(s). - * tao/default.bld, tao.bld: Update VxWorks GHS Build files. - -Mon Feb 16 12:24:04 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.h (needed.): Added missing member - variable. Things now compile. - -Mon Feb 16 10:18:25 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/poa.cpp (decode_string_to_sequence): moved declaration of - local "i" outside of loop because it is used after the loop. - - * orbsvcs/Event_Service/RT_Task.cpp (synch_threads): try two - fallback strategies if the task activiation fails: - ACE_SCHED_OTHER scheduling class with requested priority, then - ACE_SCHED_OTHER scheduling class with minimum thread priority. - Thanks to Bob Olson <olson@mcs.anl.gov> for reporting the - problem in Irix, which doesn't have a thread priority of 0 - with ACE_SCHED_OTHER. - - * tao/corbacom.h (CORBA_SEQUENCE): replaced CORBA::B_FALSE with 0 - because some compilers, such as egcs, can't handle its use before - definition below in class CORBA. Thanks to Todd Pack - <todd@rwii.com> for reporting this. - - * tao/giop.cpp (TAO_GIOP_message_name): cast quotient of sizeof's - to int to avoid signed/unsigned comparison. - - * tao/interp.cpp (calc_nested_size_and_alignment,private_size, - private_alignment): qualified TC_KIND_COUNT with CORBA::, - so that the file-scope TC_KIND_COUNT isn't used in the - comparison. - -Mon Feb 16 10:14:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_array.cpp: - The _free method was emitted in the .i file, but it was not - declared inline. Thanks to Michael Kircher (mk1@cs.wustl.edu) - for reporting this one. - -Mon Feb 16 02:34:24 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/CosPropertyService_i.cpp: Defined some of the - functions for the TAO_PropertySet class. - - * orbsvcs/orbsvcs/CosPropertyService_i.h: Defined the classes for - implementing the CosPropertyService for TAO. - - * orbsvcs/tests/CosPropertyService/Makefile: Added this - Makefile ( Makefile for making test program for the - PropertyService ) - - * orbsvcs/orbsvcs/CosProperty_Hash.cpp: Added this file. - - * orbsvcs/orbsvcs/CosProperty_Hash.h (Table): Added this - file. This contains the classes for maintaining Hash Table for - storing the PropertySets. - - * orbsvcs/tests/CosPropertyService/main.cpp (main): Added this - test file for CosPropertyService - - -Sun Feb 15 20:12:00 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/poa.{h,cpp}: Heavily modified several routines to correct - problems with the notion of what, exactly, an object key really - is. Some were treating it as simply an octet sequence, others as - a zero-terminated string (C-style), while others as a sequence of - octets which must be terminated by a zero. - - Object keys and IDs are now stored canonically as opaque octet - sequences, and two new conversion routines - (encode_sequence_to_string and decode_string_to_sequence) have - been created to convert between these octet sequences and C-style - strings. - - * tao/iioporb.cpp (object_to_string): Modified to utilize the new - encoding routines to convert from octet sequences to printable - strings. - - * tao/{tao_internals,orbobj}.cpp: Added explicit inclusion of - Object_Manager.h. - -Sun Feb 15 16:15:49 1998 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/Param_Test/options.cpp (parse_args): Changed the -f option - to read the servant-IOR from a file. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the -f - <cubit_factory_key> to -f <cubit_factory_ior_file>. Reads the ior - from that file. - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp : Added -o <ior_output_file> - option to output the cubit factory ior to a file. - -Sat Feb 14 22:39:46 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * orbsvcs/tests/Logger/clnt.cpp (init): Added negative test case - of name not found when calling the naming service' resolve() - method. - -Fri Feb 13 19:37:01 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Changed char buf[BUFSIZ] - to char buf[ACE_MAX_DGRAM_SIZE] to make sure we don't overflow - the buffer! - -Fri Feb 13 18:18:54 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Makefile: - * tests/Thruput/TAO/client.cpp: - * tests/Thruput/TAO/Makefile: - * tests/Thruput/TAO/server.cpp: - * tests/Thruput/TAO/ttcp_i.cpp: - * tests/Thruput/TAO/ttcp_i.h: - * tests/Thruput/TAO/utils.cpp: Made changes to use the new POA. - -Fri Feb 13 12:56:01 1998 David L. Levine <levine@cs.wustl.edu> - - * release.pl: fixed typo, missing comma between chmod args. - -Fri Feb 13 12:46:26 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.2, released Fri Feb 13 12:46:26 1998. - -Thu Feb 12 21:09:22 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/orbsvcs/AVStreams_i.{h,cpp}: Updated MMDevice and StreamCtrl - -Thu Feb 12 20:55:48 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * tests/AVStreams/client,server: Updated to use the new StreamCtrl, MMDevice etc.. - -Thu Feb 12 11:06:48 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/poaC.i (PortableServer): Moved POA::_nil() definition above - many uses. - -Thu Feb 12 10:21:47 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/TAO/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): added .in () - to objref and cb so that it will compile with g++. - - * tao/Makefile,xdr.{h,cpp},t-xdr.cpp,corba.h: removed xdr files - because they're no longer used. - - * tao/encode.cpp,poa.{h,cpp},poaC.{h,cpp}: replaced wchar_t - with CORBA::WChar. - - * TAO_IDL/ast/ast_generator.cpp,TAO_IDL/be/be_generator.cpp - (create_wstring): use short instead of wchar_t if - ACE_HAS_WCHAR_TYPEDEFS_CHAR. - - * TAO_IDL/be/be_array.cpp (tao_name): changed type of loop index - "i" to unsigned int to avoid signed/unsigned comparison. - - * TAO_IDL/be/be_state_exception.cpp,be_state_structure.cpp (gen_code): - added default case to switch statement, which sets "os" to 0, to - avoid compiler warning about possible unitialized use. - - * tests/POA/Default_Servant/File_i.cpp (lseek): changed type - of "result" to CORBA::Long to avoid signed/unsigned comparison - with -1. Cast it to CORBA::ULong on return. Also, added a - couple of ACE_UNUSED_ARG (env)'s. - - * tests/Param_Test/server.cpp (main): initialize local - "param_test" to 0 to avoid warning about unitialized use. - - * orbsvcs/Scheduling_Service (compute_scheduling): added cast - of impl->tasks () to RtecScheduler::handle_t to avoid signed/ - unsigned comparison. Also, added a bunch of ACE_UNUSED_ARG (env)'s. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (EC_Proxy::push, - Test_ECP::push): changed type of loop index "i" to u_int to - avoid signed/unsigned comparison. Also, added an - ACE_UNUSED_ARG (env). - -Wed Feb 11 11:20:34 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/iiopobj.h,stub.h (operator =): added return type to avoid - compiler warning, and wrapped in ACE_UNIMPLEMENTED_FUNC. - - * tao/corbacom.h: rearranged LongLong typedefs so that they work - with ACE_LACKS_LONGLONG_T. - - * tao/Timeprobe.cpp (print_times): divide by 1000u instead of 1000 - to allow overload resolution of ACE_U_LongLong::operator /. - - * tao/orb_core.cpp: removed break's after return's to avoid compiler - warnings. - - * tao/typecode.cpp: wrapped some break and return statements with - ACE_NOTREACHED to avoid compiler warnings. - - * tao/debug.cpp (use_debug_stream_to_get_rid_of_warning): changed - to return debug_stream instead of (not) using it. ghs warned that - "controlling expression is constant" the way things were. - - * TAO_IDL/Makefile: added default_vxworks target to prevent make - warning. - -Tue Feb 10 17:39:13 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/Scheduling_Service/SchedEntry.cpp - orbsvcs/Scheduling_Service/DynSched.{cpp,h} - orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h} : - - fixes to priority assignment, timeline generation methods - (fourth cut - timelines being generated) - -Tue Feb 10 11:19:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Fixed several problems detected by SGI/C++ compiler. - -Mon Feb 9 20:00:55 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/Scheduling_Service/SchedEntry.{cpp,h,i} - orbsvcs/Scheduling_Service/DynSched.{cpp,h,i} - orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h} : - - finished timeline coding, got a clean source compile - (third cut - still a work in progress) - - -Mon Feb 9 12:59:29 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/RtecEventComm.idl: - * orbsvcs/Event_Service/Event_Channel.cpp: - * orbsvcs/Event_Service/Event_Channel.i: - * orbsvcs/orbsvcs/Event_Utilities.cpp: - * orbsvcs/orbsvcs/Event_Utilities.i: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Added comments to the EventComm module and a new field (ttl_: - Time-to-Live) to the event data structure. - - * orbsvcs/orbsvcs/Channel_Clients_T.cpp: - * orbsvcs/orbsvcs/Channel_Clients_T.h: - * orbsvcs/orbsvcs/Channel_Clients_T.i: - I finally needed the TIE classes for PushConsumers and - PushSupplier, they work OK now. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/README: - * orbsvcs/tests/EC_Multiple/Makefile: - * orbsvcs/tests/Makefile: - Added a simple example on how to connect multiple event - channels. - - * orbsvcs/Event_Service/Event_Service.cpp: - * orbsvcs/Naming_Service/CosNaming_i.cpp: - Added and/or fixed some debug messages. - - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - Reduce default output level. - - * tao/corba.h: - Fixed TAO_RETHROW_RETURN macro. - - * docs/releasenotes/ec.html: - * docs/releasenotes/index.html: - Split the Event Channel release notes to a separate file, the - index.html was growing without control. - -Mon Feb 9 09:15:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * docs/releasenotes/orbcore.html: - Fixed reference to TAO-Install.html, thanks to Sreedharani - <dharani@sutmyn.com> for reporting this one. - -Sun Feb 08 21:41:24 1998 David L. Levine <levine@cs.wustl.edu> - - * tao_util.cpp (run): added return 0 statement at end. - -Sun Feb 8 19:48:33 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/Scheduling_Service/SchedEntry.{cpp,h,i} : Moved the - Classes for the various scheduling entries out of the - ACE_Scheduler class and into a separate set of files - (first cut - still a work in progress) - - * orbsvcs/Scheduling_Service/DynSched.{cpp,h,i} : Completed - merges of dispatches, and a thorough review of priority - assignment (second cut - still a work in progress) - - * orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h} : - Completed merges of dispatches, and a thorough review of the - modified strategies (second cut - still a work in progress) - -Fri Feb 6 15:31:17 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_array.cpp: - Fixed several problems with the array code generation, - including: - + The name for the array TypeCode and its alias TypeCode were - clashing. - + Several inconsistencies in the declaration and definition of - operations for _var, _out and _forany parameters. - Thanks to James Mason <jmason2@mdc.com> for reporting this. - - * TAO_IDL/be/be_type.cpp: - Increased the buffer size for some names to the "standard" - NAMEBUFSIZE. - - * docs/releasenotes/orbcore.html: - The "Last Updated" field is set by CVS now. - - * tao/interp.cpp: - * tao/encode.cpp: - Removed obsolete comments. - -Wed Feb 4 12:30:43 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/objkeyC.h: Modified so that the namespace mapping for the - TAO module uses the alternative "underbar" mapping, i.e., rather - than TAO::ObjectKey, it's now TAO_ObjectKey. The scoping - operation is now performed in tao.h. - - * tao/tao.h: This now contains a class (used as a namespace) in - which components which *should* be in the TAO:: namespace are - typedef'd. - - * tao/tao_util.*: Moved TAO_ORB_Manager into here. - - * tao/stub.h: - * tao/servant_base.cpp: - * tao/poa.h: - * tao/poa.cpp: - * tao/orbobj.h: - * tao/orbobj.cpp: - * tao/orb_core.h: - * tao/orb_core.cpp: - * tao/object.h: - * tao/object.cpp: - * tao/iiopobj.h: - * tao/iiopobj.cpp: - * tao/corba.h: - Changed references of TAO::ObjectKey to TAO_ObjectKey. - - * tao/Makefile: Adjusted build tao_util.so rather than tao.so. - -Mon Feb 2 22:51:03 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * rules.tao.GNU (TAO_IDLFLAGS): - * orbsvcs/orbsvcs/Makefile (TAO_IDLFLAGS): Changed IDLFLAGS to - TAO_IDLFLAGS to avoid naming conflict with IDLFLAGS for other - IDL compilers. - -Mon Feb 2 21:41:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: Added Win32 IDL flags for portability. - -Mon Feb 02 18:50:19 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory.h: Added the - TAO_ORBSVCS_Export directive to class Scheduler_Factory. - - * TAO_IDL/GenExportH.BAT: New Windows batch file which generate - an header file with approriate exporting flags defined. See - this file for details. - - * orbsvcs/orbsvcs_export.h: New file that defines the Export - directives for Win32. Generated by GenExportH.BAT in TAO_IDL/. - - * orbsvcs/orbsvcs/orbsvcs.dsw: Added new project file for DLL - version of orbsvcs library. - - * orbsvcs/orbsvcs/orbsvcs.dsp: New project file for DLL version of - orbsvcs library. - - * orbsvcs/orbsvcs/orbsvcs_lib.dsp: Changed the tao_idl custom - build commands so it builds files for both LIB and DLL - libraries. - - * orbsvcs/orbsvcs.dsw: - * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: - * orbsvcs/Event_Service/Event_Service.dsp: - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: Changed to - use DLL version of orbsvcs library. - -Mon Feb 2 18:08:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/sequence_T.cpp: - Fixed problems in memory reallocation for - TAO_Unbounded_Sequence<T>::operator=(). - -Mon Feb 2 13:47:23 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * tao/Makefile: Renamed tao_util to tao. Ditto for the .h and .cpp - files. Also renamed the TAO_Util::ORB_Manager class to TAO_ORB_Manager. - -Mon Feb 2 13:47:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_args.cpp: - Fixed the mapping for strings as INOUT parameters. - -Mon Feb 02 08:59:57 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/tao_util.cpp (init): added .in () to poa_object in call to - _narrow, so that it will compile with g++. - - * orbsvcs/tests/Logger/Makefile, - orbsvcs/orbsvcs/Makefile, - tests/POA/FindPOA/Makefile, - tests/POA/{Default,Generic}_Servant/Makefile, - tests/POA/NewPOA/Makefile, - tests/Cubit/TAO/{IDL,MT}_Cubit/Makefile, - tests/Param_Test/Makefile, - tests/Thruput/TAO/Makefile: - inserted (or moved) TAO_ROOT definition to top of file. - -Sat Jan 31 01:08:19 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * docs/releasenotes/index.html: - The IDL compiler has support for NT DLLs already, I moved the - tiem from the "issues" to the "new features" list. - - * docs/index.html: - * docs/compiler.html: - Added documentation for TAO IDL compiler behavior and options. - - * TAO_IDL/be/be_init.cpp: - Print a reasonable version for the compiler back-end, it is no - longer the Sun example BE and the version is (around 0.1.0). - -Fri Jan 30 16:27:47 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.1, released Fri Jan 30 16:27:47 1998. - -Fri Jan 30 15:35:06 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_args.cpp: - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/be/be_enum.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_interface_fwd.cpp: - * TAO_IDL/be/be_module.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_typedef.cpp: - * TAO_IDL/be/be_union.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be/be_visitor_sequence.cpp: - * TAO_IDL/include/idl_global.h: - * TAO_IDL/util/utl_global.cpp: - Added support for export macros and a user defined include file, - this was needed to support DLL's in NT. - - * tests/Cubit/TAO/IDL_Cubit/Makefile: - Removed a broken test target; thanks to Michael Kircher - <mk1@cec.wustl.edu> - -Fri Jan 30 15:30:30 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/Scheduling_Service/DynSched.{cpp,h,i} : The Dynamic - Scheduler Implementation (first cut - still a work in progress) - - * orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h,i} : The - strategized scheduler subclass and the corresponding strategies - (first cut - still a work in progress) - -Fri Jan 30 15:10:01 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * README: Updated the documentation to reflect the latest changes - to TAO. Thanks to Hans Rohnert for noticing this. - -Fri Jan 30 14:38:30 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/orbsvcs/util.cpp : Added TAO_ORB_Manager, a simple - helper class that does simple ORB and POA initialization and - object activation etc. - - * orbsvcs/orbsvcs/util.h : Added file - -Fri Jan 30 13:15:10 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * Makefile (RELEASE_FILES): Added rules.tao.GNU and taoconfig.mk - to this...missing in release 0.1.0. Thanks to Mark Boriack of - SAIC for reporting this. - -Fri Jan 30 11:55:38 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs_lib.dsp: Logging service was somehow - missing from the library. - - * orbsvcs/tests/Logger/Logger.dsw: - * orbsvcs/tests/Logger/{server,client}.dsp: Added new project file. - - * orbsvcs/tests/Logger/svr.cpp: - * orbsvcs/tests/Logger/clnt.cpp: - * orbsvcs/tests/Logger/logger_i.h: - * orbsvcs/tests/Logger/logger_i.cpp: Changed <iostream.h> to - "ace/streams.h". We should always use "ace/streams.h". - -Fri Jan 30 11:42:10 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * docs/releasenotes/orbcore.html: Updated to reflect - characteristics of the latest release as well as what we have to - look forwrd to. - - * announcement: Added this boilerplate for release announcement. - Actually, it's a sciprt which can be piped to something like - 'mailx'. - -Fri Jan 30 01:55:59 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Cubit/COOL/IDL_Cubit/README: - * tests/Cubit/COOL/IDL_Cubit/Makefile: - * tests/Cubit/COOL/IDL_Cubit/client.cpp: - * tests/Cubit/COOL/IDL_Cubit/client.h: - * tests/Cubit/COOL/IDL_Cubit/cubit.idl: - * tests/Cubit/COOL/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/COOL/IDL_Cubit/cubit_i.h: - * tests/Cubit/COOL/IDL_Cubit/server.cpp: - * tests/Cubit/COOL/IDL_Cubit/tmplinst.cpp: Added test code for - Chorus COOL ORB, for the IDL Cubit example. - - * tests/Thruput/COOL/README: - * tests/Thruput/COOL/Makefile: - * tests/Thruput/COOL/client.cpp: - * tests/Thruput/COOL/server.cpp: - * tests/Thruput/COOL/ttcp.idl: - * tests/Thruput/COOL/ttcp_decl.h: - * tests/Thruput/COOL/ttcp_i.cpp: - * tests/Thruput/COOL/ttcp_i.h: - * tests/Thruput/COOL/utils.cpp: Added test code for Chorus COOL - ORB, for the Thruput example. - - * tests/Thruput/TAO/ttcp_decl.h: Make declarations of variables - consistent with definition. Changed srcDataSize from CORBA::ULong - to unsigned long. - - * tests/Thruput/TAO/Makefile: Updated to use rules.tao.GNU. and - taoconfig.mk. This was suggested by a change Carlos O'Ryan did to - the long lost Thruput_test directory. - -Thu Jan 29 23:10:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/clnt.cpp (CosNaming_Client): - Reordered the constructor initializations to match the class - definition. - -Thu Jan 29 20:10:33 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO version 0.1.0, released Thu Jan 29 20:10:33 1998. - -Thu Jan 29 15:58:01 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tests/Param_Test/run_test: Allowed specification of the - invocation style (sii vs. dii) using a shaell variable. - - * docs/releasenotes/{index,orbcore}.html: Updated to include some - details regarding this release. These files are behind the - release, but I'm opting to get the release out and update these - files ex post facto. - - * release.pl: Updated this script so that it can update different - levels of the release version number based on the setting of the - RELEASE_TYPE environment variable. - - * Makefile: Added release.chk to the list of files going into the - release. This file is our checklist for things that have been - tested and work leading up to a release. Check in here for - details on how a test has worked on a platform. - - * tests/POA/FindPOA/FindPOA.cpp (main): Added missing double-quote - in ACE_DEBUG(). - -Thu Jan 29 15:55:25 1998 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/tests/Logger/clnt.h: - * orbsvcs/tests/Logger/clnt.cpp: - We need to keep a reference to the ORB is some place. - -Thu Jan 29 14:59:01 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tests/POA/On_Demand_Activation/server.cpp: - * tests/POA/Generic_Servant/MyFooServant.cpp: - * tests/POA/Explicit_Activation/server.cpp: - * tests/POA/Default_Servant/server.cpp: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - _var's passed as pointers need to use the .in() method. - - * tests/Param_Test/run_test: Added a longer delay, changed port #, - and made all output be prefaced by either "SERVER: " or - "CLIENT(<type>): ". - - * tao/poa.cpp: Re-ordered member initializers to de-warn g++. - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: _narrow needs to be - passed a .in() from _vars (you get a lollipop if you understand - that comment). - - * docs/poa_migration.html: Added this file to start the ball - rolling. Right now it's poorly-formatted and a rehash of some - emails, but it will be refined and grow over time. - -Thu Jan 29 12:33:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/clnt.cpp: - * orbsvcs/tests/Simple_Naming/clnt.h: - Simple Naming simply tries to locate the Naming Service, it is - useful to test the TAO facilities (multicast, environment, - command line) for that purpose. - - * orbsvcs/tests/Logger/clnt.cpp: - * orbsvcs/tests/Logger/clnt.h: - We do not attempt to use nested context unless requested by the - user, the reason is that it is failing consistently right now. - -Thu Jan 29 10:34:08 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_operation.cpp: Some bug fixes made in the pre-POA - TAO version were accidentally overwritten during the POA to main - branch merge. This has been fixed. - - * tao/{encode, decode}.cpp: Fixed the terrible alignment problems - that we were having on VxWorks for marshaling structures. At this - time, the fix has been made only to "structs". These problems were - being caused because the C++ compiler on NT/VxWorks was laying out - structures on a 4 byte aligned address. If a "double" is the very - first field, it will allocate the double at the 4 byte aligned - address even if a double is 8 byte aligned. The fix is to make - sure that when we align, we must take into account the start - address of the structure as well as the address at which the field - is laid out. - -Thu Jan 29 10:29:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Makefile: - Compile <tests> before <orbsvcs>, if the first one fails the - second will sure fail also. - - * tests/Cubit/TAO/MT_Cubit/Makefile: - Updated comments and reformated some unreadable things. - -Wed Jan 28 15:35:37 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Makefile: - * tests/Cubit/Makefile: - Fixed Makefiles so we can invoke the top level Makefile safely. - -Wed Jan 28 13:45:16 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/POA/Default_Server/{client,server}.dsp: Updated project - files. - - * tests/Cubit/TAO/MT_Cubit/client.dsp: Added CubitS.cpp to - client.dsp. - - * tests/POA/Generic_Servant/{client,server}.dsp: Added idl - compilation rules. - - * tests/Parem_Test/{client,server}.dsp: Updated idl file - compilation rules. Added Parem_TestS.cpp to client project. - -Wed Jan 28 14:25:29 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Param_Test/run_test: Updated to utilized the new '-o' - option on the server side and for the clients to get the IOR from - that file. - - * tests/Param_Test/server.cpp: Added '-o' option to specify the - name of a file in which the server can deposit the IOR which the - client should use. - - * tests/Param_Test/options.cpp: Updated the options string (forgot - it last time through). - -Wed Jan 28 13:56:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/POA/Makefile: - * tests/POA/Default_Servant/Default_Servant.dsw: - * tests/POA/Default_Servant/File.idl: - * tests/POA/Default_Servant/File_i.cpp: - * tests/POA/Default_Servant/File_i.h: - * tests/POA/Default_Servant/Makefile: - * tests/POA/Default_Servant/client.cpp: - * tests/POA/Default_Servant/client.dsp: - * tests/POA/Default_Servant/server.cpp: - * tests/POA/Default_Servant/server.dsp: - * tests/POA/Default_Servant/svc.conf: - Added some missing tests that were in the POA branch. - -Wed Jan 28 13:35:11 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Param_Test/server.cpp: Changed so that the IOR is printed - ALL the time. - - * tests/Param_Test/options.*: Updated to work with POA. Got rid - of host and port arguments and added an IOR argument. - - * tests/Param_Test/driver.*: Updated to work with POA. - - * tests/Cubit/TAO/IDL_Cubit/clnt.h: Added emacs mode setting at - beginning. - - * tao/optable.h: Cleaned up some formatting in header file. - -Wed Jan 28 13:19:55 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/README: - Update README on how to run the test. - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp: - Print the IOR always, it is neded to run properly. - - - * tests/Cubit/TAO/MT_Cubit/tmplinst.cpp: - * tests/Cubit/TAO/IDL_Cubit/tmplinst.cpp: - Instantiate on CORBA::Long instead of a plain long. - - * orbsvcs/tests/Logger/svr.cpp: - Cosmetic changes on debug messages. - -Wed Jan 28 11:20:38 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/Logger.idl: - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Logger/logger.idl: - Moved a prototype logger.idl to the orbsvcs library, eventually - this will become a full blown service in the TAO architecture. - - * orbsvcs/tests/Logger/clnt.cpp: - * orbsvcs/tests/Logger/clnt.h: - * orbsvcs/tests/Logger/logger_i.cpp: - * orbsvcs/tests/Logger/logger_i.h: - * orbsvcs/tests/Logger/svr.cpp: - Ported the experimental logging server to POA. - - * orbsvcs/Event_Service/Event_Service.cpp: - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: - Fixed minor problem with call using a _var as input parameter - -Wed Jan 28 09:14:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/POA/Makefile: - Fixed order in the DIRS variable, Generic_Servant goes first - since it builds a library needed in some of the other tests. - - * tests/POA/On_Demand_Activation/Makefile: - * tests/POA/Explicit_Activation/Makefile: - Fixed order for libraries, -lserver uses -lTAO so it must go - first. - - * orbsvcs/orbsvcs/Makefile: - Another case of misplaced includes. - - -Tue Jan 27 17:29:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Makefile: - Reorder includes to avoid evil definition for the IDL compiler. - -Tue Jan 27 16:16:11 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Param_Test/server.cpp: Added ACE_UNUSED_ARG() inside the - TAO_CATCH() macro scope to de-warn on g++. - - * tests/Param_Test/param_test_i.cpp (Param_Test_i::CTOR): Removed - argument name to de-warn on g++. - - * tests/Cubit/TAO/IDL_Cubit/{svr,clnt}.cpp: Use in() method on - _var class to explicitly get an _ptr. - - * tao/objtable.cpp (find): Changed conditional expression to not - rely on implicit conversion from _var to _ptr type. - - * tao/giop.cpp: Updated "illegal message" error message to - actually print out the type of the offending message. This also - caused the addition of a helper function--TAO_GIOP_message_name(). - -Tue Jan 27 15:06:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/Makefile: - * TAO_IDL/be/Makefile: - * orbsvcs/Dump_Schedule/Makefile: - * orbsvcs/Event_Service/Makefile: - * orbsvcs/Naming_Service/Makefile: - * orbsvcs/Scheduling_Service/Makefile: - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/tests/Event_Latency/Makefile: - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Simple_Naming/Makefile: - * tao/Makefile: - * tests/Cubit/TAO/IDL_Cubit/Makefile: - * tests/Cubit/TAO/MT_Cubit/Makefile: - * tests/POA/Explicit_Activation/Makefile: - * tests/POA/FindPOA/Makefile: - * tests/POA/Generic_Servant/Makefile: - * tests/POA/NewPOA/Makefile: - * tests/POA/On_Demand_Activation/Makefile: - * tests/POA/RootPOA/Makefile: - * tests/Param_Test/Makefile: - Updated dependencies, apparently they were not properly - generated last time; they worked for Solaris/CC, but not in many - other platforms. - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/tmplinst.cpp: - * orbsvcs/orbsvcs/TAO_IDL_templates.cpp: - It seems that tmplinst.cpp is becoming our standard for template - instantiation files. - - * tao/poa.h: - No need to include poa_T.h, it is not used in any place (yet), - and it produces many warnings on IRIX machines. - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: - Use a _var for the output sequence of RT_Infos. - - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Fixed some misuses of _var, thanks to Chris Cleeland for - bringing those to my attention. - - * release.pl: - Added CVS id. - -1998-01-27 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * tests/POA/FindPOA:Added comments to all files - * tests/POA/On_Demand_Activation: Added comments to all files - * tests/POA/Generic_Servant: Added comments to all files - -Mon Jan 26 21:29:24 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/compat/objbase.h: don't #define NOERROR on DIGITAL_UNIX, - or on any other platform that already has it #defined. - Thanks to Oliver Kellogg <Oliver.Kellogg@vs.dasa.de> for - reporting this. - - * tao/corbacom.h: use ACE_INT32, etc., for defining Long, etc. - -Mon Jan 26 16:15:18 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/giop.cpp (read_buffer): Modified this to detect ECONNRESET - and report is as a normal EOF occurrence. This will hopefully - eliminate a disturbing (but innocuous) message on NT. Thanks to - Frank H. at SAIC for reporting this. - - * tests/Param_Test/run_test: Added this script to run the server - and client with all arguments. - -Mon Jan 26 16:02:51 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.h: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/server.h: - It compiles now, but it won't run. - -Mon Jan 26 15:29:37 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/ (main): - Added simple client/server to test AVStreams - -Mon Jan 26 15:23:54 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/orbsvcs/AVStreams_i.cpp: - Added dummy implementation for VDev, MMDevice, and StreamEndPoint - classes - -Mon Jan 26 15:01:49 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> - - * tests/POA/RootPOA.cpp: Added Comments - -Mon Jan 26 14:31:46 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * tests/POA/FindPOA.cpp: Added CVS ID - -Mon Jan 26 00:57:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/connect.cpp (open): Conditionally compile the code for - TCP_NODELAY only if this macro is present. Thanks to Edgar - Villanueva <edgarvil@ix.netcom.com> for reporting this. - -Sun Jan 25 14:30:04 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/client.dsp: Added a missing source. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Changed to - initialize Cubit_Client.cubit_key_ from heap. It should use - memory either from stack or heap, but never both. - -Sat Jan 24 21:55:55 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/orbsvcs/{AVStreams_i.h, AVStreams_i.cpp}: - Made changes for new POA - -Sat Jan 24 21:46:23 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/orbsvcs/AVStreams.idl: - Changed type key to be a string, rather than a sequence<octet>, which - breaks tao_idl! - -Sat Jan 24 21:01:00 1998 <coryan@MILONGA> - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: - * orbsvcs/Event_Service/Event_Service.cpp: - * orbsvcs/Naming_Service/Naming_Service.cpp: - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Fixed several minor error and sources of non-complaince. - - * TAO_IDL/tao_idl.dsp: - * tao/TAO.dsp: - CVS does not merge binary files properly. - -Sat Jan 24 15:51:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/objtable.cpp: - Another merge problem. - -Sat Jan 24 11:20:42 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Added latest changes by Irfan. - - Sat Jan 24 03:04:51 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/poa.cpp (id_to_reference): Reimplemented this method so that - it does not use id_to_servant and servant_to_reference combo. - This is necessary since id_to_reference may be used in a - MULTI_ID mode. - - * tao/poaS: Added explicit copy and destroy to all collocated - policies. This will help avoid the inheritance via dominance - warnings. - -Sat Jan 24 11:08:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be_include/be_visitor.h: - The forward declaration of TAO_OutStream was missing; I guess it - was some slopiness in the merge. - -Sat Jan 24 10:30:40 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * The POA branch is merged back into the main trunk. For the - record we reproduce the ChangeLog in the branch. - - * ============ - * ============ Start of POA branch changes. - * ============ - - Fri Jan 23 17:13:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Merged changes from main_to_poa_merge_11 up to - main_to_poa_merge_12 - - Fri Jan 23 17:08:45 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/Event_Service/Event_Channel.h: - * orbsvcs/Event_Service/Event_Channel.i: - Fixed problem with Event Channel, it was using _this - unproperly. - - Fri Jan 23 16:49:19 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Param_Test/{server.cpp,param_test_i.h,param_test_i.cpp}: - Updated to compile with new POA. - - * tests/Param_Test/Makefile: Moved LDFLAGS up, included the - rules.tao.GNU, and removed the dependencies which were causing me - no end of grief. - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): Changed the check on - return value from resolve_initial_references() to use the - CORBA::is_nil() check. - - Fri Jan 23 16:43:12 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: - * orbsvcs/Event_Service/Event_Channel.cpp: - * orbsvcs/Event_Service/Event_Channel.i: - * orbsvcs/Event_Service/Event_Service.cpp: - * orbsvcs/Naming_Service/CosNaming_i.cpp: - * orbsvcs/Naming_Service/CosNaming_i.h: - * orbsvcs/Naming_Service/Naming_Service.cpp: - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.h: - "Ported" the orbsvcs and the Event_Latency test to POA, with - little success though, things will compile and it seems that the - Naming_Service and Scheduling_Services run properly, but - Event_Service does not. - We use a nested POA with "PERSISTENT" lifespan policy because it - is easier to set an enviroment variable or command line to the - NameService IOR. - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp: - Removed some extra (and unwanted) code. - - Fri Jan 23 14:47:18 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/POA/{FindPOA,RootPOA,NewPOA}/Makefile: Added - -L$(TAO_ROOT)/tao to LDFLAGS. - - * tests/POA/NewPOA/NewPOA.cpp: - * tests/POA/RootPOA/RootPOA.cpp: - * tests/POA/FindPOA/FindPOA.cpp: - Used the ::in() method as first argument to _narrow() calls. - - * tests/{Makefile,README}: Updated for new tests. - - * tao/poa.cpp: Added explicit template instantiations. - - Fri Jan 23 14:30:19 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/poa.h: - * tao/poa.cpp: - * tao/servant_base.cpp: - _this() was using the object id for the current servant in *all* - objects, now it only does so for the servant invoked. - - * tests/Cubit/TAO/IDL_Cubit/Makefile: - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - * tests/Cubit/TAO/IDL_Cubit/clnt.h: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.h: - * tests/Cubit/TAO/IDL_Cubit/svr.cpp: - Ported the Cubit test to POA, including some funky persistent - policies to simplify its use. - - Sat Jan 24 01:24:24 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/poa.cpp (destroy_i): Changed etherealize objects to correct - report remaining_activations. - - Fri Jan 23 10:55:40 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/objtable.cpp: - Linear object tables were not using the initial size to - pre-allocate a buffer. - - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_state_argument.cpp: - Fixed the mapping for native as OUT or INOUT parameters, also - fixed the name for the _dispatch() method. - - Fri Jan 23 01:12:28 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/poaS.cpp: Added ACE_NESTED_CLASS macro to constructors. - - Thu Jan 22 23:57:31 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/poa.cpp (wstring_to_ObjectId): Stuck the CORBA::WChar type - in parens for sizeof...g++ likes it better that way. - - Fri Jan 23 00:14:03 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/poa: - - - Added support for transient and persistent POAs by changing - the ObjectKey. From now on, each key will contain an - identifier that will indicate whether the key came from a - persistent or transient POA. That way the dispatch method can - decide the value of the activate_it flag while finding the - POA. If the key is from a persistent POA, the activate_it - flag will be true, else the flag will be set to false. - - - All operations on the parent POA will check for a valid parent - before executing the call. Remember that the RootPOA does not - have a parent POA. - - - Temporarily added export macros to the POA implementation - classes, so that the implementations can directly be debugged - (rather than going through the stubs/skeletons). These should - be removed once the debugging process is over. - - - Moved the registeration of the POA with its manager from the - create_POA method to the POA constructor. This is to insure - that the registration of the RootPOA is not "missed" since the - RootPOA is not created via the create_POA call. Similarly, - moved the removal of the POA from its manager from the destroy - method to the POA destructor. - - - TAO_POA::delete_child and TAO_POA_Manager::remove_poa were - changed such that when the object is closing down, we are - currently iterating over our poa collection and there is not - need to remove the item from our collection. - - - Changed use of substr from starting_at/ending_at to - starting_at/now_many. - - - Methods that return duplicated values/objects, must first be - assigned to a _var variable before being used. This will - avoid memory leaks. - - - For find methods, always use != -1 for success. - - - Added code to create_POA_i and find_POA_i_optimized to check - when topmost_poa_name == this->name_. - - - Added the concept of creation time to a POA. This way when a - transient POA gets a object key from a previous incarnation, - the OBJECT_NOT_EXISTS exception can be thrown. - - - Added a locator cookie field to TAO_POA_Current to keep track - of the cookie produced by the servant locator. - - - Made all methods virtual. - - - Renamed active_object_table to active_object_map. - - - Added pre_invoke and post_invoke methods to setup the - necessary state before doing the upcall to the servant. - - - Changed locate_servant to return 0 for success and -1 for - failure instead of trying to return a servant. This change is - necessary since there may not be a servant available but there - may be default servants or servant managers that could fill in - for the servant. Currently the locate_servant method takes an - optimistic approach to return TRUE when the servant was not - found but a default servant or servant manager was registered - with the POA, hoping the default servant or servant manager - will be able to fill in when the real request arrives. - - - Add a validity checks for POA policies. - - - Added support for servant managers (both servant locators and - servant activators), default servants and DSI. - - * tao/poaC.h: Added DynamicImplementation class to the - PortableServer. - - * tao/poaS: Changed dispatch to _dispatch. - - * tao/servant_base: - - - Added TAO_DynamicImplementation class - (a.k.a. PortableServer::DynamicImplementation). Users will - inherit from this to implement DSI. - - - Added prefix _ to all methods names in the ServantBase class - to avoid potential crashes with user specified method names. - - - Made TAO_POA a friend of ServantBase. - - * tao/connect.cpp (handle_locate): Changed to use latest version - of TAO_POA::locate_servant. - - * tao/servant_base.cpp (_default_POA): Changed to use - TAO_ORB_Core_instance()->root_poa() instead of - TAO_ORB_Core_instance()->orb()->resolve_initial_references("RootPOA"). - - * tao/poaC: Added string_to_ObjectId and ObjectId_to_string - methods to PortableServer. - - * tao/poa.cpp (TAO_Adapter_Activator::unknown_adapter): Changed - the implementation of this object so that it does not depend on - being friends with the POA and the POAManager. Initially, this - was done to avoid recursive locks. However, since user may want - to write their own implementations, recursive locks were deemed - necessary. - - * tao/default_server.cpp (create_poa_lock): Changed implementation - to produce ACE_Recursive_Thread_Mutex instead of - ACE_Thread_Mutex. - - * tests/POA/RootPOA/RootPOA.cpp (main) and - tests/POA/NewPOA/NewPOA.cpp (main): Added code to destroy the - rootPOA. I am not sure this is the responsibility of the user - to destroy the rootPOA since they never really created it. The - responsibility probably lies with the ORB, but since the spec - seems neutral about this, it is ok for now. - - * tao/object.i (CORBA_Object::Release): We must delete the object - when the parent_ refcount goes to zero. - - Thu Jan 22 16:56:32 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be_include/be_interface.h: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - Fixed some relative name problems for the server header file. - - * TAO_IDL/be/be_visitor_sequence.cpp: - * TAO_IDL/be/be_visitor_root.cpp: - * TAO_IDL/be/be_visitor_args.cpp: - Get rid of some "unused arg" warnings. - - Thu Jan 22 15:26:55 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/object.i: CORBA::Object --> CORBA_Object for internal stuff. - - * tao/object.i (CORBA_Object): Re-ordered member initialization to - match declaration order. - - Thu Jan 22 14:40:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/corbacom.h: - Fixed multiple definitions of ORB_var and ORB_out due to a - simplistic merge. - - * TAO_IDL/be/be_interface.cpp: - Generate _find() to locate operations; using just find() is not - complaint. - - Thu Jan 22 10:40:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Merged changes from main_to_poa_merge_10 up to - main_to_poa_merge_11 - - Wed Jan 21 17:35:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp: - Generate CORBA_Object instead of CORBA::Object to keep NT - happy. - - * TAO_IDL/be/be_visitor_args.cpp: - Fixed mapping for strings as arguments, they should always be - char*. - - Mon Jan 19 22:03:38 1998 <coryan@MILONGA> - - * tao/sequence_T.i: - Object_Manager constructor was calling _duplicate(). That is not - the right semantics, and produces a crash when working on an - unitialized buffer. - - * tests/POA/NewPOA/NewPOA.cpp: - * tests/POA/NewPOA/NewPOA.dsp: - Fixed signed/unsigned warning. - - * tests/POA/NewPOA/NewPOA.dsp: - Fixed missing options to find ACE. - - Mon Jan 19 16:36:22 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/iiopobj.h: - * tao/iiopobj.cpp: - Added a missed in action key() method to IIOP_Object. - - * tao/stub.h: - * tao/objkeyC.h: - * tao/object.h: - * tao/object.cpp: - Removed the non-complaint ObjectKey_ptr type. - - Mon Jan 19 16:19:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/deep_free.cpp: - A reinterpret cast was dropping constness also, thanks to Irfan - for pointing this one out. - - Mon Jan 19 15:36:10 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/sequence_T.i: - * tao/sequence_T.cpp: - The last merge was too smart, it kept some changes on this - branch that should have gone away. - - Mon Jan 19 13:58:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be/be_interface.cpp: - Fixed operation table initialization, also called proper - constructor for CORBA::Object in collocated classes. - - * tao/corba.h: - More include reordering. - - * tao/servant_base.h: - The operation table was not properly initialized. - - Mon Jan 19 11:28:47 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Merged changes from main_to_poa_merge_9 up to - main_to_poa_merge_10. - - Sun Jan 18 01:04:22 1998 <coryan@MILONGA> - - * TAO_IDL/be/be_attribute.cpp: - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be_include/be_interface.h: - * tao/servant_base.h: - Added support for collocation in the _narrow method, this - required a complete implementation of _downcast() for each - skeleton. - - Sat Jan 17 20:54:26 1998 <coryan@MILONGA> - - * TAO_IDL/be/be_attribute.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be/be_visitor_sequence.cpp: - More bug fixes in code generation for sequences, attributes, - etc. Most of them were minor inconsitencies. Also fixed - constructors for collocated classes on NT (working around MSVC++ - bug). - - * tao/servant_base.cpp: - * tao/servant_base.h: - Added default implementation for _downcast(), it just works if - downcasting to "Object". - - * tao/sequence_T.cpp: - * tao/sequence_T.h: - * tao/sequence_T.i: - Fixed some problems with managed sequences. - - Sat Jan 17 19:27:12 1998 <coryan@MILONGA> - - * tao/servant_base.h: - * tao/servant_base.cpp: - Added the new _is_a() method on TAO_ServantBase. - - * TAO_IDL/tao_idl.dsp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_string.cpp: - * TAO_IDL/be/be_visitor_args.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be/be_visitor_sequence.cpp: - * TAO_IDL/be_include/be_visitor.h: - * TAO_IDL/be_include/be_visitor_args.h: - * TAO_IDL/be_include/be_visitor_interface.h: - Added a new _is_a to the generated servants, also implemented - the _is_a method on the collocated classes by invoking that - _is_a(). - Added support for attributes in collocated classes, thanks to - Irfan for noticing this. - - Sat Jan 17 15:44:43 1998 <coryan@MILONGA> - - * tao/corba.h: - * tao/iiopobj.cpp: - Fixed undetected inconsistencies in the last merge. - - * tao/objkeyC.cpp: - * tao/objkeyC.h: - * tao/objkeyC.i: - I regenrated from the IDL file to use the new sequences. - - Sat Jan 17 11:49:15 1998 <coryan@MILONGA> - - * Merged changes from main_to_poa_merge_8 to main_to_poa_merge_9. - - Sat Jan 17 00:45:59 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA: Added new tests: Explicit_Activation_POA_Ids and - NewPOA. - - * tao/servant_base.h (TAO_ServantBase): Added a _downcast method - that gets the servant with the correct vtable. Also added a new - class TAO_Local_ServantBase that overwrites _create_stub. - TAO_Local_ServantBase::_create_stub uses a fake key and does not - registration with the default POA. - - * tao/poaS.*: Added _downcast to the generated code. Also added - attribute accessor methods. Also updated constructors to - explicitly initialize the virtual base class (CORBA::Object). - - * tao/poaC.h: Added TAO_Local_ServantBase to the PortableServer - namespace as PortableServer::LocalServantBase. - - * tao/poaC.cpp (_narrow): Changed the implementation of _narrow to - produce a collocated class when appropriate. - - * tao/poa.cpp (TAO_POA::create_*_policy): Made sure these methods - return collocated classes and not implementation classes. - - * tao/poa.h (class TAO_POA_Policies): Added set methods to - TAO_POA_Policies. - - * tao/orbobj.cpp (resolve_poa): Made sure that the RootPOA is - created with the PortableServer::IMPLICIT_ACTIVATION policy. - - * tao/object: Added servant pointer and a collocated flag to - object class. - - Fri Jan 16 03:27:30 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao: - - BOA begone: CORBA::POA and all BOA related code has been - removed from TAO. - - POA: Today the PortableServer and the POA were born in TAO. - - * tao/connect (handle_request): Changed handle_request to accept - the TAO_GIOP_RequestHeader parameter by reference rather than by - value. - - * tao/corba.h: Rearranged header to accommodate the new POA. - - * tao/corbacom.h (CORBA): Added typedefs for Object_var Object_out - in the CORBA class. - - * tao/current: Absorbed all the POACurrent code into the poa.* - files. - - * tao/iiopobj.cpp (operator==): Added comparison operator for - TAO::ObjectKey. - - * tao/orbobj.cpp (resolve_poa_current and resolve_poa): Made sure - that we return the colocated class and not the implementation - class. - - * tao/orbobj.h (objref.): POA_init was deprecated. Please use - orb->resolve_initial_references ("RootPOA") instead. - - * tao/objtable.cpp (find): Change the use of auto_ptr(s) to deal - correctly with explicit constructors. - - Thu Jan 15 17:27:26 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orb_core.{h,i}: Added the poa_current() method and internal - structure so that state is available to the POA and to the upcall. - - * tao/orbobj.{h,cpp}: Added resolve_poa_current() in order to - return the POACurrent state context. Added the "POACurrent" to - one of the things for which resolve_initial_references() works. - Changed resolve_poa() so that things can compile; the impl isn't - correct but when the POA stuff gets committed, this will be - changed accordingly. - - Tue Jan 13 12:15:54 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be_include/be_operation.h: - * TAO_IDL/be/be_operation.cpp: - * TAO_IDL/be/be_state_operation.cpp: - The stubs and skeletons for operations that have a "native" - argument or return value simply "throw" a CORBA::MARSHAL - exception; those methods cannot be called for remote objects. - I also had to return something when an exception is raised and - the return type is a "native", we choose to return 0 for lack of - a better choice. - - Tue Jan 13 10:49:48 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/current.{i,cpp}: Added a first cut at implementations for - the POA Current impl. - - Mon Jan 12 19:47:42 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/poa.h: - * tao/poa.cpp: - Added a _get_stub() method that encapsulates code common to all - _this implementations. - - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - The _this() method implementation was changed to use the new - _get_stub finally adding full support for the standard poa, some - changes were required in the _tao_collocated classes and their - constructors. - - * TAO_IDL/be_include/be_helper.h: - * TAO_IDL/be/be_helper.cpp: - Added "manipulators" to increase and decrement indentation - level. - - Mon Jan 12 14:55:53 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/current.h (class TAO_POA_Current_Impl): Added this as the - beginning of the implementation for the POA Current. More to - come... - - * tao/default_server.*: Added implementations of create_poa_lock() - and create_poa_mgr_lock() to obtain their values from -ORBpoalock - and -ORBpoamgrlock options, respectively, to the Default Server - Strategy Factory specified in svc.conf. Values for these are - either "thread" or "null", which specify an ACE_Thread_Mutex or - ACE_NULL_Mutex, respectively. - - * tao/server_factory.*: Added create_poa_lock() and - create_poa_mgr_lock() to obtain locks for use in POA and POA - Manager instances. - - Mon Jan 12 12:10:58 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/objtable.cpp: - Fixed some problems with misused auto_ptr and dynamic cast that - was taking away constness at the same time. - - Mon Jan 12 11:55:53 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.cpp (resolve_poa): Added skeletal code to create root - POAs using the resolve_initial_references() interface. Irfan will - fill in the correct code for actually creating the POA. - - Sun Jan 11 14:09:48 1998 <coryan@MILONGA> - - * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: - * orbsvcs/Event_Service/CORBA_Utils_T.cpp: - * orbsvcs/Event_Service/Dispatching_Modules.cpp: - * orbsvcs/Event_Service/Event_Channel.cpp: - * orbsvcs/Event_Service/Event_Service.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Adapted so they compile with the new POA mapping. - - Sun Jan 11 11:33:36 1998 <coryan@MILONGA> - - * tao/connect.cpp: - On this branch the find() method for POA's require a - PortableServer::Servant parameter. - - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: - * orbsvcs/Naming_Service/Naming_Service.cpp: - * orbsvcs/Naming_Service/CosNaming_i.cpp: - Modified to use the new POA mapping for servers. - - * TAO_IDL/tao_idl.dsp: - Replaced the old drv_main.cpp with tao_idl.cpp. - - * orbsvcs/orbsvcs/orbsvcs_lib.dsp: - The final library is not generated inside Debug and its name is - orbsvcs.lib, not orbsvcs_lib.lib - - Sun Jan 11 10:55:04 CST 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Merged changes from tag main_to_poa_merge_5 and - main_to_poa_merge_6. This late merge is risky, needs complete - validation before public release. - - Sat Jan 10 22:11:47 1998 <coryan@MILONGA> - - * TAO_IDL/be_include/be_interface.h: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - Work around bug in MSVC++ 5.0 wrt inheritance from nested - classes and the constructor invocation. - - Sat Jan 10 19:21:18 1998 <coryan@MILONGA> - - * TAO_IDL/tao_idl.dsp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be_include/be_interface.h: - * tao/orb_core.cpp: - Fixed some problems in the latest merges. - - Sat Jan 10 18:06:24 1998 <coryan@MILONGA> - - * Merged changes from tag main_to_poa_merge_7 and - main_to_poa_merge_8. - Resolved many conflicts in TAO_IDL due to similar changes in - both branches. - - Sat Jan 10 16:57:42 1998 <coryan@MILONGA> - - * Merged changes from tag main_to_poa_merge_6 and - main_to_poa_merge_7. - - Fri Jan 9 17:58:43 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_decl.cpp: - * TAO_IDL/be/be_enum.cpp: - * TAO_IDL/be/be_enum_val.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_expression.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_interface_fwd.cpp: - * TAO_IDL/be/be_module.cpp: - * TAO_IDL/be/be_predefined_type.cpp: - * TAO_IDL/be/be_root.cpp: - * TAO_IDL/be/be_scope.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_string.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_type.cpp: - * TAO_IDL/be/be_typedef.cpp: - Minor cosmetic changes to make the main trunk changes identic to - the ones on this branch. - - Thu Jan 8 15:50:59 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_state_operation.cpp: - Added support for native as return type. - - Thu Jan 8 13:20:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/ast/Makefile: - * TAO_IDL/be/Makefile: - Added ast_native and be_native to the list of files. - - * TAO_IDL/be_include/be_native.h: - * TAO_IDL/be/be_native.cpp: - * TAO_IDL/be_include/be_visitor.h: - * TAO_IDL/be/be_visitor.cpp: - Added support for visiting be_native. - - * TAO_IDL/be_include/be_visitor_args.h: - * TAO_IDL/be/be_visitor_args.cpp: - Added support for native and improved the implementation. - - * TAO_IDL/fe/y.tab.cpp: - Removed some includes and pragmas that cause trouble on NT. - - * TAO_IDL/be/be_type.cpp: - Print an error if the default implementation for write_as_return - is called. - - Thu Jan 8 12:53:28 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/corbacom.i (wstring_dup): Added this, which simply calls - wstring_copy(). Of course, I can't find any mention of EITHER of - these functions in the 2.0 or 2.1 spec, but what good are wstrings - if you can't make copies? Plus, Irfan really wanted it. - - Wed Jan 7 15:09:47 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/fe/y.tab.cpp: - This is the actual file generated from idl.yy, thanks to the - "clone" scheme for building ACE it was lost in the previous - commits. - - Wed Jan 7 14:17:14 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.{h,cpp} (key_to_object): Changed signature so that - it's more in line with what we really need. This is okay because - this method is not in the standard, so we can choose whatever we - damn well please! - - Wed Jan 7 14:08:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Merged changes from version main_to_poa_merge_4 and - main_to_poa_merge_5. - - Tue Jan 6 17:35:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface.cpp: - Added several fixes for mutiple inheritance, but still needs - some work. - - Tue Jan 6 15:20:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/object.h: - * tao/object.cpp: - Removed obsolete methods, they were there to support upcalls on - the server side, but now this is done on - PortableServer::ServantBase. - - Tue Jan 6 14:46:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/poa.h: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - Added a _get_servant () method to the collocated classes, to - obtain access to the underlying skeleton. - - Tue Jan 6 13:31:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/objtable.h: - * tao/objtable.cpp: - Fixed some problems with the PortableServer::ObjectId and - PortableServer::Servant changes. - - * tao/poa.h: - * TAO_IDL/be/be_interface.cpp: - Added a method to get the interface repository name for a - skeleton. - - * tao/encode.cpp: - Fixed problem on object reference enconding. - - Mon Jan 05 23:41:59 1998 <coryan@MILONGA> - - * tao/objkeyC.cpp: - The code for memory reallocation was missing, I added it back. - - * tao/iiopobj.cpp: - Fixed bug in object key generation. - - * tao/poa.cpp: - More debug messages when an object is missing. - - Mon Jan 05 17:46:00 1998 <coryan@MILONGA> - - * tao/connect.cpp: - * tao/corba.h: - * tao/corbacom.h: - * tao/default_server.cpp: - * tao/default_server.h: - * tao/iiopobj.cpp: - * tao/iiopobj.i: - * tao/iioporb.cpp: - * tao/orbobj.cpp: - * tao/params.h: - * tao/params.i: - * tao/poa.cpp: - * tao/poa.h: - * tao/server_factory.cpp: - * tao/server_factory.h: - The ObjectId changes were "accepted for revision" by the POA - committe, hence I'll commit them, they check them and then I'll - have to make the changes they require ;-) - The current scheme uses TAO::ObjectKey as a representation for - sequence<octet>, this class is generated by the IDL compiler. - The ORB core uses a typedef (TAO_opaque) for all its internal - object keys; the current (and deprecated) POA uses ObjectId - (another typedef on the same thing) as object identifiers. - - Mon Jan 5 13:06:19 1998 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * Merged changes from revision main_to_poa_merge_3 up to revision - main_to_poa_merge_4. - - Mon Jan 05 00:11:45 1998 <coryan@MILONGA> - - * tao/objtable.h: - * tao/objtable.cpp: - New Object Table interface, in preparation for the POA needs. - - Sat Jan 03 11:37:21 1998 <coryan@MILONGA> - - * TAO_IDL/be/be_visitor_args.cpp: - Typedefs and predefined types where unproperly handled. - - Fri Jan 2 14:09:49 1998 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - Sequences work on Solaris, even Purify gives its "Houston it's a - go", so I'm reinstating them. - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp: - Minor cosmetic changes. - - Fri Jan 02 08:31:32 1998 <coryan@MILONGA> - - * Merged changes from revision main_to_poa_merge_2 up to revision - main_to_poa_merge_3. - Had to disable sequence test from IDL_Cubit. - - Thu Jan 01 15:43:43 1998 <coryan@MILONGA> - - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - Generated code for collocations setup the "parent_" field - properly. - - * tao/objkeyC.h: - * tao/corbacom.h: - Added export macros. - - * tao/objtable.cpp: - * tao/objtable.h: - * tao/poa.cpp: - * tao/poa.h: - Object table is based on servants now. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/IDL_Cubit/server.dsp: - * tests/Cubit/TAO/IDL_Cubit/svr.cpp: - Fixed to use the new POA mapping. - - * TAO_IDL/tao_idl.dsp: - * tao/TAO.dsp: - Added the new files to the MSVC++ project. - - Tue Dec 30 16:38:42 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * More advances in code generation, it compiles and links now, but - won't run. - - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_enum.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_interface_fwd.cpp: - * TAO_IDL/be/be_predefined_type.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_string.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_type.cpp: - * TAO_IDL/be/be_typedef.cpp: - * TAO_IDL/be/be_union.cpp: - * TAO_IDL/be/be_visitor_args.cpp: - * TAO_IDL/be_include/be_array.h: - * TAO_IDL/be_include/be_enum.h: - * TAO_IDL/be_include/be_exception.h: - * TAO_IDL/be_include/be_interface.h: - * TAO_IDL/be_include/be_interface_fwd.h: - * TAO_IDL/be_include/be_predefined_type.h: - * TAO_IDL/be_include/be_sequence.h: - * TAO_IDL/be_include/be_string.h: - * TAO_IDL/be_include/be_structure.h: - * TAO_IDL/be_include/be_type.h: - * TAO_IDL/be_include/be_typedef.h: - * TAO_IDL/be_include/be_union.h: - Added methods to be_type to generate the return types; this - time without any switches, just visitors and virtual - dispatching. - - * tao/poa.cpp: - * tao/poa.h: - Added the methods to lookup operations, this are TAO specific - and should have complaint names, but currently I just kept the - old names to avoid a major breakdown. - - * TAO_IDL/ast/Makefile: - * TAO_IDL/be/Makefile: - * TAO_IDL/driver/Makefile: - * TAO_IDL/fe/Makefile: - * TAO_IDL/narrow/Makefile: - * TAO_IDL/util/Makefile: - Updated dependencies. - - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be_include/be_visitor_interface.h: - * TAO_IDL/be/be_interface.cpp: - Reverted some changes (code moved from be_interface.cpp into - visitors) to avoid massive conflicts with Andy's changes. - - Tue Dec 30 11:07:06 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orb_core.h (TAO_Resource_Factory): Corrected my "fat-finger" - mistake for the return type of get_allocator (). - - Mon Dec 29 16:26:24 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/orb_core.{h,cpp}: Added methods for the orb core allocator - to the resource factory. - - Mon Dec 29 13:18:49 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * TAO_IDL/be/Makefile: - * TAO_IDL/be/be_visitor.cpp: - * TAO_IDL/be/be_visitor_args.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be_include/be_visitor.h: - * TAO_IDL/be_include/be_visitor_args.h: - * TAO_IDL/be_include/be_visitor_interface.h: - Started implementation of the collocated class code generation, - using the visitor pattern; hence the new be_visitor class and - some examples of its use. - - * TAO_IDL/be_include/be_type.h: - * TAO_IDL/be_include/be_typedef.h: - * TAO_IDL/be/be_type.cpp: - * TAO_IDL/be/be_typedef.cpp: - Added method to obtain the node type for the most "unaliased" - type though a typedef chain. This is needed in several points - for code generation. - - * TAO_IDL/be/be_interface.cpp: - Implemented the collocated class generation using visitors, - ditto for (part of) the main class. - - * TAO_IDL/util/utl_identifier.cpp: - Fixed memory deallocation problem. The string was copied using - ACE_OS::strdup(), but deleted using operator delete[]. - - * TAO_IDL/be/be_argument.cpp: - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_attribute.cpp: - * TAO_IDL/be/be_constant.cpp: - * TAO_IDL/be/be_decl.cpp: - * TAO_IDL/be/be_enum.cpp: - * TAO_IDL/be/be_enum_val.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_expression.cpp: - * TAO_IDL/be/be_field.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_interface_fwd.cpp: - * TAO_IDL/be/be_module.cpp: - * TAO_IDL/be/be_operation.cpp: - * TAO_IDL/be/be_predefined_type.cpp: - * TAO_IDL/be/be_root.cpp: - * TAO_IDL/be/be_scope.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_string.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_type.cpp: - * TAO_IDL/be/be_typedef.cpp: - * TAO_IDL/be/be_union.cpp: - * TAO_IDL/be/be_union_branch.cpp: - * TAO_IDL/be/be_union_label.cpp: - * TAO_IDL/be_include/be.h: - * TAO_IDL/be_include/be_argument.h: - * TAO_IDL/be_include/be_array.h: - * TAO_IDL/be_include/be_attribute.h: - * TAO_IDL/be_include/be_constant.h: - * TAO_IDL/be_include/be_decl.h: - * TAO_IDL/be_include/be_enum.h: - * TAO_IDL/be_include/be_enum_val.h: - * TAO_IDL/be_include/be_exception.h: - * TAO_IDL/be_include/be_expression.h: - * TAO_IDL/be_include/be_field.h: - * TAO_IDL/be_include/be_interface.h: - * TAO_IDL/be_include/be_interface_fwd.h: - * TAO_IDL/be_include/be_module.h: - * TAO_IDL/be_include/be_operation.h: - * TAO_IDL/be_include/be_predefined_type.h: - * TAO_IDL/be_include/be_root.h: - * TAO_IDL/be_include/be_scope.h: - * TAO_IDL/be_include/be_sequence.h: - * TAO_IDL/be_include/be_string.h: - * TAO_IDL/be_include/be_structure.h: - * TAO_IDL/be_include/be_type.h: - * TAO_IDL/be_include/be_typedef.h: - * TAO_IDL/be_include/be_union.h: - * TAO_IDL/be_include/be_union_branch.h: - * TAO_IDL/be_include/be_union_label.h: - Added the accept() method for the vistor pattern - implementation. - - Mon Dec 29 11:37:47 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server/Makefile: Updated dependencies. - - Fri Dec 26 12:05:41 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Correctly modified the - make_cubit() method to properly access the underlying object key. - - * tao/objkeyC.cpp: Added this crucial file that I somehow missed - adding in the last round of changes. - - Wed Dec 24 15:50:38 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Removed non-standard - reliance on underlying object key implementation. It relied on - the buffer being publicly-accessible, which is wrong. However, - I'm not sure that my interim fix is very "right" since it takes - the address of operator[](0) to get to the underlying entire - buffer. - - * tests/Cubit/TAO/{IDL_Cubit,MT_Cubit/{server,client}}/Makefile: - Updated to use rules.tao.GNU. - - * tests/Thruput_test/Makefile: Updated to use rules.tao.GNU. - - * tao/orb.h: Removed unnecessary inclusions of object.h and - corbacom.h from this file. - - * tao/objkeyC.{h,cpp}: Moved the inclusion of corba.h from the - header to the implementation because of strange requirements of - the orb core. This means that this file CANNOT be used as - generated by the IDL compiler. - - * tao/{orbobj,stub,object,iiopobj}.cpp: Updated to use the proper - TAO::ObjectKey_ptr type. - - * tao/Makefile: Updated this after the recent merge that - accidentally overrote some changes I'd made. - - * taoconfig.mk: Moved the implicit rule into rules.tao.GNU. - - * rules.tao.GNU: Added this file where rules specific to TAO can - be collected. Right now it just contains an implicit rule for - executing the IDL compiler on .idl files. - - Tue Dec 23 12:00:38 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * TAO-INSTALL.html: - * VERSION: - * Benchmark/benchmark/Makefile: - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_attribute.cpp: - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/be/be_decl.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_operation.cpp: - * TAO_IDL/be/be_scope.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_state.cpp: - * TAO_IDL/be/be_state_argument.cpp: - * TAO_IDL/be/be_state_exception.cpp: - * TAO_IDL/be/be_state_operation.cpp: - * TAO_IDL/be/be_state_sequence.cpp: - * TAO_IDL/be/be_state_structure.cpp: - * TAO_IDL/be/be_state_typedef.cpp: - * TAO_IDL/be/be_state_union.cpp: - * TAO_IDL/be/be_type.cpp: - * TAO_IDL/be/be_union.cpp: - * TAO_IDL/be/be_union_branch.cpp: - * TAO_IDL/be_include/be_array.h: - * TAO_IDL/be_include/be_codegen.h: - * TAO_IDL/be_include/be_decl.h: - * TAO_IDL/be_include/be_scope.h: - * TAO_IDL/be_include/be_sequence.h: - * TAO_IDL/be_include/be_state.h: - * TAO_IDL/narrow/narrow.cpp: - * docs/Options.html: - * docs/components.html: - * docs/configurations.html: - * docs/index.html: - * docs/orbsvcs.html: - * docs/releasenotes/index.html: - * orbsvcs/README: - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: - * orbsvcs/Dump_Schedule/Makefile: - * orbsvcs/Event_Service/Dispatching_Modules.cpp: - * orbsvcs/Event_Service/Dispatching_Modules.i: - * orbsvcs/Event_Service/Event_Channel.cpp: - * orbsvcs/Event_Service/Event_Channel.i: - * orbsvcs/Event_Service/Event_Service.cpp: - * orbsvcs/Event_Service/Makefile: - * orbsvcs/Event_Service/RT_Task.cpp: - * orbsvcs/Event_Service/ReactorTask.cpp: - * orbsvcs/Naming_Service/CosNaming_i.cpp: - * orbsvcs/Naming_Service/Makefile: - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - * orbsvcs/Scheduling_Service/Config_Scheduler.h: - * orbsvcs/Scheduling_Service/Makefile: - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.h: - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - * orbsvcs/tests/Event_Latency/Makefile: - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Logger/clnt.cpp: - * orbsvcs/tests/Simple_Naming/Makefile: - * tao/Makefile: - * tao/Timeprobe.cpp: - * tao/corba.h: - * tao/corbacom.cpp: - * tao/deep_free.cpp: - * tao/encode.cpp: - * tao/except.cpp: - * tao/except.h: - * tao/giop.cpp: - * tao/invoke.cpp: - * tao/managed_types.cpp: - * tao/managed_types.h: - * tao/managed_types.i: - * tao/object.i: - * tao/orb_core.cpp: - * tao/request.cpp: - * tao/tao_internals.cpp: - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - * tests/Cubit/TAO/IDL_Cubit/clnt.h: - * tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/client/Task_Client.h: - * tests/Cubit/TAO/MT_Cubit/client/client.cpp: - * tests/Cubit/TAO/MT_Cubit/client/cubit.idl: - * tests/Cubit/TAO/MT_Cubit/server/cubit.h: - * tests/Cubit/TAO/MT_Cubit/server/cubit.idl: - * tests/Cubit/TAO/MT_Cubit/server/cubit_i.cpp: - * tests/Cubit/TAO/MT_Cubit/server/cubit_i.h: - * tests/Cubit/TAO/MT_Cubit/server/method_db.i: - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp: - Merged in the changes between revisions main_to_poa_merge_1 and - main_to_poa_merge_2. - The only conflicts were: - + ChangeLog: - removed all the main truck comments and added the one you are - reading just now. - + tests/Cubit/TAO/MT_Cubit/client/Makefile: - + tests/Cubit/TAO/MT_Cubit/client/Makefile: - Left the branch revision, it included the dependencies and had - correct syntax. - + tao/poa.cpp: - CORBA_POA::handle_request was removed on the - branch but modified on the main revision; keep it removed. - - Wed Dec 17 02:11:11 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/poa.h: - * tao/poa.cpp: - * tao/orbobj.h: - * tao/orbobj.cpp: - * tao/objkeyC.i: - * tao/objkeyC.h: - * tao/object.h: - * tao/iiopobj.h: - * tao/iiopobj.cpp: - * tao/decode.cpp: - * tao/corbacom.h: - * tao/corba.h: - * tao/any.cpp: - All affected by changes to support interfaces required by the new - POA, specifically CORBA::Object::key() and - CORBA::ORB::key_to_object(). It does not compile now, and seems - as if it's simply an ordering problem of header files. - - Mon Dec 15 19:39:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO_IDL/be/Makefile: - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_state.cpp: - * TAO_IDL/be/be_state_attribute.cpp: - * TAO_IDL/be/be_state_exception.cpp: - * TAO_IDL/be/be_union_branch.cpp: - * TAO_IDL/be_include/be_state.h: - * docs/releasenotes/orbcore.html: - * docs/releasenotes/index.html: - * orbsvcs/Naming_Service.cpp: - * tao/iiopobj.h: - * tao/except.h: - * tao/except.cpp: Merged in changes from the main trunk. - - * tests/Thruput_test/Makefile: Updated to use taoconfig.mk. - - Sat Dec 13 22:06:25 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/poa.* (get_key): Removed this method, since it's - unnecessary. - - * tao/objkey.idl: Added this file, which is the idl for an object - key. - - * tao/iiopobj.*: Added some '@@' comments for Irfan. - - * tao/Makefile: Reworked this monstrositry a bit. - - Fri Dec 12 12:09:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Changed to use - CORBA::Object::key() rather than _get_name(). - - * tests/Cubit/TAO/{DII_Cubit,IDL_Cubit,MT_Cubit}/Makefile: Updated - to use taoconfig.mk. - - * tao/orb_core.i: Removed stray printf. - - * taoconfig.mk: Added this file which contains common - configuration stuff for applications. - - Thu Dec 11 21:28:09 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/poa.{h,cpp}: Moved handle_request to - TAO_Server_Connection_Handler and moved create to - CORBA::ORB::key_to_object. - - * tao/orbobj.{h,cpp}: Added key_to_object as a method to create an - object reference from an object key and type id. This code - actually used to live in POA::create. - - * tao/object.h: Brief documentation twiddling, and renamed - get_subclass to get_most_derived, which is hopefully more - explicative. - - * tao/{object,iiopobj,stub}.{h,cpp}: Renamed _get_name to 'key' - and have it return a TAO_ObjectKey_ptr rather than a const char*. - - * tao/corbacom.h: Added typedef for TAO_ObjectKey, which - represents an object key in GIOP. - - * tao/connect.{h,cpp}: Moved handle_request from the POA into - here, thereby helping confine IIOP-ness to the ORB Core and - keeping the POA pristine. - - Thu Dec 11 22:18:52 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: Moved the code generation for the - _var and _out classes before the actual class declaration, but - after the forward declaration. This was necessary if any elements - in the scope of the interface are defined to be of the same type - as that interface. In such a situation those elements are defined - to be of the _var type. Hence the declaration for _var and _out - must precede the class declaration. - - Thu Dec 11 22:00:52 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (main): Fixed a bug - related to returning an empty string as the ior in the reply from - the multicast request. - - Thu Dec 11 14:06:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_exception,be_state_exception}.cpp: Support for - exceptions added. Added a new file called - "be_state_exception.cpp". - - * TAO_IDL/be_include/be_state.h: Added a new singleton for - be_state_exception. - - * TAO_IDL/be/be_state.cpp: Template instantiations for - be_state_exception. - - * TAO/docs/releasenotes/index.html: Updated to include exception - support. - - * TAO/tao/except.{h,cpp}: Moved the TypeCode member from the - private section to the protected section so that derived classes - can set it. Also, changed the variable from _type to type_ to - stick to the ACE design standards. - - * ============ - * ============ End of POA branch changes. - * ============ - -Fri Jan 23 10:29:17 1998 David L. Levine <@cs.wustl.edu> - - * tao/deep_free.cpp (TAO_Marshal_Sequence::deep_free): added - ACE_UNUSED_ARGs of dest and env. - - * TAO_IDL/fe/{Makefile,y.tab.cpp,y.tab.cpp.diff}: added patch to - fix up y.tab.cpp to compile cleanly with g++. - - * TAO_IDL/fe/{Makefile,lex.yy,cpp,lex.yy.cpp.diff}: added patch to - fix up lex.yy.cpp to compile cleanly with g++. - -Thu Jan 22 18:18:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/Event_Service/GPlot_File.{h,cpp}: Shuffled template - instantiations and typedef's for ACE_Map_Manager around to - eliminate compilation errors from g++. - -Thu Jan 22 16:32:56 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/nvlist.cpp (is_nil): Fixed some return lines that were - probably returning the wrong value by not enclosing a comparison - in parens. Fortunately we weren't really checking the return - value on these, I suspect ;-) Thanks to Frederic Andres - <andres@rd.nacsis.ac.jp> for turning this in. - -Thu Jan 22 16:16:32 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * orbsvcs/orbsvcs/CosPropertyService_i.cpp, CosPropertyService_i.h, AVStreams_i.cpp, AVStreams_i.h: - Added empty implementation files for AVStreams and propertyservice implementations - - * orbsvcs/orbsvcs/Makefile: - Fixed the Makefile so that it will compile the AV related stuff - only when run as `make av=1`. - -Thu Jan 22 14:22:46 1998 Nanbor Wang <nanbor@lindy.cs.wustl.edu> - - * orbsvcs_lib.dsp: Changed to use multithreaded libraries. - -Thu Jan 22 14:20:13 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Param_Test/{server,client}.dsp: The project files - somehow got messed up. - - * orbsvcs/orbsvcs_lib.dsp: Changed to use multithreaded - libraries. - - * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: Removed - unnecessary link-time libraries. - - * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: Changed to use - multithreaded libraries. - -Wed Jan 21 20:49:51 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO version 0.0.54, released Wed Jan 21 20:49:51 1998. - -Wed Jan 21 19:38:02 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/encode.cpp, decode.cpp: Fixed alignment problem. Done only - in Marshal_Struct for the time being. Details of this fix will be - inserted later. - -Wed Jan 21 16:27:58 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * Makefile: Updated this to use the new release.pl file below. - - * release.pl: Added new script to take over some of the release - work rather than having it all inline in the Makefile. - - * tests/Cubit/TAO/MT_Cubit/README: Changed docs to reflect the new - names and command line requirements. - -Wed Jan 21 15:38:52 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/Event_Service/Makefile: - Removed GPlot_File from the list, it does not compile on - Solaris/g++, but it is not needed. - -Wed Jan 21 11:48:19 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/encode.cpp: Updated the ObjRef::encode routine to encode NUL - object references - - * tests/Param_Test: Further improvements. - - * TAO_IDL/be/{be_state_attribute, be_attribute}.cpp: Solved the - problem of return types. The stubs explicitly allocate the top - level storage. A similar fix was made for "operations" mentioned - in a previous ChangeLof entry. - -Wed Jan 21 12:23:29 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile: - Fixed typo in object list for server and client. - -Wed Jan 21 11:25:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Param_Test/tmplinst.cpp: - Removed extra ';' in instantiation pragma. - -Wed Jan 21 11:13:56 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile: - * tests/Cubit/TAO/MT_Cubit/tmplinst.cpp: - * tao/giop.cpp: - Added missing template instantiations. - - * tao/sequence_T.h: - * tao/sequence_T.i: - No need to return const reference to pointer, a simple return - by value (of the pointer) is OK. - -Wed Jan 21 10:38:22 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Added template instantiation - for Env_Value<unsigned short>. - - * tests/{Thruput/TAO,Param_Test,Cubit/TAO/IDL_Cubit}/Makefile: - Added the appropriate tmplinst.* so that it gets built/linked. - - * tests/{Thruput/TAO,Param_Test,Cubit/TAO/IDL_Cubit}/tmplinst.cpp: - Added this file, which contains explicit template instantiations - for code generated by the IDL compiler. Ideally, this file (or - something like it) would be generated by the compiler, but we're - just not there yet. So, since it's not TOO much work, we do this. - -Wed Jan 21 09:40:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/sequence.cpp: - * tao/sequence_T.cpp: - Fixed allocation problem for operator= in sequences, the new - buffer should have size "rhs.maximum_", not "this->maximum_" - -Wed Jan 21 04:43:57 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/corbacom.h: Added Object_var and ORB_var to the CORBA class - (i.e., to the namespace) - - * tao/sequence.cpp: Operator= for string sequence still had bugs - where we were not allocating a larger buffer of the assigned - quantity was larger than us. Similar bugs *might* be present in - other sequence classes and I have not tested them yet. - -Wed Jan 21 01:34:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/{server,client}.cpp: Ifdef'ed out - ACE_THR_PRIO_FIFO_DEF if it's not defined. - - * orbsvcs/Naming_Service/Naming_Service.cpp: We should use - "ace/streams.h" to include iostream definition instead of using - <iostream.h> directly. It is not compatible with the new - standard CPP libraries. - - * orbsvcs/Event_Service/Event_Service.dsp: - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: It used the - wrong libraries. - -Tue Jan 20 22:59:42 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/sequence_T.cpp: Fixed more typos where it was referring to - the argument as 'seq' rather than the real name 'rhs'. - -Tue Jan 20 22:38:10 1998 <coryan@MILONGA> - - * tests/Param_Test/tests.cpp: - No need to call CORBA::string_free() on opname_, since it is a - String_var - - * tao/sequence_T.cpp: - Fixed typo in object sequences. - -Tue Jan 20 21:53:52 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/TAO_IDL_templates.cpp: - Added missing template instantiations, they go into their own - file because I could not think of a "natural" place to put them. - -Tue Jan 20 20:25:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/sequence.h: - * tao/sequence.i: - * tao/sequence.cpp: - * tao/sequence_T.i: - * tao/sequence_T.cpp: - Another round of changes, this time fixing several bugs reported - by Andy and Irfan. - -Tue Jan 20 20:23:57 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/nvlist.h: - * tao/nvlist.i: - Fixed warnings for IRIX and follow the spec, use const methods - but return non-const types! - -Tue Jan 20 17:00:15 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/strategy_T.h: Added this file to contain template strategies - such as TAO_Reactive_Strategy<>. - - * tao/default_server.*: Moved TAO_Reactive_Strategy<> into its own - set of files. Thanks to Bryan Mendel <brian.r.mendel@boeing.com> - for suggesting this fix! - - * tao/sequence_T.cpp (operator =): Corrected a problem where T** - was being assigned to T*. - - * tao/orb_core.cpp (init): Moved setting of stuff in orb_params() - to be post-service initialization. It needs to be this way - because the ORB Parameters are now regulated by the resource - factory settings, and that gets created during service - initialization. - - * tao/giop.cpp: Changed the TAO_GIOP_LocateRequestHeader::init to - be more efficient and not generate warnings on Irix. - - * tao/{giop,connect}.cpp: Update code that touches ORB-internal - sequences to use the API of TAO_Unbounded_Sequence<> rather than - the old crufty code. - - * tao/giop.h: Change ORB-internal sequences (such as the - ServiceContextList) to use the new TAO_Unbounded_Sequence<> - template rather than the deprecated CORBA_SEQUENCE<> hack. - -Tue Jan 20 09:18:31 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tao/interp.cpp: Used TAO_opaque to set the size of any - generic sequence. - - * TAO_IDL/be/{be_operation,be_state_operation}.cpp: For return - value of sequences, the stub now allocates the top level storage - for the sequence class. - -Tue Jan 20 05:34:16 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tao/sequence.cpp: In the assignment operator for Unbounded - string sequences, we had forgotten to update the max and length - fields to that of the assigned sequence in the event of it being - larger than ourselves. We had also forgottent o set our release - flag to true as well as free the old buffer (if already our - release flag was true). I have not checked if there are similar - bugs in other "=" operators or not. But these will be evident as - more tests are added to the Param_Test example. - -Mon Jan 19 23:35:45 1998 <coryan@MILONGA> - - * tao/sequence_T.h: - * tao/sequence_T.i: - * tao/sequence_T.cpp: - Finished suit of parametric classes for sequences, including - bounded sequences of objects and strings. - Fixed some more bugs in the Manager classes for sequences of - objects. - -Mon Jan 19 17:33:45 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/clnt.cpp (init): Changed the marker - name for the naming service to "NameService" and fixed a bunch of - places in init() where "1" was being returned instead of "-1". - - * tests/Cubit/TAO/IDL_Cubit/README: Fixed portion that talks about - the IOR to use the correct default IOR. Thanks to J Russell - Noseworthy <j.russell.noseworthy@objectsciences.com> for catching - this and submitting fixes! - -Mon Jan 19 15:41:53 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp (create_servants): Added a - final return statement to avoid warnings. - (ACE_THR_PRI_FIFO_DEF): This macro is not defined on NT. I - ifdef'ed the priority setting statement out temporarily until we - figure out a way to map NT's thread priority values to pthread's - priority values. - - * tests/Cubit/TAO/MT_Cubit/server.dsp: Updated project file. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Changed the - data type of <defport> to CORBA::UShort. - - * tests/Param_Test/options.{h,cpp} (portnum): Changed it to type - CORBA::UShort. - - * tests/Param_Test/helper.cpp (gen_fixed_struct): Added - parenthesis to avoid warnings. - - * tao/sequence.h (TAO_Unbounded_String_Sequence): Added TAO_Export - to class TAO_Unbounded_String_Sequence. - -Mon Jan 19 11:24:43 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/sequence_T.i: - g++ does not like nested types in templates. - - * docs/releasenotes/index.html: - Updated docs on services. - -Sun Jan 18 21:33:21 1998 <coryan@MILONGA> - - * tao/sequence.h: - * tao/sequence.i: - * tao/sequence.cpp: - * tao/sequence_T.h: - * tao/sequence_T.i: - * tao/sequence_T.cpp: - Added new class for sequences of strings, the approach based on - templates was not worth it. - Also fixed a number of bugs in the unbounded object sequences. - The following items are in the TODO list: - + Bounded sequences of objects - + Bounded sequences of strings. - - * TAO_IDL/be_include/be_helper.h: - * TAO_IDL/be/be_helper.cpp: - Addded small manipulators to indent and unindent an output - stream. - - * TAO_IDL/be/be_visitor_sequence.cpp: - Synch up with new classes for string and objects. - - * tests/Param_Test/tests.cpp: - Fixed some problems with the test for sequences of variable - sized structures. - - * orbsvcs/Event_Service/CORBA_Utils_T.cpp: - Fixed unsigned/signed comparison. - -Sun Jan 18 18:30:16 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO/tests/Cubit/TAO/MT_Cubit/*.{dsp.MAK}: - * TAO/tests/Param_Test/*.{dsp,MAK}: Played with exported - makefiles some more. It's ultimately funny that when a project - file has some customed build commands in it, the exported - makefile sometime won't work correctly. - -Sat Jan 17 23:41:33 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * Added more MSVC makefiles in some test directories. - - * tests/Param_Test/{client,server}.dsp: Correct idl generated - files' dependency. - -Sat Jan 17 22:40:29 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tao/orbobj.{h,i}: Added _var and _out for CORBA_ORB - -Sat Jan 17 21:28:05 1998 <coryan@MILONGA> - - * tao/corba.h: - * tao/corbacom.h: - Moved the definition of TAO_opaque from corbacom.h to corba.h so - it appears after the "sequence.h" file. - - * tao/sequence.h: - * tao/sequence.cpp: - Reorder includes to avoid "inline called before declared so" - warning in g++. - - * tests/Cubit/TAO/MT_Cubit/server.cpp: - The OA uses TAO_opaque instead of CORBA::OctetSeq. - -Sat Jan 17 16:07:51 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_args.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be_include/be_visitor_args.h: - * TAO_IDL/be_include/be_visitor_interface.h: - New visitors to generate collocated classes (only used on the - POA branch) and the arguments declaration. - -Fri Jan 16 23:38:38 1998 <coryan@MILONGA> - - * tao/decode.cpp: - * tao/deep_free.cpp: - * tao/giop.h: - * tao/iiopobj.cpp: - * tao/sequence.h: - * tao/sequence_T.h: - * tao/sequence_T.cpp: - Fixed some memory *deallocation* problems with sequences, they - needed a _deallocate_buffer() method, not to implement the base - class destructor, but to implement deep_free. - -Fri Jan 16 18:01:03 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * The Event Service works on Solaris/SunCC again. - - * tao/poa.h: - * tao/poa.cpp: - * tao/objtable.h: - * tao/objtable.cpp: - * tao/connect.cpp: - The object table, and POA use a real TAO_Unbounded_Sequence, - removing some nasty casts. - - * tao/sequence_T.i: - * tao/sequence_T.cpp: - Fixed some memory allocation problems in operator= - - * TAO_IDL/be/be_interface.cpp: - No need to cast the object key when calling POA::bind(), it - takes a TAO_opaque now. - -Thu Jan 15 17:15:29 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO/TAO_IDL/be/be_interface.cpp: - * TAO/tao/connect.cpp: - * TAO/tao/corba.h: - * TAO/tao/corbacom.cpp: - * TAO/tao/corbacom.h: - * TAO/tao/decode.cpp: - * TAO/tao/encode.cpp: - * TAO/tao/iiopobj.cpp: - * TAO/tao/iiopobj.i: - * TAO/tao/iioporb.cpp: - * TAO/tao/poa.cpp: - Now TAO_opaque is implemented using the new TAO_*_Sequence - classes, this is needed because the demarshaller expects that - class. There are some other sequences in the ORB core that - need the same change, but currently that is not so urgent. - The object table expects a CORBA_SEQUENCE so some casting is - still done among those classes and the new templates. The POS - branch already solved this, so I will wait until the merge to - fix it. - - * TAO/tao/sequence_T.h: - * TAO/tao/sequence_T.i: - * TAO/tao/sequence_T.cpp: - Now we include sequence_T.i in sequence_T.h, this is needed for - template instantiation. - The ACE_ASSERT for indices was comparing to the value of - length_, it must compare with maximum_, it is possible that the - user creates the sequence with enough space (thus maximum_ is - properly set, but length_ is 0), then inserts some data and - finally sets the length, with the previous asserts that would - fail. - - * TAO/tao/Makefile: - * TAO/TAO_IDL/*/Makefile: - * TAO/orbsvcs/*/Makefile: - * TAO/tests/Cubit/TAO/*/Makefile: - Dependencies regenerated. - -Wed Jan 14 23:10:13 1998 <coryan@MILONGA> - - * sequence.h: - * sequence.i: - * sequence.cpp: - * sequence_T.h: - * sequence_T.i: - More generated and parametric code reduced, also fixed some - problems detected by MSVC++. - - * tao/TAO.dsp: - * TAO_DL/tao_idl.dsp: - Updated projects to include new files. - -Wed Jan 14 21:03:18 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> - - * sequence.h: - * sequence.i: - * sequence.cpp: - Removed unused TAO_Unbounded_String class, it has been - superseeded by - TAO_Unbounded_Managed_String<char,TAO_String_Manager>. - - * sequence_T.h: - * sequence_T.i: - Managed sequences only need the const version of operator[], - because they return a Manager by value. - -Wed Jan 14 20:32:47 1998 <coryan@MILONGA> - - * tao/sequence_T.h: - Fixed typo in base class for ACE_Bounded_Managed_Sequence. - -Wed Jan 14 17:54:31 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be_include/be_visitor_sequence.h: - * TAO_IDL/be/be_visitor_sequence.cpp: - * TAO_IDL/be/be_interpretive.cpp: - * TAO_IDL/be/be_sequence.cpp: - The compiler generates code using the new managed sequence - parametric classes. - Also handled typedefs correctly while generating sequence code - specially template arguments and return types for operator[] in - _var and _out classes. - Simplified code generation for sequences of sequences: the - generated typedefs can be used to instantiate the templates. - Finally made some of the visitors more generic, so less - knowledge on the stream files gets distributed. - - * tao/sequence.h: - * tao/sequence.cpp: - * tao/sequence_T.h: - * tao/sequence_T.i: - * tao/sequence_T.cpp: - Re-implemented the Managed_Sequence classes using the "Manager" - as a parameter instead of a nested type. - Still requires some work because the sequences need privileged - access (friend) to the Managers. - -Tue Jan 13 15:55:32 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * Makefile (INSTALL): Added a rule to build the INSTALL file from - TAO-INSTALL.html. Also added both TAO-INSTALL.html and INSTALL to - the list of files included in the release. TAO-INSTALL.html had - not been included at all. - - * TAO-INSTALL.html: Updated some of the text in the Unix portion - to be explicit regarding the need for GNU Make. - - * INSTALL: Added this file, which is the output of 'lynx -dump - TAO-INSTALL.html'. - -Mon Jan 12 20:04:32 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: Added comments - -Mon Jan 12 17:29:44 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: Added initialization for an abstract - visitor factory in the constructor and deletion in the - destructor. - - Added code for the "make_visitor" factory method. - - * TAO_IDL/be/be_factory.cpp: Added destructor and constructor for - abstract factory (*note* it is not pure abstract). - - * TAO_IDL/be/be_produce.cpp: We use the different visitors for the - root to start code generation. At this time, we instantiate the - visitor factory with the concrete factory of visitors which will - generate stubs/skeletons using TAO's interpretive marshaling - engine. - - * TAO_IDL/be_be_sequence.cpp: Commented out a large part of code - to enable visitors for sequences to take over code generation. - - * TAO_IDL/be/be_visitor.cpp: Abstract factory of visitors. - - * TAO_IDL/be/{be_visitor_root, be_visitor_sequence}.cpp: visitors - for Root and Sequences respectively. be_visitor_sequence.cpp is a - new file. - - * TAO_IDL/be_include/{be_codegen, be_visitor, be_visitor_root, - be_visitor_sequence, be_factory, be_sequence}.h: Files affected - due to introduction of visitors and visitor factory. Added a - boolean "unbounded ()" method on sequences. - - * TAO/tao/{decode, encode}.cpp: Uses TAO_Base_Sequence instead of - the hack of using CORBA_SEQUENCE<Octet>. - - * TAO/tao/{sequence, sequence_T}.{h,i,cpp}: Added large amount of - code for bounded and unbounded sequences as well as the special - cases for sequences of object references and strings, along with - their managed types. - - * TAO/tests/Param_Test: Added tests for object references and - sequence of variable structs. There are some problems with the - generated code. - -Sun Jan 11 11:15:35 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/sequence.i (TAO_Base_Sequence): reordered initializers to match - declaration order. - - * tao/nvlist.h: changed AddRef and Release declarations to return - CORBA::ULong instead of ULONG, to match their definitions. - -Sat Jan 10 14:08:09 1998 <coryan@MILONGA> - - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_interface.cpp: - We no longer generate names with CORBA_1 or CORBA_3 macros, but - sometimes we cannot use the typedefs in CORBA:: because some - weird MSVC++ features (bugs?). - -Fri Jan 09 21:37:39 1998 <coryan@MILONGA> - - * TAO_IDL/be/be_typedef.cpp: - Added missing accept() method for visitors. - - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - Fixed signed/unsigned warning. - - * orbsvcs/Naming_Service/CosNaming_i.cpp: - Yet another fix for the namespace warnings. - - * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: - * orbsvcs/Event_Service/Event_Service.dsp: - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: - * orbsvcs/tests/Event_Latency/Event_Latency.dsp: - Executables are not generated into the Debug subdirectory. - -Fri Jan 9 20:49:41 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * orbsvcs/Naming_Service/CosNaming_i.cpp: Fixed some code dealing - with Warning (Anachronism) messages. - -Fri Jan 9 19:04:10 1998 Nanbor Wang <nw1@cs.wustl.edu> - - * tao/orbobj.cpp: Moved template instantiation codes around to - eliminate compilation errors. - -Fri Jan 9 17:49:55 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Makefile: - * tao/corba.h: - * tao/corbacom.h: - * tao/sequence.cpp: - * tao/sequence.h: - * tao/sequence.i: - * tao/sequence_T.cpp: - * tao/sequence_T.h: - * tao/sequence_T.i: - Added the new TAO_Base_Sequence class and its parametric - children (TAO_Bounded_Sequence and TAO_Unbounded_Sequence). This - classes will be used in the implementation of all the IDL - sequences, thus providing the interpreter with a base class to - manipulate them. - - * orbsvcs/Scheduling_Service/Scheduler.cpp: - Fixed some instantiation problems. - - * TAO_IDL/be/Makefile: - * TAO_IDL/be/be_argument.cpp: - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_attribute.cpp: - * TAO_IDL/be/be_constant.cpp: - * TAO_IDL/be/be_decl.cpp: - * TAO_IDL/be/be_enum.cpp: - * TAO_IDL/be/be_enum_val.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_expression.cpp: - * TAO_IDL/be/be_field.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_interface_fwd.cpp: - * TAO_IDL/be/be_module.cpp: - * TAO_IDL/be/be_native.cpp: - * TAO_IDL/be/be_operation.cpp: - * TAO_IDL/be/be_predefined_type.cpp: - * TAO_IDL/be/be_root.cpp: - * TAO_IDL/be/be_scope.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_string.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_type.cpp: - * TAO_IDL/be/be_union.cpp: - * TAO_IDL/be/be_union_branch.cpp: - * TAO_IDL/be/be_union_label.cpp: - * TAO_IDL/be/be_visitor.cpp: - * TAO_IDL/be/be_visitor_root.cpp: - * TAO_IDL/be_include/be.h: - * TAO_IDL/be_include/be_argument.h: - * TAO_IDL/be_include/be_array.h: - * TAO_IDL/be_include/be_attribute.h: - * TAO_IDL/be_include/be_constant.h: - * TAO_IDL/be_include/be_decl.h: - * TAO_IDL/be_include/be_enum.h: - * TAO_IDL/be_include/be_enum_val.h: - * TAO_IDL/be_include/be_exception.h: - * TAO_IDL/be_include/be_expression.h: - * TAO_IDL/be_include/be_field.h: - * TAO_IDL/be_include/be_interface.h: - * TAO_IDL/be_include/be_interface_fwd.h: - * TAO_IDL/be_include/be_module.h: - * TAO_IDL/be_include/be_native.h: - * TAO_IDL/be_include/be_operation.h: - * TAO_IDL/be_include/be_predefined_type.h: - * TAO_IDL/be_include/be_root.h: - * TAO_IDL/be_include/be_scope.h: - * TAO_IDL/be_include/be_sequence.h: - * TAO_IDL/be_include/be_string.h: - * TAO_IDL/be_include/be_structure.h: - * TAO_IDL/be_include/be_type.h: - * TAO_IDL/be_include/be_typedef.h: - * TAO_IDL/be_include/be_union.h: - * TAO_IDL/be_include/be_union_branch.h: - * TAO_IDL/be_include/be_union_label.h: - * TAO_IDL/be_include/be_visitor.h: - * TAO_IDL/be_include/be_visitor_root.h: - Added visitors from the poa branch into the main trunk. - -Fri Jan 9 16:17:37 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orb_core.*: Changed ORB parameters, OA parameters, and the - endpoint address to be switchable btw. global and tss resources. - I also cleaned up the redundant accessor methods by using macros - to define them. Thanks to Keith Nicewarner <knicewar@sanders.com> - for his bug reports which led to this solution. - - * tao/orbobj.cpp (run,perform_work): Added code to set the - Reactor's owner to the current thread prior to calling - handle_events(). Thanks to Keith Nicewarner - <knicewar@sanders.com> for his bug reports which led to this - solution. - -Fri Jan 9 16:00:21 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: Removed a Release statement that - was getting generated in the _narrow method - - * TAO_IDL/be/{be_state_argument, be_state_operation}.cpp: All - typedefed strings are handled as if they are strings. - -Fri Jan 09 12:29:55 1998 <coryan@CHA-CHA> - - * tao/default_server.cpp: - Fixed missing initialization for object_lookup_strategy_ - -Fri Jan 9 12:17:02 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> - - * orbsvcs/Event_Service/Dispatching_Modules.cpp: - * orbsvcs/Event_Service/Event_Channel.cpp: - * orbsvcs/Event_Service/GPlot_File.cpp: - * orbsvcs/Event_Service/Memory_Pools.cpp: - * orbsvcs/Event_Service/Task_Manager.cpp: - * orbsvcs/Scheduling_Service/Scheduler.cpp: - * orbsvcs/Scheduling_Service/Scheduler_Generic.cpp: - Added missing instantiation for platforms with - ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA (IRIX) - - * orbsvcs/Event_Service/CORBA_Utils_T.h: - Added missing member to ACE_ES_Array_Iterator. - - * orbsvcs/Scheduling_Service/Scheduler.h: - Use ACE_SYNCH_MUTEX instead of ACE_HAS_THREADS and - ACE_Null_Mutex vs ACE_Thread_Mutex. - - * orbsvcs/orbsvcs/Makefile: - The IDL generated files are .PRECIOUS - -Thu Jan 8 21:58:18 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: be_interface::relative_skel_name () - was producing incorrect results because we were overwriting an - internal string with '\0' - - * TAO/tao/deep_free.cpp: Marshal_Struct::deep_free. Commented out - the call to String::deep_free if a member is a string because that - free should happen automatically as the member is a String_var - type. In addition, String::deep_free was setting the pointer to 0. - - * TAO/tao/marshal.i: In string::deep_free, commente dout the line - that sets the pointer to 0. - - * TAO/tests/Param_Test: Added a string member field to the - var_struct. Also some modifications. Needs more improvement. - -Thu Jan 08 17:48:49 1998 <coryan@CHA-CHA> - - * Naming_Service/NS_CosNaming.cpp: - * orbsvcs/Naming_Service/CosNaming_i.cpp: - ACE_NESTED is only needed in the generated code. - - * Scheduling_Service/Scheduling_Service.cpp: - MSVC++ 5.0 seems to have a bug: if the implementation for the - scheduling service is stored into a RtecScheduler::Scheduler_ptr - then the server crashes; this is OK in other platforms and looks - OK since the pointers are in fact compatible. - - * tests/Event_Latency/Event_Latency.cpp: - Removed some warnings by using "CORBA::ULong" instead of "int" - in comparisons against sequence<>::length. - - * Dump_Schedule/Dump_Schedule.dsp: - * orbsvcs/orbsvcs_lib.dsp: - Fixed some names and missing options. - -Thu Jan 08 15:55:21 1998 Nanbor Wang <nw1@cs.wustl.edu> - - * tao/objtable.cpp: - * tao/optable.cpp: - * tao/orbobj.cpp: - * orbsvcs/Naming_Service/CosNaming_i.cpp: Added missing template - instantiation codes. - -Thu Jan 8 12:53:28 1998 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/corbacom.i (wstring_dup): Added this, which simply calls - wstring_copy(). Of course, I can't find any mention of EITHER of - these functions in the 2.0 or 2.1 spec, but what good are wstrings - if you can't make copies? Plus, Irfan really wanted it. - -Thu Jan 8 11:36:38 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/be_interface.h, TAO_IDL/be/be_interface.cpp: - Added a method called "relative_skel_name" to be used for - generating names of inherited interfaces in the keleton class - name. - - * TAO_IDL/be/be_state_argument.cpp: Generation of space was - missing after the "native" type in a parameter list declaration. - - * TAO_IDL/fe/{y.tab.*, lex.yy.cpp}: Due to changes in the idl.ll - and idl.yy files, these had to be regenerated. - -Thu Jan 08 00:14:56 1998 <coryan@MILONGA> - - * orbsvcs/orbsvcs.dsw: - * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: - * orbsvcs/Dump_Schedule/Dump_Schedule.dsw: - * orbsvcs/Event_Service/Event_Service.dsp: - * orbsvcs/Event_Service/Event_Service.dsw: - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/Naming_Service/Naming_Service.dsw: - * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: - * orbsvcs/Scheduling_Service/Scheduling_Service.dsw: - * orbsvcs/tests/Event_Latency/Event_Latency.dsp: - * orbsvcs/tests/Event_Latency/Event_Latency.dsw: - Added preliminar (untested) versions of the project files for - MSVC++ 5.0. - -Wed Jan 7 22:41:41 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> - - * tao/corba.h: - Removed varout.h from the list of included files; it is no used - and would abort compilation on IRIX. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - * tao/orbobj.cpp: - Added missing template instantiations. - - * tao/varout.h: - Some fixes, but actually the changes were aborted, Andy informed - me that the file wasn't really used. - -Wed Jan 07 21:52:20 1998 <coryan@MILONGA> - - * TAO_IDL/tao_idl.dsp: - Added the new native_* functions to the project file. - Also use the new tao_idl.cpp file in the top level directory. - -Wed Jan 7 20:20:56 1998 Sergio Flores <sergio@polka.cs.wustl.edu> - - * orbsvcs/Naming_Service/NS_CosNaming.cpp: - * orbsvcs/Naming_Service/CosNaming_i.cpp: Use the correct - _duplicate function. Also changed the code to use exceptions - already supported by TAO. - -Wed Jan 7 18:00:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/Makefile: - * TAO_IDL/tao_idl.cpp: - * TAO_IDL/driver/Makefile: - * TAO_IDL/driver/drv_main.cpp: - Moved the main() routine to the topmost directory, this is - needed for platforms like SGI that will not link a group of - shared libraries without any object files. It also seems more - reasonable (IMHO). - -Wed Jan 7 13:55:26 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the assignment of - default port number to fetch the value from the environment - similar to what is done in orb_core.cpp. - - * tao/poa.{h,cpp} (handle_request): Moved functionality to - TAO_Server_Connection_Handler in connect.*. - - * tao/orb_core.cpp: Added the ability to specify the default - server port via an environment variable using the ACE_Env_Value - template. The name of the environment variable is the same as the - preprocessor #define: TAO_DEFAULT_SERVER_PORT. - - * tao/giop.* (TAO_GIOP_LocateRequest): Added a CTOR and init - method similar to TAO_GIOP_Request. - - * tao/connect.{h,cpp} (handle_locate): Added to handle the - LocateRequest CORBA request. Also moved handle_request() method - from the poa to here. - - * tao/Makefile: Added "fakesvcconf" variable check so that if - somebody wants to build with faked svc config entries on a - platform, they can simply do "make fakesvcconf=1". The CHORUS and - VXWORKS sections now override the value of this variable to be 1. - -Wed Jan 7 12:00:14 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tao/corbacom.h: Added forward declarations for - CORBA_Object_var and CORBA_Object_out - - * TAO/tao/varout.h: some improvements. However, this file is not - used currently. - - * TAO_IDL/include/ast_native.h: New file that defines the "native" - type defined by the POA spec. - - * TAO_IDL/include/{ast, ast_interface, ast_module, ast_decl, - idl_fwd, idl_global, utl_scope}: - Added the create_native and fe_add_native methods for the newly - added "native" type. Added a enum value for native in - AST_Decl.h. Added an enum value for the current parse state in - idl_global.h. Added forward declarations in idl_fwd.h. Added the - "add_native" method in utl_scope.h - - * TAO_IDL/ast/{ast_generator, ast_interface, ast_module}.cpp: - Added the create_native and fe_add_native methods for the newly - added "native" type. - - * TAO_IDL/ast/ast_native.cpp: New file for native type - - * TAO_IDL/fe/idl.ll: Added a rule to recognize the "native" - keyword. - - * TAO_IDL/fe/idl.yy: Added a grammar rule for the "native" type. - - * TAO_IDL/util/utl_scope.cpp: Added add_native and fe_add_native - methods. - - * TAO_IDL/be_include/be_native.h: New file for the backend for - "native" type. - - * TAO_IDL/be/be_native.cpp: New file for backend implementation of - "native". - - * TAO_IDL/be/be_attribute.cpp: For the "set" method, we were - setting the paramdata structure of the get method. This has been - fixed. - - * TAO_IDL/be/be_generator.cpp: Added create_native method. - - * TAO_IDL/be/be_interface.cpp: - For a special case of a deeply nested inheritance graph and one - specific way of inheritance in which a node that was already - visited, but is not present in the queue, gets inserted at the - tail. This sitation arises when a node multiply inherits from two - or more interfaces in which the first parent is higher up in the - tree than the second parent. In addition, if the second parent - turns out to be a child of the first. Thanks to Carlos O'Ryan for - reporting the error. - - In addition, we use the nested_type_name for the inherited classes - in the class definition. - - * TAO_IDL/be/be_type.cpp: We generate relative paths instead of - the ACE_NESTED_CLASS macro. However, I am going to make this an - IDL option at a later point. - - * TAO_IDL: Did "make depend" on all the Makefiles. - - * TAO/tests/Param_Test: Added tests for testing object - references. This is still incomplete. - -Tue Jan 6 19:48:45 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * TAO/tests/Cubit/TAO/MT_Cubit/README: Updated README to explain - the latest generalization of the MT_Cubit tests. - -Tue Jan 6 17:25:57 1998 Nanbor Wang <nw1@lindy.cs.wustl.edu> - - * MT_Cubit.dsw,client.dsp,server.dsp: Update workspace and - project files to reflect the change in directory structure. - -Mon Jan 05 23:54:13 1998 <coryan@MILONGA> - - * Added project files for a static orbsvcs library. - -Mon Jan 5 16:37:14 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * Makefile: Merged client and server rules - - * server.dsp, svc.conf, svr.cpp, client.dsp, cubit.idl, - cubit_i.cpp, cubit_i.h, Task_Client.cpp, Task_Client.h, - Util_Thread.cpp, Util_Thread.h, client.cpp, Makefile: - Merged client/server code into one directory. - -Mon Jan 5 11:50:00 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_attribute.cpp: Code generated for setting the - attribute value (in the server skeleton) had some undefined symbol - errors as well as the create_list parameter was wrong. - - * TAO/tao/object.{h.i}: Added code for Object_var and Object_out - -Mon Jan 05 09:53:51 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/corbacom.{h,cpp},encode.cpp: replaced defined (VXWORKS) && - defined (ghs) with defined (ACE_HAS_WCHAR_TYPEDEFS_CHAR). - - * tao/Makefile: add -DTAO_PLATFORM_SVC_CONF_FILE_NOTSUP to - CPPFLAGS on VxWorks. - - * tests/Cubit/TAO/MT_Cubit/Util_Thread.{h,cpp} (Util_Thread ctor): - rearranged initializers to match declaration order. - -Sun Jan 04 17:19:34 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.53, released Sun Jan 04 17:19:34 1998. - -Sun Jan 4 13:49:21 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tao/nvlist.cpp: NamedValue::Release was calling delete, but - this was not correct since NamedValues are allocated using - calloc. So now we exclusively call the destructor and free the - memory using "free". - - * TAO/tests/Param_Test/{client.cpp, tests.cpp}: Since we do not - pass the OUT_LIST_MEMORY flag to create_request, we cannot own the - return, inout, and out parameters and hence cannot free them. - -Sun Jan 4 13:41:41 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Fixed prev_priority to - previous_priority - -Sun Jan 04 07:47:52 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.52, released Sun Jan 04 07:47:52 1998. - -Sun Jan 04 07:37:31 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/orb_core.i: Changed ! ACE_LACKS_TEMPLATE_SPECIALIZATION - to ACE_HAS_TEMPLATE_SPECIALIZATION, to be consistent with - ACE config files. - -Sun Jan 4 06:06:28 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tao/typecode.*: Some modifications in the destruction - strategy to eliminate fatal errors such as FNH (freeing non-heap - memory) or FMW (freed memory write). Most of these errors were - occuring because we were trying to delete our private typecode - stuff that was not allocated from heap. For example, in case of - sequences of strings the private member tc_content_type used to - point to a statically preallocated "tc_string" typecode. - - Also, preliminary support for checking for typecode equality and - the "member_name" method added. - - Looking at the current private_* methods, it looks like a lot of - stuff can be abstracted into a few methods. So the next attempt - will be to eliminate as many of the private_* methods (that do - repititive work) and replace them with a couple of helper - methods. In addition, we may not need all those tc_*_known_ - boolean variables. Only one may suffice. All this will be done in - the next pass. - - * TAO/tao/{except.h, except.cpp, giop.cpp, object.cpp}: Removed - the TAO_CONST CORBA::String insanity and replaced by const - char*. This is also in accordance with the mapping as well as - eliminates strange compiler warnings about assigning const char* - to char*. - - * TAO_IDL/be/be_sequence.cpp: We now generate #if defined (..) - macros for sequences and their managed types to avoid multiple - declaration/definition errors. - -Sat Jan 3 14:58:21 1998 Sumedh Mungee <sumedh@cs.wustl.edu> - - * Task_Client.h, Util_Thread.cpp, Util_Thread.h, client.cpp, - Task_Client.cpp, Makefile: - The Util_Thread class basically computes CPU usage. Integrated - this class with the MT_Cubit test, so that the Util_Thread - performs computation in the background while the test is - running. Also extended the test to use `n' clients talking to `n' - servants. - - -Sat Jan 03 09:04:28 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/invoke.cpp (ACE_Synchronous_Cancellation_Required): - disabled on VxWorks to avoid runtime warnings with - ACE_NOTSUP_VERBOSE, because thr_setcanceltype isn't - supported there. - - * tao/corba.h: g++/VxWorks doesn't like backslashes at the - end of comment lines, so replaced a commenting of a #define - with #if 0. - -Fri Jan 02 18:42:31 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.51, released Fri Jan 02 18:42:31 1998. - -Fri Jan 2 16:29:20 1998 Nanbor Wang <nw1@cs.wustl.edu> - - * orbsvcs/Event_Service/GPlot_File.cpp: - * orbsvcs/Event_Service/Event_Channel.cpp: - * orbsvcs/Scheduling_Service/Scheduler.cpp: - * tao/connect.cpp: Added missing explicit template - instantiations. - -Fri Jan 02 10:24:21 1998 Nanbor Wang <nw1@cs.wustl.edu> - - * tests/Param_Test/driver.cpp (main): Added a trailing return in - main() to prevent MSVC from complaining. - - * tests/Param_Test/helper.cpp (gen_fixed_struct): Changed to use - ACE_OS::rand () * 1.0 instead of drand48 (). - - * tao/connect.cpp: - * orbsvcs/Scheduling_Service/Scheduler.cpp: - * orbsvcs/Event_service/Gplot_File.cpp: - * orbsvcs/Event_Service/Event_Channel.cpp: Added explicit template - instantiation for ACE_Map_Iterator_Base. - -Fri Jan 2 10:39:02 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_type.cpp: Completely reimplemented the way - ACE_NESTED_CLASS macro gets generated. - - * TAO_IDL/be/be_state_sequence.cpp: Fixed an error where the - reference operator "&" was getting generated at the wrong place. - diff --git a/TAO/ChangeLog-98b b/TAO/ChangeLog-98b deleted file mode 100644 index 56d71761a62..00000000000 --- a/TAO/ChangeLog-98b +++ /dev/null @@ -1,9061 +0,0 @@ -Wed Sep 30 15:47:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Connect.h: - * tao/Connect.cpp: - * tao/Invocation.cpp: - Removed some calls to TAO_ORB_Core_instance(), we use the - ORB_Core cached in the Invocation and pass it down to the GIOP - module and eventually to the Client_Connection_Handler. - - * tao/ORB_Core.cpp: - Fixed silly syntax errors. - -Wed Sep 30 14:58:16 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/ORB_Core.{h,i}: Had problems with the explicit template - instantiation for two hash_i functions on MSVC 6. So, Irfan - and I decided to move it into the .h and make them real - "inline" functions for now. Otherwise, the compiler doesn't - seem to understand the hint made by the prototype and will - not use the explicitly defined method. - -Wed Sep 30 11:14:35 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/POA.cpp: Needed to properly terminate a CString in - locate_poa_and_servant_i () by copying it to another - CString and then extracting the char * from it. - - * tao/POA.cpp: Needed to properly terminate a CString in - locate_poa_and_servant_i () by copying it to another - CString and then extracting the char * from it. - -Wed Sep 30 10:32:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * docs/releasenotes/index.html - orbsvcs/tests/Simulator/README - orbsvcs/tests/Simulator/NavWeap.idl - orbsvcs/tests/Simulator/DOVEBrowser/DataHandler.java - orbsvcs/tests/Simulator/DOVEBrowser/DemoCore.java - orbsvcs/tests/Simulator/DOVEBrowser/NavWeapDataHandler.java - orbsvcs/tests/Simulator/DOVEBrowser/Properties.java - orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java - orbsvcs/tests/Simulator/DOVEBrowser/make.bat - orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.cpp - orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.{cpp, dsp} - orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.{cpp, dsp, h}: - Enhancements for Boeing demo: expanded and revised make.bat to build - java browser using Visibroker on NT. Revised supplier and consumer - logic to allow an ACT to indicate whether or not to update the - scheduling information with actual data xollected by the EC. Added - a logging supplier that sets this ACT to request actual data update. - Modified java consumer so entire event is passed to data handler. - This allows the DOVE Browser to view either simulated or "live" - scheduling data. - logic to allow an ACT to indicate whether or not to update the - scheduling information with actual data xollected by the EC. Added - a logging supplier that sets this ACT to request actual data update. - Modified java consumer so entire event is passed to data handler. - This allows the DOVE Browser to view either simulated or "live" - scheduling data. - - -Wed Sep 30 03:47:31 1998 Nagarajan Surendran <naga@cs.wust - * performance-tests/Thruput/TAO/server.cpp: - Added code to write ior to a file with the option -o. - - * performance-tests/Thruput/TAO/client.cpp: - Added code to read ior from a file with option -f. - - * performance-tests/Thruput/TAO/run_server: - * performance-tests/Thruput/TAO/run_test: - * performance-tests/Thruput/TAO/run_client: - Used the -o and -f options on server and client to avoid cut and - paste of iors. - * performance-tests/Thruput/TAO/server.cpp: - Added code to write ior to a file with the option -o. - - * performance-tests/Thruput/TAO/client.cpp: - Added code to read ior from a file with option -f. - - * performance-tests/Thruput/TAO/run_server: - * performance-tests/Thruput/TAO/run_test: - * performance-tests/Thruput/TAO/run_client: - Used the -o and -f options on server and client to avoid cut and - paste of iors. - - -Wed Sep 30 02:44:59 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao: Removed some cases of explicit template instantiation of - ACE_Hash_Addr from TAO since it is no longer used inside the - cached connector. It is still necessary since it is used inside - the collocation table. - - * tao/ORB_Core: Changed return type of ACE_Hash_Addr::hash_i() to - u_long. Also added template specialization for - ACE_Refcounted_Hash_Recyclable<ACE_INET_Addr>::hash_i(). - - * tao/POA.cpp (dispatch_servant_i): Reduced access to - TAO_ORB_Core_instance() inside the POA. - - * tao: Removed some cases of explicit template instantiation of - ACE_Hash_Addr from TAO since it is no longer used inside the - cached connector. It is still necessary since it is used inside - the collocation table. - - * tao/ORB_Core: Changed return type of ACE_Hash_Addr::hash_i() to - u_long. Also added template specialization for - ACE_Refcounted_Hash_Recyclable<ACE_INET_Addr>::hash_i(). - - * tao/POA.cpp (dispatch_servant_i): Reduced access to - TAO_ORB_Core_instance() inside the POA. - -Wed Sep 30 02:18:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/README: - * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: - * performance-tests/Cubit/TAO/IDL_Cubit/Makefile: - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.h: - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp: - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: - IDL_Cubit does *not* use the Naming Service anymore. It was - simply too slow to compile orbsvcs and the Naming Service has - many other examples that show how to use it and this test is - compiled often after changin the ORB. - * performance-tests/Cubit/TAO/IDL_Cubit/README: - * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: - * performance-tests/Cubit/TAO/IDL_Cubit/Makefile: - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.h: - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp: - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: - IDL_Cubit does *not* use the Naming Service anymore. It was - simply too slow to compile orbsvcs and the Naming Service has - many other examples that show how to use it and this test is - compiled often after changin the ORB. - -Wed Sep 30 00:26:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB_Core.h: - * tao/ORB_Core.i: - * tao/ORB_Core.cpp: - * tao/CDR.h: - * tao/CDR.cpp: - * tao/Connect.cpp: - * tao/Invocation.i: - * tao/Invocation.cpp: - The resource factory can create either TSS or global allocators - for the InputCDR stream, thus applications that don't need the - CDR stream buffer to survive after the upcall, or release it in - another thread (most CORBA compliant apps fall in this category) - can benefit from this feature that reduces locks and - fragmentation in the global heap. - - * tao/default_client.h: - Fixed minor syntax error (comma at the end of an enum). - - * orbsvcs/tests/EC_Custom_Marshal/svc.conf: - * orbsvcs/tests/EC_Custom_Marshal/svc.conf: - Use a global allocator for the CDR stream. - - * tao/ORB_Core.h: - * tao/ORB_Core.i: - * tao/ORB_Core.cpp: - * tao/CDR.h: - * tao/CDR.cpp: - * tao/Connect.cpp: - * tao/Invocation.i: - * tao/Invocation.cpp: - The resource factory can create either TSS or global allocators - for the InputCDR stream, thus applications that don't need the - CDR stream buffer to survive after the upcall, or release it in - another thread (most CORBA compliant apps fall in this category) - can benefit from this feature that reduces locks and - fragmentation in the global heap. - - * tao/default_client.h: - Fixed minor syntax error (comma at the end of an enum). - - * orbsvcs/tests/EC_Custom_Marshal/svc.conf: - * orbsvcs/tests/EC_Custom_Marshal/svc.conf: - Use a global allocator for the CDR stream. - - -Tue Sep 29 21:57:02 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - - * examples/TAO_Examples.dsw: Removed incorrect dependency. - - * examples/TAO_Examples.dsw: Removed incorrect dependency. - - * examples/POA/FindPOA/FindPOA.dsp: Renamed from FindPOA Server to - simply FindPOA. - -Tue Sep 29 19:17:17 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Tao/tests/DynAny_Test/server.dsp: - * Tao/tests/DynAny_Test/client.dsp: - * Tao/tests/DynAny_Test/tckind.idl: - * Tao/tests/DynAny_Test/DynAny.idl: - * Tao/tests/DynAny_Test/DynAny_i.{h,cpp}: - * Tao/tests/DynAny_Test/DynArray_i.{h,cpp}: - * Tao/tests/DynAny_Test/DynEnum_i.{h,cpp}: - * Tao/tests/DynAny_Test/DynSequence_i.{h,cpp}: - * Tao/tests/DynAny_Test/DynStruct_i.{h,cpp}: - * Tao/tests/DynAny_Test/DynUnion_i.{h,cpp}: - Removed from repository. Some are going to TAO and some - are just obsolete (new test code will be written). - - * Tao/tests/DynAny_Test/DynAny_Test.dsw: - Updated to reflect removed projects. - -Tue Sep 29 15:33:52 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * examples/POA/Explicit_Activation/run_test.pl: Added the ability - to pass through extra command line options to the client and - server. - - * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: Added - ORBclientconnectionhandler ST and changed -ORBconcurrency - thread-per-connection. - - * tao/default_client.cpp (parse_args): Added a new option to - TAO_Default_Client_Strategy_Factory. -ORBclientconnectionhandler - allows the user to select the correct type of client connection - handler creation strategy. - - * tao/ORB_Core.cpp (Pre_Allocated): Initialize the - <cached_connect_strategy_> correctly with a creation factory - from <TAO_ORB_CORE::instance ()->client_factory ()>. - - * tao/Connect.h (TAO_ST_Client_Connection_Handler and - TAO_MT_Client_Connection_Handler): Added new classes that - override handle_input and send_request. The MT class uses the - leader-follower scheme, while the ST class uses the old simple - reactive strategy. - - * tao/Client_Strategy_Factory.cpp (create_client_creation_strategy): - * tao/default_client.cpp (create_client_creation_strategy): - - Added new method to create the correct type of the client - connection handler creation strategy. - -Tue Sep 29 13:23:25 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/docs/releasenotes/orbcore.html - Added entry for current status of DynAny support. - -Tue Sep 29 13:09:49 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * TAO/performance-tests/Cubit/TAO/MT_Cubit/client.cpp: - * TAO/performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Used - begin() to obtain iterator fom the ACE_Unbounded_Queue class. In - addition, I made changes to fix minor warnings. - -Tue Sep 29 12:20:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * docs/releasenotes/ec.html: - Documented the latest feaures of the EC. - - * docs/releasenotes/orbcore.html: - Documented some of the latest optimizations implemented in the - ORB. - - * docs/releasenotes/TODO.html: - Yet another task for the EC. - -Tue Sep 29 11:08:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/Event/Timer_Module.h: - * orbsvcs/orbsvcs/Event/Timer_Module.i: - * orbsvcs/orbsvcs/Event/Timer_Module.cpp: - * orbsvcs/orbsvcs/Event/Task_Manager.h: - * orbsvcs/orbsvcs/Event/Task_Manager.i: - * orbsvcs/orbsvcs/Event/Task_Manager.cpp: - New class Timer_Module that replaces the Task_Manager - class. This module of the EC is in charge of implementing the - timer queue. Currently there are two implementations of the - module: a pool of Reactors running at different priorities - to dispatch the timers; a single reactor (shared with the ORB) - to dispatch all the timers. - In the future we plan to implement the timers using the - Thread_Timer_Queue_Adapter or a similar mechanism. - - * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.i: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Use the new abstractions in the Timer_Module to schedule and - cancel timers. - - * orbsvcs/orbsvcs/Event/Module_Factory.h: - * orbsvcs/orbsvcs/Event/Module_Factory.cpp: - Added methods to create the new module. - - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - Some experimental changes to test the new single threaded module - factory for the Event Channel. - - * Many makefiles were updated because the dependencies changed. - - * tests/Param_Test/README: - Removed outdated arguments. - - * docs/releasenotes/TODO.html: - Minor updates. - -Tue Sep 29 07:18:28 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Thruput/COOL/ttcp_decl.h,client.cpp,server.cpp: - replaced USE_QUANTIFY with ACE_HAS_QUANTIFY. - - * performance-tests/Thruput/COOL/client.cpp,server.cpp, - performance-tests/Thruput/CORBAplus/ttcp_i.cpp: - replaced direct {f,io}stream.h #includes with #include of - ace/streams.h. - - * performance-tests/Thruput/TAO/ttcp_decl.h,ttcp_i.cpp,client.cpp, - server.cpp: - performance-tests/Thruput/CORBAplus/ttcp_decl.h,client.cpp, - server.cpp: replaced USE_QUANTIFY with ACE_HAS_QUANTIFY. - -Tue Sep 29 00:18:22 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * examples/POA/FindPOA/run_test.pl - * examples/POA/Forwarding/run_test.pl - Perl escripts to run the tests in their respective - directories. The Forwarding script is kinda hairy and was a pain - in the tookas. - -Mon Sep 28 21:35:47 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Time_Utilities.cpp: removed #define ACE_BUILD_DLL. - Thanks to Irfan for reporting that it's not correct. - - * performance-tests/Cubit/COOL/MT_Cubit/Task_Client.cpp: changed - USE_QUANTIFY to ACE_HAS_QUANTIFY. - -Mon Sep 28 16:39:30 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * TAO/performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * TAO/performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * TAO/performance-tests/Cubit/TAO/MT_Cubit/client.cpp: Replaced - the use of ACE_Unbounded_Set with ACE_Unbounded_Queue, fixing the - inconsistent results of stats. - -Mon Sep 28 15:39:40 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA.cpp (create_object_key): Don't add the space for - persistent_key_type_length and creation_time_length when - POA_NO_TIMESTAMP is defined. - -Mon Sep 28 15:03:02 1998 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * TAO/orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: updated destroy - method to commit suicide only if not root. - - * TAO/docs/releasenotes/index.html: updated releasenotes for the - Naming Service to reflect recent changes. - -Mon Sep 28 14:41:48 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Time_Utilities.cpp: added #define ACE_BUILD_DLL. - Thanks to Brian Mendel <brian.r.mendel@boeing.com> for - reporting link failure without it on NT. - - * tao/Object_Table.i (TAO_Object_Table_Impl::create_object_id): added - comment noting that the function is supposed to always fail. - Only TAO_Active_Demux_ObjTable::create_object_id is supposed to - succeed. - - * TAO-INSTALL.html: updated instructions for installing gperf - in host-target (cross-compile) environments. - -Mon Sep 28 02:26:39 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * examples/POA: Added ability to support perl scripts for running - the tests and writing IORs to files: - - - ACE_wrappers/TAO/examples/POA/DSI/client.cpp - - ACE_wrappers/TAO/examples/POA/DSI/server.cpp - - ACE_wrappers/TAO/examples/POA/Generic_Servant/client.cpp - - ACE_wrappers/TAO/examples/POA/On_Demand_Activation/server.cpp - -Sun Sep 27 23:00:06 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA: Changed the creation time to have a binary encoding - rather than the hex encoding. Binary is better than the hex - representation because it takes half the space to store. - - Also, changed the Object Id generation and parsing code to not - use MAX_SPACE_REQUIRED_FOR_TWO_CORBA_ULONG_TO_HEX but use - (2 * sizeof (CORBA::ULong)). - -Sun Sep 27 22:53:08 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * examples/POA/Explicit_Activation/run_test.pl: Changed - permissions to allow execution. Nothing special. Feh. - -Sun Sep 27 22:37:11 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * examples/POA/Default_Servant/server.cpp - * examples/POA/Default_Servant/client.cpp - * examples/POA/DSI/server.cpp - * examples/POA/DSI/client.cpp - Fixed a small misuse of strdup - - * tests/OctetSeq/run_test.pl: Small script to run OctetSeq test - - * tests/Multiple_Inheritance/run_test.pl: Script to run client and - server - - * tests/Multiple_Inheritance/server.cpp - * tests/Multiple_Inheritance/client.cpp - Added command line parsing and ability to output the IOR to a - file (server) and read from a file (client) - - * tests/Multiple_Inheritance/Makefile: Fixed realclean to remove - server and client binaries - -Sun Sep 27 21:05:40 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Object_Table.i (create_object_id): added - ACE_UNUSED_ARG (servant). - - * tao/Object_Table.cpp (TAO_Dynamic_Hash_ObjTable, - TAO_Linear_ObjTable ctors): added static cast of - TAO_Object_Table_Impl::DEFAULT_TABLE_SIZE to size_t, - to avoid g++ complaints about enumeral and non-enumeral - type in conditional expression. - -Sun Sep 27 19:25:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - Added some more comments. - -Sun Sep 27 00:58:31 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/Object_Table.cpp: Cleaned up the code a bit and got it to - work on SunC++ again. This may break DU's C++ compiler, but - we'll take on step at a time here... - - * TAO_IDL/be/be_interface.cpp: Generate the "unsigned int" - signatures for hash() and lookup() to match the changes in - gperf. - - * TAO_IDL/be/be_interface.cpp (gen_perfect_hash_methods): Removed - the -S1 flag to GPERF. This is now implicit if GPERF can't - generate a proper "lookup array" duplicate solution... - Naturally, this means that you MUST update GPERF... - -Sun Sep 27 00:02:57 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Object_Table and POA: - - - Added no-op destructors to all class. g++ was having problems. - - - Moved the Hash_Map_Manager template specialization to the .i - file. Hopefully, the DU compiler will pick it up. - - - There was a bug in TAO_POA::encode_sequence_to_string where - the order of encoding higher order bits vs the lower order - bits was reversed relative to the decoding routine. - - - Changed the object id in the SYSTEM_ID case so that it now - contains the binary values for the index and the generation - count. This should make the parsing of the id faster. - - - Made sure that the POA policies are getting registered with - the RootPOA rather than the creator POA. This allows implicit - activation of the policies. - - - There was a bug in create_object_id which was fixed by moving - <next_> along if index is not reused. - -Sat Sep 26 20:25:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - Fixed problem in TAO_ECG_Mcast_EH::unsubscribe() method. - -Sat Sep 26 09:59:59 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Simulator/NavWeap.idl - orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp - orbsvcs/tests/Simulator/DOVEBrowser/NavWeapDataHandler.java - orbsvcs/tests/Simulator/DOVEBrowser/PushConsumerFactory.java: - Expanded time members of Navigation and Weapons structures to have - secs and usecs, as for ACE_Time_Value class in C++ - - * orbsvcs/tests/Simulator/DOVEBrowser/DemoCore.java: - Made Latency, Jitter, and Deadlines GUI components the - defaults for demo startup. - - * orbsvcs/tests/Simulator/DOVEBrowser/make.bat: - Massive cleanup and expansion of this script: now does make clean, - make realclean, nicer VB rebuild on NT. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsp: - Added copy line to NavWeap.idl custom build step - copies the - file from the parent directory before calling TAO_IDL. - - * orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.{cpp, dsp, h}: - New event supplier application to be used with actual runtime - logging of scheduling behavior in the EC: does not depend on data - being fed from simulation results file. - -Sat Sep 26 09:59:59 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/NS_Resolve.java: - Reverted TAO_DEFAULT_NAME_SERVER_REQUEST_PORT to 10013. - -Sat Sep 26 09:24:10 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Object_Table.i (TAO_Dynamic_Hash_ObjTable_Iterator): - moved this constructor up in the file, to avoid use - before definition. - - * tao/Object_Table.cpp (bind,find,unbind): removed check - for "index" < 0. Because it's unsigned, it can never - be less than 0. GreenHills warned about that. - -Sat Sep 26 00:07:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Object_Table.i: - * tao/Object_Table.cpp: - Optimized object id parsing for the active demultiplexing object - table. - Moved the TAO_Object_Table constructor to the .cpp file, EGCS - did not like it there. - -Fri Sep 25 22:00:49 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA: Changed the POA so that the IOR it generates when the - SYSTEM_ID policy is used can be used to actively find the - servant. This new IOR contains an extra byte to indicate - whether the IOR is from a POA with SYSTEM_ID or USER_ID policy. - When the SYSTEM_ID is used, the IOR contains two pieces of - information. (a) The index of the slot where the servant is - registered. (b) The generation count of that slot. The - generation count is used to identify old IORs and allows the - recycling of the slots in the Active Object Map. - - Another advantage of the SYSTEM_ID policy is that the Object Id - is of fixed size. This makes the parsing of the incoming IOR - quicker. - - Obviously, the changes in the IOR required changes to the - parsing routines and the IOR generation routines. - - Also, fixed a bug in TAO_POA::destroy. We must destroy self - only after releasing the lock. This is the same bug I found in - Marina's code ;-) - - * tao/IIOP_Object.cpp (operator!=): Added operator!= for - TAO_opaque. Also, fixed IIOP::Profile::set() so that it does - not try to do get_host_name() if use_dotted_decimal_addresses () - is set. - - * tao/Object_Table: New file (Object_Table.i) which contains the - smaller functions from Object_Table.cpp. The new Object_Table - files contain an almost complete rewrite of TAO_Linear_ObjTable - and specially of TAO_Active_Demux_ObjTable. Also, moved the - responsibility of object id creation from the POA to the Object - Table. - - * tao/Server_Strategy_Factory.cpp (object_table_size): Added - method to access user specified object table size. - -Fri Sep 25 22:07:55 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Mcast/README: - * orbsvcs/tests/EC_Mcast/EC_Mcast.h: - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - The UDP_Receiver is a RtecEventChannelAdmin::Observer so it can - update its set of mcast group subscriptions automatically. We - still need to improve the underlying socket abstractions to - handle multiple groups (even when the number grows beyond the - limits of a single socket). - - * orbsvcs/orbsvcs/Event_Utilities.cpp: - The debug routine for QoS structures did not print the - is_gateway field. - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Fixed some problems on shutdown, related to observer updates. - -Fri Sep 25 19:02:03 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/try_macros.h: Fixed the TAO_THROW_ENV_RETURN macro for - native exceptions. It was not taking in the RETURN value - argument - -Fri Sep 25 15:31:17 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/CDR/run_test.pl: New script to run all three CDR tests and - format the output. - - * tests/CDR/growth.cpp: Added ability to set a few basic variables - from the command line. - - * tests/CDR/basic_types.cpp: Added ability to set a few basic - variables from the command line - -Fri Sep 25 07:37:01 1998 David L. Levine <levine@cs.wustl.edu> - - * examples/Simple/echo/Client_i.cpp (Client_i): reordered - initializers to match declaration order. - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: added - ACE_Map_Manager<RtecEventChannelAdmin::Observer_Handle, - ACE_EventChannel::Observer_Entry, ACE_Null_Mutex template - instantiations. - - * IIOP/tests/Thruput_test/client.cpp,server.cpp,ttcp_decl.h, - ttcp_i.cpp: replaced USE_QUANTIFY with ACE_HAS_QUANTIFY. - - * IIOP/tests/Thruput_test/client.cpp: replaced direct - #includes of iostream.h and fstream.h with ace/streams.h. - - * IIOP/tests/Thruput_test/ttcp_i.cpp: replaced some - iostream printouts with ACE_DEBUGs. - - * performance-tests/Cubit/TAO/MT_Cubit/plot: added this script, - which plots the output of summarize. - - * performance-tests/Demux/Makefile: removed quantify relic. - - * performance-tests/Demux/server.cpp: replaced USE_QUANTIFY - with ACE_HAS_QUANTIFY, and iostream/fstream.h with ace/streams.h. - -Thu Sep 24 21:45:57 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp (gperf_input_stream): don't - delete the gperf_input_stream on Linux, only, because - it causes tao_idl to seg fault. - -Thu Sep 24 20:55:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/orbsvcs/Event/EC_Gateway.h: - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - Completed the implementation of (potentially) remote observers - for the subcription and/or publication list of an Event - Channel. - - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - Fixed yet another error message. - - * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: - The observer handle can be an unsigned long. - Added exceptions to report problems when adding and/or removing - observers. - - * orbsvcs/orbsvcs/RtecEventComm.idl: - Added a "#pragma prefix" to cancel the "omg.org" prefix. - - * orbsvcs/orbsvcs/Makefile: - Updated dependencies. - -Thu Sep 24 18:01:47 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao (Current.pidl Object_Key.pidl POA.pidl Policy.pidl): The - makefiles in ACE look for files with the .idl extension to run - the IDL compiler on. Therefore, to prevent the IDL files in - TAO/tao to get compiled by the user, we named them with a .IDL - extension. Unfortunately, the NT filesystem is not case - sensitive. Therefore, when one typed make, it ran the IDL - compiler on those files. - - I have fixed this by renaming the IDL files in TAO/tao with a - .pidl extension instead of the .IDL extension. - -Thu Sep 24 15:39:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/corba.h: * tao/try_macros.h: Moved the TAO_TRY macros (and - friends) to a separate file. - - * tao/poa_macros.h: - Removed extra scope that was releasing locks too soon. - Use the new macros TAO_GUARD_THROW macros. - - * Many Makefile dependencies updated. - -Thu Sep 24 13:41:19 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - * examples/Simple/bank/AccountManager_i.cpp: - Removed the warning TAO_TRY_LABEL unreferenced. - -Wed Sep 23 23:30:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: - TAO_THROW requires calls like this: - TAO_THROW (Type()); - instead of simply - TAO_THROW (Type); - the latter works in platforms without native C++ exceptions the - former does not. - -Wed Sep 23 10:02:20 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/summarize: fixed - calculation of number of low-priority threads. - - * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: fixed - typo in $iiop_lite. - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - cleaned up latency/jitter code, and added printouts with - number of samples. - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - increment number_of_samples in iteration loops, instead of - relying on loop_count. Without this change, the jitter - calculation is incorrect, and underestimates jitter. It's - not clear why the actual number of messages and loop count - differ by so much, e.g, 150 instead of 1000. - - * utils/IOR-parser/ior-handler.cpp (findIfVisiIor,interpretIor): - removed unused locals "nullOctet". - - * orbsvcs/tests/Sched/Makefile: removed Quantify relics. - - * orbsvcs/tests/Sched/DynSched_Test.cpp: replaced quantify with - ACE_HAS_QUANTIFY. - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp (preemption_priority, - set_preemption_priority): for HPUX aCC only, added typedef - to replace direct use of RtecScheduler::Preemption_Priority - as an operator name. It can't handle it. Thanks to - Alan Scheinine <scheinin@crs4.it> for reporting this problem - and providing the fix. - -Wed Sep 23 02:39:29 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.14 released. - -Wed Sep 23 01:24:09 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB.h (struct TAO_Leader_Follower_Info): Added constructor - cause all the fields were not being initialized properly. - -1998-09-22 Nagarajan Surendran <naga@tango.cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp : - Fixed the stats.sample to just pass the - latency as it in microseconds and also removed the 0.5 addition - since it caused an floating point exception on chorus. - Also fixed the (1/frequency) error while calculating sleep_time - for a thread which caused the high priority to keep running in - chorus. - - * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: - Fixed the pccTimerInit macro for chorus. - - * performance-tests/Cubit/TAO/MT_Cubit/Timer.cpp: - performance-tests/Cubit/TAO/MT_Cubit/client.cpp: - Fixed chorus compile errors. - - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: - -Tue Sep 22 23:04:01 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: - enable -ORBiioplite by default, and added -l option to - disable. - - * performance-tests/Cubit/TAO/MT_Cubit/summarize: - added this script, which summarizes the results - from multiple MT_Cubit_Test runs. - -Tue Sep 22 22:46:52 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Makefile: Updated - dependencies. - -Tue Sep 22 22:29:30 1998 David L. Levine <levine@cs.wustl.edu> - - * exmaples/POA/{Forwarding,TIE}: added FooS_T.* to - realclean target. - -Tue Sep 22 19:18:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Mcast/EC_Mcast.h: - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - Updated the comments and removed some warnings. - - * utils/IOR-parser/ior-handler.cpp: - Fixed out-of-bounds error in an array. - the IorHander::hexChar2int() function was not returning a value - on every execution path. - - * examples/Simple/chat/Client_i.cpp: - * examples/Simple/bank/Server_i.cpp: - Removed unreached statement. - - * examples/Simple/bank/Client_i.cpp: - Removed unused variable. - - * examples/Simple/grid/Client_i.cpp: - * examples/Simple/chat/Client_i.cpp: - Reordered initializers to match the declaration. - - * examples/POA/On_Demand_Activation/server.cpp: - Removed signed/unsigned comparison warning. - -Tue Sep 22 18:19:42 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/IIOP_Object.cpp: - Fixed unreachable statement warning: this was an excellent - warning because the semantics were broken. - - * TAO_IDL/util/utl_scope.cpp: - Removed unused variable. - - * docs/releasenotes/TODO.html: - Added brief note about a (potential) EC bug. - - * docs/configurations.html: - Added more documentation about the use of dotted decimal - addresses to work in platforms without a DNS server. - -Tue Sep 22 18:03:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * examples/Simple/chat/Client_i.h: - Added missing file. - -Tue Sep 22 16:59:30 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/ORB.cpp (CORBA_ORB): Changed - leader_follower_info_.leader_thread_ID_ = 0; - - to - - leader_follower_info_.leader_thread_ID_ = ACE_OS::NULL_thread; - - Thanks to Alan Scheinine <scheinin@crs4.it> for reporting this. - -Tue Sep 22 16:16:49 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Updated dependencies for many Makefiles. - -Tue Sep 22 15:33:48 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Mcast/EC_Mcast.h: - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - Added simple support for dynamic reconfiguration of the consumer - subscriptions; we still have to propagate this to the multicast - groups that we join. - - * orbsvcs/orbsvcs/Scheduler_Factory.h: - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - Added support for configuring a local scheduler, without using - the naming service. - -Tue Sep 22 14:29:29 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - Made changes to the ACE_DEBUG to print the server/client Process - ID/ thread ID for all messages to console. Also modified README to - include the description of tests done by client. - - * examples/Simple/bank/README: - * examples/Simple/bank/ AccountManager_i.cpp - * examples/Simple/bank/ Account_i.cpp - * examples/Simple/bank/ Client_i.cpp - * examples/Simple/bank/Server_i.cpp - * examples/Simple/bank/client.cpp - * examples/Simple/bank/server.cpp - -Tue Sep 22 13:21:02 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (init): Don't look for - an existing naming service, just become one. - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (destroy): Must destroy - self only after releasing the lock. - -Tue Sep 22 07:12:31 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (TAO_NamingContext ctor): - reordered initializers to match declaration order. - - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: replaced - quantify with ACE_HAS_QUANTIFY. - - * orbsvcs/tests/Event_Latency/Makefile, - orbsvcs/tests/EC_Multiple/Makefile, - orbsvcs/tests/EC_Throughput/Makefile, - orbsvcs/tests/EC_Custom_Marshal/Makefile: removed Quantify - support, now that it's in wrapper_macros.GNU. - - * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: - put the sleep in a loop that checks for the server ior file. - The old 4 second sleep wasn't always long enough. - - * tests/Makefile: removed DynAny_Test from DIRS because it - doesn't yet have a Makefile. - -Tue Sep 22 03:22:56 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.13 released. - -Tue Sep 22 02:40:33 1998 Douglas C. Schmidt <schmidt@lambada.cs.wustl.edu> - - * examples/Simple/grid: Printout the process id and thread id - for the client and server. - - * examples/Simple/Makefile (DIRS): Enabled all the "Simple" test - examples in the Makefile so we can see if they compile on other - platforms. - - * TAO_IDL/be/be_interface.cpp (gen_perfect_hash_methods): Added - the -S1 flag, which generates a switch statement if duplicate - keys are encountered. This works around a bug with gperf that - needs to be fixed soon... - -Mon Sep 22 01:08:51 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * changed examples/Simple/echo/Client_i.cpp - - the initialization of the naming service just - needs a single argument now. - - * changed examples/Simple/echo/Server_i.cpp - - return values from TAO_CHECK_ENV have been removed. - - * checked in - examples/Simple/echo/Echo.dsw, - examples/Simple/echo/client.dsp, - examples/Simple/echo/server.dsp. - -Mon Sep 21 22:24:45 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.h (TAO_Naming_Client): Added - timeout to init(). - -Mon Sep 21 21:44:39 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/CDR.i,tao/Connect.cpp, - performance-tests/Cubit/CORBAplus/MT_Cubit/server/Makefile - performance-tests/Cubit/TAO/MT_Cubit/Makefile - performance-tests/Thruput/COOL/ttcp_i.cpp - performance-tests/Thruput/CORBAplus/ttcp_i.cpp - performance-tests/Thruput/TAO/ttcp_i.cpp: - use ACE_HAS_PURIFY instead of ACE_PURIFY. And, removed - purify settings from Makefiles now that they're in ACE's - wrapper_macros.GNU. - -Mon Sep 21 21:32:31 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs: Removed the extra args after all the - TAO_Naming_Client::init() calls. - -Mon Sep 21 18:20:35 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.cpp (init): Added compile time option - TAO_USE_DOTTED_DECIMAL_ADDRESSES that makes the use of dotted - decimal addresses the default. Also changed the - -ORBdotteddecimaladdresses option to take an argument (0 or 1). - - * tao/ORB.cpp: - * tao/Connect.cpp: - - g++ cannot gork templates typedefs. - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (new_context and list): - Cannot call _this() directly since the POA has the USER_ID - policy. Therefore, added a simple scheme for producing names - based on a counter value. - -Mon Sep 21 18:15:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB.cpp: - * tao/Connect.cpp: - Fixed template instantiations, thanks to Irfan for his help - tracking this down. - -Mon Sep 21 01:38:46 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * performance-tests/Cubit/TAO/DII_Cubit/client.cpp (init_naming_service): - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp - (init_naming_service): Fixed initialization of Naming_Server. - - * orbsvcs/orbsvcs/IOR_Multicast.h (TAO_IOR_Multicast): Changed - char * to const char *. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.h (TAO_Naming_Server): - Complete revamp of Naming_Server and Naming_Client. New - implementation is better with respect to functionality, memory - management and other indescribable things ;-) - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (TAO_NamingContext): - Deprecated init(). Also fixed some other simple stuff. - - * tao/IIOP_Object.cpp (IIOP_Object): Fixed initialization for - this->fwd_profile_lock_ptr_. - - * tao/IIOP_Object.i (reset_handler) and (~IIOP_Object): Added code - to cleanup hint svc_handler. - - * tao/ORB.cpp: Fixed template instantiations. - - * tao/GIOP: - * tao/Invocation.cpp - - Changed close to handle_close. - - * tao/Environment.cpp (print_exception): Check for zero exception - before printing. - - * tao/Connect.cpp (handle_close): Close socket but don't delete - instance. Instance will be deleted when all "hints" are - removed. Instance is deleted in close(). - -Sun Sep 20 23:30:20 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/ORB: It is now possible to give an ACE_Time_Value to the - ORB's resolve_initial_references() method in order to bound the - amount of time spent waiting for a service to be resolved via - multicast. - - * tao/orbconf.h: Renamed TAO_DEFAULT_NAME_SERVER_TIMEOUT to - TAO_DEFAULT_SERVICE_RESOLUTION_TIMEOUT, which is more - descriptive. - -Sun Sep 20 22:57:28 1998 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * TAO/orbsvcs/orbsvcs/Naming/CosNaming_i.h, - TAO/orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: - updated servants to keep a reference to their POA (which might be - different from the root POA). - -Sun Sep 20 22:41:02 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Simple/echo/Echo_i.cpp: - changes in Echo::echo() made. - -Sun Sep 20 01:21:07 1998 Darrell E. Brunsch <brunsch@waltz.cs.wustl.edu> - - * ChangeLog: IIOP_Object changes. - - * tao/IIOP_Object.cpp, tao/IIOP_Object.h, tao/IIOP_Object.i: - Fixed the static call to revert back to the original profile when the - forwarded profile fails. - -1998-09-20 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Simple/echo/Echo_i.cpp: - changes in method Echo::echo. - -Sun Sep 20 21:20:05 1998 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * TAO/orbsvcs/orbsvcs/CosNaming.idl: added comments. - - * TAO/orbsvcs/orbsvcs/Naming/*: - renamed all classes NS_* to be TAO_* - - * TAO/orbsvcs/orbsvcs/Naming/CosNaming_i.*: - modified implementation to support C++ exception via use of TAO's - portable exception macros. Updated destroy methods. Created - <root_> flag, which can be set in the constructor to identify a - root context. - - * tao/corba.h: added TAO_TRY_THROW macro, which should be used - inside a TAO_TRY block, and caught by the following TAO_CATCH... - -Sun Sep 20 20:20:20 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - * TAO/tests/Simple/bank : Checked in the final versions of the following files : - /Account_i.cpp - /Account_i.h - /AccountManager_i.cpp - /AccountManager_i.h - /Server_i.cpp - /Server_i.h - /Client_i.cpp - /Client_i.h - /server.cpp - /client.cpp - /Bank.idl - -Sun Sep 20 01:19:16 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/IIOP_Object.{cpp,i,h}: Fixed the static call to - revert back to the original profile when the forwarded - profile fails. - -Sat Sep 19 21:35:28 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/Simple_Naming/client.dsp: - * tests/Trading/TradingLib.dsp: - More projects that need to be changed because of the - TAO_IDL's move. - -Sat Sep 19 21:27:38 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/GIOP.cpp: Fixed a signed/unsigned comparison in - writev_n. - -Sat Sep 19 14:26:54 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * examples/TAO_Examples.dsw: - * performance-tests/TAO_Perf_Tests.dsw: - * tests/TAO_Tests.dsw: - Split up the workspaces to work with the new structure - of examples, performance-tests, and tests. - - * TAO_IDL/tao_idl.dsp: - * tao/tao.dsp: - * examples/POA/Generic_Servant/server.dsp: - Changed behavior of all DLL projects and utilities (like - tao_idl) to put the dll and executables in $ACE_ROOT/bin. - - * examples/POA/DSI/client.dsp: - * examples/POA/Forwarding/client.dsp: - * examples/POA/Forwarding/server.dsp: - * examples/POA/Generic_Servant/client.dsp: - * examples/POA/TIE/client.dsp: - * examples/POA/TIE/server.dsp: - * examples/Quoter/Factory_Finder.dsp: - * examples/Quoter/Generic_Factory.dsp: - * examples/Quoter/client.dsp: - * examples/Quoter/server.dsp: - * examples/Simple/time/client.dsp: - * examples/Simple/time/server.dsp: - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/orbsvcs/orbsvcs.dsp: - * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: - * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: - * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: - * performance-tests/Cubit/TAO/MT_Cubit/client.dsp: - * performance-tests/Cubit/TAO/MT_Cubit/server.dsp: - * tests/Multiple_Inheritance/client.dsp: - * tests/Multiple_Inheritance/server.dsp: - * tests/NestedUpcall/MT_Client_Test/client.dsp: - * tests/NestedUpcall/MT_Client_Test/server.dsp: - * tests/NestedUpcall/Reactor/client.dsp: - * tests/NestedUpcall/Reactor/server.dsp: - * tests/NestedUpcall/Triangle_Test/initiator.dsp: - * tests/NestedUpcall/Triangle_Test/server_A.dsp: - * tests/NestedUpcall/Triangle_Test/server_B.dsp: - * tests/OctetSeq/OctetSeq.dsp: - * tests/Param_Test/client.dsp: - * tests/Param_Test/server.dsp: - Had to update projects that compile IDL files since tao_idl - was moved to $ACE_ROOT/bin. - - * TAO-INSTALL.html - Updated the instructions for all this. - -Sat Sep 19 14:03:27 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * examples/POA/Explicit_Activation/alternate.conf: Fixed service - config directive since directory name of the alternate resource - factory was changed. - -Sat Sep 19 13:13:46 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp (consumer_push): added - another ACE_CAST_CONST. Thanks to Hans for reporting that - it was needed to compile with Sun C++. - -Fri Sep 18 17:39:03 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/DynAny_Test/DynUnion_i.{h,cpp}: - * TAO/tests/DynAny_Test/README: - Checked in the finished DynUnion code and updated the - README file. - - Quickly tested what I could of DynUnion functions, but TAO - IDL compiler doesn't yet deal with a union default case or - with more than one label for the same element. There were - also problems with insertion into an Any for unions with a - string or typecode active member, but these are also IDL - problems and are also present with structs. - - Aside from the above limitations, preliminary check on - DynUnion is a thumbs-up. - -Fri Sep 18 16:44:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * utils: Added the latest and greatest IOR parser. Thanks to - Priya Narasimhan <priya@lambda.ece.ucsb.edu> for this. - -Fri Sep 18 11:27:00 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.{h,cpp}: Moved all the - template code from Endpoint_Strategy.{h,cpp} into these separate - files. - -Fri Sep 18 08:48:20 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs.dsp: Fixed some idl custom build - settings for release version. Thanks to jmorey@tbi.com (John - Morey) for reporting this. - -Fri Sep 18 08:39:13 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Mcast/EC_Mcast.i - ({consumer,supplier}_{ipaddr,name}): added ACE_CAST_CONST to please - Sun C++. Thanks to Hans Rohnert for reporting this. - - * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp (svc): - (svc): print out errno string if ORB initialization fails. - - * tao/POA.i (operator ==,!=): added ACE_UNUSED_ARG (rhs) with - POA_NO_TIMESTAMP. - - * orbsvcs/tests/EC_Custom_Marshal/Makefile: ran make depend. - Thanks to Hans Rohnert for reporting that the build failed - without it. - -Fri Sep 18 02:15:23 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.12 released. - -Fri Sep 18 00:11:07 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/be_include/be_interface.h: - * TAO_IDL/be/be_interface.cpp: - - Used ACE::open_temp_file () instead of ACE_OS::open (). - Commented out be_interface::cleanup_gperf_temp_file (). - -Thu Sep 17 23:47:31 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: - Added the correct template instantiations for IRIX 6.2 - - * tao/ORB_Core.cpp: - Minor fix in argument parsing. - -Thu Sep 17 22:52:48 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_sunsoft.cpp: - For character constants we print the hex escape sequence if the - character is not printable. - -Thu Sep 17 22:22:51 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * docs/configurations.html: - Updated the section about homogenous configurations. - -Thu Sep 17 21:48:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/fe/idl.ll: - * TAO_IDL/fe/lex.yy.cpp: - Added support for hex scape sequences for char constants. - -Thu Sep 17 21:22:42 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/DynAny_Test/README.txt - Updated and edited file. - -Thu Sep 17 18:52:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - * tao/GIOP.cpp: - We now use the iovec structure becauce ACE_IO_Vector has been - deprecated. - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Removed some debug messages. - -Thu Sep 17 14:18:19 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/DynAny_Test/README.txt - Added this new file. - -Thu Sep 17 09:04:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB_Core.cpp: - More fixes for HP-UX 10.2, we have to use ACE_OS::thr_equal() - instead of operator==, thanks to Anne Blankert <anne@geodan.nl> - for pointing out this problems. - -Wed Sep 16 22:36:55 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Mcast/EC_Mcast.i - ({supplier,consumer}_{name,ipaddr}): added static - casts to CORBA::ULong to avoid signed/unsigned comparisons. - - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp (consumer_push): - added static cast to avoid signed/unsigned comparison. - Added ACE_UNUSED_ARG (_env). - - * examples/POA/Explicit_Activation/server.cpp (write_iors_to_file): - changed type of local "result" from int to u_int to - avoid signed/unsigned comparison. - -1998-09-16 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Simple/echo/Client_i.h (class Client_i): - initialized the use_naimg_service variable to 1. - - * examples/Simple/echo/Client_i.cpp: - changed the names of the variables needed for the naming_service. - -Wed Sep 16 20:39:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: - Fixed template instantiation problem on IRIX, thanks to - Margherita Vittone Wiersma <vittone@fndaub.fnal.gov> for - reminding me of this. - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h: - Removed TAO_Register<>::find_property() it wasn't defined or - used in any place and it caused problems on IRIX. - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: - Use the new ACE_OS::rand_r() interface. - - * orbsvcs/orbsvcs/Sched/Scheduler.cpp: - * orbsvcs/orbsvcs/Sched/DynSched.cpp: - Changed some debug messages so it would be easier to recognize - the source. - -Wed Sep 16 20:30:53 1998 Vishal Kachroo <vishal@cs.wustl.edu> - - * examples/Simple/bank/run_test.pl: Added this script - with proper sleep time between server and client. - -1998-09-16 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Simple/echo/run_test.pl: - modified the script so that it works for the test - example with Naming service. - -Wed Sep 16 18:47:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp (push): Added a cast to - (const ACE_IO_Vector_Base *) so that aCC can correctly - disambiguate the send() call. Thanks to John Mulhern for - reporting this. - -Wed Sep 16 15:25:01 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Globals.h (SCHED_PRIORITY): - Changed the scheduling scheme in the macro to ACE_SCHED_FIFO on - Win32. Thanks to David's hint. - -Wed Sep 16 12:21:20 1998 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * TAO/orbsvcs/tests/Simple_Naming/run-test.pl - Updated perl script to run all client tests. - - * TAO/orbsvcs/tests/Simple_Naming/client.cpp - Updated Tree_Test to provide output in case a test is successful. - -Wed Sep 16 09:14:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Connect.cpp: - Fixed several portability problems, some ACE_thread_t variables - were initialized to 0 instead of ACE_OS::NULL_thread and == was - used to compare them, instead of ACE_OS::thr_equal. - - * tao/CDR.cpp: - A faster implementation of read_array() for the case were - byteswapping is required. Thanks to Anders W. Tell - <anderst@toolsmiths.se> for this patch. - -Tue Sep 15 21:37:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/IIOP_Object.cpp: - Fixed Sun/CC warning, a local variable named <host> was hiding - the class field with the same name in IIOP::Profile::set() - -Tue Sep 15 20:10:37 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * Makefile: Completely revised TAO's directory structure so that - there are now two new top-level directories: examples and - performance-tests. This structure is designed to mimick the - directory structure in ACE. - -1998-09-15 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - * TAO/tests/Simple/bank : Added the client and server files for this test. - /Account_i.cpp - /Account_i.h - /AccountManager_i.cpp - /AccountManager_i.h - /Server_i.cpp - /Server_i.h - /Client_i.cpp - /Client_i.h - /server.cpp - /client.cpp - /Bank.idl - -1998-09-15 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * tests/Simple/echo : Checked in the following files. - /Client_i.cpp - /Client_i.h - /Echo_i.cpp - /Echo_i.h - /Echo.idl - /Makefile - /Server_i.cpp - /Server_i.h - /client.cpp - /run_test.pl - /server.cpp - -Tue Sep 15 18:00:55 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/POA/DSI/README: A few caveats for the users. Nothing major. - - * tests/POA/DSI/run_test.pl: New test script. Runs the client and - server. - - * tests/POA/DSI/server.cpp: Added a parse_args method and changed - to output the IOR to a file. Added an argument to set the - TAO_debug_level - - * tests/POA/DSI/client.cpp: Altered to get the IOR from a file and - added an argument to set the TAO_debug_level - -Tue Sep 15 17:47:07 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/POA/Default_Servant/client.cpp: Added TAO_debug_level - option to the arguments list - -Tue Sep 15 17:07:19 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/POA/Default_Servant/test: Modified the permissions (they - were breaking things). There were _no_ permissions set, so I - added read and write access. - - * tests/POA/Default_Servant/run_test.pl: The wonderful new test - script (huzzah!). - - * tests/POA/Default_Servant/server.cpp: Changed the syntax for - writing the IOR to a file to be more in line with the syntax of - the new test scripts. - - * tests/POA/Default_Servant/client.cpp: Added support for reading - the IOR from a file, a requirement for the new test script. - -Tue Sep 15 16:23:31 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/client.cpp(~Client_i) : - Used delete [] instead of delete for this->low_priority_client_. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (~Task_State): - Used delete [] for this->iors_ in place of the wrong delete. - Thanks to David and Sergio for reporting this. - -Tue Sep 15 15:35:31 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/util/utl_global.cpp (IDL_GlobalData): Replaced "\"s with - "\\"s. - -Tue Sep 15 14:34:04 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.h: - * tao/CDR.i: - Removed the << and >> operators involving the Boolean, Octet, - Char or WChar. The helper classes from_boolean/char/wchar/octet - or to_boolean/char/wchar/octet have to be used. - - * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp: - The generated code now uses the from_boolean/char/wchar/octet - helpers for the << operators and the corresponding to_* form - for the >> operators - - * tao/Invocation.cpp: - Use the from_boolean and to_boolean helpers. - - * TAO_IDL/be/be_visitor_root/cdr_op.cpp: - Cosmetic changes. - -Tue Sep 15 13:51:36 1998 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * TAO/orbsvcs/tests/Simple_Naming/client.cpp : - Added return values to all <execute> methods. - -Tue Sep 15 13:10:51 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/util/utl_global.cpp (IDL_GlobalData): Replaced "/"s with - "\"s while specifying absolute path for gperf on WIN32. - -Tue Sep 15 12:54:22 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/driver/drv_args.cpp (DRV_parse_args): Added a new line - after the warning. - -Tue Sep 15 10:26:45 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_array/{cdr_op_ch, cdr_op_cs}.cpp: - - The CDR <<, >> operators now use the <array>_forany type as - parameter. This was necessary to distinguish between a - degenerate pointer versus an array. We use the same strategy as - used by the Any <<= and >>= operators. - - In addition, for types such as arrays of strings and object - references, the generated implementation for the CDR operators - use the "in" and "inout" types. Special handling is also - necessary for arrays of arrays. - - * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp: - - Fields that are array types (typedefined or anonymous) must be - passed using their forany types. Special care must be taken to - distinguish between typedefed arrays and anonymous arrays. - - * TAO_IDL/be/be_visitor_root/cdr_op.cpp: - - Reactivated the CDR operator code generation. This was - temporarily commented out. - - * tao/CDR>{h, i}: - - Added << and >> operators that take the Any's helper classes - like from_boolean, to_boolean and others. This is necessary to - distinguish between these types. - - * tao/IIOP_Object.cpp: - - There was a local variable called "host" that was hiding the - data member "host". This is now fixed. - -Tue Sep 15 10:11:03 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_root/cdr_op.cpp: - Disabled generation of << and >> operators for InputCDR and - OutputCDR. - -Tue Sep 15 10:08:05 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO-INSTALL.html (NOTE): Revised adding IDL files into your MSVC - project setion to all IDL generated files should be put into - both client and server projects. - -Tue Sep 15 00:21:39 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.cpp (init): Added new option - -ORBdotteddecimaladdresses. - -Mon Sep 14 23:41:22 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.11 released. - -Mon Sep 14 22:23:15 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/client.cpp (class My_Test_Object): - Added a default value for the My_Test_Object constructor so that - it compiles properly. Thanks to Hans Rohnert for reporting - this. - -Mon Sep 14 20:44:56 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * docs/compiler.html: Added a section about Operation Lookup Strategy. - -Mon Sep 14 20:33:46 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/util/utl_global.cpp : - * TAO_IDL/driver/drv_args.cpp : - Some more robust handling for failure on running - <gperf>. Also updated the warning message when failure on - running. - - We try to run the $ACE_ROOT/bin/gperf. If $ACE_ROOT doesnt - exist then we try to execute "gperf" hoping that PATH is - set correctly. If -g option is used, we use that path to - execute gperf. If nothing works, we print the following - the note. - "TAO_IDL:Note:GPERF could not be executed. Using Dynamich Hashed OpLookup instead of Perfect Hashing\n" - "To make use of Perfect Hashing\n" - "\t-Build the <gperf> program at $ACE_ROOT/apps/gperf\n" - "\t-Set the environment variable $ACE_ROOT appropriately or add $ACE_ROOT/bin to the PATH\n" - "\t-Refer to Operation Lookup section in the TAO IDL User Guide ($TAO_ROOT/docs/compiler.html) for more details" - - -Mon Sep 14 17:47:41 1998 Chris Gill <cdgill@cs.wustl.edu> - Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: - Changed ownership of data to 0 in reused any so the - any does not try to delete the data out from under us - -Mon Sep 14 17:47:41 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java: - converted nested struct memberwise initializations into - new calls to nested class ctors. - -Mon Sep 14 14:33:41 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAOACE.dsw: Added gperf to the projects here. - -Mon Sep 14 13:50:25 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/client.cpp: Fixed memory problems - reported by purify. - -Mon Sep 14 11:06:00 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/{Globals.cpp,Task_Client.cpp}: - moved ACE_Condition<ACE_SYNCH_MUTEX> instantiation from - Task_Client.cpp to Globals.cpp so that the server can link it. - - * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): - changed type of loop index "j" from unsigned to signed to - avoid signed/unsigned comparison with argc_. - -Sun Sep 13 22:40:57 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.10 released. - -Sun Sep 13 18:16:46 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Globals.{h,cpp}: Converted some old - #ifdefed code in server.cpp and client.cpp into macros - for sched_params and new method for fifo scheduling initialization. - - * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: Replaced magic numbers - with symbolic constants. - - * tests/Cubit/TAO/MT_Cubit/Timer.cpp: Fixed the elapsed time - calculation for vxworks. Thanks to sergio for finding this. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - Fixed memory leaks. - -Sun Sep 13 00:44:07 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/client.cpp: Added some template - instantiations. Fixed bug related to the task name when creating - the active object. - - * tests/Cubit/TAO/MT_Cubit/Makefile (CUBIT_SVR_OBJS): Deleted some - unnecessary object files. - -Sat Sep 12 23:34:17 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Typecode.h: - Fixed the equivalent(0 function I added a few days ago - - seems the .h and .cpp signatures didn't agree. Must be - Alzheimer's. - -Sat Sep 12 21:54:04 1998 Seth Widoff <swidoff@sophocles.cimds.ri.cmu.edu> - - * orbsvcs/orbsvcs/Trader/constraint.l: - * orbsvcs/orbsvcs/Trader/Constraint_l.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: - TAO_Literal_Constraint has constructors that need to distinguish - between CORBA::Long and CORBA::Boolean parameters. When CORBA::B_FALSE - and CORBA::B_TRUE in the TAO_Literal_Constraint constructors were - changed to 0 and 1, they were interpreted as longs and not - booleans. Bad things happened. So I added explicit casts. - -Sat Sep 12 20:42:49 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Fixed the bugs in - latency and jitter calculation. - - * tests/Cubit/TAO/MT_Cubit/Globals.h : Removed the - TIME_IN_MICROSEC macro as all time calculations are made - uniformly in microseconds. - -Sat Sep 12 18:45:03 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: Guarded the - print_RtiPacket statements with TAO_debug_level > 0 condition. - -Sat Sep 12 18:05:22 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Invocation.cpp: - Added compatibility with ORBs that return a status of - SYSTEM_EXCEPTION, but are actually returning a UserException; - Visibroker does this. - - * tao/encode.cpp: - * tao/decode.cpp: - Fixed decoding and encoding of structures that have object - references as fields. - -Sat Sep 12 16:07:21 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-INSTALL.html: Updated the location of the MSVC project - file for IDL Cubit. - -Fri Sep 11 22:28:26 1998 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * TAO/orbsvcs/tests/Simple_Naming/client.h - * TAO/orbsvcs/tests/Simple_Naming/client.cpp - * TAO/orbsvcs/tests/Simple_Naming/README - Replaced simple test with a set of tests for Naming Service. - -Fri Sep 11 22:08:25 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit: Added my name to the authors in the - header files and also added some comments. - -Fri Sep 11 17:49:31 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/TypeCode.{h,cpp}: - * tao/Any.cpp; - Added an equivalent() function to typecode, similar to equal(), - but disregarding aliases. Changed the extraction operators in - Any to use equivalent() instead of equal(). - -Fri Sep 11 17:29:11 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp} : Replaced the - ACE_timer_t based global_jitter_array with ACE_Unbounded_Set. - -1998-09-11 Pradeep Gore <pradeep@flamenco.cs.wustl.edu> - - * tests/Simple/chat: Added new test program. This simple chat - program was originally a test in ORBacus and should help ORBacus - users to move to TAO and the POA. - -Fri Sep 11 12:14:03 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp : Fixed a memory allocation - error where ior array was allocated before parsing the arguments. - -Thu Sep 10 15:22:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be_include/be_predefined_type.h: - * TAO_IDL/be/be_predefined_type.cpp: - The repository ID in the TypeCode of a structure containing a - CORBA_Object was invalid. - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: - Use CORBA::Object::_duplicate() instead of foo->_duplicate() the - first one is more readable. - - * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: - An object was stored in a T_var and then as the field of a - structure, resulting in a double delete. - -Tue Sep 08 14:05:56 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/On_Demand_Activation/run_test.pl: Added a perl script - that makes it easier to run this test. - - * tests/POA/On_Demand_Activation/svc.conf: Removed this file. - - * tests/POA/On_Demand_Activation/server.cpp: Added the ability to - write IORs to files. - - * TAO_IDL/be/be_decl.cpp (compute_repoID): Add the "/" only if - there is a prefix. - -Wed Sep 10 13:14:30 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java: - cleaned up a couple more inconsistencies with the new - RtecEventComm::Event interface. - -Wed Sep 10 11:48:34 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.cpp - orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.cpp - orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp: - cleaned up remaining inconsistencies with new RtecEventComm::Event - interface. - -Thu Sep 10 09:49:39 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/run_test.pl: set default - $exepref to '.' . $DIR_SEPARATOR, so that the user - need not have '.' in their PATH. - -Wed Sep 09 22:33:34 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/util/utl_global.cpp (IDL_GlobalData): Don't warn about - undefined ACE_ROOT on Win32 at all. It is not used and we don't - use gperf on NT for now. - -Wed Sep 9 15:28:24 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/Connect.cpp: - * tao/GIOP.cpp: - * tao/Invocation.cpp: - Added ORBdebug functionality to several debug messages - -Wed Sep 9 15:00:16 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/DynAny_Test/server.dsp: - * TAO/tests/DynAny_Test/client.dsp: - * TAO/tests/DynAny_Test/DynAny_Test.dsw: - * TAO/tests/DynAny_Test/driver.cpp: - * TAO/tests/DynAny_Test/DynAny.idl: - * TAO/tests/DynAny_Test/tckind.idl: - * TAO/tests/DynAny_Test/da_tests.idl: - * TAO/tests/DynAny_Test/DynAny_i.{h,cpp}: - * TAO/tests/DynAny_Test/DynArray_i.{h,cpp}: - * TAO/tests/DynAny_Test/DynStruct_i.{h,cpp}: - * TAO/tests/DynAny_Test/DynEnum_i.{h,cpp}: - * TAO/tests/DynAny_Test/DynUnion_i.{h,cpp}: - * TAO/tests/DynAny_Test/DynSequence_i.{h,cpp}: - All the DynAny stuff so far. DynUnion isn't finished yet. - The client project is just a repository for the idl files - and driver.cpp has nothing in it. IDL-generated files need - to be modified before this will compile. These files have - been committed so Carlos can start moving stuff into TAO - while I work on class assignments and modifications to - TypeCode.cpp and Any.cpp in order to finish DynUnion. - -Wed Sep 9 13:03:20 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/ORB_Core.cpp: Adapted the behavior to use the new - ACE::debug () instead of sending -d to the Service - Configurator. - -Wed Sep 09 07:01:26 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/IIOP_Interpreter.cpp (calc_union_attr_is_var_sized_member): - wrapped the unreachable return statement with ACE_NOTREACHED. - - * tests/Cubit/TAO/MT_Cubit/Makefile: fixed dependencies, many - were missing a / after $(ACE_ROOT). - - * TAO_IDL/be/be_interface.cpp (cleanup_gperf_temp_file): added - comment on why we don't delete ss on Linux. - - * BUG-REPORT-FORM,Makefile: added BUG-REPORT-FORM. Thanks - to Susan Liebeskind <shl@cc.gatech.edu> for the form. - -Tue Sep 8 21:47:46 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/Simple/grid/Grid_i.cpp: Changed some RANGE_ERRORs - to Grid::RANGE_ERROR to compile on MSVC. - - * tests/Simple/grid/run_test.pl: Some changes with ACE - object, and use lib. - - * tests/Simple/grid/Grid.dsw: - * tests/Simple/grid/client.dsp: - * tests/Simple/grid/server.dsp: - MSVC 5/6 project files. - -Tue Sep 8 21:45:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * *.{dsp,dsw}: Updated for VC 6. - -Tue Sep 8 20:34:08 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp : Split the run_tests - and svc method into smaller functions. - - * tests/Cubit/TAO/MT_Cubit/Cubit_Task.h: Moved Cubit_Task class - from server.h to this file. - - * tests/Cubit/TAO/MT_Cubit/client.cpp: Replaced magic numbers with - #defines. Fixed vxWorks errors. - - * tests/Cubit/TAO/MT_Cubit/Globals.h : Added #defines for the - constants. - -Tue Sep 8 17:28:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/decode.cpp: - * tao/Sequence.i: - The correct way to set the length of the Message_Block inside a - decoded octet sequences is to do it on the decoding code, using - the ::replace() method brings all kind of problems a - crashes. Especially if the sequence is encoded, as in the - $TAO_ROOT/orbsvcs/EC_Custom_Marshal example. Thanks to Dave - Meyer <dmeyer@std.saic.com> for finding out this problem. - -Tue Sep 08 14:05:56 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.cpp (init): Turn on Service_Config debugging only - when debugging != 0. - - * tests/POA/Explicit_Activation/server.cpp (write_iors_to_file): - Added checks to catch potential failures in fprintf. - -Tue Sep 08 16:12:36 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp (cleanup_gperf_temp_file): - replaced the #ifdef that prevented deletion of ss on linux. - It's not OK without it. - -Tue Sep 8 15:09:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Simple/time/run_test.pl: - The waitforfile() function has to be qualified as - ACE::waitforfile(). - -Tue Sep 8 13:55:02 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.{dsp,dsw}: - Updated for MSVC 6. (dsp was done a slightly different - way than Nanbor did at 10:47. - -Tue Sep 8 12:57:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: - The table for perfect hashing of operations did not include the - _non_existent skeleton. - -Tue Sep 08 10:47:49 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/Event_Service/Event_Service.dsp: - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: - * orbsvcs/tests/Event_Latency/Event_Latency.dsp: Performed VC 6 - modification. - -Tue Sep 08 07:30:33 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp (cleanup_gperf_temp_file): - removed the #ifdef that prevented deletion of ss on linux. - It should be OK to delete it now, thanks to the recent - fix provided by Ravi Nagabhyru <ravi@future-minds.com>. - - * tao/POA.cpp: removed explicit ACE_Guard <ACE_Lock> instantiation - because it is now in ace/Message_Block.cpp. - - * tao/IIOP_Interpreter.cpp (calc_union_attr_is_var_sized_member): - wrapped a couple of break statements with ACE_NOTREACHED. - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp (TAO_ECG_UDP_Sender::push): - commented out unused local "count". - - * tests/POA/TIE/Makefile: use ACE_HAS_GNUG_PRE_2_8 to suppress builds - with old g++. - -Mon Sep 7 21:10:06 1998 Balachandran Natarajan <bala@cumbia.cs.wustl.edu> - - * tests/Simple/grid: Made some changes to Constructors - -Mon Sep 7 20:39:06 1998 Balachandran Natarajan <bala@cumbia.cs.wustl.edu> - * tests/Simple/grid: Added the first implementation of the Grid - example. This example is loosely modeled on the Grid demo that - is distributed with Orbix. - -Mon Sep 7 19:45:15 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/Trading_Service/README: - * orbsvcs/tests/Trading/README: - Added README files directing the user to the - docs/releasenotes/trader.html Trading Service documentation. - -Mon Sep 7 19:31:28 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Simple/time/run_test.pl: Added require Process. Changed - ACE::waitforfile to waitforfile. Thanks to Bala for reporting - this. - -Mon Sep 7 10:22:19 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit: Fixed a bunch of warnings. Thanks to - David Levine for reporting this. - -Mon Sep 07 09:37:07 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp (TAO_ECG_UDP_Sender::push): - renamed loop index "i" to "b" to avoid shadowing local of the - same name. - -1998-09-07 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/tests/Concurrency/CC_client.cpp - Updated to handle missing commandline arguments - -Sun Sep 6 23:06:38 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * TAO_IDL/be/be_decl.cpp, - TAO_IDL/util/utl_global.cpp, - orbsvcs/tests/ImplRepo/ir_implrepo_impl.cpp: - Replaced all uses of ACE_OS::strnew() with ACE::strnew() to - reflect the new changes. - -Sun Sep 6 17:57:16 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/Simple/time/Client_i.cpp: Changed the use of exceptions in - Client_i::time () to the macros, TAO_TRY, etc. - -Sun Sep 6 14:07:49 1998 Douglas C. Schmidt <schmidt@cumbia.cs.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.h: Moved to ACE_NEW_THROW macros - that Matt Braun wrote into $ACE_ROOt/ace/OS.h so they can be - accessed by other applications. - -Sun Sep 6 10:34:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: - Fixed some memory corruption problems, thanks to Ravi Nagabhyru - <ravi@future-minds.com> for reporting them and providing a - patch. - -Fri Sep 04 20:46:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs.dsp: Updated project source file list. - -Fri Sep 4 18:46:10 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Thruput/TAO/ttcp_i.cpp: - The use of iostream.h was removed, thanks to John Mulhern - <9107@mn3.lawson.lawson.com> for reporting this. - - * TAO_IDL/Makefile: - * TAO_IDL/fe/idl.yy: - * TAO_IDL/fe/y.tab.cpp: - * TAO_IDL/fe/y.tab.cpp.diff: - Fixed problems for HP-UX 11, thanks to John Mulhern - <9107@mn3.lawson.lawson.com> for reporting this. - -Fri Sep 4 17:10:36 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * utils/catior/catior.cpp (catior): Removed a check for "if (tmp - [0] && !isspace (tmp [0]))" since not all ORBs encode IORs - consistently. Thanks to Jeff Hopper for reporting this. - - * utils/catior/foo/catior.cpp (main): Added a fix for IORs with - embedded '\0' characters. Thanks to Jeff Hopper - <jhopper@nosc.mil> for this. - -Fri Sep 4 16:44:19 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/RtecUDPAdmin.idl: - * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - * orbsvcs/orbsvcs/Event/EC_UDP_Admin.h: - * orbsvcs/orbsvcs/Event/EC_UDP_Admin.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/tests/EC_Mcast/EC_Mcast.h: - * orbsvcs/tests/EC_Mcast/EC_Mcast.i: - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - * orbsvcs/tests/EC_Mcast/sample.cfg: - * orbsvcs/tests/EC_Mcast/README: - New implementation of the EC_Mcast test, the test can now handle - multiple processes, each process joins several multicast groups - and push events to a (potentially different) set of multicast - groups. Since the configuration is more complicated a sample - file is included. - The test is prepared to support several interesting features, - such as: - + Dynamic changes in the multicast group joined. - + Handle OS limitations wrt the maximum number of mcast groups - per socket. - + Support different mappings for the type->mcast group - relation (currently the event type *is* the multicast - group). - The current implementation also offers the initial interfaces to - observe changes in the subcription and/or publication list of a - *remote* event channel, this will enable the automation and - optimization of the local publication list (there is no sense in - sending an event if nobody is currently interested). - - * orbsvcs/orbsvcs/Event_Utilities.cpp: - * orbsvcs/orbsvcs/Event_Utilities.i: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.i: - * orbsvcs/orbsvcs/RtecEventComm.idl: - * orbsvcs/orbsvcs/Event/EC_Gateway.h: - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: - * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - * orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.cpp: - Added a new IDL structure to represent the Event Header, this - will let us factor out the minimum information needed to - transmit QoS and subscription/publication info. - I also normalized some of the field names in the RtecEventComm - structures. - -Fri Sep 4 16:22:17 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Globals.{h,cpp}: Added macro VX_VME_INIT - for the VME initialization code in VXWORKS. Added a - MT_priority class that is used by both the client and server - side for determining the thread priorities. - - * tests/Cubit/TAO/MT_Cubit/server.{h,cpp}: cleaned up the #ifdefs - using the new ACE_DEBUG with %A for ACE_timer_t and other macros. - Thanx to Nanbor for implementing the %A option in ACE_DEBUG. - - * tests/Cubit/TAO/MT_Cubit/client.{h,cpp}: Modularized the code. - Defining a Client_i helper class. Moved all the static functions to - this class. Clenaed up the #ifdefs using the new ACE_DEBUG support. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp}: cleaned the #ifdefs. - - * tests/Cubit/TAO/MT_Cubit/Timer.{h,cpp}: Changed the double to - ACE_timer_t. Defines a class MT_Cubit_Timer which uses pccTimer - for CHORUS and ACE_High_Res_Timer for other platforms. - -Fri Sep 4 14:20:28 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Any.cpp: - Slight modification to the constructor-from-cdr. Since this - constructor sets any_owns_data, the value_ should be set to - 0, because the destructor deals only with the cdr for anys - that own their data. - -Fri Sep 04 14:10:28 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (run): Re-enable - cube_rti_data test. - -Fri Sep 4 14:35:58 1998 Aniruddha Gokhale <gokhale@cs.wustl.edu> - - * tao/IIOP_Interpreter.{h, cpp}: - - Added a new static method called - "calc_union_attr_is_var_sized_member". - - It turns out that since variable sized data typed become pointer - variables inside the C++ mapping of union members, the "size" - calculation in IIOP_Interpreter.cpp (calc_union_attributes) was - completely wrong. In addition, it did not take into the account - the size of the vtable. This is necessary since our C++ union - mapping is a class that derives from the TAO_Base_Union class. - - This code has been verified to work on the Cubit example for the - RTI test which was previously failing. - -Fri Sep 04 13:25:58 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/Scheduling_Service/Makefile, - orbsvcs/Event_Service/Makefile, - orbsvcs/Dump_Schedule/Makefile, - orbsvcs/LifeCycle_Service/Makefile, - orbsvcs/Logging_Service/Makefile, - orbsvcs/tests/Logger/Makefile, - orbsvcs/tests/Event_Latency/Makefile, - orbsvcs/tests/EC_Multiple/Makefile, - orbsvcs/tests/EC_Throughput/Makefile, - orbsvcs/tests/EC_Mcast/Makefile, - orbsvcs/tests/EC_Custom_Marshal/Makefile, - tests/Quoter/Makefile: - removed VBIN definition, now that it's in wrapper_macros.GNU. - -Fri Sep 4 12:54:58 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp: Parse-args was not - recognizing the "-d" argument to set the debug level. Fixed. - -Fri Sep 04 02:37:05 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Explicit_Activation/: - tests/POA/Generic_Servant/: - - Added the ability to read and write IORs from files. Also, - added a perl script. - -Fri Sep 04 02:17:43 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.9 released. - -Thu Sep 03 23:06:35 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Param_Test/driver.{h,cpp}: Stop instantiating Driver class - as a singleton object. Instead, put it in main's local stack. - This was causing trouble because we used the singleton Driver to - initialize the ORB, which in turn, instantiated TAO_ORB_Core by - creating a TSS_Singleton object of it and then initialized it. - What this implies is TAO_ORB_Core would get removed from - Object_Manager's cleanup stack before Driver. Since Driver - contains an ORB_var, it needs to access TAO_ORB_Core when - removing the ORB. The result is ORB destructor ended up using - an newly created but uninitialized ORB_Core to perform the - shutdown. - -Thu Sep 3 22:52:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * utils/catior/catior.cpp: - Fixed off-by-one problem in the substring extraction. - -Thu Sep 3 20:49:13 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: Removed some warnings about - signed with unsigned comparisons. - -Thu Sep 03 18:57:47 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/start_services: removed -ORBobjrefstyle url - from Naming_Service startup. It caused interoperability problems - with VisiBroker java when running Simulator/DOVEBrowser. - - * tests/POA/TIE/Makefile: fixed g++ exclusion to work in - with nested makes, by specifying all, clean, and realclean - targets. Also, enhanced the g++ check so that it allows - egcs (and g++ 2.8.x) to build this module. - -Thu Sep 3 16:22:54 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/util/utl_global.cpp: - * TAO_IDL/driver/drv_args.cpp: Fixed the case where ACE_ROOT is not - set. OpLookup strategy changes over to Dynamic Hash. - -Thu Sep 3 15:52:33 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp: Fixed g++ warnings. - -Thu Sep 03 14:00:47 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/MT_Cubit.dsw: - * tests/Cubit/TAO/MT_Cubit/{client,server}.dsp: Updated project - settings. - - * tests/Cubit/TAO/MT_Cubit/server.cpp: Removed an unused local - variable. - -Thu Sep 3 13:36:36 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Timer.cpp: Fixed syntax errors that - appeared with VxWorks. - - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Fixed some warnings - and cleaned up some code. - -Thu Sep 3 13:22:08 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - Split the huge functions into smaller functions. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: - Added MACROS for quantify calls. - - * tests/Cubit/TAO/MT_Cubit/Timer.{h,cpp}: - A class that abstracts the timer over pcctimer for Chorus - platforms and uses ACE_Timer for other platforms. - - * tests/Cubit/TAO/MT_Cubit/Cubit_i.{h,cpp}: - Added an ORB member so that shutdown is done using that - instead of TAO_ORB_Core_instance. - -Thu Sep 03 10:36:07 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Mcast/Makefile: added VBIN definition so that - the Makefile will work again. This was supposed to have been - done in my Tue Aug 25 11:11:54 1998 change, but wasn't. Thanks - to Carlos for finding it. - -Wed Sep 2 22:50:30 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * utils/catior/catior.cpp (catpoop): Fixed an unused variable - warning. Thanks to David Levine for reporting this. - -Wed Sep 02 21:12:40 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.8 released. - -Wed Sep 2 19:24:24 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Sequence.i: - * tao/Sequence.cpp: - Another method made inline (::replace()) to workaround a bug in - Sun/CC on Solaris 2.6. Thanks to Don Davis - <ded@heart.jhuapl.edu> for reporting this and providing a fix! - - * tao/POA.cpp: - Added some missing template instantiations. - -Wed Sep 2 18:59:22 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/driver/drv_args.cpp : Updated the print statements to - include the recent command line options. - -Wed Sep 2 18:16:32 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/Trading_Service/Trading_Service.cpp: - Removed some TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG uses. - -Wed Sep 02 16:59:56 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.7 released. - -Wed Sep 2 14:48:11 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.cpp (make_logger): Removed all - vestiges of the exception specification. - - * TAO/utils/catior: Integrated Jeff Hopper's new version of his - "catior" program, which now parses Orbix "POOP" object - references. Made a few minor syntax changes, as well. - - * TAO/orbsvcs/Logger.idl, - TAO/orbsvcs/orbsvcs/Log/Logger_i: Added some minor fixes to get - rid of the special-purpose exception and use system exceptions. - -Wed Sep 2 14:30:46 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/Param_Test/Param_Test.dsw: - * tests/Param_Test/client.dsp: - * tests/Param_Test/server.dsp: - Updated to use new filenames for TAO_IDL generated files - and also updated to MSVC 6. - - * tests/Param_Test/ub_objref_seq.cpp: - Fixed warnings on MSVC 6 -- an extra semicolon after a - TAO_CATCHANY and a return 0 needed at the end of a method. - -Wed Sep 2 14:28:54 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Sequence.i: - The replace() method that use a Message_Block was setting the - length of the sequence but not of the message block, this was at - the very least confusing. Thanks to Dave Meyer - <dmeyer@std.saic.com> for reporting this problem and testing the - fix. - -Wed Sep 2 11:38:35 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Logger/Logging_Test_i.cpp: Now checks for the - new exceptions thrown by make_logger - - * orbsvcs/orbsvcs/Log/Logger_i.{h,cpp}: - Logger_Factory_i::make_logger now checks the results of binding - entries into the hash_map_manager and throws exceptions if that - or new fails. Added new macros to Logger_i.h for eventual - incorporation into OS.h. - -Wed Sep 2 09:37:42 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Environment.cpp: - The exception() modifier was trying to _raise() the new - exception even if it was 0. Thanks to J. Russell Noseworthy - <rnosewor@objectsciences.com> for reporting this problem. - -Tue Sep 01 21:45:05 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple: added VBIN so that the executable - will be built when only shared libs are built. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: replaced a bunch of - static casts with ACE_U64_TO_U32 so that it will compile on - platforms that don't have native 64-bit ints. - -Tue Sep 1 19:57:46 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/Simple/Time/Time.dsw: - * tests/Simple/Time/client.dsp: - * tests/Simple/Time/client_static.dsp: - * tests/Simple/Time/server.dsp: - * tests/Simple/Time/server_static.dsp: - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsw: - * tests/Cubit/TAO/IDL_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/server.dsp: - * tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: - Updated for MSVC 6. - - * tests/Cubit/TAO/IDL_Cubit/run_test.pl: - Fixed a problem on NT with ACE_ROOT and updated it to use all - the stuff I learned about Perl since the last time I was here. - -Tue Sep 01 19:28:28 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Generic_Servant/client.cpp and - tests/POA/TIE/client.cpp (main): Fixed incorrect test condition. - -Tue Sep 1 19:06:44 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/util/utl_global.cpp : Fixed "strdup + delete" - bug!!! Replaced the strdup's with ACE_OS::strnew. Thanks to Darrell - for pointing this out. - -Tue Sep 1 16:29:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Exception.h: - * tao/Exception.cpp: - CORBA_SystemException shoul be a concrete class. Thanks to Tom - Dobridge <dobridge@persimmon.com> for pointing this out. - - * tao/default_server.h: - * tao/default_server.cpp: - Added new default creation strategy for Server side connection - handlers. This reduces the number of calls to - ORB_Core_instance() a notch. - - * tao/Makefile: - Updated dependencies. - -Tue Sep 1 10:43:24 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * utils/catior/catior.cpp: Replaced the use of - CORBA::B_{TRUE,FALSE} with 1 and 0 to be compatible with the - CORBA spec. - -Tue Sep 1 09:37:01 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * utils/catior/catior.cpp (main): Fixed a minor printing bug - -- a loop wasn't breaking out when '\n' or EOF was reached... - - * utils/catior: Added several new tests for Jeff Hopper's catior - program, as well as a new version of his program. Thanks Jeff. - -Mon Aug 31 18:08:10 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-INSTALL.html: Now mentions the perl scripts (run_test.pl) - that we use, and the versions of perl that we work with. - -Mon Aug 31 13:44:27 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.cpp (main): Renamed the - class TAO_Naming_Service to be more specific... - -Mon Aug 31 15:22:42 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAOACE.dsw: - * TAOACE_Static.dsw: - * tao/TAO.dsw: - * tao/TAO.dsp: - * tao/TAO_Static.dsp: - * TAO_IDL/tao_idl.dsw: - * TAO_IDL/tao_idl.dsp: - * TAO_IDL/tao_idl_static.dsp: - Updated for MSVC 6. - -Mon Aug 31 07:50:23 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp (dump_schedule): - ooops, the 64-to-32 bit cast had to be const. - -Sun Aug 30 22:17:06 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp (dump_schedule): - orbsvcs/orbsvcs/Sched/DynSched.cpp: - explicitly convert 64 bit RtecScheduler::Times to - 32 bits with ACE_U64_TO_U32 in ACE_OS::fprintf () call. - -Sun Aug 30 15:11:37 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Makefile: - * tests/Param_Test/Makefile: - * tests/NestedUpcall/Reactor/Makefile: - * tests/Simple/time/Makefile: - Updated dependencies. - - * utils/Makefile: - Fixed the directory name for IorParser (again). - -Sun Aug 30 01:57:51 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/GIOP.cpp (recv_request): Fixed type mismatch. - -Sat Aug 29 23:23:32 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/GIOP.cpp (close_connection): We realized that use of - CORBA::B_TRUE and CORBA::B_FALSE is not standard. Therefore, we - have deprecated CORBA::B_TRUE and CORBA::B_FALSE. The - replacements are 1 and 0 respectively. This script will help in - the conversion: - - http://www.cs.wustl.edu/~schmidt/ACE_wrappers/bin/corba-boolean.perl - -Sat Aug 29 20:58:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Connect.h: - * tao/Connect.i: - * tao/Connect.cpp: - * tao/GIOP.h: - * tao/GIOP.cpp: - * tao/Invocation.h: - * tao/Invocation.cpp: - * tao/Server_Request.h: - * tao/Server_Request.i: - * tao/Server_Request.cpp: - * tao/params.h: - * tao/params.i: - * tao/params.cpp: - Added support for a modified version of IIOP that tries to - minimize overhead in the case of a totally homogeneous system, - for instance: - + It removes the GIOP magic number - + It does not include a protocol version on the header. - + It does not include a byte order on the header. - + It does not include a Service Context or a Principal on the - Requests. - This protocol can be activated by using the -ORBiioplite - option. - Another round trying to minimize calls to the - ORB_Core_instance() function; in general we try to keep the - pointer during the upcalls and downcalls. - - * tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: - Run the onewau test at the end, otherwise it fills up the pipe - to the server, and the next test gives bad results. - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: - Added option to let the user pick the scheduler. Thanks to Dave - Meyer <dmeyer@std.saic.com> for giving us this patch. - -Sat Aug 29 20:29:53 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.cpp (TAO_Resource_Factory): Changed - use_lock_freed_reactor_ and its access function to - reactor_lock_. Also declare new enum TAO_NULL_LOCK and - TAO_TOKEN to specify the type of lock to use with - Select_Reactor. - -Sat Aug 29 18:56:06 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/TIE: Change Foo to A, B, and C. Hopefully g++ can - gork this. - -Sat Aug 29 12:40:56 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/POA/TIE/client.cpp: - * tests/POA/TIE/server.cpp: - Added missing template instantiations. - - * tests/POA/Forwarding/MyFooServant.cpp: - A call to is_nil() using a T_var was missing the .in () - invocation. - - * tests/POA/Makefile: - Fixed order. Thanks to David for reporting this problems. - -Sat Aug 29 09:15:02 1998 David L. Levine <levine@cs.wustl.edu> - - * utils/catior/catior.cpp (iiop_string_to_object): commented out - because it's currently unused. (main): commented out unused local - "orb_ptr". - - * TAO_IDL/be/be_interface.cpp (cleanup_gperf_temp_file): - don't delete ss on linux. It causes a core dump on - RedHat 5.1/Intel. Thanks to James CE Johnson <jcej@lads.com> - for reporting this. Also, at James' suggestion, removed - check for ss being 0 before deleting it. - -Fri Aug 28 19:43:36 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/orbconf.h (TAO_DEFAULT_RESOURCE_FACTORY_ARGS): Added - "-ORBreactorlock null" as default resource factory args on - platforms that require "fake_service_entries." Notice that this - options should not be used thread-per-connection concurrency - strategy. - -Fri Aug 28 17:57:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h: - Moved some declarations out of the private section of - TAO_Preference_Interpreter because that made some IRIX compilers - really mad. Thanks to Margherita Vittone Wiersma - <vittone@fndaub.fnal.gov> for reporting this problem. - -Fri Aug 28 13:49:10 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * rules.tao.GNU (TAO_IDL): Added suffixes Ser.* and Cli.* in - addition to the S.* and C.* to the set of the IDL generated - files. - -Fri Aug 28 12:25:36 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * utils/IorParser/ior-handler.[h,cpp]: Fixed some struct/class - discrepancies and returning refs to a local variable error. - - * utils/IorParser/IOR_Parser.[dsp,dsw]: Added these submitted - project files from Lothar Werzinger <lwerzinger@krones.de>. - (with a few small modifications to make them ACE/TAO-like) - -Fri Aug 28 11:19:04 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Sequence.{i,cpp} (TAO_String_Manager::out): - uninlined to avoid use before definition. It calls - CORBA::string_free (), which is defined in tao/ORB.i. - That file is included after Sequence.i: - - tao/corba.h - [...] - tao/ORB.h - tao/corba.h - tao/Sequence.h - tao/Sequence.i <==== called CORBA::string_free () - tao/Sequence_T.h - tao/Sequence_T.i - tao/Sequence_T.cpp - tao/Sequence_T.h - tao/Object_KeyC.h - tao/Object_KeyC.i - tao/Union.h - tao/ORB.i <==== CORBA::string_free () defined here - - Thanks to Carlos for suggesting the fix. - - * utils/Ior-Parser/ior-handler.cpp (interpretIor): removed - unused local "nullOctet". - - * tests/POA/Forwarding/Servant_Locator.cpp (MyFooServantLocator ctor): - reordered initializers to match declaration order. - -Fri Aug 28 02:45:36 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/TIE/client.cpp (run_test): Fixed the use of explicit - template functions so that this test can work with the CC - compiler. - -Thu Aug 27 21:48:48 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * docs/Options.html: - * tao/ORB_Core.cpp (parse_args): Renamed the option - -ORBlockfreedreactor of Resource_Factory to -ORBreactorlock. - Valid options become "null"/"token". Default is "token". - -Thu Aug 27 20:09:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/IIOP_Interpreter.h: - The TAO_attribute_calculator typedef had a default value. This - is illegal. Thanks to John Mulhern for pointing this out. - -Thu Aug 27 20:01:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * utils/IOR-parser: Added a number of enhancements from Priya - Narasimhan <priya@lambda.ece.ucsb.edu> and cleaned up the code a - bit more to make it more ACE/TAO-like! - -Thu Aug 27 17:52:38 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation/tie_si.cpp: - * TAO_IDL/be/be_visitor_interface/tie_si.cpp: - * TAO_IDL/be/be_visitor_operation/arglist.cpp: - The destructor for the _tie classes was trying to release an - object of type POA_var; there is no need to do that. - -Thu Aug 27 17:20:07 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * tests/Param_Test/: - Modified the Makefiles and the following source files to - have the IDL-compiler-generated stubs to have "Ser.h" & - "Ser.cpp" suffixes and the skeletons to have "Cli.h" & - "Cli.cpp". Just an example to show the newly added IDL - compiler options for optional file name endings. - - Modified Files: - Makefile any.h bd_long_seq.h bd_short_seq.h bd_str_seq.h - bd_string.h bd_struct_seq.h client.dsp client.h except.h - fixed_array.h fixed_struct.h helper.h nested_struct.h objref.h - objref_struct.h param_test_i.h server.dsp short.h tmplinst.cpp - typecode.h ub_any_seq.h ub_long_seq.h ub_objref_seq.h - ub_short_seq.h ub_str_seq.h ub_string.h ub_struct_seq.h - ulonglong.h var_array.h var_struct.h - -Thu Aug 27 17:20:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/POA/Makefile (DIRS): Added TIE and Forwarding to the list - of directories that are built and tested. - -Thu Aug 27 15:41:44 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/client.cpp: Deleted some unnecessary - ACE_DEBUG statements. Cleaned up code. - -Thu Aug 27 12:38:20 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: - Fixed some problems in the generated code; the counter was - compared to 0 and not the sequence length. - - * TAO_IDL/be/*/*.cpp: - Removed tons of warnings due to unused variables. - -Thu Aug 27 12:23:37 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Makefile: - * utils/Makefile: - Added a Makefile for the utils directory. - - * utils/catior/catior.cpp: - Fixed some problems with EGCS and the new scope rules in for() - loops. - - * utils/IorParser/ior-handler.h: - * utils/IorParser/ior-handler.cpp: - Removed a hardcoded ASCII code (yikes!) and moved some buffers - to the class, so we don't return local variables (re-yikes!), - using a fixed size buffer looks like a bad idea also; but I'm - not going there yet. - - * tao/Environment.cpp: - Fixed the initialization for the first default environment. - -Thu Aug 27 11:55:29 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * utils/IOR-parser/ior-handler.cpp (hexChar2int): Added a return 0 - to make the compiler happy. Thanks to Lothar Werzinger - <lwerzinger@krones.de> for reporting this. - -Thu Aug 27 09:55:31 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp}: changed argc_ from - int to u_int so to avoid g++ compiler warning. - - * tests/Cubit/TAO/MT_Cubit/client.cpp: added - ACE_Singleton<Globals,ACE_Null_Mutex> instantiation. - - * orbsvcs/tests/Simulator/DOVEBrowser/Makefile: - change all _long to long in Visibroker 3.2 idl2java output. - _long doesn't seem to be defined anywhere, so compilation - of java output with it fails. - - * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java: - added required fields to EventData constructor call. - -Thu Aug 27 07:59:18 1998 Aniruddha Gokhale <gokhale@cs.wustl.edu> - - * TAO_IDL/Makefile: - - Added dependencies and targets to build the C++ keywords lookup - table using GPERF generated perfect hash functions. - - Also, redid "make depend". - - * TAO_IDL/be/be_array.cpp: - TAO_IDL/be/be_interface.cpp: - TAO_IDL/be/be_interface_fwd.cpp: - TAO_IDL/be/be_structure.cpp: - TAO_IDL/be/be_union.cpp: - TAO_IDL/be_visitor_sequence/sequence_ch.cpp: - TAO_IDL/be_visitor_sequence/sequence_ci.cpp: - - The _out class' copy constructor and assignment operator (from a - _out) now use the "const" parameter. The CORBA v2.2 spec has a - flaw in which it does not specify the "const"ness. Without the - "const" keyword, however, we were getting warnings/errors from - the C++ compilers because they were trying to create - temporaries. To circumvent these warnings/errors, we were until - now instantiating variables of the _out class. According to the - spec, however, the _out types are to be used only in the - signatures. The above fix will make everything CORBA - compliant. The spec will also be fixed regarding the - "const" keyword. - - In addition, as per Carlos's instructions, since the private - data member (ptr_) is not a const, we have to use the - "ACE_const_cast" macro to cast away the "const"ness. - - * The first step towards supporting compiled marshaling stubs and - skeletons. At this time, we generate the CDR << and >> operators - for different IDL data types. Unions still need to be - handled. They do not do anything at time. - - *NOTE* CDR operators are defined in the global scope just as the - Any <<=, >>= operators are. At this time, both the Any operators - as well as the CDR operators are defined. As a policy decision, - this is going to be the default case. Users who choose to use the - compiled marshaling approach and do not want the excess code for - the Any operators and the TypeCodes will be required to use a - "disable" flag. This is still TO-DO. - - Affected files and new entries are shown below: - - TAO_IDL/be_include/be_decl.h - TAO_IDL/be/be_decl.cpp: - - Accesors and mutators that check if the CDR <<, >> operators - for a given IDL type have been generated or not. Once - generated, the mutator sets a boolean value to TRUE and the - accessor prevents multiple declaration/definition. - - TAO_IDL/be_include/be_codegen.h - TAO_IDL/be/be_codegen.cpp: - - Added a number of code generation states for the generation of - CDR operators for various types. - - In addition, we define a new enumeration indicating the sub - state during the CDR operator code generation. These sub - states are necessary to prevent explosion of visitors. For - example, consider generation of the CDR operators for - interfaces or structures. The three possible substates are (1) - generating the << (output) operator, (2) generating the >> - (input) operators, and (3) generating code for the elements - defined in that scope. - - TAO_IDL/be_include/be_visitor_context.h: - TAO_IDL/be/be_visitor_context.cpp: - - Maintain the code generation substate required for the CDR - operators and provide accesor/mutator for it. - - TAO_IDL/be_include/be_visitor_array/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_array/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_array.h: - TAO_IDL/be/be_visitor_array.cpp: - - New visitors for generation of CDR operators for - arrays. Included the newly added files to the top level - be_visitor_array.{h,cpp} files. - - TAO_IDL/be_include/be_visitor_enum/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_enum/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_enum.h: - TAO_IDL/be/be_visitor_enum.cpp: - - New visitors for generation of CDR operators for - enums. Included the newly added files to the top level - be_visitor_enum.{h,cpp} files. - - TAO_IDL/be_include/be_visitor_exception/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_exception/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_exception.h: - TAO_IDL/be/be_visitor_exception.cpp: - - New visitors for generation of CDR operators for - exceptions. Included the newly added files to the top level - be_visitor_exception.{h,cpp} files. - - TAO_IDL/be_visitor_exception/exception.cpp: - - In the event that we are generating code for the CDR operators - the types defined in our scope, the appropriate visitors for - the "field" node are grabbed here. - - TAO_IDL/be_include/be_visitor_field/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_field/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_field.h: - TAO_IDL/be/be_visitor_field.cpp: - - New visitors for generation of CDR operators for - fields. Included the newly added files to the top level - be_visitor_field.{h,cpp} files. - - TAO_IDL/be_include/be_visitor_interface/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_interface/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_interface.h: - TAO_IDL/be/be_visitor_interface.cpp: - - New visitors for generation of CDR operators for - Interfaces. Included the newly added files to the top level - be_visitor_interface.{h,cpp} files. - - TAO_IDL/be_visitor_interface/interface.cpp: - - In the event that we are generating code for the CDR operators - for the types defined in our scope, the appropriate visitors - for the nodes in our scope are grabbed here. - - TAO_IDL/be_include/be_visitor_module/cdr_op.h: - TAO_IDL/be/be_visitor_module/cdr_op.cpp: - TAO_IDL/be_include/be_visitor_module.h: - TAO_IDL/be/be_visitor_module.cpp: - - New visitors for generation of CDR operators for - elements of the Module scope. Included the newly added files - to the top level be_visitor_module.{h,cpp} files. - - TAO_IDL/be_visitor_module/module.cpp: - - In the event that we are generating code for the CDR operators - for the types defined in our scope, the appropriate visitors - for the nodes in our scope are grabbed here. - - TAO_IDL/be_include/be_visitor_root/cdr_op.h: - TAO_IDL/be/be_visitor_root/cdr_op.cpp: - TAO_IDL/be_include/be_visitor_root.h: - TAO_IDL/be/be_visitor_root.cpp: - - New visitors for generation of CDR operators for - elements of the Module scope. Included the newly added files - to the top level be_visitor_module.{h,cpp} files. - - TAO_IDL/be_visitor_operation/arglist.cpp: - - Cosmetic changes to get the indentation right. - - TAO_IDL/be_visitor_root/root.cpp: - - In the event that we are generating code for the CDR operators - for the types defined in our scope, the appropriate visitors - for the nodes in our scope are grabbed here. - - In addition, we invoke generation of the CDR operators at the - very end i.e., in the global scope, just after all the Any - operators are generated. - - TAO_IDL/be_include/be_visitor_sequence/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_sequence/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_sequence.h: - TAO_IDL/be/be_visitor_sequence.cpp: - - New visitors for generation of CDR operators for - sequences. Included the newly added files to the top level - be_visitor_sequences.{h,cpp} files. Code generated for the - sequences of primitive types uses TAO's internal, optimized - CDR functions. - - TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp: - - Generate the in (), inout (), out (), and _retn () methods for - the object manager class. These are required in the CDR - operators for sequences of object references. - - TAO_IDL/be_include/be_visitor_structure/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_structure/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_structure.h: - TAO_IDL/be/be_visitor_structure.cpp: - - New visitors for generation of CDR operators for - structures. Included the newly added files to the top level - be_visitor_structure.{h,cpp} files. - - TAO_IDL/be_visitor_structure/structure.cpp: - - In the event that we are generating code for the CDR operators - for the types defined in our scope, the appropriate visitors - for the field nodes in our scope are grabbed here. - - TAO_IDL/be_include/be_visitor_typedef/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_typedef/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_typedef.h: - TAO_IDL/be/be_visitor_typedef.cpp: - - New visitors for generation of CDR operators for - typedefs. Included the newly added files to the top level - be_visitor_typedef.{h,cpp} files. - - TAO_IDL/be_include/be_visitor_union/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_union/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_union.h: - TAO_IDL/be/be_visitor_union.cpp: - - New visitors for generation of CDR operators for - unions. Included the newly added files to the top level - be_visitor_union.{h,cpp} files. - - TAO_IDL/be_include/be_visitor_union_branch/{cdr_op_ch, cdr_op_cs}.h: - TAO_IDL/be/be_visitor_union_branch/{cdr_op_ch, cdr_op_cs}.cpp: - TAO_IDL/be_include/be_visitor_union_branch.h: - TAO_IDL/be/be_visitor_union_branch.cpp: - - New visitors for generation of CDR operators for - union_branchs. Included the newly added files to the top level - be_visitor_union_branch.{h,cpp} files. - - TAO_IDL/be/be_interpretive.cpp: - - Return the appropriate visitors for the newly defined CDR - states. *NOTE* these should really go into a "be_compiled.cpp" - file. However, all the elegant patterns will be added in the - next attempt. - - * TAO_IDL/fe/idl.ll: - TAO_IDL/fe/lex.yy.cpp: - TAO_IDL/fe/fe_lookup.cpp: - TAO_IDL/fe/keywords.dat: - TAO_IDL/be_include/fe_private.h: - - Added code to handle C++ keywords. We now use ACE's GPERF - generated perfect hash functions for keyword lookup. The - fe_private.h file defines an entry for the lookup table used - by the lexical analyzer (scanner). When the scanner comes - across an identifier, it first checks if this identifier is a - C++ keyword or not. If it is, then according to the C++ - mapping, a new identifier with a _cxx_ prepended to the C++ - keyword is generated. The keywords.dat file maintains the - GPERF input file of C++ keywords. The fe_lookup.cpp is the - file generated by GPERF with some additional ACE-specific - include files. This file is not to be regenerated everytime. - - * tao/CDR.{h, i}: - - Added << and >> operators for CORBA::Object, CORBA::TypeCode, - and CORBA::Any. - - * tao/Environment.h: - - Cosmetic changes to adhere to the ACE programming style. - - * tao/Sequence.h: - tao/Sequence.i: - tao/Sequence_T.h: - tao/Sequence_T.cpp: - - Added the in (), inout (), out (), and _retn () methods for the - String and Object manager classes. These are necessary for the - CDR operators for sequences of strings and object references. - - * tao/corba.h: - - Added new macros called TAO_THROW_ENV and TAO_THROW_ENV_RETURN - that allow us to specify our own environment variable rather - than getting tied to the _env variable. - - Moved the #include "singletons.h" earlier. - -Thu Aug 27 01:22:53 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/POA/Explicit_Activation/alternate.conf: - * tests/POA/Explicit_Activation/Alternate_Resource_Factory/Resource_Factory.cpp: - tests/POA/Explicit_Activation/Alternate_Resource_Factory/Resource_Factory.h: - tests/POA/Explicit_Activation/Alternate_Resource_Factory/Alt_Resource_Factory.h: - - Fixed Nanbor's changes. - -Wed Aug 26 23:57:09 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.6 released. - -Wed Aug 26 22:29:51 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/POA/Explicit_Activation/Alternate_Resource_Factory/*: - Renamed Alternate_Resource_Factory.* to Alt_Resource_Factory.*. - - * tao/ORB_Core.h (TAO_ORB_Core): Don't need to specify default - parameters when declaring friend relationship. - -Wed Aug 26 22:52:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB_Core.cpp: - The ACE_Select_Reactor_Token_T<ACE_Noop_Token> class and the - Select_Reactor_T over this class are used even when threads are - enabled. - -Wed Aug 26 22:29:51 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/tao.dsp: - * orbsvcs/orbsvcs/orbsvcs.dsp: Changed the destination directories - for release libraries to the default directories. - -Wed Aug 26 22:04:37 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp (DRV_check_for_include): declare - for loop indices "fi" and "i" before the loops, because they are - used after. - -Wed Aug 26 19:13:49 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Sequence.i: - * tao/Sequence.cpp: - Moved the sequence<octet>::get_buffer method to the .i file to - work around a Sun/C++ bug (apparently it only shows up on - Solaris 2.6 for x86). - - * tao/CDR.cpp: - Fixed syntax error when compiling without - TAO_NO_COPY_OCTET_SEQUENCES. - -Wed Aug 26 20:37:33 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: - * tests/Cubit/TAO/MT_Cubit/Globals.cpp: - * tests/Cubit/TAO/MT_Cubit/Globals.h: - * tests/Cubit/TAO/MT_Cubit/Makefile: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.h: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/server.h: Added code to test ORB/OS CPU - overhead. Separated code into different source files. The server - does not depend on the Task_State class anymore. - -Wed Aug 26 20:13:27 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * utils/IOR-parser/*: Added this another utility (which was - donated by Priya Narasimhan <priya@lambda.ece.ucsb.edu>) that - takes in a stringified IOR and decodes it, printing out the - information contained in it. - - * tao/ORB.h (CORBA): Added default arguments to the final two - parameters of ORB_init() to simplify common use-cases. - -Wed Aug 26 19:13:33 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * utils/catior/*: Added this utility (which was donated by Jeff - Hopper <jhopper@nosc.mil>) that takes in a stringified IOR and - decodes it, printing out the information contained in it. - -Wed Aug 26 17:00:38 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp (DRV_check_for_include): Removed - an unused local variable <nm>. - -Wed Aug 26 19:13:33 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * utils/catior/*: Added this little utility (which was donated - by Jeff Hopper <jhopper@nosc.mil>) which will take in a - stringified IOR and decode it, printing out the information - contained in it. - -Wed Aug 26 18:15:37 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/mpeg/: Added a README file and - renamed the README and INSTALL files to README.OGI and - INSTALL.OGI. - -Wed Aug 26 18:07:31 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/orb.h: - Removed static declarations of _tc_struct, _tc_enum, - _tc_sequence, _tc_array, _tc_union. These need to be - generated by the IDL compiler. - - * any.{h,i,cpp}: - At Carlos' recommendation, added a constructor that takes - a typecode pointer and a CDR stream, and a CDR accessor - method. - -Wed Aug 26 17:00:38 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Environment.cpp (CORBA_Environment): Disable updating the - default environment for now. (Per Carlos' instruction.) - - * tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (run): Don't run the - cube_rti_data test for now. - - * tao/orbconf.h: Defined TAO_NULL_LOCK_REACTOR as - ACE_Select_Reactor_T< - ACE_Select_Reactor_Token_T<ACE_Noop_Token>>. - - * tao/ORB_Core.{h,cpp}: Added a new option '-ORBlockfreereactor' - for TAO_Resource_Factory. Specify it to 'yes' if you don't want - any locking with the reactor. Use with care, e.g., if you are - running a completely single-threaded ORB or a Reactor-per-thread - model. - -Wed Aug 26 17:05:27 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * docs/releasenotes/index.html: Updated the IDL compiler portion, - adding a note about the recent options and the fixing of the - relative path name problems. - -Wed Aug 26 16:32:18 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/util/utl_global.cpp: - * TAO_IDL/include/idl_global.h: - * TAO_IDL/driver/drv_preproc.cpp: - Fixed the relative #include path generation. tao_idl now - puts header names derived from the #include'd idl files as they - appear originally in the main idl file. - Thanks to Carlos and Andy for their suggestions and - guidance. - -Wed Aug 26 13:12:57 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/client.cpp - * orbsvcs/tests/Concurrency/CC_naming_service.cpp - Added ".in ()" to orb argument for my_name_client.init. - -Wed Aug 26 12:11:23 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp : Fixed the _out warnings - given by the SunCC compiler. Thanks to David for the fix. - -Mon Aug 24 15:07:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Cubit/TAO_IDL_Cubit/{client,server}.dsp: Added RTI_IO.cpp - into the project. - - * tests/Cubit/TAO/IDL_Cubit/RTI_IO.h: Make sure we use "ace/OS.h" - instead of <iostream.h> directly. - -Tue Aug 25 14:32:41 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (cube_rti_data): - * tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp (cube_rti_data): - - Fixed the use of _out variables. - - * tests/Cubit/TAO/IDL_Cubit/RTI_IO.cpp (print_RtiPacket): Changed - code to use ACE_DEBUG instead of iostreams. - -Tue Aug 25 11:11:54 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Simulator/{Event_Supplier,DOVEMIB}/Makefile: - cleaned up to work on both Solaris and VxWorks. - - * orbsvcs/tests/Simulator/DOVEBrowser/Makefile: added. - - * orbsvcs/tests/Simulator/Makefile,README: added DOVEBrowser - module to top-level Simulator Makefile. - - * orbsvcs/tests/Simulator/DOVEMIB/AnyAnalyser.cpp (analyze): - removed unused variable "size". ghs complained that it - was defined but not used. - - * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java: - initialize ulonglong with (0) instead of (0, 0) now. - - * orbsvcs/Scheduling_Service/Makefile, - orbsvcs/Event_Service/Makefile, - orbsvcs/Dump_Schedule/Makefile, - orbsvcs/LifeCycle_Service/Makefile, - orbsvcs/Logging_Service/Makefile, - orbsvcs/tests/Logger/Makefile, - orbsvcs/tests/Event_Latency/Makefile, - orbsvcs/tests/EC_Multiple/Makefile, - orbsvcs/tests/EC_Throughput/Makefile, - orbsvcs/tests/EC_Mcast/Makefile, - orbsvcs/tests/EC_Custom_Marshal/Makefile, - tests/Quoter/Makefile: - replaced BUILD macro with VBIN, because that's what - wrapper_macros.GNU uses. Many of the Makefile don't - use rules.bin.GNU (why?); it provides the same VBIN - definition. - -Tue Aug 25 11:03:12 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_union/union_ci.cpp: - * TAO_IDL/be/be_visitor_union/union_cs.cpp: - The default constructor for unions is now generated on the .cpp - file, this removes a warning in some versions of g++. - - * TAO_IDL/be/be_visitor_argument/arglist.cpp: - Fixed an indentation problem in the C.cpp file. - -Mon Aug 24 21:24:55 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.cpp (TAO_ORB_Core): Added code to clean up memory - pools. - -Mon Aug 24 20:58:36 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tao/ORB.h: Changed CORBA_Boolean for CHORUS platforms to - unsigned long as it was same as CORBA::ULong before. - Thanks to David for this. - -Mon Aug 24 18:14:58 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Concurrency/CC_naming_service.{h,cpp} - * orbsvcs/tests/Concurrency/NS_client.{h,cpp} - Added TAO_Naming_Client code. This test doesn't appear to do - anything, however. - -Mon Aug 24 15:33:25 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Simulator/Event_Supplier/Makefile: - fixed so that it builds the executables. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.h: - removed unnecessary (and bothersome to ghs) Event_Sup - qualifier from get_options () declaration. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp: - removed unused constant "SOURCE_ID" and local variable "temp". - -Mon Aug 24 10:53:17 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp (cube_rti_data): Improved - the I/O printing a bit more. - - * tests/Cubit/TAO/IDL_Cubit/RTI_IO.cpp (operator<<): Only - print out the RTI structure of TAO_debug_level is > 0. - - * tests/Cubit/TAO/IDL_Cubit: Renamed a number of files to be more - consistent. Also, integrated the RTI test operation. Thanks to - Dave Meyer <dmeyer@std.saic.com> for contributing this. - -Mon Aug 24 14:45:55 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Property/run_test.pl: Now uses uniqueid for the - -ORBnameserviceport argument - - * orbsvcs/tests/Property/run_test.pl: New file. Script to execute - the test (Naming_Service + server + client). - -Mon Aug 24 10:31:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Environment.cpp: - When the ORB is getting destroyed the Environment created with - it should *not* pop itself from the environment stack. - - * The IDL compiler support #pragma prefix - - * TAO_IDL/be_include/be_decl.h: - * TAO_IDL/be/be_decl.cpp: - Added method to compute the prefix based on the pragmas - defined. - This is used to generate the implementation repository ID. - - * TAO_IDL/be/be_visitor_scope.cpp: - Added some code useful for debugging pragmas. - - * TAO_IDL/Makefile: - * TAO_IDL/fe/idl.ll: - * TAO_IDL/fe/idl.yy: - * TAO_IDL/fe/lex.yy.cpp: - * TAO_IDL/fe/y.tab.cpp: - * TAO_IDL/fe/y.tab.h: - * TAO_IDL/include/idl_global.h: - * TAO_IDL/util/utl_error.cpp: - * TAO_IDL/util/utl_stack.cpp: - The pragma collection was far from perfect. Once a scope was - closed the old pragmas (defined before the scope) were lost. We - need to restore, in the global pragma list, the list of pragmas - as defined before entering the scope. This restore must make a - *copy* otherwise the list of pragmas associated with the scope - are modified. - - * orbsvcs/orbsvcs/AVStreams.idl: - * orbsvcs/orbsvcs/CosConcurrencyControl.idl: - * orbsvcs/orbsvcs/CosLifeCycle.idl: - * orbsvcs/orbsvcs/CosNaming.idl: - * orbsvcs/orbsvcs/CosPropertyService.idl: - * orbsvcs/orbsvcs/CosTimeBase.idl: - * orbsvcs/orbsvcs/CosTrading.idl: - Added the #pragma "omg.org" directive. This should allow - TAO's services to interoperate seamlessly with other standard - CORBA ORBs. - - * orbsvcs/Trading_Service/Makefile: - More dependencies were outdated. - -Sun Aug 23 18:37:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs: Changed all occurrences of *_Impl to *_i to be more - consistent. Thanks to David Levine for reporting this. - -Sun Aug 23 16:17:03 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * docs/compiler.html: Updated documentation about new options. - -Sun Aug 23 16:11:58 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/driver/drv_args.cpp: Commented out - warning message on failure to execute GPERF. Added <-H perfect> - and <-H dynamic> options. - -Sun Aug 23 14:17:03 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp (connect): return - CORBA::B_FALSE instead of -1 on failure. - -Sun Aug 23 13:40:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Quoter/Makefile: - * orbsvcs/LifeCycle_Service/Makefile: - Updated dependencies. - -Sun Aug 23 13:12:53 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * docs/compiler.html: Documented the recent options to the IDL - compiler. - -Sat Aug 22 23:11:41 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Makefile: Removed -P option from the - Makefile. Perfect hashing (using GPERF) is the default OpLookup - strategy now. To force dynamic hashing use -H flag of tao_idl. - -Sat Aug 22 22:51:44 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - Added the following options : - -g : To specify the path for perfect hasing program - (GPERF). Default is $ACE_ROOT/bin/gperf. - -H : To force IDL compiler to use dynamic hashed operation lookup - strategy. Default is Perfect Hashing strategy NOW. - -o : To specify the output directory to IDL compiler as to where - all the IDL-compiler-generated files are to be put. By - default, all the files are put in the current directory - from where <tao_idl> is called. - - * TAO_IDL/driver/drv_args.cpp: - * TAO_IDL/be/be_codegen.cpp: - Tries executing GPERF and checks the wait status of the - spawned process. If <exec> on GPERF has failed, changing to - Dynamic Hashed Operation Lookup strategy. - - * TAO_IDL/include/idl_global.h: - * TAO_IDL/util/utl_global.cpp: - Added addition parameter to the helper functions that - deals with stubs and skeleton names, to give base name or the full - path, depending on the value of the flag. This helps when we need - full names while storing stubs and skeletons, but only the base - names when using them with "#include"s. - -Sat Aug 22 21:59:54 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/NestedUpcall/MT_Client_Test/Makefile: - updated dependencies so that the module can build. - -Sat Aug 22 16:01:07 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Makefile: - Changed to reflect the moving of pccTimer.cpp to - /project/doc/mvme. - -Sat Aug 22 14:47:07 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/COOL/MT_Cubit/cubit_impl.{h,cpp}: - Renamed these files to cubit_i.{h,cpp} to be consistent. - -Sat Aug 22 13:17:06 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/NestedUpcall/{MT_Client_Test,Triangle_Test}, - tests/Quoter: Changed all *_Impl to *_i to be more consistent. - - * tests/Simple/time: Added more comments and cleaned up the test - so that it minimizes the use of dynamic memory allocation. Also, - renamed some files to be more consistent. - -Sat Aug 22 11:01:15 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Simple/Makefile: - Added a Makefile so making everything from the top-level would - work. - -Sat Aug 22 02:30:26 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/client_i.cpp (read_ior): Use the - buffer's allocator to free the memory. - - * tests/Simple/time/: Made a big pass through the example to clean - things up, remove extra code, and rename things. - -Sat Aug 22 01:41:38 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/TAO.dsp: - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/orbsvcs/orbsvcs.dsp: - Forgot to fix the output directories. - - * TAO_IDL/tao_idl.dsp: - * tests/Simple/time/server.dsp: - * tests/Simple/time/client.dsp: - More Alpha configurations added. - -Fri Aug 21 23:16:47 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/TAO.dsp: - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/orbsvcs/orbsvcs.dsp: - Added Alpha configurations. - -Fri Aug 21 20:12:29 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Thruput/TAO/client.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Removed uneeded #include's that made some HP-UX platforms very - angry. Thanks to John Mulhern <9107@mn3.lawson.lawson.com> - for reporting this. - - * orbsvcs/orbsvcs/AV/AVStreams_i.h: - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: - EGCS (on Solaris) complained about a missing function, but the - function was pure virtual! My attempts to teach it better failed - so I resorted to define the function anyway. - -Fri Aug 21 19:22:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_visitor_interface/collocated_sh.cpp: - * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: - * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: - * TAO_IDL/be/be_visitor_interface/tie_sh.cpp: - * TAO_IDL/be/be_visitor_operation/arglist.cpp: - * TAO_IDL/be/be_visitor_operation/operation_sh.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: - The IDL compiler generates all the method definitions with a - default value for the CORBA::Environment argument. - - * tao/Makefile: - * tao/ORB_Core.h: - * tao/ORB_Core.i: - * tao/ORB_Core.cpp: - * tao/Environment.h: - * tao/Environment.i: - * tao/Environment.cpp: - * tao/Exception.h: - * tao/Exception.i: - * tao/Exception.cpp: - The ORB provides a default for the CORBA_Environment, this - default is stored in TSS storage. Creating a new - CORBA_Environment pushes that default and replaces it with the - new variable; the old default is restores when the variable is - destroyed. - The CORBA_Environment class was moved to its own file to avoid - cyclic dependencies with the ORB_Core. - - * tao/Any.h: - * tao/CDR.h: - * tao/Connect.h: - * tao/CurrentC.h: - * tao/Forwarding_Servant.h: - * tao/GIOP.h: - * tao/IIOP_Interpreter.h: - * tao/IIOP_ORB.h: - * tao/IIOP_Object.h: - * tao/Invocation.h: - * tao/Marshal.h: - * tao/NVList.h: - * tao/ORB.h: - * tao/Object.h: - * tao/POA.h: - * tao/POAC.h: - * tao/POAS.h: - * tao/POA_CORBA.h: - * tao/PolicyC.h: - * tao/Request.h: - * tao/Sequence.h: - * tao/Sequence_T.h: - * tao/Servant_Base.h: - * tao/Server_Request.h: - * tao/Stub.h: - * tao/TAO.h: - * tao/Typecode.h: - * tao/corba.h: - * tao/poa_T.h: - * tao/varout.h: - All methods taking a CORBA_Environment as the last argument - provide a default value for it. - - * The new files in $TAO_ROOT/tao required the regeneration of the - dependencies for all the Makefiles. - -Fri Aug 21 19:06:21 1998 Carlos O'Ryan <coryan@CHA-CHA> - - * tests/Param_Test/client.dsp: - Added the new except.cpp and except.h - - * TAO_IDL/driver/drv_preproc.cpp: - Check the error result when running the preprocessor. - -Fri Aug 21 15:00:21 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Any.i: - Oops, forgot to implement the from_wchar and to_wchar - constructors (see my last ChangeLog entry). - -Fri Aug 21 14:27:27 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/Endpoint_Strategy.{h,cpp}: Added virtual - destructors to all the classes. Thanks to Carlos for reporting - this. Fixed a few template warnings. - -Fri Aug 21 13:47:27 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Typecode.cpp: - private_equal() was missing tk_ulonglong in the switch - statement. - - * tao/Any.{h,i,cpp): - Added <<= and >>= for long long, unsigned long long - and wchar. - -Fri Aug 21 11:34:42 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/client_i.cpp (init_naming_service): - * tests/Cubit/TAO/MT_Cubit/server.cpp (initialize_orb): - Fixed the g++ warning for passing ORB_var to an ORB_ptr - argument. - -Fri Aug 21 00:04:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Exception.cpp: - * tao/corba.h: - * tao/orbconf.h: - The ORB is ready to work with exceptions now. I was able to - throw an exception on the server side, catch it, transmit it to - the client, the client is able to build the exception with the - right dynamic type and then raise it again. This, of course, - using SII. We still have to do some more work to support DII. - - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp: - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp: - Fixed misuses of TAO_THROW and TAO_TRY macros that did not work - when the code was used with exceptions enabled. - - * tests/Param_Test/except.cpp: - * tests/Param_Test/param_test_i.cpp: - * tests/Param_Test/param_test_i.h: - Removed throw specs from the servant implementation, they just - complicate things. Cleanup the client side. - -Thu Aug 20 19:42:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Invocation.cpp: - Fixed two warnings reported by David. They were only a problem - when using user exceptions in DII, something that still requires - some work. - -Thu Aug 20 18:24:04 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Property/client.{h,cpp} - * orbsvcs/tests/Property/server.cpp} - Added Naming_Utils code to simplify Naming Service - operations. Note that this code is shakey, and will not always - execute properly. For better results, try executing the client - and server with -ORBnameserviceport set - -Thu Aug 20 18:18:43 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: - Modified IDL compiler to reflect the CORBA spec, which - states that objects need only one version of the <<= - operator. - - * tao/CurrentC.{h,cpp}: - Modified this IDL-generated file to reflect the above - change. - -Thu Aug 20 17:36:52 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/CosPropertyService/: Removed. For equivalent - code, see orbsvcs/tests/Property - -Thu Aug 20 17:21:32 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Any.{h,i,cpp}: - Misread the CORBA spec - do not need two versions of <<= - for objects and (presumably) other pointer types, so - fixed earlier commit. - -Thu Aug 20 16:14:54 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp: Added Naming_Utils code - to simplify Naming Service operations - - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/util32.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/util.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ordered2.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ordered.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/motionvector.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/mono.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/mb_ordered.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/jrevdct.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/hybriderr.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/hybrid.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/gray.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/fs4.h - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/fs2fast.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/fs2.h - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/decoders.h - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/2x2.cpp - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/24bit.cpp - Added "ace/OS.h" to fix RCSID errors - - * orbsvcs/tests/AVStreams/mpeg/source/server/server.{h,cpp} - * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.{h,cpp} - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.{h,cpp} - Added Naming_Utils code to simplify Naming Service - operations. Also added "ace/OS.h" include to fix RCSID errors - - -Thu Aug 20 14:32:12 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Any.{h,i,cpp}: - We now have <<= and >>= (copying and non-copying - versions) for typecodes and CORBA objects. - -Thu Aug 20 14:14:30 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp : - * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp : - Fixed compile errors and warning shown by g++. - -Thu Aug 20 13:58:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/orbconf.h: - * tao/corba.h: - Exception support is controlled my the TAO_USE_EXCEPTIONS - macro. - - * tao/POAC.h: - * tao/POAC.cpp: - * tao/Typecode.cpp: - Added the _raise () methods, they use a macro (TAO_RAISE) to - actually throw the exception, the macro expands to nothing if - exceptions are not supported. - - * tao/Exception.h: - * tao/Exception.i: - * tao/Exception.cpp: - Fixed problems with operator= - The modifier for the CORBA_Environment::exception() would raise - the exception if native C++ exceptions are supported. - - * tao/Connect.h: - * tao/Connect.cpp: - Use TAO_TRY macros to catch the exceptions in the upcall, this - is in preparation for the support for native C++ exceptions. - - * TAO_IDL/be/be_visitor_exception/exception_ch.cpp: - * TAO_IDL/be/be_visitor_exception/exception_cs.cpp: - The compiler generates the _raise() method now. - - * tao/debug.h: - * tao/debug.cpp: - Removed some _FAR uses. - -Thu Aug 20 11:57:04 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/CosPropertyService.idl : - Changed the struct PropertyException back to exception - PropertyException as AVStreams.idl has one method raising this - exception. - -Thu Aug 20 11:41:03 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Simulator/Event_Supplier/Makefile: - define TAO_ROOT if not already defined. - - * orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.cpp - (DOVE_Supplier): reordered initializers to match declaration order. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: - added explicit template instantiations. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp - (load_schedule_data): don't dereference data->operation_name, - because it already is a char *. - - * orbsvcs/tests/Simulator/DOVEMIB/PrintVisitor.h (~PrintVisitor): - made destructor virtual because PrintVisitor inherits from a - class, NodeVisitor, that has virtual functions. - - * orbsvcs/tests/Simulator/DOVEMIB/Node.cpp: added explicit - template instantiations. - - * orbsvcs/tests/Simulator/{DOVEMIB,Event_Supplier}/Makefile, - orbsvcs/tests/Simulator/README: - added rules to copy .idl files, so that it doesn't have - to be done manually. And, added the .idl and generated - files to the realclean target. - - * orbsvcs/tests/Simulator/Makefile: added. - - * orbsvcs/orbsvcs/RtecEventComm.idl: added an any field, - unless TAO_LACKS_EVENT_CHANNEL_ANY is defined. This - field is needed by orbsvcs/tests/Simulator. It can - be omitted by a make flag: - - * orbsvcs/orbsvcs/Makefile: added support for tao_idl - -DTAO_LACKS_EVENT_CHANNEL_ANY. To enable, either uncomment - the marked line in the Makefile, or add - TAO_LACKS_EVENT_CHANNEL_ANY=1 to your make invocation. - -Thu Aug 20 08:29:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation/tie_si.cpp: - * TAO_IDL/be/be_operation.cpp: - The _tie classes generated improper code when one of the base - classes was imported from another file and the number of - arguments was non-zero. Thanks to Christa Schwanninger - <christa.schwanninger@mchp.siemens.de>, for patiently convincing - me that this problem was real. - -Wed Aug 19 21:03:38 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp} : - Fixed memory leaks. Added a destructor to - Task_State. - * tests/Cubit/TAO/MT_Cubit/client.cpp: - Added code to delete dynamically allocated - memory. - * tests/Cubit/TAO/MT_Cubit/server.cpp: - Removed unnecessary argv code and fixed memory leaks. - -Wed Aug 19 19:20:57 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: - Fixed the declarations for <<= and >>= operators. - -Wed Aug 19 19:18:11 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.{h,cpp]: Added Naming_Utils code - to simplify Naming Service operations. Also added variable - definitions that was affecting compilation (around line 457). - -Wed Aug 19 17:54:13 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/AVStreams/benchmark/client.{h,cpp} - * orbsvcs/tests/AVStreams/benchmark/server.{h,cpp} - Added Naming_Utils code to simplify Naming Service - operations. Note: Due to multicast weirdness yet to be resolved - sometimes the Naming Service will not be properly detected. I - found that running the Naming Service and the server in the same - window helped. I added comments to that effect. - -Wed Aug 19 17:37:51 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: Integrated the Audio/video streams - stuff into the mainstream orbsvcs. - -Wed Aug 19 17:32:40 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp}: I decided not to - add an init_old_naming () method to the Naming_Server since it - seemed inappropriate. I added a get_context () method which is - basically the same as "->" (they both return the - Naming_Context_ptr) for stylistic reasons. - -Wed Aug 19 16:49:21 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/client.cpp: Added Naming_Utils code to - simplify Naming Service operations. - -Wed Aug 19 16:43:36 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/objref.{h,cpp}: - Fixed the DII version of the objref test. They should all - work now. - -Wed Aug 19 16:38:37 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * orbsvcs/orbsvcs/CosPropertyService.idl: - Changed <exception PropertyException> to <struct - PropertyException>. - -Wed Aug 19 15:25:07 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * $ACE_wrappers/TAO/orbsvcs/tests/CosPropertyService/client.cpp: - Fixed the SunCC warnings. - -Wed Aug 19 11:48:57 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/README: Removed the note on - IDL_Cubit_Test. It is no more there. run_test.pl does all. - -Wed Aug 19 15:58:23 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO-INSTALL.html: added instructions for cross-compiled targets. - -Wed Aug 19 15:18:36 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/orbsvcs/AV/Endpoint_Strategy.{h,cpp}: - Fixed template errors that derailed compilation - - * orbsvcs/tests/Property/client.{h,cpp}: - * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp}: - * tests/Cubit/TAO/MT_client/server.{h,cpp} - * tests/Cubit/TAO/IDL_Cubit/client_i.{h,cpp} - Replaced old code with Naming_Utils code. Added a - TAO_Naming_Client to the *.h, and used it in the *.cpp to - contact the Naming Service for binds and resolves. - -Wed Aug 19 15:06:59 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB.h: - * tao/Exception.h: - * tao/Exception.cpp: - * tao/Invocation.cpp: - Added the new CORBA::UnknownUserException, that is used with DII - when a user exception is raised. - User and system exceptions are created using the right dynamic - type. - Minimized code size by using a factory method for the system - exceptions in the TAO_Exceptions class. - - * tao/Typecode.h: - * tao/Typecode.cpp: - Completed the implementation for the Bounds and BadKind - exceptions. - - * tests/Param_Test/Makefile: - * tests/Param_Test/README: - * tests/Param_Test/driver.cpp: - * tests/Param_Test/options.cpp: - * tests/Param_Test/options.h: - * tests/Param_Test/param_test.idl: - * tests/Param_Test/param_test_i.cpp: - * tests/Param_Test/param_test_i.h: - * tests/Param_Test/run_test.pl: - * tests/Param_Test/tests.h: - Added a new test for exceptions, it verifies that user - exceptions are properly transmitted and demarshaled and that - unexpected exceptions are converted into CORBA::UNKNOWN. - - * tests/Param_Test/any.cpp: - * tests/Param_Test/ub_any_seq.cpp: - The tests (specially the server side) are silent unless the - TAO_debug_level is greater than 0. - -Wed Aug 19 14:24:18 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.2.5 released. - -Wed Aug 19 10:48:37 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: - * orbsvcs/tests/EC_Throughput/run_test.pl: - Fixed syntax errors, wrong paths and increased sleep time, seems - to work now. - - * tests/Cubit/TAO/DII_Cubit/run_test.pl: - The script was giving the wrong options to the server. - - * tests/NestedUpcall/Reactor/run_test.pl: - Increased sleep time, simplify command line args. - -Wed Aug 19 09:47:58 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/README: removed instructions for - building client w/o libraries for VxWorks. They were out-of-date, - and too much of libACE/TAO are needed now for it to be done easily. - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (parse_args): check - for success of ACE_OS::fopen () call on the IOR file. Print - an ACE_ERROR message and return -1 if it failed. - - * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp (main): replaced {0, 0} - initializers for Times with 0, now that CORBA::ULongLong is an - int type. - - * orbsvcs/tests/Sched_Conf/Makefile: replaced explicit build - rule for Sched_Conf with include of rules.bin.GNU. There's - no net difference on Unix, and now it builds on VxWorks. - -Wed Aug 19 08:07:38 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/debug: Fixed a couple of uses of TAO_Export to make MSVC 6.0 - happy. Thanks to Goran Lowkrantz - <Goran.Lowkrantz@infologigruppen.se> for reporting this. - -Tue Aug 18 23:58:05 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.h (TAO_Resource_Factory): Changed this class so - that most of the methods are virtual and the private section is - protected. This makes it easier for users to inherit and extend - this class. - -Tue Aug 18 19:14:27 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/clinet.cpp: - Had an incorrect "owns-data" boolean arg in all the cubit - test request constructions. - -Tue Aug 18 17:54:16 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init): Fixed incorrect - assignment. - - * tests/Cubit/TAO/IDL_Cubit/server.cpp (main): Added print - statements for initialization errors. - -Tue Aug 18 16:54:24 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.2.4 released. - -Tue Aug 18 15:43:16 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/ub_objref_seq.cpp: - * Param_Test/client.dsp: - * Param_Test/README: - DII test now works with objref sequences. Also changed client - file to reflect that longlong.cpp was changed to ulonglong.cpp. - Updated README file. - -Tue Aug 18 15:23:21 1998 Steve Huston <shuston@riverace.com> - - * tao/Any.cpp: Use operator delete directly, rather than delete, to - free un-typed memory. Thanks to John Mulhern for this fix. - -Tue Aug 18 09:39:50 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Param_Test/Makefile,driver.cpp,longlong.{h,cpp}, - options.{h,cpp},param_test.idl,param_test_i.{h,cpp}, - run_test.pl,tests.h,ulonglong.{h,cpp}: replaced - long long with unsigned long long, so that the test - builds and runs on platforms that don't have a native - 64-bit int type. - -Mon Aug 17 22:01:05 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/fe/lex.yy.cpp: - Removed unwanted #includes that produced warnings in some - platforms; thanks to David Levine for catching this one. - - * TAO_IDL/Makefile: - Yet another RCS id that was not properly protected, I also need - to thank David for this report. - -Mon Aug 17 17:16:29 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * TAO_IDL: Renamed README to README.sun and INSTALL to INSTALL.sun - to reflect the fact that these documents are now very much out - of date. Thanks to Marherita Vittone <vittone@fndaub.fnal.gov> - for reporting this. - -Mon Aug 17 15:10:25 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be_include/be_visitor_context.h: - * TAO_IDL/be/be_visitor_context.cpp: - * TAO_IDL/be_include/be_visitor_interface/tie_si.h: - * TAO_IDL/be_include/be_visitor_interface/tie_sh.h: - * TAO_IDL/be/be_visitor_operation/tie_si.cpp: - * TAO_IDL/be/be_visitor_interface/tie_si.cpp: - * TAO_IDL/be/be_visitor_interface/tie_sh.cpp: - The _tie classes did not override the methods of the base - classes, thus, some _tie classes were abstract and thus - useless. - -Mon Aug 17 15:27:22 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * docs/releasenotes/ec.html: - Updated the "Known Issues" section. - - * docs/releasenotes/trader.html: - The problems in TAO that affected the trading server were - solved. - -Mon Aug 17 15:16:13 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * docs/releasenotes/index.html: Removed some outdated notes - on A/V streaming service. - -Mon Aug 17 11:07:09 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/Concurrency/CC_command.tab.cpp.diff: - * orbsvcs/tests/Concurrency/CC_command.tab.cpp: - Removed unused label. Thanks to David for pointing this out. - -Mon Aug 17 10:45:09 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Trading/Makefile: removed shared_libs_only=1, - because that's taken care of in the platform_macros.GNU file. - This module now builds on VxWorks. - - * tests/Cubit/TAO/IDL_Cubit/README: removed instructions for - building client w/o libraries for VxWorks. They were out-of-date, - and too much of libACE is needed now for it to be done easily. - - * orbsvcs/orbsvcs/Log/Logger_i.{h,cpp}: use ACE_Cstring instead - of const char * for the hash_map_ EXT_ID. - -Sun Aug 16 23:49:20 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/ECT_Consumer.dsp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.dsp: - Updated project files. - - * orbsvcs/tests/EC_Custom_Marshal/EC_Custom_Marshal.dsw: - * orbsvcs/tests/EC_Custom_Marshal/ECCM_Supplier.dsp: - * orbsvcs/tests/EC_Custom_Marshal/ECCM_Consumer.dsp: - New projects/workspace added. - -Sun Aug 16 17:15:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Connect.h: - * tao/Connect.cpp: - Fixed incosistent use of response_required, sometimes it was an - int and other it was a CORBA_Boolean. Thanks to Naga for - reporting this problem. - -Sun Aug 16 11:52:47 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Offer_Database.h: - * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: - Fixed unproper use of private typedefs and of ACE_TYPENAME - macro, thanks to John Mulhern <9107@mn3.lawson.lawson.com> for - this patches. - -Sun Aug 16 09:11:33 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader.cpp: added #include - "Trader_Interfaces.h", for use by instantiation pragmas. - - * orbsvcs/orbsvcs/Trader/Trader.cpp: only instantiate - ACE_Unbounded_Queue<char *>, etc., if ACE_HAS_MOSTLY_UNICODE_APIS. - Otherwise, they're in ace/ARGV.cpp. - -Sat Aug 15 12:00:15 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/varout.h: - * tao/varout.i: - Fixed some cast-away-const problems in the new - TAO_Object_Field_T class. - - * orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp: - Typecodes use a TAO_Unbounded_Pseudo_Sequence, not a - TAO_Unbounded_Object_Sequence. - -Sat Aug 15 08:19:26 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/deep_free.cpp (deep_free), - tao/decode.cpp (decode), - tao/encode.cpp (encode): - replaced ACE_static_cast with an ACE_reinterpret_cast/ACE_const_cast. - - * orbsvcs/tests/Trading/Offer_Exporter.cpp (export_offers_to_all): - added a TAO_CHECK_ENV for platforms without - TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG. This avoids a warning - about TAO_TRY_LABEL being declared but not referenced. - - * orbsvcs/tests/Trading/Offer_Exporter.cpp (export_offers_to_all): - dereference link_info->target_reg with .in (). - - * orbsvcs/tests/Trading/Offer_Importer.cpp (perform_directed_queries): - dereference link_info->target with .in (). - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp,Trader_Utils.cpp: - added a few .in () dereferences. - - * orbsvcs/tests/Trading/Makefile: added LIBS, for use when - building libTTest. - - * orbsvcs/orbsvcs/Event_Utilities.h,Scheduler_Utilities.h, - Time_Utilities.h,Event/EC_Gateway.h,Event/EC_Gateway_UDP.h, - Trader/Trader.h: - added #include "orbsvcs/orbsvcs_export.h". Thanks to - Joseph E. LaPrade <laprade@engw.ana.bna.boeing.com> for - reporting this. - -Fri Aug 14 22:09:41 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Logger/Logging_Test_i.cpp (init_naming_service): - dereferenced orb_ with .in () to please g++. - - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp (run): - dereferenced local_ec with .in () to please g++. - (shutdown): added ACE_UNUSED_ARG (_env). - -Fri Aug 14 20:13:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.h: - * tao/GIOP.h: - * tao/GIOP.cpp: - * tao/corba.h: - * tao/ORB.cpp: - * tao/Principal.h: - * tao/Principal.cpp: - The operator<< and operator>> for marshaling and demarhaling - return a CORBA_Boolean, this makes the detection of errors - faster that returning a TAO_OutputCDR& or TAO_InputCDR&. - - * orbsvcs/tests/EC_Custom_Marshal/ECM_Data.h: - * orbsvcs/tests/EC_Custom_Marshal/ECM_Data.cpp: - The custom marshalling methods follow the same protocol as the - (proposed) compiled marshalling ones. - -Fri Aug 14 14:44:49 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/IIOP_Interpreter.cpp: - * tao/deep_free.cpp: - * tao/encode.cpp: - * tao/decode.cpp: - Completed support for object references inside structures. - - * tao/Object.h: - * tao/Object.i: - * tao/Object.cpp: - * tao/varout.h: - * tao/varout.i: - * tao/varout.cpp: - Added a new class to represent an object reference when - contained inside a structure, it is similar to a T_var class - - * tao/Sequence.h: - * tao/Sequence.i: - * tao/Sequence.cpp: - * tao/Sequence_T.h: - * tao/Sequence_T.i: - * tao/Sequence_T.cpp: - Sequences contain new methods (_upcast() and _downcast()) that - help in the correct marshaling and demarshaling of sequences of - object references. - New parametric classes were added to support sequences of - pseudo-objects. - - - * TAO_IDL/be_include/be_sequence.h: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp: - * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: - Added support for the new TAO_Unbounded_Pseudo_Sequence<T> used - for pseudo-objects. - - * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: - Generate the new _upcast() and _downcast() methods for sequences - of objects. - - * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: - Generate the template instantiation for the - TAO_Object_Field_T<T> class. - - * TAO_IDL/be/be_visitor_field/field_ch.cpp: - Object references in structures are defined using a - TAO_Object_Field_T<T> object. - - * orbsvcs/orbsvcs/CosTrading.idl: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: - The ORB supports object rereferences inside structures. - - * orbsvcs/orbsvcs/CosPropertyService.idl: - Cosmetic changes. - - * tests/Param_Test/Makefile: - * tests/Param_Test/README: - * tests/Param_Test/run_test.pl: - * tests/Param_Test/driver.cpp: - * tests/Param_Test/objref_struct.cpp: - * tests/Param_Test/objref_struct.h: - * tests/Param_Test/options.cpp: - * tests/Param_Test/options.h: - * tests/Param_Test/param_test.idl: - * tests/Param_Test/param_test_i.cpp: - * tests/Param_Test/param_test_i.h: - * tests/Param_Test/tests.h: - * tests/Param_Test/ub_objref_seq.cpp: - Cleanup the object reference sequence test and added a test for - sequences inside structures. - -Fri Aug 14 09:46:44 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/DynSched.cpp (calculate_utilization_params): - removed ACE_UINT64_DBLCAST_ADAPTER from effective_period (), - because it's 32 bits, not 64. - - * orbsvcs/orbsvcs/Sched/SchedEntry.i (effective_execution_time): - replaced ACE_UINT32 static cast with ACE_U64_TO_U32, so that - it works with ACE_LACKS_LONGLONG_T. - - * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp: - replaced long static casts with ACE_U64_TO_U32, so that - they work with ACE_LACKS_LONGLONG_T. - - * tao/POA.cpp: reordered template instantiations so that they - build with g++ 2.7.2.3, and removed some unneeded ones so that links - succeed with ghs/VxWorks. - -Fri Aug 14 09:15:51 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/CosTimeBase.idl: - Removed outdated comment, thanks to David Levine for pointing - this out. - -Thu Aug 13 17:45:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: changed dump_schedule - so that if one of the arrays is length 0, 0 is output for its size - (instead of a formula with a built-in access violation ;-) - - * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp - orbsvcs/orbsvcs/Sched/DynSched.cpp - orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h, i} - orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}: fixes related to - the new 64 bit times for NT. - - * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp: expanded the test to - 16 operations, ranging across 4 rates, and 2 criticalities - (half are still consumers, the other half suppliers) - - -Thu Aug 13 15:20:06 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB_Core.i (hash_i): suppress the specialization with - non-egcs g++. Older versions of g++, such as 2.7.2.3, - can't compile it. - - * orbsvcs/orbsvcs/Sched/Scheduler.cpp (dispatch_configuration): - made int return type explicit. - - * orbsvcs/orbsvcs/Sched/DynSched.cpp: added - ACE_Unbounded_Set<RtecScheduler::Config_Info> template instatiations. - - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp (supplier_task), - orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp (supplier_task): - cast event_count_ to CORBA::Long instead of CORBA::ULong, - to avoid signed/unsigned comparison. - -Thu Aug 13 15:16:38 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAOACE.dsw: When I changed the name of TAO_IDL's project - file, the dependencies got messed up. Now they should be - back to normal. - -Thu Aug 13 15:03:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/fe/idl.ll: - * TAO_IDL/fe/lex.yy.cpp: - * TAO_IDL/fe/lex.yy.cpp.diff: - The scanner was looking for wchar_t and wstring_t but the IDL - types are called wchar and wstring. - The patch is not needed when using a modern flex, like 2.5.4 - (available in /pkg/gnu/bin/flex for the DOC group). - - * TAO_IDL/Makefile: - Added a rule to generate (upon the user *explicit* request) the - lex.yy.cpp file. - -Thu Aug 13 09:14:12 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Param_Test/Makefile: - * tests/Param_Test/README: - * tests/Param_Test/driver.cpp: - * tests/Param_Test/options.cpp: - * tests/Param_Test/options.h: - * tests/Param_Test/param_test.idl: - * tests/Param_Test/param_test_i.cpp: - * tests/Param_Test/param_test_i.h: - * tests/Param_Test/run_test.pl: - * tests/Param_Test/run_test.sh: - * tests/Param_Test/tests.h: - * tests/Param_Test/longlong.h: - * tests/Param_Test/longlong.cpp: - Added a new test to check if <long long> works. - - * orbsvcs/orbsvcs/CosTimeBase.idl: - * orbsvcs/orbsvcs/Event_Service_Constants.h: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.h: - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - * orbsvcs/orbsvcs/Time_Utilities.cpp: - * orbsvcs/orbsvcs/Time_Utilities.h: - * orbsvcs/orbsvcs/Time_Utilities.i: - * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp: - * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: - * orbsvcs/orbsvcs/Sched/DynSched.cpp: - * orbsvcs/orbsvcs/Sched/SchedEntry.cpp: - * orbsvcs/orbsvcs/Sched/SchedEntry.i: - * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp: - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h: - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h: - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime_Dynamic.h: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Modified CosTimeBase.idl to use <long long> instead of a - structure. - - * TAO_IDL/fe/fe_init.cpp: - The IDL name for wchar_t is just wchar, ditto for wstring. - - * docs/releasenotes/index.html: - Documented the fact that 64bit longs are working. - - * docs/releasenotes/ec.html: - Fixed minor syntax error. - -Wed Aug 12 14:40:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp - orbsvcs/tests/EC_Mcast/EC_Mcast.cpp - orbsvcs/tests/Sched_Conf/Sched_Conf.cpp: - - Added config info to calls to compute_scheduling and dump_schedule - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp - - Added config info to calls to compute_scheduling, dump_schedule, - use_runtime, and ACE_Runtime_Scheduler::ACE_Runtime_Scheduler - - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h - orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h - orbsvcs/tests/EC_Multiple/Scheduler_Runtime_Dynamic.h: - - Added config info array and size value - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - - Added missing ;'s to output - -Wed Aug 12 14:39:40 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Stub.h: - * tao/IIOP_Object.h: - * tao/IIOP_Object.cpp: - The do_static_call() method uses argc/argv style to receive all - the arguments (actually an array of void*) instead of the - varargs style used before. This is simpler, more efficient and - easier to debug. - - * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: - * TAO_IDL/be/be_visitor_operation/argument.cpp: - * TAO_IDL/be/be_visitor_argument/docall_cs.cpp: - The generate code to use the new do_static_call() interface. - - * tao/Object.cpp: - * tao/POAC.cpp: - * tao/PolicyC.cpp: - Change the calls to do_static_call() - - * orbsvcs/orbsvcs/Runtime_Scheduler.h: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - * orbsvcs/orbsvcs/Sched/Scheduler.h: - * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: - * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp: - Removed some extra "enum" keywords accompanying - RtecScheduler::Dispatching_Type declarations that were choking - Sun/CC. - -Wed Aug 12 12:05:31 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/POA.cpp: - Added several missing template instantiations for the new - Hash_Map_Manager. - -Wed Aug 12 12:00:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Runtime_Scheduler.{h, cpp} - orbsvcs/orbsvcs/Sched/Scheduler.{h, cpp} - orbsvcs/orbsvcs/Sched/DynSched.{h, cpp} - orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{h, cpp}: - - Added methods and data members to generate dispatching - queue configuration information. - -Tue Aug 11 18:24:13 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA.h (POA): Changed the children POA map from a Map_Manager - to a Hash_Map_Manager. This should improve the time it takes to - find child POAs. - -Tue Aug 11 17:27:58 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * docs/compiler.html : Updated the documentation. - -Tue Aug 11 16:18:53 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * be/be_codegen.cpp - * be/be_visitor_root/root_sh.cpp - * driver/drv_args.cpp - * include/idl_global.h - * util/utl_global.cpp - - Added options to <tao_idl> to make the file names of the - IDL-generated stubs and skeletons optional. - - The following optins have been added. - - = File name endings for all the IDL generated header files, - stub files, skeleton files and inline files. - - = Various 'h'eader_file_name_endings. - - [-hc <Client's header file name ending>] - Default is "C.h". - [-hs <Server's header file name ending>] - Default is "S.h". - [-hT <Server's template hdr file name ending>] - Default is "S_T.h". - - = Various 'c'lient side stub file_name_endings. - - [-cs <Client stub's file name ending>] - Default is "C.cpp". - [-ci <Client inline file name ending>] - Default is "C.i". - - = Various 's'erver side skeleton file name endings. - - [-ss <Server's skeleton file name ending>] - Default is "S.cpp". - [-sT <Server's template skeleton file name ending>] - Default is "S_T.cpp". - [-si <Server's inline file name ending>] - Default is "S.i". - [-st <Server's template inline file name ending>] - Default is "S_T.i". - -Tue Aug 11 13:51:00 1998 Carlos O'Ryan <coryan@CHA-CHA> - - * TAO_IDL/driver/drv_preproc.cpp: - Under Win32 we need to convert backslashes into double - backslashes before printing the file name in the #line - directive, otherwise the C++ preprocessor gets confused. Thanks - to John Geiss <jtgb@eci-esyst.com> for reporting this problem. - -Tue Aug 11 13:47:53 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB_Core.cpp: removed unnecessary trailing semicolons - on a couple of IMPLEMENT_{APP,PRE}_GET_METHOD macro invocations. - -Tue Aug 11 10:51:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Sequence.h: - * tao/Sequence.cpp: - * tao/CDR.cpp: - Added support for octet sequences containing chains of message - blocks. NOTE: the use of chains of message blocks inside octet - sequences is *ONLY* for custom marshaling, many octet sequence - features (such as get_buffer() or operator[]) are either hard or - expensive to implement when the buffer is split across several - message blocks; thus they are *not* supported. This is only an - issue if the users decides to take advantage of some TAO - extensions to octet sequences; using the normal octet sequences - has *no* side effects. - - * orbsvcs/tests/EC_Throughput/README: - * orbsvcs/tests/EC_Throughput/Makefile: - * orbsvcs/tests/EC_Throughput/run_test.pl: - * orbsvcs/tests/EC_Throughput/data.idl: - * orbsvcs/tests/EC_Throughput/ECT_Data.h: - * orbsvcs/tests/EC_Throughput/ECT_Data.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.h: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - The test was trying to achieve too much, I made it smaller by - taking the custom marshaling example to a new test - (EC_Custom_Marshal) and just trying to exercise throughput on - this one. - - * orbsvcs/tests/Makefile: - * EC_Custom_Marshal/Makefile: - * EC_Custom_Marshal/README: - * EC_Custom_Marshal/data.idl: - * EC_Custom_Marshal/run_test.pl: - * EC_Custom_Marshal/ECM_Data.h: - * EC_Custom_Marshal/ECM_Data.cpp: - * EC_Custom_Marshal/ECM_Consumer.h: - * EC_Custom_Marshal/ECM_Consumer.cpp: - * EC_Custom_Marshal/ECM_Supplier.h: - * EC_Custom_Marshal/ECM_Supplier.cpp: - Added a new test to show how custom marshaling works, actually - this was already in EC_Throughput, but that test was growing too - fat. - -Mon Aug 10 22:46:39 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: updated template - instantiations to reflect Memory_Pools.h changes. - -Mon Aug 10 20:02:45 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/README - Added info about the perl script command line args and a note - to the effect that there are still problems with objref. - -Mon Aug 10 19:10:27 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/*.{h,cpp}: - Had moved many #includes to corresponding .h files. I've - been advised that this is not always a good idea, so I - moved them back. - -Mon Aug 10 17:03:12 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/bd_string.cpp: - Opname was being set to "test_unbounded_string" (oops). - -Mon Aug 10 16:54:12 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/run_test.pl: - Added run-through for typecodes (it was missing) and increased wait - between server and client startup to 5 (first time you run server, it - takes a little longer to get going and the first test was getting - skipped). - -Mon Aug 10 16:46:50 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Fixed an error - where "not all control paths return a value" in init (). - -Mon Aug 10 15:56:42 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Memory_Pools.h: - The memory pools are global from some time now, but they did not - have the right kind of lock; this lead to memory corruption - problems when sending events at a very high rate. Thanks to - Mark L. Boriack <mboriack@std.saic.com> for reporting this - problem. - -Mon Aug 10 13:59:24 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/tests/ImplRepo/Impl_Repo.idl: - * orbsvcs/tests/ImplRepo/client.dsp: - * orbsvcs/tests/ImplRepo/client_impl.cpp: - * orbsvcs/tests/ImplRepo/implrepo.dsp: - * orbsvcs/tests/ImplRepo/ir_implrepo_impl.cpp: - * orbsvcs/tests/ImplRepo/ir_implrepo_impl.h: - * orbsvcs/tests/ImplRepo/ir_server.cpp: - * orbsvcs/tests/ImplRepo/server.dsp: - * orbsvcs/tests/ImplRepo/server_impl.cpp: - * orbsvcs/tests/ImplRepo/server_impl.h: - * orbsvcs/tests/ImplRepo/svc.conf: - The server now registers itself with the IR. - -Mon Aug 10 13:33:52 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Added suspend_connection/resume_connection calls to the - PushConsumerProxy interface ala Notification Service, using this - methods a Consumer can temporarly disable the reception of - events; the events are dropped on the Event Service side, thus - minimizing network traffic (but the EC still has to do some - computation). - - * orbsvcs/tests/Simple_Naming/Makefile: - Updated dependencies. - -Mon Aug 10 12:45:01 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Logger/Logging_Test_i.cpp: Added extra code to - test the "logv ()" method. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp}: Added new method - "init_new_naming ()" which creates a new naming service. Modified - "init ()" to try and resolve a preexisting NameService before - calling "init_new_naming ()" - - * orbsvcs/orbsvcs/Log/Logger_i.{h,cpp}: Implemented new "logv ()" - method - - * orbsvcs/orbsvcs/Logger.idl (Logger): Added new method "logv ()" - which allows logging with a specified verbosity level. - -Mon Aug 10 10:51:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/client.cpp: - Removed signed/unsigned comparison, thanks to David for pointing - this out. - -Mon Aug 10 09:13:17 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.cpp: added missing - ACE_Hash_Map_Iterator template instantiations. - -Sun Aug 09 23:36:31 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.3 released. - -Sun Aug 9 23:08:51 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * Checked in a bunch of files/directories that I'd neglected - to check in before. - -Sun Aug 09 23:12:33 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.2 released. - -Sun Aug 9 19:46:33 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/var_array.cpp: - - Changed this->out_.out () in add_args to - this->out_.inout (), which works with dii requests. - -Sun Aug 9 19:08:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB_Core.cpp: - Removed explicit template instantiation for - ACE_Malloc<ACE_LOCAL_MEMPORY_POOL,ACE_Null_Mutex> and the - corresponding ACE_Allocator_Adapter<> because it is already - instantiated in ACE. - - * tao/ORB.cpp: - Added missing instantiation of - ACE_Guard<ACE_Cached_Connector_Lock>, event it is not directly - used in TAO it is used by the ACE_Cached_Connector<> (when - instantiated using that lock) and some compilers do no recursive - instantiation. - -Sun Aug 9 18:20:59 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/Simple/client_static.dsp: - * tests/Simple/server_static.dsp: - * TAOACE_Static.dsw: - * TAO_IDL/tao_idl.dsp: - * TAO_IDL/tao_idl.dsw: - * TAO_IDL/tao_idl_static.dsp: - * orbsvcs/orbsvcs/orbsvcs.dsw - * orbsvcs/orbsvcs/orbsvcs_static.dsp: - * tao/TAO_Static.dsp: - * tests/Simple/Simple_Object.dsw: - * tests/Simple/client.dsp: - * tests/Simple/server.dsp: - Added and updated projects for a static version of the - TAO libraries. - -Sun Aug 9 12:56:12 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Param_Test/fixed_struct.cpp: - * tests/Param_Test/objref.cpp: - * tests/Param_Test/ub_objref_seq.cpp: - * tests/Param_Test/ub_string.cpp: - * tests/Param_Test/var_array.cpp: - Added missing includes and fixed some T_var to base type - translation problems (it wouldn't compile on Sun/CC otherwise). - -Sun Aug 9 08:51:58 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader.cpp: Added a #include of - Offer_Iterators_T.h so that the code will compile on VxWorks. - Thanks to Sergio for reporting this. - -Sun Aug 9 000:45:55 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/client.dsp: - - Added a missing header file to FileView and created separate - client and server directories under Debug\ so separate .pdb - files can be kept for client and server projects. - - * Param_Test/ub_any_seq.{h,cpp}: - - DII test now works and is CORBA-compliant. - - * Param_Test/any.cpp: - * Param_Test/bd_long_seq.cpp: - * Param_Test/bd_short_seq.cpp: - * Param_Test/bd_str_seq.cpp: - * Param_Test/bd_struct_seq.cpp: - * Param_Test/client.cpp: - * Param_Test/driver,{h,cpp}: - * Param_Test/fixed_array.cpp: - * Param_Test/fixed_struct.cpp: - * Param_Test/nested_struct.cpp: - * Param_Test/objref.cpp: - * Param_Test/short.{h,cpp}: - * Param_Test/typecode.cpp: - * Param_Test/ub_long_seq.cpp: - * Param_Test/ub_objref_seq.cpp: - * Param_Test/ub_short_seq.cpp: - * Param_Test/ub_str_seq.cpp: - * Param_Test/ub_string.cpp: - * Param_Test/ub_struct_seq.cpp: - * Param_Test/var_array.cpp: - * Param_Test/var_struct.cpp: - - Made cosmetic changes to the code. - - -Sat Aug 8 22:47:22 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/fixed_array.{h,cpp}: - * Param_Test/var_array.{h,cpp}: - * Param_Test/var_struct.{h,cpp}: - * Param_Test/nested_struct.{h,cpp}: - * Param_Test/any.{h,cpp}: - - DII tests now work with _vars and are CORBA-compliant. - -Sat Aug 8 21:28:33 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Exception.h: - * tao/Exception.i: - * tao/Exception.cpp: - Removed superflous operator new and operator delete. - - * docs/releasenotes/TODO.html: - More updates. - - * docs/configurations.html: - Added a few hints on when to use ORB-per-thread and what the - consequences are. - -Fri Aug 7 21:39:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * docs/releasenotes/TODO.html: - Update the notes. - - * docs/releasenotes/index.html: - Added a pointer to the TODO list. - - * orbsvcs/tests/EC_Throughput/run_test.pl: - We need to wait for the NamingService and the EventService after - killing them. We also need a pause after starting up the - consumer. - - * tao/CDR.cpp: - * tao/CDR.h: - * tao/CDR.i: - The OutputCDR class receives allocators for the buffers and the - data blocks. - - * tao/Connect.cpp: - Minimize the number of calls to TAO_ORB_Core_instance() in the - upcall. - - * tao/IIOP_Object.cpp: - Use the ORB_Core allocators for the outgoing CDR stream. - - * tao/Invocation.cpp: - * tao/Invocation.h: - * tao/Invocation.i: - Receive the ORB_Core as an argument to minimize calls to - TAO_ORB_Core_instance. - Use allocators for the outgoing stream. - - * tao/ORB_Core.cpp: - * tao/ORB_Core.h: - * tao/ORB_Core.i: - Added TSS allocators for the outgoing stream. - - * tests/Cubit/TAO/IDL_Cubit/client_i.cpp: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - Fixed problems with Timeprobe registrations. - Also made the <-x> option functional when -v or -o is used. - - * tests/Cubit/TAO/IDL_Cubit/Makefile: - Enabled GPERF support in the IDL compiler again. - -Fri Aug 7 18:00:22 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/bd_short_seq.{h,cpp}: - * Param_Test/bd_long_seq.{h,cpp}: - * Param_Test/bd_str_seq.{h,cpp}: - * Param_Test/bd_struct_seq.{h,cpp}: - * Param_Test/ub_short_seq.{h,cpp}: - * Param_Test/ub_long_seq.{h,cpp}: - * Param_Test/ub_str_seq.{h,cpp}: - * Param_Test/ub_struct_seq.{h,cpp}: - - DII tests now work with _vars. - -Fri Aug 7 15:30:06 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tests/Param_Test/typecode.{h,cpp}: - - DII test now works. - -Fri Aug 07 14:32:50 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.cpp (init): Removed the public set function and - made the ORB_Core a friend. - -Fri Aug 7 10:41:23 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/ORB_Core.cpp (init): Changed the code to use the new - shutdown_lock() accessor so TAO will compile. Thanks to Andy - Gokhale for reporting this. - - * tao/ORB: Added an accessor to set the shutdown lock. - -Fri Aug 07 01:10:48 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB.cpp - - (shutdown): Restored the <wait_for_completion> flag. In - shutdown, we try to cancel all the threads in the ORB (e.g., - threads from a thread-per-connection policy). If the - <wait_for_completion> flag is set, we wait for all threads to - exit. Note that there is one problem with this: on platforms - that do not support thread cancellation, the threads won't get - cancelled. Therefore, the only way they will wake up and - realize that the ORB has shutdown is that a client makes a - request to them. Hence the <wait_for_completion> flag cannot - reliably used on platforms that do not have thread cancellation. - - (run): Simplified code for accessing shutdown_lock_ and - should_shutdown_ - - * tao/ORB.i (should_shutdown): Added set and get methods for the - should_shutdown_ flag. - - * tao/ORB_Core.cpp - - (Pre_Allocated): Added a constructor that makes sure that the - thread manager does not wait for threads by default. - - (init): Set the <shutdown_lock_> for the ORB. - - * tao/Connect.cpp - - (handle_input): Check to see if we've been cancelled - cooperatively before executing the client request. - - (TAO_Server_Connection_Handler::TAO_Server_Connection_Handler, - TAO_Client_Connection_Handler::TAO_Client_Connection_Handler) - If the thread manager of the svc_handlers is zero, set them to - TAO_ORB_Core_instance ()->thr_mgr () and not - ACE_Thread_Manager::instance (). - - (activate): There is no need to assign the thr_mgr (again) as it - was already set correctly at creation time. - - (TAO_Client_Connection_Handler::close): Removed this method. The - base class already does this. - - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp: - tests/NestedUpcall/Reactor/NestedUpCalls_Test.cpp: - Removed these tests since they have been superseded by the perl - scripts. Also updated the Makefiles. - - * tests/Cubit/CORBAplus/IDL_Cubit: - * tests/Cubit/TAO/IDL_Cubit: - Removed references to TAO_ORB_Core_Instance. - - * tests/Cubit/TAO/IDL_Cubit/svc.conf: Added back the tss flag for - ORBresources. This is necessary because the collocation test - uses two threads. - - * tests/Cubit/TAO/IDL_Cubit/cubit.idl: Removed the Cubit_Shutdown - object. It is not needed. Also removed the string from - make_cubit since it was not being used. - - * tests/Cubit/TAO/IDL_Cubit/server_i: - - Changed <factory_impl_> to a Cubit_Factory_i pointer and created - it dynamically so that we can pass it the ORB pointer. - - Removed <factory>, <shutdown_impl_>, <num_of_objs_> <shutdown_>, - <Cubit_i_ptr>, <Cubit_i_ref>, <Cubit_Factory_i_ptr>, <obj_name> - - * tests/Cubit/TAO/IDL_Cubit/client_i: - - <cubit_key_> was removed since it was not needed anymore. - - Changed <cubit_> to a Cubit_var from a Cubit_ptr. - - Fixed the memory management for <cubit_factory_key_>. - - Instead of using the Cubit_Shutdown object, we simply turn off - collocation, reinit all our vars (converting them from - collocated to regular objects), and then call shutdown on the - cubit object. - -Thu Aug 6 21:49:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/tests/Trading/Makefile: Changed - - LIBS = -lorbsvcs -lTAO - LDLIBS = -lTTest $(LIBS) - - to - - LDLIBS = -lTTest -lorbsvcs -lTAO - - to work around weirdo bugs with the HP/UX GNU make... Thanks to - John Mulhern <9107@mn3.lawson.lawson.com> for reporting this. - -Thu Aug 6 18:27:24 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/TAO_Tests.dsw: Added the Multiple Inheritance client - and server projects. - - * tests/Multiple_Inheritance/client.dsp: - * tests/Multiple_Inheritance/server.dsp: - Updated the Release versions to be in synch with the rest - of the tests. - -Thu Aug 6 18:11:20 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-INSTALL.html: Added instructions on how to create a - static library for TAO. - - * orbsvcs/orbsvcs/Sched/DynSched.cpp: Fixed a typo where - there was a == when there should have been a =. This was - in schedule_threads (). - -Thu Aug 6 16:37:55 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tests/Param_Test/typecode.{h,cpp}: - Moved the table of typecodes used for random - selection to be local to init_parameters (). - When it was global and static, the CORBA:: - typecodes could not be used - they weren't yet - initialized. - -Thu Aug 6 14:24:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/client.cpp: - Removed warning about unreached statement. - - * orbsvcs/orbsvcs/Trader/Trader.cpp: - Removed duplicate instantiation of a template. - -Thu Aug 6 13:39:32 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao_idl/be/be_visitor_argument/vardecl_ss.cpp: - * tao_idl/be/be_visitor_argument/post_upcall_ss.cpp: - Removed code from visit_predefined_type () in - post_upcall_ss.cpp and changed vardecl_ss.cpp to - accomplish the same thing in a less messy and more - memory-robust manner. Applies to code generated for - test_typecode_skel () in param_TestS.cpp. - -Thu Aug 06 12:51:52 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/orbconf.h: Added a define for the type of reactor that TAO - will use. By default, this is the Select_Reactor. - - * tao/ORB_Core.cpp (TAO_Default_Reactor): Instantiate TAO_REACTOR - instead of the Select_Reactor. Also made ~TAO_Default_Reactor - virtual. BTW, there is no need to keep a pointer to the - Reactor_Impl class. Simply ask the Reactor class to delete it - when its done. - -Thu Aug 6 09:46:46 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp : Used the new ARGV - constructor which creates a new ARGV with 2 argvs. Removed all - usages of 3*BUFSIZ. - -Wed Aug 5 22:14:39 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp, - orbsvcs/orbsvcs/Trader/Offer_Database.cpp: removed unnecessary - typenames. Thanks to John Mulhern <9107@mn3.lawson.lawson.com> - for reporting this. - -Wed Aug 05 17:34:52 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Invocation.h (TAO_GIOP_Invocation): Removed the - TAO_Client_Connection_Handler pointer from this class. It was - moved into the IIOP_Object where it would be easier to recycle - it since instances of TAO_GIOP_Invocation are transient while - IIOP_Objects are not. - - * tao/ORB_Core.cpp (TAO_Cached_Connector_Lock): Added a new - adaptive lock type TAO_Collocation_Table_Lock that will be used - to control the type of locking used by the connector in TAO. - - Moved all the connect strategies from the ORB_Core to the - resource factory. If the strategies were left in the ORB_Core, - each thread would get its own copy of the strategies since - ORB_Core is TSS. - - Removed all instances of TAO_HAS_CLIENT_CONCURRENCY. They were - incomplete, not used, and annoying. - - * tao/ORB.cpp: Changed the template instantiations of the - Connector to specify the new TAO_Cached_Connector_Lock instead - of ACE_SYNCH_NULL_MUTEX or ACE_SYNCH_MUTEX. - - * tao/default_server.cpp (parse_args): Added a new option - (-ORBconnectorlock) to control the lock on the connector. It - defaults to a thread lock, but can set to null. - - Also, changed the lock type of the collocation table from - ACE_SYNCH_RECURSIVE_MUTEX to ACE_SYNCH_MUTEX. - - * tests/Cubit/TAO/IDL_Cubit/svc.conf: Removed excessive options - from the svc.conf file. Also added -ORBconnectorlock null to - avoid locking in the connector. - - * tao: Renamed all instances of coltbl to collocation_table. - -Wed Aug 5 17:48:31 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tests/Param_Test/var_struct.{h,cpp}: - * tests?param_Test/nested_struct.{h,cpp}: - DII now works, but is non-compliant (OUT arg - has to be extracted to get correct value). - -Wed Aug 5 17:05:36 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-INSTALL.html: Added instruction for the addition of - ACE_wrappers/ace to the executable directories under MSVC - 5, since this is needed for the TAO_IDL compiler to work - inside of MSVC. - -Wed Aug 5 16:43:38 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * docs/implrepo.html: Added information on the new POA policy where - the format of the persistent IOR can be changed from that of both - the last-known-server-IOR and Implementation Repository to that - just of the Implementation Repository. Also added a note on the - use of CLOEXEC to make TAO fork-safe. - -Wed Aug 5 16:04:21 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/orbsvcs/orbsvcs.dsp: - * tests/CDR/basic_types.dsp: - * tests/CDR/growth.dsp: - * tests/CDR/tc.dsp: - * tests/Cubit/TAO/DII_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: - * tests/Cubit/TAO/IDL_Cubit/server.dsp: - * tests/Cubit/TAO/MT_Cubit/client.dsp: - * tests/Cubit/TAO/MT_Cubit/server.dsp: - * tests/NestedUpcall/MT_Client_Test/client.dsp: - * tests/NestedUpcall/MT_Client_Test/server.dsp: - * tests/NestedUpcall/Reactor/client.dsp: - * tests/NestedUpcall/Reactor/server.dsp: - * tests/NestedUpcall/Triangle_Test/initiator.dsp: - * tests/NestedUpcall/Triangle_Test/server_A.dsp: - * tests/NestedUpcall/Triangle_Test/server_B.dsp: - * tests/OctetSeq/OctetSeq.dsp: - * tests/POA/DSI/client.dsp: - * tests/POA/DSI/server.dsp: - * tests/POA/Default_Servant/client.dsp: - * tests/POA/Default_Servant/server.dsp: - * tests/POA/Explicit_Activation/server.dsp: - * tests/POA/FindPOA/FindPOA.dsp: - * tests/POA/Forwarding/client.dsp: - * tests/POA/Forwarding/server.dsp: - * tests/POA/Generic_Servant/server.dsp: - * tests/POA/NewPOA/NewPOA.dsp: - * tests/POA/On_Demand_Activation/server.dsp: - * tests/POA/RootPOA/RootPOA.dsp: - * tests/POA/TIE/client.dsp: - * tests/POA/TIE/server.dsp: - * tests/POA/locking/locking.dsp: - * tests/Param_Test/client.dsp: - * tests/Param_Test/server.dsp: - * tests/Quoter/Factory_Finder.dsp: - * tests/Quoter/Generic_Factory.dsp: - * tests/Quoter/client.dsp: - * tests/Quoter/server.dsp: - * tests/Simple/client.dsp: - * tests/Simple/server.dsp: - Updated all the Release versions of these projects. I'll - spend another session on converting the rest of the orbsvcs - soon. - - Note: Most of the run_test.pl's do not yet have support for - running the Release version instead of the debug version. - - * tests/TAO_Tests.dsw: Inserted a dependency between DII_Cubit - and IDL_Cubit. - - * tests/Cubit/TAO/IDL_Cubit/run_test.pl: New and improved script - that supports more useful options. - - * tests/Cubit/TAO/IDL_Cubit/README: Added a reference to - run_test.pl and updated the "output" here to what it looks like - now. - -Wed Aug 5 16:02:08 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp : - Used TAO_ORB_Manager to do the ORB and POA - initialization and activation of servants. - -Wed Aug 5 15:38:34 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tests/Param_Test/fixed_array.{h,cpp}: - * tests/Param_Test/var_array.{h,cpp}: - Fixed DII implementation. - -Wed Aug 5 14:17:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.cpp: - Added missing template instantiations. - - * orbsvcs/Logging_Service/Makefile: - Moved the TAO_ROOT definition to the top. - - * orbsvcs/Logging_Service/Logging_Service_i.cpp: - Fixed usage message. - -Wed Aug 5 11:21:29 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: - Fixed couple of minor bugs: assignment of a <const char*> to a - <char*> and a misplaced close paren. - - * tests/Cubit/TAO/DII_Cubit/client.cpp: - Removed EGCS warning about implicit use of & with function - pointers. - - * tests/Param_Test/bd_struct_seq.h: - Removed fully qualified name in method declaration. - -Tue Aug 4 22:23:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: Cleaned up some of the code - and the comments. - -Tue Aug 4 21:20:35 1998 Nagarajan Surendrany <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp : - Replaced 3*BUFSIZ with ACE_DEFAULT_ARGV_BUFSIZ and - allocated memory after calculating the length. - -Tue Aug 4 20:00:59 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/ub_any_seq.{h,cpp}: - Added non-_var members for DII OUT arg and - return value. Test now works for DII and SII. - -Tue Aug 4 18:10:16 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/ub_short_seq.{h,cpp}: - Param_Test/ub_long_seq.{h.cpp}: - Param_Test/ub_str_seq.{h,cpp}: - Param_Test/ub_struct_seq.{h,cpp}: - Added non-_var members for DII OUT args and - return values. Tests now work for DII and SII. - -Tue Aug 4 17:32:30 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Logger/Logging_Test_i.cpp: - * orbsvcs/Logging_Service/Logging_Service_i.cpp: - Added some debugging code to test the <make_logger> hashing feature. - - * orbsvcs/orbsvcs/Log/Logger_i.{h,cpp}: Added ACE_Hash_Map - code. Now calls to make_logger will use the <name> parameter as a - hash key to return either a new Logger or a preexisting one. Added - some debugging code to the hash-relevant portions. - -Tue Aug 4 17:23:31 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/tests/Trading/export_test.cpp, - orbsvcs/tests/Trading/Trading_Service.cpp: Changed all uses of - TAO_OBJID_TRADINGSERVICE to "TradingService" to be compliant - with the CORBA specification. - -Tue Aug 04 16:42:50 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/Multiple_Inheritance: This module is used as a test for - IDL interfaces that inherit from multiple interfaces. The - "diamond of death" inheritance hierarchy is used in this example - where there is a common base class (A), two classes deriving - from the common base class (B and C) and then a final derived - class (D) that inherits from both B and C. - - The client starts off with CORBA Object, narrows to interface A, - then B, then C, and finally D. It calls all the methods on each - interface. - -Tue Aug 4 16:00:16 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-INSTALL.html: Added a section on the use of <corba.h> - instead of <tao/corba.h>. Also cleaned up some other - sections about TAOACE.dsw and adding a IDL file to a MSVC - project. - -Tue Aug 4 15:56:34 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp : Changed BUFSIZ to - 3*BUFSIZ to fit the arguments. Made the default base orb port - as 0. - -Tue Aug 4 14:52:12 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Param_Test/bd_struct_seq.{h,cpp}: - Same changes as other bounded sequence tests - checked in yesterday (non _var members for DII - OUT arg and return value). Test now works for DII - as well as SII. - -Tue Aug 4 12:55:06 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Logger/run_test.pl: Revised test script to call - the executables in the correct directories. - -Tue Aug 4 12:11:55 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * docs/releasenotes/index.html: Added logging service section - -Tue Aug 04 11:08:56 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/GenExportH.BAT: Moved it to where it really belong, - $ACE_ROOT/bin/. - -Mon Aug 3 19:46:55 1998 Jeff Parsons <jp4@cs.wuslt.edu> - - * tao_idl/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp: - moved buffer allocation in default constructor from body to - base class call - prevents debug assertion in param tests. - - * tao/Sequence_T.i: - change corresponding to the above - - * TAO/tests/Param_Test/bd_short_seq.{h,cpp}: - TAO/tests/Param_Test/bd_long_seq.{h,cpp}: - TAO/tests/Param_Test/bd_str_seq.{h,cpp}: - created non-_var members for OUT args and return values, - changed add_args and check_validity accordingly. These - param tests now work for SII and DII. - -Mon Aug 3 17:21:42 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> - - * IIOP/test/clnt.cpp: - * IIOP/test/cubit.cpp: - * IIOP/test/cubitC.cpp: - * IIOP/test/cubitS.cpp: - * IIOP/test/cubit_i.cpp: - * IIOP/test/svr.cpp: - * IIOP/test/test1.cpp: - * IIOP/test/test1_clnt.cpp: - * IIOP/test/test1_svr.cpp: - * IIOP/test/Orbeline/base_server/Profile_Timer.cpp: - * IIOP/test/Orbeline/base_server/cubit_impl.cpp: - * IIOP/test/Orbeline/base_server/server.cpp: - * IIOP/test/Orbeline/client/Profile_Timer.cpp: - * IIOP/test/Orbeline/client/client.cpp: - * IIOP/test/Orbix/base_server/cubitC.cpp: - * IIOP/test/Orbix/base_server/cubitS.cpp: - * IIOP/test/Orbix/base_server/cubit_impl.cpp: - * IIOP/test/Orbix/base_server/server.cpp: - * IIOP/test/Orbix/base_server/tpr.cpp: - * IIOP/test/Orbix/client/client.cpp: - * IIOP/test/Orbix/client/cubitC.cpp: - * IIOP/test/Orbix/factory_client/client.cpp: - * IIOP/test/Orbix/factory_client/cubitC.cpp: - * IIOP/test/Orbix/factory_client/cubitS.cpp: - * IIOP/test/Orbix/tpool/cubitC.cpp: - * IIOP/test/Orbix/tpool/cubitS.cpp: - * IIOP/test/Orbix/tpool/cubit_impl.cpp: - * IIOP/test/Orbix/tpool/server.cpp: - * IIOP/test/Orbix/tpool/tpool.cpp: - * IIOP/test/Orbix/tpr/cubitC.cpp: - * IIOP/test/Orbix/tpr/cubitS.cpp: - * IIOP/test/Orbix/tpr/cubit_impl.cpp: - * IIOP/test/Orbix/tpr/server.cpp: - * IIOP/test/Orbix/tpr/tpr.cpp: - * IIOP/test/Orbix/tps/cubitC.cpp: - * IIOP/test/Orbix/tps/cubitS.cpp: - * IIOP/test/Orbix/tps/cubit_impl.cpp: - * IIOP/test/Orbix/tps/server.cpp: - * IIOP/test/Orbix/tps/tps.cpp: - * IIOP/tests/Cubit/Orbix/base_server/cubitC.cpp: - * IIOP/tests/Cubit/Orbix/base_server/cubitS.cpp: - * IIOP/tests/Cubit/Orbix/base_server/cubit_impl.cpp: - * IIOP/tests/Cubit/Orbix/base_server/server.cpp: - * IIOP/tests/Cubit/Orbix/base_server/tpr.cpp: - * IIOP/tests/Cubit/Orbix/client/client.cpp: - * IIOP/tests/Cubit/Orbix/client/cubitC.cpp: - * IIOP/tests/Cubit/Orbix/factory_client/client.cpp: - * IIOP/tests/Cubit/Orbix/factory_client/cubitC.cpp: - * IIOP/tests/Cubit/Orbix/factory_client/cubitS.cpp: - * IIOP/tests/Cubit/Orbix/tpool/cubitC.cpp: - * IIOP/tests/Cubit/Orbix/tpool/cubitS.cpp: - * IIOP/tests/Cubit/Orbix/tpool/cubit_impl.cpp: - * IIOP/tests/Cubit/Orbix/tpool/server.cpp: - * IIOP/tests/Cubit/Orbix/tpool/tpool.cpp: - * IIOP/tests/Cubit/Orbix/tpr/cubitC.cpp: - * IIOP/tests/Cubit/Orbix/tpr/cubitS.cpp: - * IIOP/tests/Cubit/Orbix/tpr/cubit_impl.cpp: - * IIOP/tests/Cubit/Orbix/tpr/server.cpp: - * IIOP/tests/Cubit/Orbix/tpr/tpr.cpp: - * IIOP/tests/Cubit/Orbix/tps/cubitC.cpp: - * IIOP/tests/Cubit/Orbix/tps/cubitS.cpp: - * IIOP/tests/Cubit/Orbix/tps/cubit_impl.cpp: - * IIOP/tests/Cubit/Orbix/tps/tps.cpp: - * IIOP/tests/Cubit/TAO/clnt.cpp: - * IIOP/tests/Cubit/TAO/cubit.cpp: - * IIOP/tests/Cubit/TAO/cubitC.cpp: - * IIOP/tests/Cubit/TAO/cubitS.cpp: - * IIOP/tests/Cubit/TAO/cubit_i.cpp: - * IIOP/tests/Cubit/TAO/svr.cpp: - * IIOP/tests/Cubit/TAO/test1.cpp: - * IIOP/tests/Cubit/TAO/test1_clnt.cpp: - * IIOP/tests/Cubit/TAO/test1_svr.cpp: - * IIOP/tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp: - * IIOP/tests/Cubit/VisiBroker/base_server/cubit_impl.cpp: - * IIOP/tests/Cubit/VisiBroker/base_server/server.cpp: - * IIOP/tests/Cubit/VisiBroker/client/Profile_Timer.cpp: - * IIOP/tests/Cubit/VisiBroker/client/client.cpp: - * IIOP/tests/Thruput_test/client.cpp: - * IIOP/tests/Thruput_test/server.cpp: - * IIOP/tests/Thruput_test/ttcpC.cpp: - * IIOP/tests/Thruput_test/ttcpS.cpp: - * IIOP/tests/Thruput_test/ttcp_i.cpp: - * IIOP/tests/Thruput_test/utils.cpp: - Added ACE_RCSID to these files. - -Mon Aug 3 16:49:45 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> - - * TAO_IDL/Makefile: - We don't attempt to traverse any subdirectories now. - - * TAO_IDL/ast/Makefile: - * TAO_IDL/be/Makefile: - * TAO_IDL/be/be_state.cpp: - * TAO_IDL/be/be_state_argument.cpp: - * TAO_IDL/be/be_state_array.cpp: - * TAO_IDL/be/be_state_attribute.cpp: - * TAO_IDL/be/be_state_exception.cpp: - * TAO_IDL/be/be_state_operation.cpp: - * TAO_IDL/be/be_state_sequence.cpp: - * TAO_IDL/be/be_state_structure.cpp: - * TAO_IDL/be/be_state_typedef.cpp: - * TAO_IDL/be/be_state_union.cpp: - * TAO_IDL/driver/Makefile: - * TAO_IDL/fe/Makefile: - * TAO_IDL/narrow/Makefile: - * TAO_IDL/util/Makefile: - Erased these now useless files. - - * Benchmark/Marshal_Test/Orbix/marshal.h: - Added a RCS Id. - - * Benchmark/Marshal_Test/Orbix/client.cpp: - * Benchmark/Marshal_Test/Orbix/marshal.h: - * Benchmark/Marshal_Test/Orbix/orbix_marshal_client.cpp: - * Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.cpp: - * Benchmark/Marshal_Test/Orbix/orbix_marshal_server.cpp: - * Benchmark/Marshal_Test/Orbix/server.cpp: - * Benchmark/Marshal_Test/TAO/client.cpp: - * Benchmark/Marshal_Test/TAO/marshalC.cpp: - * Benchmark/Marshal_Test/TAO/marshalS.cpp: - * Benchmark/Marshal_Test/TAO/server.cpp: - * Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp: - * Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp: - * Benchmark/Marshal_Test/TAO/tao_marshal_server.cpp: - * Benchmark/Marshal_Test/VisiBroker/client.cpp: - * Benchmark/Marshal_Test/VisiBroker/server.cpp: - * Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.cpp: - * Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.cpp: - * Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.cpp: - * Benchmark/benchmark/driver.cpp: - * Benchmark/benchmark/marshal_options.cpp: - * Benchmark/benchmark/marshal_proxy.cpp: - * Benchmark/benchmark/marshal_results.cpp: - Added ACE_RCSID to these files. - -Mon Aug 3 15:05:39 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/mpeg/Makefile: Added this Makefile - which compiles the AVStreams mpeg application. - -Mon Aug 3 14:23:22 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> - - * tests/CDR/basic_types.cpp: - * tests/CDR/growth.cpp: - * tests/CDR/tc.cpp: - * tests/Cubit/COOL/IDL_Cubit/client.cpp: - * tests/Cubit/COOL/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/COOL/IDL_Cubit/server.cpp: - * tests/Cubit/COOL/IDL_Cubit/tmplinst.cpp: - * tests/Cubit/COOL/MT_Cubit/Task_Client.cpp: - * tests/Cubit/COOL/MT_Cubit/Util_Thread.cpp: - * tests/Cubit/COOL/MT_Cubit/client.cpp: - * tests/Cubit/COOL/MT_Cubit/cubit_impl.cpp: - * tests/Cubit/COOL/MT_Cubit/pccTimer.cpp: - * tests/Cubit/COOL/MT_Cubit/server.cpp: - * tests/Cubit/CORBAplus/IDL_Cubit/clnt.cpp: - * tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/CORBAplus/IDL_Cubit/svr.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/server/svr.cpp: - * tests/Cubit/Hardpack/IDL_Cubit/client.cpp: - * tests/Cubit/Hardpack/IDL_Cubit/client_i.cpp: - * tests/Cubit/Hardpack/IDL_Cubit/server.cpp: - * tests/Cubit/Hardpack/IDL_Cubit/server_i.cpp: - * tests/Cubit/Orbix/base_server/cubit_impl.cpp: - * tests/Cubit/Orbix/base_server/server.cpp: - * tests/Cubit/Orbix/client/client.cpp: - * tests/Cubit/Orbix/client/cubitC.cpp: - * tests/Cubit/Orbix/factory_client/client.cpp: - * tests/Cubit/Orbix/factory_client/cubitC.cpp: - * tests/Cubit/Orbix/factory_client/cubitS.cpp: - * tests/Cubit/Orbix/tpool/cubitC.cpp: - * tests/Cubit/Orbix/tpool/cubitS.cpp: - * tests/Cubit/Orbix/tpool/cubit_impl.cpp: - * tests/Cubit/Orbix/tpool/server.cpp: - * tests/Cubit/Orbix/tpool/tpool.cpp: - * tests/Cubit/Orbix/tpr/cubitC.cpp: - * tests/Cubit/Orbix/tpr/cubitS.cpp: - * tests/Cubit/Orbix/tpr/cubit_impl.cpp: - * tests/Cubit/Orbix/tpr/server.cpp: - * tests/Cubit/Orbix/tpr/tpr.cpp: - * tests/Cubit/Orbix/tps/cubitC.cpp: - * tests/Cubit/Orbix/tps/cubitS.cpp: - * tests/Cubit/Orbix/tps/cubit_impl.cpp: - * tests/Cubit/Orbix/tps/tps.cpp: - * tests/Cubit/TAO/DII_Cubit/client.cpp: - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp: - * tests/Cubit/TAO/IDL_Cubit/client.cpp: - * tests/Cubit/TAO/IDL_Cubit/client_i.cpp: - * tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/IDL_Cubit/server.cpp: - * tests/Cubit/TAO/IDL_Cubit/server_i.cpp: - * tests/Cubit/TAO/IDL_Cubit/tmplinst.cpp: - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: - * tests/Cubit/TAO/MT_Cubit/pccTimer.cpp: - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/tmplinst.cpp: - * tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp: - * tests/Cubit/VisiBroker/base_server/cubit_impl.cpp: - * tests/Cubit/VisiBroker/base_server/server.cpp: - * tests/Cubit/VisiBroker/client/Profile_Timer.cpp: - * tests/Cubit/VisiBroker/client/client.cpp: - * tests/Demux_Test/client.cpp: - * tests/Demux_Test/server.cpp: - * tests/Demux_Test/CodeGen/client.cpp: - * tests/Demux_Test/CodeGen/gen.cpp: - * tests/Demux_Test/CodeGen/impl.cpp: - * tests/Demux_Test/CodeGen/objcreate.cpp: - * tests/Demux_Test/CodeGen/perf.cpp: - * tests/Demux_Test/CodeGen/skel.cpp: - * tests/Demux_Test/CodeGen/stub.cpp: - * tests/Demux_Test/CodeGen/tao.cpp: - * tests/NestedUpcall/MT_Client_Test/MT_Object_Impl.cpp: - * tests/NestedUpcall/MT_Client_Test/client.cpp: - * tests/NestedUpcall/MT_Client_Test/local_server.cpp: - * tests/NestedUpcall/MT_Client_Test/server.cpp: - * tests/NestedUpcall/Reactor/NestedUpCalls_Test.cpp: - * tests/NestedUpcall/Reactor/client.cpp: - * tests/NestedUpcall/Reactor/eh_i.cpp: - * tests/NestedUpcall/Reactor/reactor_i.cpp: - * tests/NestedUpcall/Reactor/server.cpp: - * tests/NestedUpcall/Triangle_Test/Initiator_Impl.cpp: - * tests/NestedUpcall/Triangle_Test/Object_A_Impl.cpp: - * tests/NestedUpcall/Triangle_Test/Object_B_Impl.cpp: - * tests/NestedUpcall/Triangle_Test/initiator.cpp: - * tests/NestedUpcall/Triangle_Test/server_A.cpp: - * tests/NestedUpcall/Triangle_Test/server_B.cpp: - * tests/OctetSeq/OctetSeq.cpp: - * tests/POA/DSI/Database_i.cpp: - * tests/POA/DSI/client.cpp: - * tests/POA/DSI/server.cpp: - * tests/POA/Default_Servant/File_i.cpp: - * tests/POA/Default_Servant/client.cpp: - * tests/POA/Default_Servant/server.cpp: - * tests/POA/Explicit_Activation/server.cpp: - * tests/POA/FindPOA/FindPOA.cpp: - * tests/POA/Forwarding/MyFooServant.cpp: - * tests/POA/Forwarding/Servant_Locator.cpp: - * tests/POA/Forwarding/client.cpp: - * tests/POA/Forwarding/server.cpp: - * tests/POA/Generic_Servant/MyFooServant.cpp: - * tests/POA/Generic_Servant/client.cpp: - * tests/POA/NewPOA/NewPOA.cpp: - * tests/POA/On_Demand_Activation/Servant_Activator.cpp: - * tests/POA/On_Demand_Activation/Servant_Locator.cpp: - * tests/POA/On_Demand_Activation/server.cpp: - * tests/POA/RootPOA/RootPOA.cpp: - * tests/POA/TIE/Foo_i.cpp: - * tests/POA/TIE/client.cpp: - * tests/POA/TIE/server.cpp: - * tests/POA/locking/locking.cpp: - * tests/Param_Test/any.cpp: - * tests/Param_Test/bd_long_seq.cpp: - * tests/Param_Test/bd_short_seq.cpp: - * tests/Param_Test/bd_str_seq.cpp: - * tests/Param_Test/bd_string.cpp: - * tests/Param_Test/bd_struct_seq.cpp: - * tests/Param_Test/client.cpp: - * tests/Param_Test/driver.cpp: - * tests/Param_Test/fixed_array.cpp: - * tests/Param_Test/fixed_struct.cpp: - * tests/Param_Test/helper.cpp: - * tests/Param_Test/nested_struct.cpp: - * tests/Param_Test/objref.cpp: - * tests/Param_Test/options.cpp: - * tests/Param_Test/param_test_i.cpp: - * tests/Param_Test/results.cpp: - * tests/Param_Test/server.cpp: - * tests/Param_Test/short.cpp: - * tests/Param_Test/tmplinst.cpp: - * tests/Param_Test/typecode.cpp: - * tests/Param_Test/ub_any_seq.cpp: - * tests/Param_Test/ub_long_seq.cpp: - * tests/Param_Test/ub_objref_seq.cpp: - * tests/Param_Test/ub_short_seq.cpp: - * tests/Param_Test/ub_str_seq.cpp: - * tests/Param_Test/ub_string.cpp: - * tests/Param_Test/ub_struct_seq.cpp: - * tests/Param_Test/var_array.cpp: - * tests/Param_Test/var_struct.cpp: - * tests/Quoter/Factory_Finder.cpp: - * tests/Quoter/Factory_Finder_Impl.cpp: - * tests/Quoter/Generic_Factory.cpp: - * tests/Quoter/Generic_Factory_Impl.cpp: - * tests/Quoter/Quoter_Impl.cpp: - * tests/Quoter/client.cpp: - * tests/Quoter/server.cpp: - * tests/Simple/client.cpp: - * tests/Simple/client_impl.cpp: - * tests/Simple/server.cpp: - * tests/Simple/server_impl.cpp: - * tests/Simple/simple_object_impl.cpp: - * tests/Thruput/COOL/client.cpp: - * tests/Thruput/COOL/server.cpp: - * tests/Thruput/COOL/ttcp_i.cpp: - * tests/Thruput/COOL/utils.cpp: - * tests/Thruput/CORBAplus/client.cpp: - * tests/Thruput/CORBAplus/server.cpp: - * tests/Thruput/CORBAplus/ttcp_i.cpp: - * tests/Thruput/CORBAplus/utils.cpp: - * tests/Thruput/Orbix/Client.cpp: - * tests/Thruput/Orbix/Srv_Main.cpp: - * tests/Thruput/Orbix/ttcp_i.cpp: - * tests/Thruput/Orbix/utils.cpp: - * tests/Thruput/TAO/client.cpp: - * tests/Thruput/TAO/server.cpp: - * tests/Thruput/TAO/tmplinst.cpp: - * tests/Thruput/TAO/ttcp_i.cpp: - * tests/Thruput/TAO/utils.cpp: - Added ACE_RCSID to these files. - -Mon Aug 3 13:51:27 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> - - * orbsvcs/Makefile: - * orbsvcs/Concurrency_Service/Concurrency_Service.cpp: - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: - * orbsvcs/Event_Service/Event_Service.cpp: - * orbsvcs/LifeCycle_Service/Criteria_Evaluator.cpp: - * orbsvcs/LifeCycle_Service/Factory_Trader.cpp: - * orbsvcs/LifeCycle_Service/Life_Cycle_Service.cpp: - * orbsvcs/LifeCycle_Service/Life_Cycle_Service_Impl.cpp: - * orbsvcs/Logging_Service/Logging_Service.cpp: - * orbsvcs/Logging_Service/Logging_Service_i.cpp: - * orbsvcs/Naming_Service/Naming_Service.cpp: - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: - * orbsvcs/Trading_Service/Trading_Service.cpp: - * orbsvcs/orbsvcs/Channel_Clients.cpp: - * orbsvcs/orbsvcs/Channel_Clients_T.cpp: - * orbsvcs/orbsvcs/Event_Utilities.cpp: - * orbsvcs/orbsvcs/IOR_Multicast.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - * orbsvcs/orbsvcs/Scheduler_Utilities.cpp: - * orbsvcs/orbsvcs/Time_Utilities.cpp: - * orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp: - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: - * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp: - * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp: - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: - * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp: - * orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.cpp: - * orbsvcs/orbsvcs/Event/BCU.cpp: - * orbsvcs/orbsvcs/Event/CORBA_Utils_T.cpp: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/orbsvcs/Event/GPlot_File.cpp: - * orbsvcs/orbsvcs/Event/Local_ESTypes.cpp: - * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: - * orbsvcs/orbsvcs/Event/Module_Factory.cpp: - * orbsvcs/orbsvcs/Event/RT_Task.cpp: - * orbsvcs/orbsvcs/Event/ReactorTask.cpp: - * orbsvcs/orbsvcs/Event/Task_Manager.cpp: - * orbsvcs/orbsvcs/Log/Logger_i.cpp: - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: - * orbsvcs/orbsvcs/Naming/Entries.cpp: - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: - * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp: - * orbsvcs/orbsvcs/Sched/DynSched.cpp: - * orbsvcs/orbsvcs/Sched/SchedEntry.cpp: - * orbsvcs/orbsvcs/Sched/Scheduler.cpp: - * orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp: - * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: - * orbsvcs/orbsvcs/Trader/Trader.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: - * orbsvcs/orbsvcs/Trader/Trader_T.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: - * orbsvcs/tests/AVStreams/benchmark/child.cpp: - * orbsvcs/tests/AVStreams/benchmark/client.cpp: - * orbsvcs/tests/AVStreams/benchmark/server.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/client/vcr.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/24bit.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/2x2.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ab.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/audio.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ctr.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/decoders.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/file.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/fs2.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/fs2fast.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/fs4.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/global.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/gray.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/hybrid.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/hybriderr.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/info.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/jrevdct.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/mb_ordered.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/mono.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/motionvector.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ordered.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ordered2.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/para.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/parseblock.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/prog.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ui.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/util.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/util32.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/vb.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/vd.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/video.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/vp.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibButton.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibDrawArea.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibFrame.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibLabel.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibList.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibMenu.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibRadioBox.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibScale.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibScrollBar.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibTextBig.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibTextBox.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibToggle.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibload.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Server.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/as.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/las.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/lvs.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/vs.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/filters.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/Machine_Properties.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/Property_Exporter.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/Video_Repository.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/as.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/server.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/vcrs.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/vs.cpp: - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery.cpp: - * orbsvcs/tests/AVStreams/server_discovery/Trader_Client.cpp: - * orbsvcs/tests/AVStreams/server_discovery/main.cpp: - * orbsvcs/tests/AVStreams/sfp/client.cpp: - * orbsvcs/tests/Concurrency/CC_client.cpp: - * orbsvcs/tests/Concurrency/CC_command.cpp: - * orbsvcs/tests/Concurrency/CC_naming_service.cpp: - * orbsvcs/tests/Concurrency/CC_test_utils.cpp: - * orbsvcs/tests/Concurrency/CC_tests.cpp: - * orbsvcs/tests/Concurrency/NS_client.cpp: - * orbsvcs/tests/Concurrency/tmplinst.cpp: - * orbsvcs/tests/CosPropertyService/client.cpp: - * orbsvcs/tests/CosPropertyService/main.cpp: - * orbsvcs/tests/CosPropertyService/server.cpp: - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Data.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - * orbsvcs/tests/ImplRepo/client.cpp: - * orbsvcs/tests/ImplRepo/client_impl.cpp: - * orbsvcs/tests/ImplRepo/ir_server.cpp: - * orbsvcs/tests/ImplRepo/ir_server_impl.cpp: - * orbsvcs/tests/ImplRepo/ir_simple_object_impl.cpp: - * orbsvcs/tests/ImplRepo/server.cpp: - * orbsvcs/tests/ImplRepo/server_impl.cpp: - * orbsvcs/tests/ImplRepo/simple_object_impl.cpp: - * orbsvcs/tests/Logger/Logging_Test.cpp: - * orbsvcs/tests/Logger/Logging_Test_i.cpp: - * orbsvcs/tests/Logger/client.cpp: - * orbsvcs/tests/Logger/client_i.cpp: - * orbsvcs/tests/Logger/server.cpp: - * orbsvcs/tests/Logger/server_i.cpp: - * orbsvcs/tests/Naming/ns_tree.cpp: - * orbsvcs/tests/Property/client.cpp: - * orbsvcs/tests/Property/main.cpp: - * orbsvcs/tests/Property/server.cpp: - * orbsvcs/tests/Sched/DynSched_Test.cpp: - * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp: - * orbsvcs/tests/Simple_Naming/client.cpp: - * orbsvcs/tests/Simulator/DOVEMIB/AnyAnalyser.cpp: - * orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.cpp: - * orbsvcs/tests/Simulator/DOVEMIB/Node.cpp: - * orbsvcs/tests/Simulator/DOVEMIB/PrintVisitor.cpp: - * orbsvcs/tests/Simulator/DOVEMIB/any_test_i.cpp: - * orbsvcs/tests/Simulator/DOVEMIB/clnt.cpp: - * orbsvcs/tests/Simulator/DOVEMIB/svr.cpp: - * orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.cpp: - * orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp: - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: - * orbsvcs/tests/Trading/Offer_Exporter.cpp: - * orbsvcs/tests/Trading/Offer_Importer.cpp: - * orbsvcs/tests/Trading/Service_Type_Exporter.cpp: - * orbsvcs/tests/Trading/Simple_Dynamic.cpp: - * orbsvcs/tests/Trading/TT_Info.cpp: - * orbsvcs/tests/Trading/colocated_test.cpp: - * orbsvcs/tests/Trading/export_test.cpp: - * orbsvcs/tests/Trading/import_test.cpp: - Added ACE_RCSID to these files. - -Mon Aug 3 12:08:15 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> - - * TAO_IDL/tao_idl.cpp: - * TAO_IDL/ast/ast_argument.cpp: - * TAO_IDL/ast/ast_array.cpp: - * TAO_IDL/ast/ast_attribute.cpp: - * TAO_IDL/ast/ast_check.cpp: - * TAO_IDL/ast/ast_concrete_type.cpp: - * TAO_IDL/ast/ast_constant.cpp: - * TAO_IDL/ast/ast_decl.cpp: - * TAO_IDL/ast/ast_enum.cpp: - * TAO_IDL/ast/ast_enum_val.cpp: - * TAO_IDL/ast/ast_exception.cpp: - * TAO_IDL/ast/ast_expression.cpp: - * TAO_IDL/ast/ast_field.cpp: - * TAO_IDL/ast/ast_generator.cpp: - * TAO_IDL/ast/ast_interface.cpp: - * TAO_IDL/ast/ast_interface_fwd.cpp: - * TAO_IDL/ast/ast_module.cpp: - * TAO_IDL/ast/ast_native.cpp: - * TAO_IDL/ast/ast_operation.cpp: - * TAO_IDL/ast/ast_predefined_type.cpp: - * TAO_IDL/ast/ast_recursive.cpp: - * TAO_IDL/ast/ast_redef.cpp: - * TAO_IDL/ast/ast_root.cpp: - * TAO_IDL/ast/ast_sequence.cpp: - * TAO_IDL/ast/ast_string.cpp: - * TAO_IDL/ast/ast_structure.cpp: - * TAO_IDL/ast/ast_type.cpp: - * TAO_IDL/ast/ast_typedef.cpp: - * TAO_IDL/ast/ast_union.cpp: - * TAO_IDL/ast/ast_union_branch.cpp: - * TAO_IDL/ast/ast_union_label.cpp: - * TAO_IDL/be/be_args.cpp: - * TAO_IDL/be/be_argument.cpp: - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_attribute.cpp: - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/be/be_constant.cpp: - * TAO_IDL/be/be_decl.cpp: - * TAO_IDL/be/be_enum.cpp: - * TAO_IDL/be/be_enum_val.cpp: - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_expression.cpp: - * TAO_IDL/be/be_factory.cpp: - * TAO_IDL/be/be_field.cpp: - * TAO_IDL/be/be_generator.cpp: - * TAO_IDL/be/be_helper.cpp: - * TAO_IDL/be/be_init.cpp: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_interface_fwd.cpp: - * TAO_IDL/be/be_interpretive.cpp: - * TAO_IDL/be/be_module.cpp: - * TAO_IDL/be/be_native.cpp: - * TAO_IDL/be/be_operation.cpp: - * TAO_IDL/be/be_predefined_type.cpp: - * TAO_IDL/be/be_produce.cpp: - * TAO_IDL/be/be_root.cpp: - * TAO_IDL/be/be_scope.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_state.cpp: - * TAO_IDL/be/be_state_argument.cpp: - * TAO_IDL/be/be_state_array.cpp: - * TAO_IDL/be/be_state_attribute.cpp: - * TAO_IDL/be/be_state_exception.cpp: - * TAO_IDL/be/be_state_operation.cpp: - * TAO_IDL/be/be_state_sequence.cpp: - * TAO_IDL/be/be_state_structure.cpp: - * TAO_IDL/be/be_state_typedef.cpp: - * TAO_IDL/be/be_state_union.cpp: - * TAO_IDL/be/be_string.cpp: - * TAO_IDL/be/be_structure.cpp: - * TAO_IDL/be/be_sunsoft.cpp: - * TAO_IDL/be/be_type.cpp: - * TAO_IDL/be/be_typedef.cpp: - * TAO_IDL/be/be_union.cpp: - * TAO_IDL/be/be_union_branch.cpp: - * TAO_IDL/be/be_union_label.cpp: - * TAO_IDL/be/be_visitor.cpp: - * TAO_IDL/be/be_visitor_argument.cpp: - * TAO_IDL/be/be_visitor_array.cpp: - * TAO_IDL/be/be_visitor_attribute.cpp: - * TAO_IDL/be/be_visitor_constant.cpp: - * TAO_IDL/be/be_visitor_context.cpp: - * TAO_IDL/be/be_visitor_decl.cpp: - * TAO_IDL/be/be_visitor_enum.cpp: - * TAO_IDL/be/be_visitor_exception.cpp: - * TAO_IDL/be/be_visitor_field.cpp: - * TAO_IDL/be/be_visitor_interface.cpp: - * TAO_IDL/be/be_visitor_interface_fwd.cpp: - * TAO_IDL/be/be_visitor_module.cpp: - * TAO_IDL/be/be_visitor_operation.cpp: - * TAO_IDL/be/be_visitor_root.cpp: - * TAO_IDL/be/be_visitor_scope.cpp: - * TAO_IDL/be/be_visitor_sequence.cpp: - * TAO_IDL/be/be_visitor_structure.cpp: - * TAO_IDL/be/be_visitor_typecode.cpp: - * TAO_IDL/be/be_visitor_typedef.cpp: - * TAO_IDL/be/be_visitor_union.cpp: - * TAO_IDL/be/be_visitor_union_branch.cpp: - * TAO_IDL/be/be_visitor_argument/arglist.cpp: - * TAO_IDL/be/be_visitor_argument/argument.cpp: - * TAO_IDL/be/be_visitor_argument/docall_cs.cpp: - * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp: - * TAO_IDL/be/be_visitor_argument/post_docall_cs.cpp: - * TAO_IDL/be/be_visitor_argument/post_marshal_ss.cpp: - * TAO_IDL/be/be_visitor_argument/post_upcall_ss.cpp: - * TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp: - * TAO_IDL/be/be_visitor_argument/pre_upcall_ss.cpp: - * TAO_IDL/be/be_visitor_argument/upcall_ss.cpp: - * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: - * TAO_IDL/be/be_visitor_array/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_array/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_array/array.cpp: - * TAO_IDL/be/be_visitor_array/array_ch.cpp: - * TAO_IDL/be/be_visitor_array/array_ci.cpp: - * TAO_IDL/be/be_visitor_array/array_cs.cpp: - * TAO_IDL/be/be_visitor_attribute/attribute.cpp: - * TAO_IDL/be/be_visitor_constant/constant_ch.cpp: - * TAO_IDL/be/be_visitor_constant/constant_cs.cpp: - * TAO_IDL/be/be_visitor_enum/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_enum/enum_ch.cpp: - * TAO_IDL/be/be_visitor_enum/enum_cs.cpp: - * TAO_IDL/be/be_visitor_exception/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_exception/ctor_assign.cpp: - * TAO_IDL/be/be_visitor_exception/exception.cpp: - * TAO_IDL/be/be_visitor_exception/exception_ch.cpp: - * TAO_IDL/be/be_visitor_exception/exception_ci.cpp: - * TAO_IDL/be/be_visitor_exception/exception_cs.cpp: - * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp: - * TAO_IDL/be/be_visitor_field/field_ch.cpp: - * TAO_IDL/be/be_visitor_field/field_ci.cpp: - * TAO_IDL/be/be_visitor_field/field_cs.cpp: - * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_interface/collocated_sh.cpp: - * TAO_IDL/be/be_visitor_interface/collocated_ss.cpp: - * TAO_IDL/be/be_visitor_interface/interface.cpp: - * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: - * TAO_IDL/be/be_visitor_interface/interface_ci.cpp: - * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: - * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: - * TAO_IDL/be/be_visitor_interface/interface_si.cpp: - * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: - * TAO_IDL/be/be_visitor_interface/tie_sh.cpp: - * TAO_IDL/be/be_visitor_interface/tie_si.cpp: - * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp: - * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp: - * TAO_IDL/be/be_visitor_module/any_op.cpp: - * TAO_IDL/be/be_visitor_module/module.cpp: - * TAO_IDL/be/be_visitor_module/module_ch.cpp: - * TAO_IDL/be/be_visitor_module/module_sh.cpp: - * TAO_IDL/be/be_visitor_operation/arglist.cpp: - * TAO_IDL/be/be_visitor_operation/argument.cpp: - * TAO_IDL/be/be_visitor_operation/collocated_sh.cpp: - * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp: - * TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp: - * TAO_IDL/be/be_visitor_operation/operation_ch.cpp: - * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: - * TAO_IDL/be/be_visitor_operation/operation_sh.cpp: - * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: - * TAO_IDL/be/be_visitor_operation/rettype.cpp: - * TAO_IDL/be/be_visitor_operation/rettype_assign_ss.cpp: - * TAO_IDL/be/be_visitor_operation/rettype_docall_cs.cpp: - * TAO_IDL/be/be_visitor_operation/rettype_marshal_ss.cpp: - * TAO_IDL/be/be_visitor_operation/rettype_post_docall_cs.cpp: - * TAO_IDL/be/be_visitor_operation/rettype_post_upcall_ss.cpp: - * TAO_IDL/be/be_visitor_operation/rettype_pre_docall_cs.cpp: - * TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp: - * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp: - * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp: - * TAO_IDL/be/be_visitor_operation/tie_sh.cpp: - * TAO_IDL/be/be_visitor_operation/tie_si.cpp: - * TAO_IDL/be/be_visitor_root/any_op.cpp: - * TAO_IDL/be/be_visitor_root/root.cpp: - * TAO_IDL/be/be_visitor_root/root_ch.cpp: - * TAO_IDL/be/be_visitor_root/root_ci.cpp: - * TAO_IDL/be/be_visitor_root/root_cs.cpp: - * TAO_IDL/be/be_visitor_root/root_sh.cpp: - * TAO_IDL/be/be_visitor_root/root_si.cpp: - * TAO_IDL/be/be_visitor_root/root_ss.cpp: - * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_sequence/buffer_type.cpp: - * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/sequence_base.cpp: - * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: - * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp: - * TAO_IDL/be/be_visitor_structure/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_structure/structure.cpp: - * TAO_IDL/be/be_visitor_structure/structure_ch.cpp: - * TAO_IDL/be/be_visitor_structure/structure_ci.cpp: - * TAO_IDL/be/be_visitor_structure/structure_cs.cpp: - * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp: - * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: - * TAO_IDL/be/be_visitor_typedef/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_typedef/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_typedef/typedef.cpp: - * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp: - * TAO_IDL/be/be_visitor_typedef/typedef_ci.cpp: - * TAO_IDL/be/be_visitor_typedef/typedef_cs.cpp: - * TAO_IDL/be/be_visitor_union/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_union/discriminant_ch.cpp: - * TAO_IDL/be/be_visitor_union/discriminant_ci.cpp: - * TAO_IDL/be/be_visitor_union/discriminant_cs.cpp: - * TAO_IDL/be/be_visitor_union/union.cpp: - * TAO_IDL/be/be_visitor_union/union_ch.cpp: - * TAO_IDL/be/be_visitor_union/union_ci.cpp: - * TAO_IDL/be/be_visitor_union/union_cs.cpp: - * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: - * TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp: - * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: - * TAO_IDL/be/be_visitor_union_branch/public_ch.cpp: - * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: - * TAO_IDL/be/be_visitor_union_branch/public_cs.cpp: - * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: - * TAO_IDL/driver/drv_args.cpp: - * TAO_IDL/driver/drv_fork.cpp: - * TAO_IDL/driver/drv_init.cpp: - * TAO_IDL/driver/drv_link.cpp: - * TAO_IDL/driver/drv_preproc.cpp: - * TAO_IDL/driver/drv_private.cpp: - * TAO_IDL/fe/fe_declarator.cpp: - * TAO_IDL/fe/fe_extern.cpp: - * TAO_IDL/fe/fe_init.cpp: - * TAO_IDL/fe/fe_interface_header.cpp: - * TAO_IDL/fe/fe_private.cpp: - * TAO_IDL/narrow/narrow.cpp: - * TAO_IDL/util/utl_decllist.cpp: - * TAO_IDL/util/utl_error.cpp: - * TAO_IDL/util/utl_exceptlist.cpp: - * TAO_IDL/util/utl_exprlist.cpp: - * TAO_IDL/util/utl_global.cpp: - * TAO_IDL/util/utl_identifier.cpp: - * TAO_IDL/util/utl_idlist.cpp: - * TAO_IDL/util/utl_indenter.cpp: - * TAO_IDL/util/utl_labellist.cpp: - * TAO_IDL/util/utl_list.cpp: - * TAO_IDL/util/utl_namelist.cpp: - * TAO_IDL/util/utl_scope.cpp: - * TAO_IDL/util/utl_stack.cpp: - * TAO_IDL/util/utl_string.cpp: - * TAO_IDL/util/utl_strlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_decllist.cpp: - * TAO_IDL/util/utl_tmpl/utl_exceptlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_exprlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_idlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_labellist.cpp: - * TAO_IDL/util/utl_tmpl/utl_list.cpp: - * TAO_IDL/util/utl_tmpl/utl_namelist.cpp: - * TAO_IDL/util/utl_tmpl/utl_strlist.cpp: - Added ACE_RCSID to these files. - -Mon Aug 3 09:27:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: - Bounded octet sequences do not have the Message_Block - constructor, but we were generating it. Thanks to John Geiss - <kim_john@sprynet.com> for reporting this problem. - -Fri Jul 31 20:34:27 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> - - * tao/Any.cpp: - * tao/CDR.cpp: - * tao/Client_Strategy_Factory.cpp: - * tao/Connect.cpp: - * tao/CurrentC.cpp: - * tao/CurrentS.cpp: - * tao/Exception.cpp: - * tao/Forwarding_Servant.cpp: - * tao/GIOP.cpp: - * tao/IIOP_Interpreter.cpp: - * tao/IIOP_ORB.cpp: - * tao/IIOP_Object.cpp: - * tao/Invocation.cpp: - * tao/Marshal.cpp: - * tao/NVList.cpp: - * tao/ORB.cpp: - * tao/ORB_Core.cpp: - * tao/ORB_Strategies_T.cpp: - * tao/Object.cpp: - * tao/Object_KeyC.cpp: - * tao/Object_Table.cpp: - * tao/Operation_Table.cpp: - * tao/POA.cpp: - * tao/POAC.cpp: - * tao/POAS.cpp: - * tao/PolicyC.cpp: - * tao/PolicyS.cpp: - * tao/Principal.cpp: - * tao/Request.cpp: - * tao/Sequence.cpp: - * tao/Sequence_T.cpp: - * tao/Servant_Base.cpp: - * tao/Server_Request.cpp: - * tao/Server_Strategy_Factory.cpp: - * tao/Stub.cpp: - * tao/TAO.cpp: - * tao/TAO_Internal.cpp: - * tao/Typecode.cpp: - * tao/Typecode_Constants.cpp: - * tao/Union.cpp: - * tao/append.cpp: - * tao/debug.cpp: - * tao/decode.cpp: - * tao/deep_free.cpp: - * tao/default_client.cpp: - * tao/default_server.cpp: - * tao/encode.cpp: - * tao/params.cpp: - * tao/poa_T.cpp: - * tao/skip.cpp: - * tao/t-sizes.cpp: - Added ACE_RCSID to these files. - -Fri Jul 31 15:34:55 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/bd_string.cpp: - * Param_test/ub_string.cpp: - I had been playing around and left the files in a state - where dii wouldn't work - undid my oversight. - -Fri Jul 31 15:10:12 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Any.h: - * tao/Any.cpp: - * tao/decode.cpp: - When decoding Any's the ORB was not releasing the memory already - held by the Any. - -Fri Jul 31 13:51:46 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/tests/AVStreams/mpeg/source/server/Machine_Properties.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/Property_Exporter.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/Video_Repository.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/Video_Repository.h: - * orbsvcs/tests/AVStreams/mpeg/source/server/Video_Repository.idl: - * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.cpp: - * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.h: - Added comments and made other cosmetic changes. - - * orbsvcs/tests/AVStreams/server_discovery/Makefile: - * orbsvcs/tests/AVStreams/server_discovery/Queue.java: - * orbsvcs/tests/AVStreams/server_discovery/README: - * orbsvcs/tests/AVStreams/server_discovery/Server_0005fDiscovery_0005fUtil.h: - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery.cpp: - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery.java: - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery_Browser.java: - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery_Perf.java: - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery_Selection.java: - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery_Util.java: - * orbsvcs/tests/AVStreams/server_discovery/Strip_Chart.java: - * orbsvcs/tests/AVStreams/server_discovery/Trader_Client.cpp: - * orbsvcs/tests/AVStreams/server_discovery/Trader_Client.h: - * orbsvcs/tests/AVStreams/server_discovery/main.cpp: - This is the A/V Demo on the client side. The README file in this - directory details its design and current status, and includes a - description of the work that remains. - -Fri Jul 31 14:06:22 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao_idl/be/be_visitor_argument/post_upcal_ss.cpp: - added an action to visit_predefined_type for the - PT_pseudo case (OUT arg) that fixes the typecode - sii param test. - -Fri Jul 31 07:58:36 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_union_branch/{public_ci, - public_assign_cs}.cpp: The code for string members was using an - incorrect, undefined type for a _var variable. We now use - CORBA::String_var instead. Thanks to Kirk Ellett <kellet@mdc.com> - for reporting this problem. - - * doc/releasenotes/index.html: Updated to indicate that anonymous - arrays are suppored inside structs but not inside unions. - -Thu Jul 30 17:05:09 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.1 released. - -Thu Jul 30 16:40:10 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/run_test.pl: - * orbsvcs/tests/EC_Throughput/run_test.pl: - * orbsvcs/tests/Event_Latency/run_test.pl: - * orbsvcs/tests/Simple_Naming/run_test.pl: - * tests/Cubit/TAO/DII_Cubit/run_test.pl: - * tests/Cubit/TAO/IDL_Cubit/run_test.pl: - * tests/Cubit/TAO/MT_Cubit/run_test.pl: - * tests/NestedUpcall/MT_Client_Test/run_test.pl: - * tests/NestedUpcall/Triangle_Test/run_test.pl: - * tests/Param_Test/run_test.pl: - * tests/Quoter/run_test.pl: - * tests/Simple/run_test.pl: - Removed the last calls to system("del") and minor cosmetic - fixes. - -Thu Jul 30 15:38:52 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: - * orbsvcs/orbsvcs/IOR_Multicast.cpp: - * tao/ORB.cpp - Made some debugging messages dependent on - TAO_debug_level. - -Thu Jul 30 13:46:38 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/Concurrency/Makefile: - The CC_command.tab.{h,cpp} and lex.CC_command.cpp files are - distributed in the TAO release, there is no need for the users - to generate them. We do include targets to warn of potentially - outdated files, but this is only for our own purposes. - - * orbsvcs/tests/Concurrency/CC_command.y: - * orbsvcs/tests/Concurrency/CC_command.tab.h: - * orbsvcs/tests/Concurrency/CC_command.tab.cpp: - * orbsvcs/tests/Concurrency/CC_command.tab.cpp.diff: - Generated using a modified version of yacc, that produces more - portable code. - -Thu Jul 30 13:07:00 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/Makefile: - * orbsvcs/Logging_Service/Makefile: New file. Makefile for the - Logging service. - - * orbsvcs/Logging_Service/Logging_Service_i.{h,cpp}: New files, - renamed from tests/Logger/server_i.{h,cpp}. Migrated from a test - to a service. Added ability to name the factory from the command - line. - - * orbsvcs/tests/Logger/Makefile: Eliminated server - compilation. Changed client name to Logging_Test - - * orbsvcs/tests/Logger/Logging_Test_i.cpp: New file, renamed from - tests/Logger/client_i.cpp. Altered includes to reflect transition - of server from test server to actual service. - - * orbsvcs/tests/Logger/Logging_Test_i.h: New file, renamed from - tests/Logger/client_i.h. Added multiple include protection. - - * orbsvcs/tests/Logger/Logging_Test.cpp: New file, renamed from - tests/Logger/server.cpp. Removed some debugging code. - - * orbsvcs/tests/Logger/Logging_Test.cpp: New file, renamed from - tests/Logger/client.cpp. Edited to reflect changed filenames. - - -Thu Jul 30 00:39:10 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/tests/Concurrency/{CC_command.tab,lex.CC_command}.cpp.diff: - Updated these files to prevent complains from lex and yacc. - Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com> - for reporting this fix. - -Wed Jul 29 18:46:46 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * orbsvcs/tests/Concurrency: Touched the lex and yacc files so - that Make won't try to remake their *.cpp files. This is just a - temporary fix until we get this working correctly. Thanks to - J. Russell Noseworthy <rnosewor@objectsciences.com> for - reporting this and to Carlos for suggesting the fix. - -Wed Jul 29 18:46:46 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2 released. - -Wed Jul 29 13:55:20 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Connect.cpp: Fixed indentation. - - * tao/TAO_Internal.cpp (close_services): service_open_count_ - should be reduced by one. - -Wed Jul 29 12:32:48 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Param_Test/run_test.pl: - * tests/NestedUpcall/Triangle_Test/run_test.pl: - * tests/NestedUpcall/MT_Client_Test/run_test.pl: - * tests/Simple/run_test.pl: - * tests/Cubit/TAO/IDL_Cubit/run_test.pl: - * tests/Cubit/TAO/DII_Cubit/run_test.pl: - Use unlink instead of system("rm") or system("del"). - - * tests/Cubit/TAO/Makefile: - * tests/Cubit/TAO/DII_Cubit/Makefile: - Added DII_Cubit to the default compilation. - - * tests/Cubit/TAO/MT_Cubit/run_test.pl: - Added a one-button test. - - * tests/NestedUpcall/MT_Client_Test/client.h: - * tests/NestedUpcall/MT_Client_Test/client.cpp: - Instead of using the thread id to decide which server we use - each client thread is assigned a number, even threads choose the - first server, odd threads the second one. The thread id - approach was non-portable. - - * tests/POA/RootPOA/README: - * tests/POA/FindPOA/README: - * tests/POA/NewPOA/README: - Updated this files, the tests don't print warning messages about - the svc.conf file anymore (actually the ORB doesn't). - -Wed Jul 29 08:58:01 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_field/{field_ci, field_cs}.cpp: Added code - to handle arrays. I had forgotten to invoke the code generator for - arrays that are struct members. I had only handled the header file - but not the inline file and the implementation file. The visitor - that does this was already done, but it was not getting - invoked. Thanks to Andreas Geisler - <andreas.geisler@erls.siemens.de> for reporting this problem. - -Wed Jul 29 06:45:54 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/NestedUpcall/MT_Client_Test/ local_server.cpp (MT_Server): - reordered initializers to match declaration order. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: allow up to 1024 each - consumers and suppliers. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (main): dynamically - allocate the Test_ECG instance so that a large stack space isn't - required. - - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime_Dynamic.h, - run_dynamic,gen_dynamic,dyn_plot: added 1000 low-priority - consumers. Used these versions for DASC-98 paper. - -Tue Jul 28 23:01:21 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/tests/Logger/runtests.pl: Removed this since it has been - replaced. - - * orbsvcs/tests/Logger/run_test.pl: Cleaned this script up by - removing the code that wasn't needed. - -Tue Jul 28 16:54:00 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Param_Test/bd_struct_seq.cpp: Sequence length - initialization didn't work, so zero-length sequence always - returned "correct" results in sii call. Fixed it so the - sequence length is actually initialized, gets correct results - in sii test, correct with dii as well, but request crashes on - release, same as for var_struct. Still looking into that. - -Tue Jul 28 16:43:22 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/Event_Latency/run_test.pl: - * orbsvcs/tests/EC_Multiple/run_test.pl: - * orbsvcs/tests/EC_Throughput/run_test.pl: - * orbsvcs/tests/Simple_Naming/run_test.pl: - Added and updated the one-button tests for this directories. - - * tests/Param_Test/bd_string.cpp: - The name of the test was wrong. - -Tue Jul 28 16:25:11 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Sequence_T.i : Reversed the order of 2 args in - the base class call of one of the - constructors for TAO_Bounded_Sequence<T,MAX> and added a line to - this and to the default constructor for TAO_Bounded_Sequence<T,MAX> - to allocate the buffer to MAX size upon instantiation. - - * tao_idl/be/be_visitor/gen_bounded_sequence_ch.cpp: - * tao_idl/be/be_visitor/gen_bounded_str_sequence_ch.cpp: - * tao_idl/be/be_visitor/gen_bounded_obj_sequence_ch.cpp: - Made the changes corresponding to the changes above in - Sequence_T.i. - -Tue Jul 28 16:22:28 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime_Dynamic.h: - removed ACE_Scheduler_Factory::use_runtime () call, so that - this header can be included by EC_Multiple.cpp even for - local (config) runs. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: added - ACE_Scheduler_Factory::use_runtime () calls, when in - runtime mode only. Also, added printouts just before - registering each supplier and consumer, to help debugging. - - * tests/NestedUpcall/MT_Client_Test/client.cpp (init): use of - ACE_thread_t as an unsigned long requires a reinterpret_cast. - -Tue Jul 28 15:07:32 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/Hardpack/IDL_Cubit/cubit.idl: - Added cube_oneway and cube_void operations. - * tests/Cubit/Hardpack/IDL_Cubit/cubit_impl.{h,cpp}: - * tests/Cubit/Hardpack/IDL_Cubit/client_i.{h,cpp}: - Added implementation code for cube_oneway and cube_void. - -Tue Jul 28 14:49:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * TAO-INSTALL.html (HREF): The paragraph "A note on Make" was - duplicated. Thanks to Jeff McDaniel <jsmcdani@gte.net> - for reporting this. - -Tue Jul 28 13:49:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/NestedUpcall/Makefile: - Added MT_Client_Test. - - * tests/NestedUpcall/MT_Client_Test/Makefile: - Updated dependencies. - -Tue Jul 28 11:09:35 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp : - Removed unnecessary commented code. - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - Added argument processing code for option "-r" which - enables the thread-per-rate test. - * tests/Cubit/TAO/MT_Cubit/client.cpp: - Added code so that the main thread waits on a condition - variable after activating the CB_20_HZ_CONSUMER thread so - that it finishes the argument processing. - -Tue Jul 28 10:17:18 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/Scheduler_Runtime_Dynamic.h: - removed static storage class qualifier from declaration of - scheduler_factory_setup. It's the right thing to do, but - with it, DEC cxx complains about an unused variable. - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp (footer): removed - "static" storage class qualifier so that it's not inserted - into generated code. - -Tue Jul 28 10:08:33 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/LifeCycle_service/Factory_Trader.cpp: - Addressed one cxx and one g++ error. - -Mon Jul 27 15:23:33 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB.cpp (open): Changed the open_called_ flag from an atomic - op to a normal int. Also added the open_lock_ mutex to protect - the entire open routine. Now we do a double check instead of - checking the simply check the open_called_ atomic op. - - (create_stub_object): Added a new method to the ORB that makes - sure that the open routine has been called before creating any - stubs. - - * tao/ORB_Core.cpp (init): There is no need to call ORB::open if - the port is 0. It will automagically be called when the first - stub is created. - - * tao/Servant_Base.cpp (_create_stub): Made sure to call the new - ORB method when creating stubs. - - * tao/orbconf.h (TAO_DEFAULT_SERVER_PORT): Changed the default - port to 0. - - * tests/NestedUpcall/Reactor/client.cpp (run): - * tests/NestedUpcall/MT_Client_Test/local_server.cpp (run_ORB_briefly): - * tests/NestedUpcall/Triangle_Test/initiator.cpp (run): - - No need to call orb->run (ACE_Time_Value::zero) - -Mon Jul 27 17:30:53 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/LifeCycle_Service/Factory_Trader.{h,cpp}: Enabled all - the functionality by default since the Trading Service is now - in good shape. - - * tests/Quoter/client.cpp: - * tests/Quoter/Generic_Factory.cpp: - * tests/Quoter/run_test.pl: - Enabled all the LifeCycle functionality and all looks good on - NT. - - * TAO_IDL/tao_idl.dsp: Release version now has debug information - in a separate file (or else it doesn't work at all), and the - Release version of the compiler is placed in the Release - subdirectory. This will most likely be teh format we will use - for executables: the debug version in .\ and the release in - .\Release\ (both with the same name). - -Mon Jul 27 16:59:14 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp}: Added minor - formating changes - * orbsvcs/tests/Logger/README: Added minor formatting changes - * orbsvcs/tests/Logger/client.cpp: Added minor formatting changes - * orbsvcs/tests/Logger/server.cpp: Added minor formatting changes - * orbscvs/tests/Logger/client_i.{h,cpp}: Added minor formatting - changes - * orbsvcs/tests/Logger/server_i.{h,cpp}: Added minor formatting - changes - * orbsvcs/tests/Logger/run_test.pl: Fixed a small error where - script tried to kill a non-existant process. - -Mon Jul 27 17:15:25 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/dyn_plot: added this perl script, - which was used to generate plots for the DASC '98 paper. - -Mon Jul 27 17:11:07 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Constraint_Visitor.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: - Fixed compiler errors with g++ 2.7.2. Thanks to good ol' Sergio - <sergiof@microsoft.com> for pointing this out. - -Mon Jul 27 16:55:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/NestedUpcall/MT_Client_Test/run_test.pl: - * tests/NestedUpcall/Reactor/run_test.pl: - * tests/NestedUpcall/Triangle_Test/run_test.pl: - * tests/Simple/run_test.pl: - * tests/Cubit/TAO/DII_Cubit/run_test.pl: - * tests/Cubit/TAO/IDL_Cubit/run_test.pl: - Capture the client status and return it, also wait (or kill) the - server before exit. - - * tests/Param_Test/results.h: - * tests/Param_Test/results.cpp: - * tests/Param_Test/client.cpp: - Print the test name *before* attempting to run it, so the output - is visible even on a crash. Also print an easy to grep message - on test failure. - - * tests/Param_Test/run_test.pl: - By default use ORBport 0 and run the tests 5 times (just for - luck). - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - Made the push() methods on the Supplier_Module and the - Consumer_Module virtual, so users can provide their own. - -Mon Jul 27 1:26:44 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Param_Test/var_struct{.h,.cpp}: Committed my - changes so far so others can check it out. DII version - doesn't work yet. - -Mon Jul 27 12:44:12 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Invocation.cpp (start): Modified the code in - TAO_ARL_USES_SAME_CONNECTOR_PORT so the connector always binds - to the host IP address specified in the ORB Core. Thanks to - Fred Kuhns <fredk@arl.wustl.edu> for pointing this out. - -Sun Jul 26 21:01:09 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: - * tests/Cubit/TAO/MT_Cubit/client.cpp: - Added preliminary argument processing code so - that we can allocate memory for data structures for the - number of threads specified on the command line. - -Sun Jul 26 16:58:54 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp : Fixed the argument - processing of low priority servants. - -Sun Jul 26 16:02:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/ORB_Core.cpp: Removed a line in unset_leader_wake_up_follower - which did not belong there any more. - -Sun Jul 26 13:50:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/tests/Concurrency/Makefile: - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Simple_Naming/Makefile: - * orbsvcs/tests/Trading/Makefile: - * tests/NestedUpcall/Reactor/Makefile: - * tests/NestedUpcall/Triangle_Test/Makefile: - * tests/POA/Default_Servant/Makefile: - * tests/POA/Generic_Servant/Makefile: - The realclean target was not removing all the files. - -Sun Jul 26 10:11:07 1998 Carlos O'Ryan <coryan@JIG> - - * orbsvcs/Trading_Service/Trading_Service.cpp: - * orbsvcs/tests/Trading/colocated_test.cpp: - MSVC++ and std::auto_ptr don't like implicit conversions from - the pointer type to the auto_ptr, this is (I believe) the - standard behavior. - - * orbsvcs/tests/Logger/server.dsp: - * orbsvcs/tests/Logger/client.dsp: - Added missing files to the project. - -Sun Jul 26 09:17:58 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: increased - MAX_CONSUMERS and MAX_SUPPLIERS to 100. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: 1) added support - for dynamic scheduling test (ECM3). 2) In config runs, dump - the schedule before shutting the test down. An exception is - usually thrown when shutting the test down, for all but the - first EC. This change allows the schedule to still be dumped. - - * orbsvcs/tests/EC_Multiple/{Scheduler_Runtime_Dynamic.h, - run_dynamic,gen_dynamic}: added support for dynamic - scheduling test. Currently, it requires that TAO - be build with the CCFLAGS: -DTAO_USES_STRATEGY_SCHEDULER - -DTAO_USES_MUF_SCHEDULING -DTAO_MIN_CRITICAL_PRIORITY=0. - - * orbsvcs/tests/EC_Multiple/run_{latency,overhead,schedule, - throughput,utilization}: use ORBport 0 instead of hard-coded port. - For NameService, use $NameServicePort if it is defined in the - user's environment. - -Sat Jul 25 15:21:45 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/fe/idl.ll: - * TAO_IDL/fe/lex.yy.cpp: - The condition for imported vs. main file changed after the - addition of the #line directive. - -Sat Jul 25 14:15:46 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/Scheduler.cpp: removed - ACE_{Read,Write)_Guard<ACE_SYNCH_MUTEX> template instantiations - because they're in libTAO. - -Sat Jul 25 13:56:45 1998 Carlos O'Ryan <coryan@JIG> - - * TAO_IDL/driver/drv_preproc.cpp: - Generate a #line directive which is accepted by more compilers. - -Fri Jul 24 21:44:09 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Exception.i: - * tao/Exception.cpp: - ExceptionList was not releasing the TypeCodes in its destructor, - this produced a memory leak at shutdown, because there is a list - with the standard exceptions typecodes. - A similar problem ocurred with the CORBA::_tc_* exceptions. - NOTE: Purify-4.0.1 on Solaris 2.5 gets confused by these fixes - and reports bogus FNH and memory leak problems. The bug is - triggered by an interaction with TAO's use of the Service - Configurator to dynamically load libTAO, apparently when using - Purify the library static constructors are called two times; the - problem does not ocurr when *not* using purify or when not - loading the library. To test the latter just run a TAO test - (like $TAO_ROOT/tests/Param_Test) with and without the option - "-ORBsvcconf /dev/null". Verifying the purify confusion - requires more work, try stopping in one of the static - constructors (like TypeCodes), then set a breakpoint for the - same constructor at the same address and continue the program, - when TAO loads the library you will see the constructor executed - again; this will *not* happen when running without purify. - - * tao/Object_Table.h: - * tao/Object_Table.cpp: - Removed static object, now it is a member of the class. - - * tao/Typecode.cpp: - Removed outdated comments. - - * tests/Param_Test/svc.conf: - Removed obsolete comments, the web page describes the options in - more detail. - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Fixed delete of (void*). Thanks to John Mulhern - <9107@mn3.lawson.lawson.com> for reporting this. - - * tests/Param_Test/any.cpp: - Fixed ambiguous call to >>= also reported by John Mulhern - - * orbsvcs/orbsvcs/Makefile: - The maintaince of the .PRECIOUS directives for IDL generated - files was becoming a nightmare, it is automated now. - Some IDL files include others, we need to add an explicit - dependency in those cases. - - * TAO_IDL/driver/drv_preproc.cpp: - Added a #lineno "filename" directive to the temporary files, so - the IDL compiler can generate better error messages. - -Fri Jul 24 17:00:09 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp (open_queue): - set period of dispatch queue to its period, rather than 0, - so that the scheduler will handle it properly. - -Fri Jul 24 16:15:08 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h: - Fixed template trait problems with HP/UX 11. Thanks to - John Mulhern <9107@mn3.lawson.lawson.com> for reporting this. - -Fri Jul 24 15:16:28 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/tests/Concurrency/CC_command.tab.cpp, - orbsvcs/tests/Concurrency/CC_command.tab.y: Fixed a couple of - minor inconsistencies that showed up on HP/UX 11. Thanks to - John Mulhern <9107@mn3.lawson.lawson.com> for reporting this. - -Fri Jul 24 09:56:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Simple/client_impl.cpp: - On UNIX you close() the handle, not the file name. - - * tests/Makefile: - * tests/Simple/Makefile: - Added $TAO_ROOT/tests/Simple to the compilation. - -Fri Jul 24 01:40:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.cpp: - The check for memory ownership of the Message_Block was - inverted, thanks to Dave Meyer <dmeyer@std.saic.com> for - catching this one. - - * release.chk: - Updated the file to include the new platforms, the new tests in - Param_Test and to remove the old info (that is probably - outdated) - -Thu Jul 23 23:15:33 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): - fixed some signed/unsigned comparisons. (main): removed - unused local "temp_ptr". - -Thu Jul 23 19:59:31 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: Added code so that -ORB - arguments are passed to the low priority thread as well. Also now - the high priority threads checks the -p and -h arguments before - ORB_init so that it uses the port specified on the command line. - -Thu Jul 23 16:54:59 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Server_Request.cpp: - Care must be exercised when transferring the exception from the - Environment to the Any (in set_exception()): both believe that - they own the Exception so the refcnt() must be increased. - - * tao/Any.cpp: - The Any owns the top-level memory for the objects it contains, - we delete it now. - - * tao/Typecode.h: - * tao/Typecode.cpp: - Fixed memory leaks in the private_member_name_list and in - Typecodes created on the stack (not owned by the ORB, yes there - are some). - - * orbsvcs/Trading_Service/Makefile: - * orbsvcs/tests/Trading/Makefile: - Updated dependencies. - -Thu Jul 23 13:06:10 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_union/union_cs.cpp: - Removed excesive unindentation, the generated code was - unreadable, but correct, it just happens that I have to debug it - every so often. - - * TAO_IDL/be/be_helper.cpp: - Never accept negative indentation values. - -Thu Jul 23 12:18:04 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.cpp: added - ACE_Singleton<Globals, ACE_Null_Mutex> template instantiation. - -Wed Jul 22 19:18:03 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.cpp (inherit_from_parent_thread): Added the - inheritance of the Acceptor, Reactor, and the Connector to the - newly created thread. - -Wed Jul 22 17:33:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/compat/initguid.h: - * tao/compat/objbase.h: - This files are not used anymore, in fact, I thought I had - removed them already. - -Wed Jul 22 16:37:56 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.{h,cpp}: Added a new Globals - class which is used as a singleton by the various threads for - accessing the global parameters. Also added code so that the - server accepts -ORB arguments on the command line. - -Wed Jul 22 16:26:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Makefile: - * tao/Marshal.h: - * tao/Marshal.i: - * tao/deep_copy.cpp: - The deep_copy methods are not used any more, Anys using - marshalling instead. - - * tao/ORB.h: - * tao/NVList.h: - * tao/NVList.i: - * tao/Request.h: - * tao/Request.i: - Added T_var and T_out classes for NVList, NamedValue and - Request. - - * tao/Object.i: - * tao/Object.cpp: - All the Object_out and Object_var methods are defined as inline - methods. - - * tests/Param_Test/client.cpp: - Use the new CORBA::Request_var class. - - * tests/Param_Test/any.cpp: - * tests/Param_Test/any.h: - * tests/Param_Test/bd_long_seq.cpp: - * tests/Param_Test/bd_long_seq.h: - * tests/Param_Test/bd_short_seq.cpp: - * tests/Param_Test/bd_short_seq.h: - * tests/Param_Test/bd_str_seq.cpp: - * tests/Param_Test/bd_str_seq.h: - * tests/Param_Test/bd_string.cpp: - * tests/Param_Test/bd_string.h: - * tests/Param_Test/bd_struct_seq.cpp: - * tests/Param_Test/bd_struct_seq.h: - * tests/Param_Test/fixed_array.cpp: - * tests/Param_Test/fixed_array.h: - * tests/Param_Test/fixed_struct.cpp: - * tests/Param_Test/fixed_struct.h: - * tests/Param_Test/nested_struct.cpp: - * tests/Param_Test/nested_struct.h: - * tests/Param_Test/objref.cpp: - * tests/Param_Test/objref.h: - * tests/Param_Test/short.cpp: - * tests/Param_Test/short.h: - * tests/Param_Test/typecode.cpp: - * tests/Param_Test/typecode.h: - * tests/Param_Test/ub_any_seq.cpp: - * tests/Param_Test/ub_any_seq.h: - * tests/Param_Test/ub_long_seq.cpp: - * tests/Param_Test/ub_long_seq.h: - * tests/Param_Test/ub_objref_seq.cpp: - * tests/Param_Test/ub_objref_seq.h: - * tests/Param_Test/ub_short_seq.cpp: - * tests/Param_Test/ub_short_seq.h: - * tests/Param_Test/ub_str_seq.cpp: - * tests/Param_Test/ub_str_seq.h: - * tests/Param_Test/ub_string.cpp: - * tests/Param_Test/ub_string.h: - * tests/Param_Test/ub_struct_seq.cpp: - * tests/Param_Test/ub_struct_seq.h: - * tests/Param_Test/var_array.cpp: - * tests/Param_Test/var_array.h: - * tests/Param_Test/var_struct.cpp: - * tests/Param_Test/var_struct.h: - The add_args() method receives NVList_ptr parameters instead of - NVList_ptr& otherwise it is too hard to use a NVList_var. - -Wed Jul 22 15:58:11 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.41 released. - -Wed Jul 22 15:00:00 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Logger/client_i.cpp: Did a little cleaning up, - that's all. - - * orbsvcs/orbsvcs/Log/Logger_i.cpp: Adjusted the - <Logger_i::verbosity_conversion> method to work properly. - - -Wed Jul 22 14:16:53 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * Makefile: Removed the reference to "client.h" which was - confusing the compiler and causing all sorts of mayhem (since - client.h has been removed). Huzzah. - -Wed Jul 22 14:12:34 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Cubit/TAO/DII_Cubit/client.cpp - Changed ACE_OS::strdup () in constructor initializations to - CORBA::string_dup () and added corresponding CORBA::string_free () - in destructor. - -Wed Jul 22 13:43:15 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Param_Test/options.{h,cpp}: - fixed -f option in parse_args so a #define MAX_BUFFER_LENGTH - is no longer needed. Added private member function read_ior - which uses ACE_Read_Buffer. - -Wed Jul 22 12:41:22 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Database.h: - * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: - * orbsvcs/orbsvcs/Trader/Trader_T.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}: - Used CORBA::is_nil consistently. Fixed purify warning. - -Wed Jul 22 11:55:35 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Any.cpp: - Removed uses == operator for TypeCode_var and TypeCode_ptr, - NT does not like this (it is ambigous) and the semantics are - also broken, we use TypeCode::equal() instead; thanks to Darrell - Brunsch for reporting this. - - * tao/Server_Request.cpp: - * tao/NVList.cpp: - We were passing a TypeCode_var without calling .in() first, - thansk to Seth B. Widoff for catching up this one. - -Wed Jul 22 11:18:51 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * Makefile: Updated the Makefile to include the server_i and - client_i. This should fix failing compiles. I should have done - this in my previous commit. Gomen ^_^ - -Wed Jul 22 11:15:07 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp (compute_scheduling): - dereference infos (with ptr ()) before comparing it with 0. - No more visits from Mr. SIGSEGV. - -Wed Jul 22 11:09:55 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface/interface_si.cpp: - The in_multiple_inheritance() method was generated for the wrong - class. - -Wed Jul 22 10:07:17 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Any.cpp: - * tao/CurrentC.cpp: - * tao/IIOP_Object.cpp: - * tao/NVList.cpp: - * tao/POAC.cpp: - * tao/Server_Request.cpp: - * tao/append.cpp: - * tao/decode.cpp: - * tao/deep_copy.cpp: - * tao/deep_free.cpp: - * tao/encode.cpp: - * tao/skip.cpp: - Callers to Any::type should be careful to release the - TypeCode_ptr it returns. - - * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_array/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp: - The >>= was using Any::type() but not realeasing the memory that - method returns. We stick the result into a _var. I also added - a small optimization: for some types the >>= operator uses - replace() to change the contents of the Any (thus minimizing - future memory allocation and demarshalling), but it reused the - Any typecode, usually obtained from the wire; now we use the - global Typecode, in an attempt to free memory ASAP inside the - ORB. - - * docs/Options.html: - The info about the -ORBpoalock default value was wrong. - -Wed Jul 22 08:56:34 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/be_interface.h - TAO_IDL/be/be_interface.cpp: - - Added a data member (called in_mult_inheritance_) and - corresponding set/get methods for determining if an - interface node is involved in some form of multiple inheritance - either directly or indirectly thru its ancestors. We make use of - the template method "traverse_inheritance_graph" by passing a new - helper method called "in_mult_inheritance_helper". - - * TAO_IDL/be_visitor_interface/{interface_sh, interface_si}.cpp: - Added code to generate the inline method on the skeleton class - that indicates if we are directly or indirectly involved in some - form of multiple inheritance. - -Wed Jul 22 00:29:32 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Invocation.cpp: - Fixed problem in TIMEPROBE initialization. - -Tue Jul 21 22:05:15 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/ Task_Client.cpp: added - ACE_Condition<ACE_SYNCH_MUTEX> template instantiation. - -Tue Jul 21 21:12:31 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.{h,cpp}:Added 2 new methods to get and - set the verbosity level - - * orbsvcs/orbsvcs/Logger.idl: Enabled the verbosity method - - * orbsvcs/tests/Logger/run_test.pl: Renamed from - runtests.pl. Removed nameservice code - - * orbsvcs/tests/Logger/README: Edited to provide more detail - - * orbsvcs/tests/Logger/client_i.{h,cpp}: New files. Interface and - implementation of the <Logger_Client> class - - * orbsvcs/tests/Logger/server_i.{h,cpp}: New files. Interface and - implementation of the <Logger_Server> class. - - * orbsvcs/tests/Logger/client.cpp: Restructured the code. Moved - most of the work onto the <Logger_Client> class defined in - client_i.h. main () is now rather stripped down - - * orbsvcs/tests/Logger/server.cpp: Restructured the code. Moved - most of the work onto the <Logger_Server> class defined in - server_i.h. main () is now rather stripped down. - -Tue Jul 21 17:29:15 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs_lib.dsp: - * orbsvcs/orbsvcs/orbsvcs.dsw - Removed orbsvcs_lib since it isn't needed anymore and it is - very out-of-date. - - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsp: - tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsw: - The perl script run_tests.pl replaces the executable. - - * TAOACE.dsw: - Added Naming Service to the list, since it is used by many - tests (and I was forgetting to rebuild it all the time). - - * tests/Simple/run_test.pl: - * tests/Quoter/run_test.pl: - * tests/Cubit/TAO/IDL_Cubit/run_test.pl: - Uses common Uniqueid now. - - * tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsw: - The included project was renamed. - - * tests/TAO_Tests.dsw: - New Workspace that includes all the project files for TAO tests. - - * orbsvcs/orbsvcs.dsw: - Moved some tests out and some servers in. - - * TAO_IDL/tao_idl.dsp - * orbsvcs/Concurrency_Service/Concurrency_Service.dsp: - * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: - * orbsvcs/Event_Service/Event_Service.dsp: - * orbsvcs/LifeCycle_Service/LifeCycle_Service.dsp: - * orbsvcs/Naming_Service/Naming_Service.dsp: - * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: - * orbsvcs/Trading_Service/Trading_Service.dsp: - * orbsvcs/orbsvcs/orbsvcs.dsp: - * orbsvcs/tests/Concurrency/CC_client.dsp: - * orbsvcs/tests/EC_Mcast/EC_Mcast.dsp: - * orbsvcs/tests/EC_Multiple/EC_Multiple.dsp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.dsp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.dsp: - * orbsvcs/tests/Event_Latency/Event_Latency.dsp: - * orbsvcs/tests/Logger/client.dsp: - * orbsvcs/tests/Logger/server.dsp: - * orbsvcs/tests/Sched_Conf/Sched_Conf.dsp: - * orbsvcs/tests/Simple_Naming/client.dsp: - * orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.dsp: - * orbsvcs/tests/Simulator/DOVEMIB/DOVEMIBx.dsp: - * orbsvcs/tests/Simulator/DOVEMIB/TestClient.dsp: - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsp: - * orbsvcs/tests/Trading/Colocated_Test.dsp: - * orbsvcs/tests/Trading/Export_Test.dsp: - * orbsvcs/tests/Trading/Import_Test.dsp: - * orbsvcs/tests/Trading/TradingLib.dsp: - * tao/TAO.dsp: - * tests/CDR/basic_types.dsp: - * tests/CDR/growth.dsp: - * tests/CDR/tc.dsp: - * tests/Cubit/TAO/DII_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: - * tests/Cubit/TAO/IDL_Cubit/server.dsp: - * tests/Cubit/TAO/MT_Cubit/client.dsp: - * tests/Cubit/TAO/MT_Cubit/server.dsp: - * tests/NestedUpcall/MT_Client_Test/client.dsp: - * tests/NestedUpcall/MT_Client_Test/server.dsp: - * tests/NestedUpcall/Reactor/client.dsp: - * tests/NestedUpcall/Reactor/server.dsp: - * tests/NestedUpcall/Triangle_Test/initiator.dsp: - * tests/NestedUpcall/Triangle_Test/server_A.dsp: - * tests/NestedUpcall/Triangle_Test/server_B.dsp: - * tests/OctetSeq/OctetSeq.dsp: - * tests/POA/DSI/client.dsp: - * tests/POA/DSI/server.dsp: - * tests/POA/Default_Servant/client.dsp: - * tests/POA/Default_Servant/server.dsp: - * tests/POA/Explicit_Activation/server.dsp: - * tests/POA/FindPOA/FindPOA.dsp: - * tests/POA/Forwarding/client.dsp: - * tests/POA/Forwarding/server.dsp: - * tests/POA/Generic_Servant/client.dsp: - * tests/POA/Generic_Servant/server.dsp: - * tests/POA/NewPOA/NewPOA.dsp: - * tests/POA/On_Demand_Activation/server.dsp: - * tests/POA/RootPOA/RootPOA.dsp: - * tests/POA/TIE/client.dsp: - * tests/POA/TIE/server.dsp: - * tests/POA/locking/locking.dsp: - * tests/Param_Test/client.dsp: - * tests/Param_Test/server.dsp: - * tests/Quoter/Factory_Finder.dsp: - * tests/Quoter/Generic_Factory.dsp: - * tests/Quoter/client.dsp: - * tests/Quoter/server.dsp: - * tests/Simple/client.dsp: - * tests/Simple/server.dsp: - Changed the libraries to use the *d.dll naming convention so - all the projects needed to be changed. While I was there, - also cleaned things up by adding some folders and added the - dependency to the tao_idl compiler, so if the compiler changes, - the idl files get recompiled. - - In the future I'll work on the release versions of the projects - to set them up correctly. Until now, most often the release - version in the project was ignored since it was a major hassle - to test it. - -Tue Jul 21 17:41:26 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: - * orbsvcs/orbsvcs/Trader/Trader_T.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: - Since according to Carlos' last ChangeLog entry the call to - CORBA::Any::type () returns a duplicated typecode, I've ensured - calls to type () are matched with CORBA::TypeCode::release ()s. - - * tao/Any.cpp (type): needed return statement. - -Tue Jul 21 17:29:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Any.cpp: - The type() method has to return a copy (per the spec). - The replace() method first duplicate its TypeCode arg and *then* - releases the internal TypeCode, this protect us in case both are - the same thing. - We still have to fix some problems in the IDL generated - operator>>=. - -Tue Jul 21 16:57:07 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/IIOP_ORB.cpp (iiop_string_to_object): Don't decrement the - ref count on the IIOP_Object since the policy has changed such - that the CORBA_Object is taking ownership of the IIOP_Object. - -Tue Jul 21 15:49:34 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/server.{h,cpp}: Added a new Server - class and moved all the static functions and variables to that - class. - -Tue Jul 21 15:46:49 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): changed - char*const* argv to char **argv so that it compiles on platforms - like IRIX . Thanks to Carlos for reporting this. - -Tue Jul 21 14:53:09 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/README: use ORBport 0 with - EC_Multiple. - -Tue Jul 21 14:19:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * General pass though memory managment: - + Added the pseudo-object mandatory methods (T::_duplicate, - T::_nil()) missing in several classes. - + Normalized the use of reference counting, all the classes - follow the same protocol. - + Added locks to protect reference counting mechanisms. - + Fixed problems in STUB_Object memory managment. - + The CORBA::release(), CORBA::is_nil(), T::_nil() and - T::_duplicate() methods are on the .i files now. - - * tao/Any.h: - * tao/Any.i: - * tao/Any.cpp: - Anys don't need reference counting, they are regular C++ object - and (per the spec) their contents are deep copied by the copy - ctor, the assignment operator and other methods. - Also fixed several methods that did *not* duplicate the - TypeCode, per the spec, they have to do it; we use - TypeCode::_duplicate() for that purpose, not the (propietary) - _incr_refcnt() - - * tao/Server_Request.h: - * tao/Server_Request.i: - * tao/Server_Request.cpp: - The CORBA::release(), CORBA::is_nil(), T::_nil() and - T::_duplicate() methods are on the .i files now. - NOTE: Server_Request objects in TAO are magical, the - _duplicate() method returns 0 and release() does nothing. - The problem starts because Server_Request is allocated from the - stack (to speed up things), hence reference counting would be - useless. Adding a clone() method will work better, but the - Server_Request holds pointers to several positions in the CDR - stream, we could clone the CDR stream, but a normal - Server_Request does not own it.... In our opinion (Carlos and - Irfan) we need not worry about this until we find a use case for - it. - - * tao/Typecode_Constants.cpp: - Use CORBA::release() instead of calling the delete operator - directly, this removed some nasty FMR and FMW problems at - shutdown. - - * TAO_IDL/be/be_visitor_argument/post_upcall_ss.cpp: - The generated code leaked object references passed as - inout arguments. - - * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: - The generated code did not manage STUB_Object memory properly. - - * tao/IIOP_Object.h: - * tao/IIOP_Object.i: - * tao/IIOP_Object.cpp: - Refcount follows the same pattern as for the pseudo-objects, it - starts at 1, it is stored in a CORBA::ULong and delete happens - when count reaches 0. - - * tao/NVList.h: - * tao/NVList.i: - * tao/NVList.cpp: - * tao/ORB.h: - * tao/ORB.i: - * tao/ORB.cpp: - * tao/Exception.h: - * tao/Exception.cpp: - Pseudo object methods revision. - - * tao/Object.h: - * tao/Object.i: - * tao/Object.cpp: - Added locking to the reference count; this should *not* affect - the critical path, hence it is a *good* change. - - * tao/CurrentC.cpp: - * tao/POAC.cpp: - * tao/PolicyC.cpp: - Hand crafted the changes in the IDL compiler (mostly fixes to - STUB_Object memory managment). - - * tao/Principal.h: - * tao/Principal.i: - * tao/Principal.cpp: - * tao/Request.h: - * tao/Request.i: - * tao/Request.cpp: - Completed the pseudo object support for this class. - - * tao/Typecode.h: - * tao/Typecode.i: - * tao/Typecode.cpp: - ORB owned typecodes follow the same memory rules as normal - ones. Since the ORB always holds a reference to them they just - survive for a longer time. - - * tao/decode.cpp: - Corrections to the memory managment of STUB_Objects; the - CORBA_Object does release them, but it does not increase the - refcnt on the ctor. - - * tao/deep_copy.cpp: - Used T::_duplicate instead of the (propietary) - object->_incr_refcnt(). - - * tests/Param_Test/param_test_i.cpp: - The objref test was not releasing its inout argument before - changing it. - -Tue Jul 21 12:09:40 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/NestedUpcall/MT_Client_Test/run_test.pl: - * tests/NestedUpcall/Reactor/run_test.pl: - * tests/NestedUpcall/Triangle_Test/run_test.pl: - Added new perl scripts for the tests. - -Tue Jul 21 12:02:41 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp : - Added code so that the client can accept -ORB arguments on - the command line. The main thread blocks on a condition - variable until the high priority thread does the argument - parsing and changes the global Task_State . The main - thread then creates the low priority threads. - - * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): - Added code for the main thread to block on a condition - variable after activating the high priority thread until the high - priority thread wakes it up. - -Tue Jul 21 10:00:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/Connect.cpp: Improved the location forwarding, now we check - the environment for exceptions and the Server Request. - - * tao/ORB.{h,cpp}: Moved the leader_follower model variables form - the ORB_Core to in here. The ORB_Core has methods to access - all the variables. - - * tao/ORB_Core.{h,cpp}: Removed the leader_follower model variables - but kept the accessing methods. - - * tao/Server_Request.{h,cpp}: Changed the exception handling slightly. - A forwarding exception has the type USER_EXCEPTION now. - Also, two accessor methods were added to get the forward location - and the exception type. This is all used in the Server_Connection_Handler. - -Mon Jul 20 23:09:21 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * docs/release_notes.html: Updated the status on the Audio/Video - streaming service. - -Mon Jul 20 23:10:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * docs/locate_request.html: Locate request documentation. - - * docs/releasenotes/index.html: Added a reference to the - locate request documentation. - -Mon Jul 20 21:10:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Client.java: - A class to access the IDL_Cubit server via the JavaIDL - ORB. - - * tests/Cubit/TAO/IDL_Cubit/README: Documented how to - use the aforementioned Java class. - -Mon Jul 20 19:06:57 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Invocation.cpp (invoke): wrapped final return statement - with ACE_NOTREACHED. - - * orbsvcs/tests/Trading/Makefile: moved -lorbsvcs and -lTAO - from LDLIBS to LIBS, so that the libTTest.so build will link - against them. - -Mon Jul 20 18:17:02 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * docs/releasenotes/index.html: Updated the IDL compiler entry - (GPERF-IDL integration). - -Mon Jul 20 17:51:01 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Offer_Iterators.h: - * orbsvcs/orbsvcs/Trader/Trader_Utils.h: - * orbsvcd/tests/Trading/import_test.cpp: - Fixed another g++ linker error and one compile-time error. - -Mon Jul 20 17:30:49 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp (gen_perfect_hash_methods): Changed - the absolute path for gperf to $ACE/bin. - -Mon Jul 20 16:55:54 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp (copy_ctor_helper): - * TAO_IDL/be/be_visitor_interface/interface_sh.cpp (visit_interface): - * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): - * TAO_IDL/be_include/be_interface.h (copy_ctor_helper): - To alleviate the g++ linker's confusion in the face of profuse - virtual inheritence in the skeletons, the IDL compiler now - explicitly generates a copy constructor in each skeleton - class. The copy constructor calls the copy constructor of each - superclass in the skeleton's inheritence hierarchy. - -Mon Jul 20 15:08:11 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/driver/drv_args.cpp (DRV_parse_args): Added a "#if - !defined (ACE_HAS_GPERF)" so that IDL Compiler will use Dynamic - Hashing if gperf is not found but -P option is specified. - - * TAO_IDL/be/be_interface.cpp (gen_perfect_hash_methods): Fixed - the ACE_Process' command line to use absolute path - <$ACE/apps/gperf/src/gperf>. - -Mon Jul 20 13:00:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Makefile: - * tests/Cubit/TAO/IDL_Cubit/client_i.h: - * tests/Cubit/TAO/IDL_Cubit/client_i.cpp: - Added options to just run the VOID or the ONEWAY test. - -Mon Jul 20 12:27:29 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * docs/releasenotes/index.html: - Added a reference to trader.html in the Trading Service portion - of the releasenotes. - - * docs/releasenotes/trader.html: - Minor editorial changes to the trader documentation. - -Mon Jul 20 11:46:04 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/corba.h: - TAO_THROW_SPEC is a little different than ACE_THROW_SPEC, not - only we need support for exceptions in the platform, we also - would need them in the IDL compiler. - Plus it gives a lot of warnings in MSVC++ 5.0 - -Mon Jul 20 11:15:52 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader.cpp: - Eliminated superfluous template instantiation - ACE_Unbounded_Queue<CosTrading::Admin::OctetSeq>. - -Mon Jul 20 10:57:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/Connect.cpp: Changed the handle_locate method completely - to try to upcall to the non_existent method. This method - is not part of the standard, is TAO internal. We know - that this method is supported by each TAO Object. So - if we fail we know the object is not there. If we succeed, - the object is available and if we get forward_request - exception we will forward the call. - - * tao/IIOP_Object.{h,i,cpp}: Added code to branch to do a conditonal - locate request, depending on two flags. One tells to - use it at all the other tells if it is the first call- - because we want to do it only on the first call. - - * tao/Invocation.{h,i,cpp}: Added code to the start method, - which branches into different CDR stream generation, - depending on the kind of message we want to send. The two - options right now are: Request and LocateRequest. - A new subclass has been introduces: TAO_GIOP_ - LocateRequest_Invocation, which is similar to the - Twoway subclass but does a locate request. It has its own - invoke method and does not call the common invoke method. - Closing of a connection is the same in all the three cases - (oneway, twoway, locate_request), I factored the code out - into a close_connection method. - - * tao/Object.{h,cpp}: Added a method call to activate - the locate request on the first call after the activation. - The locate request will be done only once unless it is activated - a second time. - - * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: Changed - the code generation of the non_existent method. It accepts - only one parameter, not two. So I changed the param_count - from 2 to 1. - -Mon Jul 20 10:35:33 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.{h,cpp}, - Offer_Iterators_T.cpp: - wrapped TAO_THROW_SPEC arguments with double parens. - - * orbsvcs/orbsvcs/Trader/Offer_Iterators.h: moved = 0 (for pure - virtual) to after the exceptions spec. - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp,Trader_Utils.cpp: - fixed exceptions specs to match declarations in .h files. - - * orbsvcs/tests/Trading/TT_Info.cpp (dump_properties): changed - types of locals "seq_length" and "i" from CORBA::ULong to - CORBA::Long to avoid signed/unsigned comparison. - -Mon Jul 20 10:20:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * docs/releasenotes/index.html: Added a reference to the - global resources and leader-follower model documentation. - - * docs/leader_follower.html: Documentation about the leader-follower - model used for global resources, especially for one Reactor - accessed by multiple threads. - -Mon Jul 20 06:52:02 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_array/{array_ch, array_ci, array_cs}.cpp: - Added support for anonymous arrays. This is yet to be tested - - * TAO_IDL/be/be_visitor_field/field_ch.cpp: Handled anonymous - array declaration in structures. - - *Note* that although the above changes were made a couple of weeks - back I have not been able to test them. - -Sun Jul 19 22:58:45 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader.cpp: added - ACE_Unbounded_Queue<CosTrading::Admin::OctetSeq *>, etc., template - instantiations. - - * tao/corba.h: define TAO_THROW_SPEC using ACE_THROW_SPEC. - -Sat Jul 18 23:01:51 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.40 released. - -Sat Jul 18 22:16:14 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.39 released. - -Sat Jul 18 20:22:19 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Quoter/run_test.sh: Removed this file, - all the functionality is provided by the - run_test.pl script. - - * tao/Server_Request.{h,cpp}: Added a new constructor, - which does not need an input CDR stream. It is going - to be used for locate requests. When we invoke - the non_existend method on the object to see if it - is there, forwarded or not existent. - - * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java.JDK1.2: - Adopted to the new interfaces for the Event Service. - -Sat Jul 18 19:37:19 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/client.cpp: The ORB now looks - at argv and argc before the client does. - - * orbsvcs/tests/Simple_Naming/run_test.pl: New Perl script - for testing. - -Sat Jul 18 17:31:29 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * tests/Cubit/Hardpack/IDL_Cubit/cubit.idl: - * tests/Cubit/Hardpack/IDL_Cubit/cubit_impl.{hh,cc}: - * tests/Cubit/Hardpack/IDL_Cubit/client_i.{h,cpp}: - * tests/Cubit/Hardpack/IDL_Cubit/server_i.{h,cpp}: - * tests/Cubit/Hardpack/IDL_Cubit/client.cpp: - * tests/Cubit/Hardpack/IDL_Cubit/server.cpp: - * tests/Cubit/Hardpack/IDL_Cubit/Makefile: - * tests/Cubit/Hardpack/IDL_Cubit/README: - * tests/Cubit/Hardpack/IDL_Cubit/initref.cfg: - Added these files for the IDL_Cubit test for the Hardpack - ORB. - -Sat Jul 18 15:44:59 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Database.*: - * orbsvcs/orbsvcs/Trader/Offer_Iterators.*: - * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: - * orbsvcs/orbsvcs/Trader/Trader.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.*: - * orbsvcs/orbsvcs/Trader/Trader_T.cpp - * orbsvcs/orbsvcs/Trader/Trader_Utils.*: - * orbsvcs/tests/Trading/Offer_Exporter.*: - * orbsvcs/tests/Trading/Service_Type_Exporter.*: - * orbsvcs/tests/Trading/Offer_Importer.*: - * orbsvcs/tests/Trading/export_test.cpp: - * orbsvcs/tests/Trading/import_test.cpp: - * orbsvcs/tests/Trading/collocated_test.cpp: - * orbsvcs/tests/Trading/Makefile: - * orbsvcs/Trading_Service/Trading_Service.cpp: - * orbsvcs/Trading_Service/Makefile: - - Fixed g++ 2.7.2 compilation warnings/errors. Note: the tests and - applications, although they compile now with g++ 2.7.2, don't link - properly because the g++ linker is baffled by the profuse - virtual/multiple inheritance in the skeletons generated from the - CosTrading.idl file, and can't find the copy constructors it - autogenerated. The solution is to have the IDL compiler generate - explicit copy constructors for these skeleton classes. - -Sat Jul 18 15:39:42 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/client.dsp: Updated this MSVC - project file to use the latest changes to the Simple - Naming test. - -Sat Jul 18 15:30:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * docs/forwarding.html: Added some optimization - suggestions. - -Sat Jul 18 14:19:48 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tao/orbconf.h: - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/CosTrading.idl: - Moved the definition of TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG into - orbconf.h and CosTrading.idl, and out of the orbsvcs Makefile. - -Sat Jul 18 14:12:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/svc.conf: Added the - ORBiiopprofilelock switch to the client configuration to - switch off the lock needed for forwarding. We know, we - do not need it, so we use a null lock instead. This - should improve the performance a little bit. - - * tao/Connect.cpp: Added code for handle_locate, which is still - commented, because not tested. - The TAO_ORB_Core_instance is now cached in send_request and - handle_input. - -Sat Jul 18 14:00:38 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Makefile: Always try to - generate perfect hash functions for the operation - dispatching by enabling the -P flag. - -Sat Jul 18 11:29:43 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/RT_Task.h - orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp - - Changed to always typedef ACE_ES_QUEUE as the base - template class ACE_Message_Queue<ACE_SYNCH> and - explicitly construct dynamic message queues as needed. - -Sat Jul 18 10:19:37 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Logger/client.cpp (nesting_test): added return 0 - at end. (init): removed unused local factory_ref2. - -Sat Jul 18 08:19:24 1998 Douglas C. Schmidt <schmidt@lambada.cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/client.cpp: Beefed up this test so - that it illustrates how to bind(), resolve(), and unbind() an - object reference to a remote Naming Context. This is an - important test to make sure that things are working properly. - - * orbsvcs/orbsvcs/Naming/Naming_Utils: Added an init() method to - this class to begin to factor out common code for being a client - of a Naming Service. - - * TAO/orbsvcs/tests/Naming/ns_tree.cpp (main): Cleaned up the - formatting for this test. - - * orbsvcs/tests/Simple_Naming: Renamed clnt.* to client.* to - be more consistent. - - * tests/Cubit/TAO/IDL_Cubit/svc.conf: Changed the default ORB - concurrency model from reactive to thread-per-connection since - the latter is considerably faster. - -Fri Jul 17 17:42:27 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * docs/Options.html: Added documentation for the TAO environment - variables. - - * tao/ORB.cpp (resolve_trading_service): Changed the environment - variable for NameService and TradingService to NameServiceIOR - and TradingServiceIOR to be more consistent. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.h: Started adding the new - TAO_Naming_Client class, which will simplify the initialization - and access to a NamingContext. - - * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Changed the - capitalization of GetNamingContext() to get_naming_context(), - which is consistent w/TAO programming style. - - * tao/skip.cpp: Replaced uses of old-style C casts with a - static_cast. - -Fri Jul 17 19:34:11 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/ORB.cpp: The return value for acceptor ().enable () is no - longer being checked for -1, since platforms that don't - support it (like NT) will return -1. - -Fri Jul 17 18:46:17 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.h: Added new fields for verbosity - * orbsvcs/orbsvcs/Log/Logger_i.cpp: Adjusted for new fields - * orbsvcs/tests/client.h: Added new methods- resolve_name () & - nesting_test () - * orbsvcs/tests/client.cpp: Compacted code somewhat. Broke run () and - init () into smaller functions - * orbsvcs/orbsvcs/Logger.idl: Adjusted TAO_MAXLOGMSGLEN - * orbsvcs/tests/server.cpp: Partialy incomplete incorporation of - name service - -Fri Jul 17 17:58:37 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * docs/implrepo.html: Addressed some more comments. - -Fri Jul 17 11:47:42 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/IIOP_Object.cpp (do_static_call,put_params): on sparcs - with g++ prior to 2.8, e.g., 2.7.2.3, only; added an awful - hack to two-way va_arg processing. The hack throws away - the first var arg. Apparently, g++ 2.7.2.3 provides a bogus - arg to the first va_arg call by mistake. This ugliness - works around that problem. We haven't seen this elsewhere - with va_arg, or with later versions of g++. - - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - fixed supplier id (it was the same for all suppliers) and other - very minor cleanup. - - * orbsvcs/tests/Event_Latency/run_tests.sh: added. - -Fri Jul 17 11:02:29 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tao/POAC.h: unclosed comments. - - * orbsvcs/tests/AVStreams/source/mpeg/server/Machine_Properties.{h,cpp}: - * orbsvcs/tests/AVStreams/source/mpeg/server/Video_Repository.{h,cpp}: - * orbsvcs/tests/AVStreams/source/mpeg/server/Property_Exporter.{h,cpp}: - * orbsvcs/tests/AVStreams/source/mpeg/server/augmented_server.{h,cpp}: - Updated these files in light of recent changes to the Trading Service. - -Fri Jul 17 09:46:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/POAC.h: Replaced #endif // ... with #endif /* ... */ since - this is more portable... - - * tao/POAC.h: Changed CORBA::Policy to ACE_CORBA_1 (Policy) to - work around friggin' bugs with MSVC++ 4.2. Thanks to Ernesto - Guisado <eguisado@saincotrafico.com> for reporting this. - -Fri Jul 17 08:28:55 1998 David L. Levine <levine@cs.wustl.edu> - - * Makefile (CONTROLLED_FILES): added TAO-inheritance.{pdf,ps}.gz - to distribution. - -Thu Jul 16 15:20:12 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Connect.cpp: - * tao/ORB.cpp: - Set the close-on-exec flag using the new IPC_SAP interfaces. - - * tao/ORB_Core.cpp: - * orbsvcs/orbsvcs/Event/RT_Task.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.h: - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - * orbsvcs/tests/EC_Mcast/EC_Mcast.h: - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - Use ACE_SYNCH_CONDITION instead of - ACE_Condition<ACE_Thread_Mutex> some template instantiations are - removed. - -Thu Jul 16 15:15:46 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/Makefile: - * orbsvcs/tests/Makefile: - * orbsvcs/orbsvcs/Makefile: - Trading Service now compiles by default! Let the mayhem begin! - -Thu Jul 16 12:55:54 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Connect.cpp: - Added the close-on-exec flag the Client and Server - Connection_Handlers, this avoid resource leaks in the event of - fork/execs. - -Thu Jul 16 12:57:08 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tao/ORB_Core.cpp: Fixed explicit template instantiation of - ACE_Thread_Condition and ACE_Condition on IRIX. - -Thu Jul 16 11:50:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/ORB_Core.{h,cpp}: Due to merging a cvs branch - to the main trunk, the following changes went away, and - where now reintroduced: - -Thu Jul 16 00:00:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Removed all the COM madness, TAO no longer uses the IUnknown - classes, QueryInterface(), AddRef() or Release(). The new - reference counting methods are called _incr_refcnt and - _decr_refcnt (the leading underscore is necessary for CORBA - complaince, but it breaks ANSI/C or ANSI/C++ complaince, yuk!). - This change save a few microseconds on the critical path, - because QueryInterface() was used in remote method invocation, - invoking many virtual methods, increasing the refcnt and then - decreasing it again; but the real motivations are: - + It was confusing to users it what way did TAO support COM (it - does not, yet). - + Removing QueryInterface() and the ref counting from the - critical path will allow us to protect the ref counts with - mutexes (strategized, of course). - - * tao/Any.cpp: - * tao/Any.h: - * tao/CurrentC.cpp: - * tao/Exception.cpp: - * tao/Exception.h: - * tao/IIOP_ORB.cpp: - * tao/IIOP_Object.cpp: - * tao/IIOP_Object.h: - * tao/Invocation.cpp: - * tao/Makefile: - * tao/Marshal.i: - * tao/NVList.cpp: - * tao/NVList.h: - * tao/ORB.cpp: - * tao/ORB.h: - * tao/ORB.i: - * tao/Object.cpp: - * tao/Object.h: - * tao/Object.i: - * tao/POAC.cpp: - * tao/PolicyC.cpp: - * tao/Principal.cpp: - * tao/Principal.h: - * tao/Request.cpp: - * tao/Request.h: - * tao/Server_Request.cpp: - * tao/Server_Request.h: - * tao/Server_Request.i: - * tao/Stub.h: - * tao/Typecode.cpp: - * tao/Typecode.h: - * tao/append.cpp: - * tao/corba.h: - * tao/decode.cpp: - * tao/deep_copy.cpp: - * tao/encode.cpp: - * tao/skip.cpp: - This are the files affected by the change. - - * tao/compat/initguid.h: - * tao/compat/objbase.h: - Removed! COM is gone from TAO. - - * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: - * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: - * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: - Generate the new CORBA_Object methods to gain access to the - STUB_Object, we don't generate the old COM methods. - - * taoconfig.mk: - Removed -I$(TAO_ROOT)/tao/compat - - * Makefiles: - Updated the dependencies in all the Makfiles of TAO (due to the - removal of objbase.h & friends). Also fixed many problems in the - Makefiles, like missing SRC or LSRC lists, removed the - -I$(TAO_ROOT)/tao/compat includes, added missing TAO_ROOT - definitions, etc. - - * docs/releasenotes/ec.html: - Added the latest changes. - - * tests/Cubit/TAO/IDL_Cubit/client_i.cpp: - Fixed mismatched memory free (new vs. malloc). - - * orbsvcs/tests/Logger/client.h: - Fixed method declaration. - -Wed Jul 15 22:17:20 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB_Core.cpp: added ACE_Unbounded_Set<ACE_SYNCH_CONDITION *>, - etc., template instantiations. Added ACE_Thread_Condition and - ACE_Condition instantiations, w/o ACE_HAS_TEMPLATE_TYPEDEFS. - -Wed Jul 15 21:16:19 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/Trading_Service/Trading_Service.{dsp,dsw}: - * orbsvcs/tests/Trading/Trading.dsw: - * orbsvcs/tests/Trading/Colocated_Test.dsp: - * orbsvcs/tests/Trading/Export_Test.dsp: - * orbsvcs/tests/Trading/Import_Test.dsp: - * orbsvcs/tests/Trading/TradingLib.dsp: - Project files for the Trading service for MSVC. - -Wed Jul 15 20:12:47 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/ORB_Core.cpp: Changed the warnings that occur when - a conf file is not found to be debug warnings (only show - up with -ORBdebug) - -Wed Jul 15 19:28:51 1998 Seth Widoff <sbw1@cs.wuslt.edu> - - * orbsvcs/orbsvcs/orbsvcs.dsp: Added trader files. - -Wed Jul 15 18:00:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/Invocation.cpp: Made sure, that all control paths - resume the handler - checking invoke methods. - -Wed Jul 15 16:27:01 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/Simple: Added a new test that is just a simple test - which can be used as a basis for new tests or just to see - the basics of a CORBA client and server. - -Wed Jul 15 16:00:39 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * client.cpp: Changed a few cast statments; added comments - - * runtests.pl: New script to automate running of tests - -Wed Jul 15 15:44:10 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Invocation.cpp: Carlos corrected his omission of code to - invoke before waiting for a reply. - -Wed Jul 15 12:40:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/Connect.{h,cpp}: Changed handle_input and send_request - of the Client Connection Handler to support global - resources and multiple threads. It is achieved through - the leader follower model. - - * tao/Invocation.cpp: The suspended Client Connection Handler - from Connect.cpp get resumed (TAO_GIOP_Invocation::invoke). - - * tao/ORB.{h,cpp}: The run method conforms to the rules - of the leader follower model. - - * tao/ORB_Core.{h,cpp}: The ORB Core now supports all - the variables for the leader follower model. - -Wed Jul 15 12:07:15 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Servant_Base.cpp: - Added timeprobes in operation lookup. - - * tests/Cubit/TAO/IDL_Cubit/client.cpp: - * tests/Cubit/TAO/IDL_Cubit/server.cpp: - Added TIMEPROBE_PRINT at the end. - -Wed Jul 15 12:11:01 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/tests/Property/Makefile: - Removed unnecessary STL dependencies. - -Wed Jul 15 11:44:57 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * orbsvcs/tests/CosPropertyService/Makefile: Removed STL stuff and - did a make depend. - -Wed Jul 15 10:55:33 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Quoter/run_tests.pl: removed hard-coded perl path. - -Wed Jul 15 09:47:17 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Module_Factory.cpp: - Removed a bogus include file. - - * orbsvcs/orbsvcs/Makefile: - Updated dependencies again. - -Tue Jul 14 21:56:30 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile (FILES): updated dependencies. - -Tue Jul 14 21:50:04 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Quoter/run_test.sh: use sh instead of ksh, $login - instead of mk1, and $ps_opts. - - * orbsvcs/tests/start_services: bash doesn't always supply $USER, - so use $login with it also. - -Tue Jul 14 21:25:19 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/tests/Trading/Makefile: - * orbsvcs/tests/Trading/Offer_Exporter.{h,cpp}: - * orbsvcs/tests/Trading/Offer_Importer.{h,cpp}: - * orbsvcs/tests/Trading/Offer_Importer.h: - * orbsvcs/tests/Trading/Service_Type_Exporter.{h,cpp}: - * orbsvcs/tests/Trading/TT_Info.{h,cpp}: - * orbsvcs/tests/Trading/colocated_test.cpp: - * orbsvcs/tests/Trading/export_test.cpp: - * orbsvcs/tests/Tradingimport_test.cpp: - These tests now copmile with egcs. In addition, Added modify and - withdraw_using_constraint tests, and the "quiet" flag, which will - staunch the usual barrage of output by not printing the contents - of offers and service types. - - * orbsvcs/Trading_Service/Trading_Service.cpp: compiles with - egcs. - - * orbsvcs/orbsvcs/Trader/*.*: Compiles with egcs. Improved the - modify method. - -Tue Jul 14 19:15:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/Event/Module_Factory.h: - * orbsvcs/orbsvcs/Event/Module_Factory.cpp: - * orbsvcs/orbsvcs/Event/Fast_Reactor.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - The Event Channel modules are constructed using a Factory class, - that will simplify configuration of the EC, like using RTU or - FIFO dispatching, disabling correlation, or filtering, etc. - -Tue Jul 14 18:35:56 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: - The generated replace() method released the buffer twice. - -Tue Jul 14 15:56:46 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/Machine_Properties.{h,cpp}: - * orbsvcs/tests/AVStreams/Property_Exporter.{h,cpp}: - Removed as they are moved to - orbsvcs/tests/AVStreams/mpeg/source/server. - - * orbsvcs/tests/AVStreams/Makefile: - * orbsvcs/tests/AVStreams/server.{h,cpp}: - Removed as they are outdated. - -Tue Jul 14 15:28:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_field/field_ch.cpp: - Added support for arrays inside structures. Anonymous arrays do - *not* work. Thanks to Eric Powers <powerg@deltanet.com> for this - patch. - -Tue Jul 14 14:40:36 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Event_Latency/Event_Latency.cpp (print_stats): - when short-circuiting, don't print out time breakdowns to/in/from EC. - -Tue Jul 14 13:30:01 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp - orbsvcs/orbsvcs/Event/RT_Task.h: - - Added conditional compilation logic to cause EC to use dynamic queues - with appropriate dispatching strategies when the MUF, EDF, or MLF - strategies are defined. This is a temporary measure to allow - testing of the EC performance with the dynamic queues, and will - be relaced with a better configuration mechanism, based on the results - of the off-line scheduling run, in the very near future. - -Tue Jul 14 12:00:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: - * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: - * TAO_IDL/be/be_visitor_interface/be_interface.cpp: - Added server side support for CORBA::Object::_non_existent, in - the future it could be implemented in the POA, saving an - operation lookup and reducing the footprint somewhat. - - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.h: - * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: - * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h: - * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp: - Replaced ACE_Thread_Mutex with ACE_SYNCH_MUTEX so it compiles in - platforms without threads, not that it will work though. - -Tue Jul 14 12:30:45 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): - removed dependence on local context_switch on platforms that don't - have ACE_HAS_PRUSAGE_T and ACE_HAS_GETRUSAGE. Thanks to - Arturo Montes <mitosys@colomsat.net.co> for reporting this. Also, - removed csw on those platforms, because it was no longer being used. - -Tue Jul 14 11:48:23 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.{h,cpp} (arl_same_port_connect): Added the new - member function to ORB_Core to check if we want the client to - initiate a connection using the same local port number as - server's. - - * tao/Invocation.cpp (start): Added code to specify the following: - - This change is only for ARL only and to enable the feature, you - must add - - #if defined (TAO_ARL_USES_SAME_CONNECTOR_PORT) - - to your $ACE_ROOT/ace/config.h. Add the command line option - - -ORBarlsameportconnect yes - - when starting the client. - - *** This is not for the general audience of TAO. Don't use - it. *** - -Tue Jul 14 11:34:02 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/IIOP_Object.cpp (do_static_call): commented out unused - local "status". - -Mon Jul 13 18:35:22 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: - * TAO_IDL/be/be_sequence.cpp: - Code generation for sequences of octets was incorrect in - platforms that do not support automatic template - instantiation. Thanks to Eric Powers <powerg@deltanet.com> for - pointing this out. - -Mon Jul 13 17:50:35 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/TAO.dsp: Added Invocation.cpp into project. - - - The following two changes were made per Carlos' instructions. - (I was just typing.) - - * tao/deep_free.cpp (DEEP_FREE): Commented out 'delete source' in - case of CORBA::tk_struct. - - * tao/Any.cpp (operator=, ~CORBA_Any, replace): Added delete - this->value after DEEP_FREEing. - -Mon Jul 13 17:37:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Object.cpp: - Fixed some problems in the implementation of _non_existent(), - thanks to Dave Meyer <dmeyer@std.saic.com> - -Mon Jul 13 16:20:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/corba.h: - * tao/Makefile: - * tao/Invocation.h: - * tao/Invocation.i: - * tao/Invocation.cpp: - * tao/GIOP.h: - * tao/GIOP.i: - * tao/GIOP.cpp: - * tao/IIOP_Object.h: - * tao/IIOP_Object.cpp: - On the client side we can optimize memory allocation for - oneway requests by not allocating the response - buffer. But to do this and take as much memory as possible from - the stack also requires to follow different execution paths for - the oneway vs. two way tests. - With this changes the memory allocations are: - + For oneways: - 1 on the client side (can be TSS allocator). - 3 on the server side (one can be TSS allocator). - + For twoway: - 3 on the client side (1 can be a TSS allocator). - 3 on the server side (1 can be TSS allocator). - - - * tests/Cubit/TAO/IDL_Cubit/cubit.idl: - * tests/Cubit/TAO/IDL_Cubit/client_i.h: - * tests/Cubit/TAO/IDL_Cubit/client_i.cpp: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.h: - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: - Added simple tests with no arguments or return values, also - added a oneway test. - - * orbsvcs/Dump_Schedule/Makefile: - * orbsvcs/Event_Service/Makefile: - * orbsvcs/LifeCycle_Service/Makefile: - * orbsvcs/Naming_Service/Makefile: - * orbsvcs/Scheduling_Service/Makefile: - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/tests/EC_Mcast/Makefile: - * orbsvcs/tests/EC_Multiple/Makefile: - * orbsvcs/tests/EC_Throughput/Makefile: - * orbsvcs/tests/Event_Latency/Makefile: - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Simple_Naming/Makefile: - * tests/CDR/Makefile: - * tests/Cubit/TAO/IDL_Cubit/Makefile: - * tests/Cubit/TAO/MT_Cubit/Makefile: - * tests/NestedUpcall/Reactor/Makefile: - * tests/NestedUpcall/Triangle_Test/Makefile: - * tests/OctetSeq/Makefile: - * tests/POA/Default_Servant/Makefile: - * tests/POA/Explicit_Activation/Makefile: - * tests/POA/FindPOA/Makefile: - * tests/POA/Generic_Servant/Makefile: - * tests/POA/NewPOA/Makefile: - * tests/POA/On_Demand_Activation/Makefile: - * tests/POA/RootPOA/Makefile: - * tests/Param_Test/Makefile: - * tests/Quoter/Makefile: - * tests/Thruput/TAO/Makefile: - The new files in the tao library changed the dependencies. - - * orbsvcs/Dump_Schedule/Makefile: - Sources were listed in the wrong macro. - -Mon Jul 13 14:37:06 1998 David L. Levine <levine@cs.wustl.edu> - - * Event_Latency.cpp: use ACE_CU64_TO_CU32 to convert const - 64-bit u_ints to 32-bits happily with Sun C++. Also, replaced - a function-style cast and some other old casts with ACE - ANSI-style casts. - -Mon Jul 13 13:59:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Param_Test/run_test.pl: - Fixed a few (minor) perl warnings. - -Mon Jul 13 11:49:29 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tao/Marshall.i: Now setting freed string pointer to zero. - - * tao/deep_free.cpp: Although the struct fields were being freed, - the memory for the struct itself wasn't. Note: other types may - also have this problem. - -Sun Jul 12 19:47:34 1998 Seth Widoff <sbw1@cs.wustl.edu> - - * docs/releasenotes/trader.html: - Finished the initial draft of the Trading Service documentation. - -Sun Jul 12 13:45:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/NestedUpcalls/MT_Client_Test/*: - Added a new test for testing multiple threads accessing - global resources, which means, one ORB and one Reactor. - It also tests for proper nested upcalls. - -Sun Jul 12 01:40:58 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Fixed several problems reported by John Mulhern - <9107@mn3.lawson.lawson.com>, that fix portability problems to - HP/aCC. - - * tao/Typecode.cpp: - Declared a temporary buffer as CORBA::Octet* instead of void*, - otherwise HP/aCC balks. - - * TAO_IDL/be_include/be_sequence.h: - * TAO_IDL/be/be_sequence.cpp: - fe_add_sequence() was redefined with different arguments and - return value. It was not the intention and it triggered warnings - on several compilers (HP/aCC, SGI/CC). - - * TAO_IDL/fe/y.tab.cpp: - Removed indent pragma. - Declared tao_yyerror as taking a const char*, it is not used - anyway. - - * TAO_IDL/be/be_visitor_operation/tie_si.cpp: - Tie delegation is similar to collocated upcalls, the arguments - are T_ptr objects and not T_var, hence, no .in () calls are - needed. - - * TAO_IDL/fe/fe_extern.cpp: - * TAO_IDL/driver/drv_preproc.cpp: - Changed old C-style cast to reinterpret_cast, that should make - HP/aCC compiler happy. This is just because SunCFE uses File* as - a compilation barrier for FILE*, IMHO a waste of time. - -Sat Jul 11 10:17:35 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/Makefile: - Added EC_Mcast to the list of tests. - -Fri Jul 10 22:25:44 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.38 released. - -Fri Jul 10 22:06:16 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/CDR.i (do_byte_swap): added explicit int return type. - -Fri Jul 10 17:51:13 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Param_Test/bd_str_seq.cpp: - * Param_Test/ub_str_seq.cpp: - DII tests now work. - - * Param_Test/bd_short_seq.cpp: - * Param_Test/ub_short_seq.cpp: - * Param_Test/bd_long_seq.cpp: - * Param_Test/ub_long_seq.cpp: - Minor changes in notation - no new functionality. - -Fri Jul 10 17:29:25 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Mcast/Makefile: - * orbsvcs/tests/EC_Mcast/svc.conf: - * orbsvcs/tests/EC_Mcast/EC_Mcast.h: - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - Added the first implementation of a UDP/Mcast based gateway to - the EC. The current classes require a lot of manual - configuration. - Also implemented a small test to show the usage. - - * tao/CDR.h: - * tao/CDR.i: - * tao/CDR.cpp: - Give access to external users of the swap_<n> methods, also - provide an accesor for the byte swapping flag in OutputCDRs. - - * tao/GIOP.cpp: - Use the new byte swap accessor. - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Completed support for gateways that are interested in the - supplier list changes. It is now possible to add Gateways - *after* the consumer or supplier list has stabilized. - - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - Do nothing if receive a supplier update. - - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - Destroy the Event Channel *after* the consumers unsubscribe from - it. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - * orbsvcs/Event_Service/Event_Service.cpp: - Before a normal exit we unbind the Event Service (and, if local, - the Scheduling Service) from the Naming Service. - -Fri Jul 10 17:03:11 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.h: - * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: - * orbsvcs/orbsvcs/Trader/Trader.{h, cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: - * orbsvcs/orbsvcs/Trader/Trader_T.h: - * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}: - Addressed a number of memory leaks in the Trading - Service. However, typecodes still leak oodles of memory. - - * orbsvcs/Trading_Service/Trading_Service.cpp: - Cleans self up properly after catching SIGINT. - - * orbsvcs/tests/Trading/TT_Info.cpp: - * orbsvcs/tests/Trading/Service_Type_Exporter.cpp: - * orbsvcs/tests/Trading/export_test.cpp: - Aesthetic changes. - -Fri Jul 10 16:35:21 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Param_Test/client.cpp: - Fixed bug in DII arg list creation. - - * TAO/tests/Param_Test/bd_short_seq.cpp: - * TAO/tests/Param_Test/bd_long_seq.cpp: - * TAO/tests/Param_Test/ub_short_seq.cpp: - * TAO/tests/Param_Test/ub_long_seq.cpp: - DII tests now work. - - * TAO/tests/Param_Test/any.cpp: - Made some changes - not done yet. DII test still doesn't work. - -Fri Jul 10 15:32:42 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * docs/implrepo.html: Another pass. - -Fri Jul 10 12:21:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/Makefile: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - Fixed errors and warnings reported by David. - -Fri Jul 10 00:32:51 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: - The skeletons were not releasing the strings allocated while - demarshalling the arguments. - - * docs/implrepo.html: - Another pass at the design document. - -Thu Jul 09 23:02:48 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA.cpp (create_internal_lock): Change method to watch out - for platforms without threads. Thanks to Hongyin Quan - <hq1@arl.wustl.edu> for pointing this out. - -Thu Jul 9 17:48:37 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * docs/implrepo.html: Carlos's comments have been addressed. - -Thu Jul 9 15:12:35 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tao/deep_free.cpp: wasn't freeing string fields of structs. - - * tests/Quoter/Makefile: removed STL vestige. - -Wed Jul 8 21:08:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * docs/implrepo.html: - Quick revision and added comments with remaining issues. - -Wed Jul 8 19:01:02 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * docs/implrepo.html: Another big revision of the paper. - -Wed Jul 8 17:13:00 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Cubit/TAO/DII_Cubit/client.cpp, - TAO/tests/Cubit/TAO/DII_Cubit/client.h, - TAO/tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsw, - TAO/tests/Cubit/TAO/DII_Cubit/DII_Cubit_Test.cpp, - TAO/tests/Cubit/TAO/DII_Cubit/DII_Cubit_Test.dsp, - TAO/tests/Cubit/TAO/DII_Cubit/README, - TAO/tests/Cubit/TAO/DII_Cubit/Makefile: - Combined client.h and client.cpp into one file, - initialized the return variables in all the Cubit - operations (to get rid of some UMRs in Purify), - removed the one-button test file DII_Cubit_Test.cpp - and the corresponding project file in VC (the perl - script does the same thing and more safely), updated - the DII_Cubit.dsw, Makefile and README files. - -Tue Jul 8 14:00:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs.dsp: When changing the RtecEventComm.id - file or the RtecScheduler.idl file, it is needed to - recompile the RtecEventChannelAdmin.idl file. This is a common - problem. So the programmer has to take care that the - dependencies in the Makefile or VC++ project file - are set properly. - - * orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.cpp, - orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java, - orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java.JDK1.2, - orbsvcs/tests/Simulator/README: - Simplified the event data. - -Tue Jul 7 22:11:17 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{h,cpp}: - Fixed DEC cxx errors, addressed a memory leak. - -Tue Jul 7 20:48:37 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Connect.{h,cpp}: Revert my previous changes. - -Tue Jul 7 19:47:15 198 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tao/Request.cpp: Slight modification (Andy's - suggestion) to send_oneway (), getting rid of an - error message when shutting down the Cubit server - via DII. - -Tue Jul 7 19:25:55 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/DII_Cubit_Test.cpp: - New file that implements a "one-button" DII Cubit test. - * DII_Cubit/Makefile: Added a build for dii_cubit_test.exe. - * DII_Cubit/DII_Cubit_Test.dsp: New project in the workspace. - * DII_Cubit/DII_Cubit.dsw: Updated workspace (new project). - -Tue Jul 7 08:21:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/Makefile: - * orbsvcs/Dump_Schedule/Makefile: - * orbsvcs/Event_Service/Makefile: - * orbsvcs/LifeCycle_Service/Makefile: - * orbsvcs/Naming_Service/Makefile: - * orbsvcs/Scheduling_Service/Makefile: - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/tests/Concurrency/Makefile: - * orbsvcs/tests/EC_Multiple/Makefile: - * orbsvcs/tests/EC_Throughput/Makefile: - * orbsvcs/tests/Event_Latency/Makefile: - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Simple_Naming/Makefile: - * tao/Makefile: - * tests/CDR/Makefile: - * tests/Cubit/TAO/IDL_Cubit/Makefile: - * tests/Cubit/TAO/MT_Cubit/Makefile: - * tests/OctetSeq/Makefile: - * tests/POA/Default_Servant/Makefile: - * tests/POA/Explicit_Activation/Makefile: - * tests/POA/FindPOA/Makefile: - * tests/POA/Generic_Servant/Makefile: - * tests/POA/NewPOA/Makefile: - * tests/POA/On_Demand_Activation/Makefile: - * tests/POA/RootPOA/Makefile: - * tests/Param_Test/Makefile: - * tests/Quoter/Makefile: - * tests/Thruput/TAO/Makefile: - * tests/NestedUpcall/Reactor/Makefile: - * tests/NestedUpcall/Triangle_Test/Makefile: - Updated dependencies. - -Tue Jul 07 07:36:36 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/compat/objbase.h: use #if 0 instead of // to comment out a - multiline #define, to avoid warning about a multiline comment. - - * tests/Param_Test/results.{h,cpp}: added trailing $ to Id string. - -Mon Jul 6 19:33:54 1998 Jeff Parsons <jp4@cs.wustl,edu> - - * TAO/tests/Cubit/TAO/DII_Cubit/client.cpp: - Made the shutdown request DII instead of SII. Everything - works on NT except for the shutdown option. Unix is OK. - Also, changed the parse_args call to come after initializing - the orb, so other orb-specific args can be used and not - confuse parse_args. - -Mon Jul 6 19:17:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * docs/Options.html: Added documentation about the - -ORBiiopprofilelock switch. - -Mon Jul 6 17:00:00 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Cubit/TAO/DII_Cubit/client.{h,cpp}: - Added a DII request on the naming service to get the - Cubit factory IOR, plus code to implement all the - command line options. Built with SunCC, it works on Unix, - but not yet on NT. - -Mon Jul 6 15:46:35 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/decode.cpp: - Strings contain a nested CDR with the bounds for it, the - demarshalling code in that case was invoking the TypeCode - constructor with the wrong parameters, hence the bounds were - invalid. The problem only shows up now because we were ignoring - the bounds in previous releases. - -Mon Jul 6 15:24:21 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/Logger/client.h - * tests/Logger/client.cpp - * orbsvcs/orbsvcs/Log/Logger_i.h - * orbsvcs/orbsvcs/Log/Logger_i.cpp - * orbsvcs/orbsvcs/Logger.idl - - Routine checkin. Ignore the man behind that curtain.... - Fully working version complete, but not yet Purified. - -Mon Jul 06 15:13:11 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/compat/initguid.h: Reordered some stuff. - - * tao/corba.h: Don't include in "compat/initguid.h" anymore. - -Mon Jul 6 15:10:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/Naming_Service/Makefile: - Updated dependencies. - - * orbsvcs/tests/EC_Throughput/ECT_Data.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - The CDR size was wrong, this resulted in all kind of strange - errors n the client side. This is another reminder that an octet - sequence only uses a single Message_Block, not a chain of them. - -Mon Jul 06 14:58:14 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/IIOP_Object.{h,cpp}: - * tao/Object.{h,i,cpp}: - * tao/Server_Request.{h,cpp}: - * tao/compat/objbase.h: Renamed REFIID to TAO_REFIID and - DEFINE_GUID to TAO_DEFINE_GUID to avoid conflict with MSVC's - COM. We don't support COM at this moment. - - * tao/compat/objbase.h: Disable the definition of TAO_VARENUM. It - is not used currently. Thanks to Maximilian Hoferer - <mhoferer@krones.de> for noticing this. - -Mon Jul 06 09:07:36 1998 Steve Huston <shuston@riverace.com> - - * tao/ORB_Core.{i cpp}: Removed redundant preprocessing token - concatentations - HP-UX aCC warned about them. - - * tao/Connect.h: Added #include "tao/corba.h" so the defs are visible - at template instantiation on AIX xlC. - -Mon Jul 6 04:45:02 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Connect.h (TAO_Client_Connect_Handler): Added a new data - member <reactive_> to trace whether this client connection is - running reactively or in a separate thread (other than the main - thread.) - - * tao/Connect.cpp (open,close,send_request): Check to see if the - client is going to run in a separate thread (by comparing its - thread id with that of reactor's.) If so, the handler won't try - to register itself with the reactor and simply block on the - socket IO calls. This change enables the NestedUpcall/Reactor - example to use the thread-per-connection strategy. - -Sun Jul 5 21:22:42 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/orbconf.h: Undid the change I made on July 3. Although it - fixed the one problem I was looking at, it broke everything - else. Oops. - - * TAO_IDL/be/be_codegen.cpp: Changed the TAO_EXPORT_MACRO - definition to override any that came before. Without this the - ordering of includes (putting corba.h before an orbsvc, such as - CosNamingC.h) would break in certain configurations. Also moved - it after the includes so it shouldn't affect included files. - -Sat Jul 4 01:18:21 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_Visitor.cpp: - * orbsvcs/orbsvcs/Trader/Constraint_l.cpp: - * orbsvcs/orbsvcs/Trader/Offer_Interpreters.cpp: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: - * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: - Addressed warnings/errors on IRIX. - -Fri Jul 03 21:51:44 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp (parse_args): - reset n_suppliers_ to 1, if <= 0, before the ACE_ERROR_RETURN - instead of after. (supplier_task): cast event_count_ to - CORBA::ULong to avoid signed/unsigned comparison. - - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp (push_consumer): - commented out unused local "ID". - -Fri Jul 3 19:54:03 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/orbconf.h: Changed the TAO_NAMESPACE_STORAGE_CLASS macros to - work better with namespaces on MSVC. - -Fri Jul 3 18:40:46 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}: - Debugged and tested directed queries. - - * orbsvcs/tests/Trading/Offer_Importer.{h,cpp}: - * orbsvcs/tests/Trading/import_test.cpp: - Added code to test directed queries. - -Fri Jul 03 17:30:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/tests/Simulator/README: Added more documentation. - - * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java: Register - now only for notification events. - - * orbsvcs/tests/Simulator/DOVEMIB/AnyAnalyser.{h,cpp}: support time stamps. - - * orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.{h,cpp}: support time stamps. - - * orbsvcs/tests/Simulator/DOVEMIB/PrintVisitor.{h,cpp}: support time stamps - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.{h, cpp}: moved - a lot of connection management into the new DOVE Supplier. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsp: Added the DOVE - Suplier files. - - * orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.{h,cpp}: All - the connection management with the event service is done here. - A standardized interface is now supported, thanks to - Kevin Stanley <kstanley1@mdc.com>. - -Fri Jul 03 16:38:12 1998 Steve Huston <shuston@riverace.com> - - * tao/Sequence.h (TAO_Unbounded_Sequence<CORBA::Octet>) Removed the - template type specification from constructor names so that this - compiles on AIX xlC as well as Sun C++ and HPUX aCC. - -Fri Jul 03 13:58:08 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.1.37 released. - -Fri Jul 3 13:05:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/ECT_Data.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - Fixed template instantiations. - -Fri Jul 03 11:36:04 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Param_Test/Makefile, - tests/Cubit/TAO/IDL_Cubit/Makefile: disabled perfect - hashing until we can stabilize its use. - -Fri Jul 03 11:34:38 1998 Carlos O'Ryan <coryan@JIG> - - * orbsvcs/tests/EC_Throughput/Makefile: - Added new object files to the Makefile. - - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - Protected against null publication or subscription list. - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Removed a possible race condition in consumer - disconnections. Thanks to Thomas Venturella <tventurell@mdc.com> - for the last two fixes. - -Fri Jul 03 08:40:28 1998 Steve Huston <shuston@riverace.com> - - * tao/corba.h: Reordered some includes to get it to compile clean on - HP-UX aCC. - -Fri Jul 03 02:03:23 1998 Carlos O'Ryan <coryan@JIG> - - * orbsvcs/tests/EC_Throughput/ECT_Data.h: - * orbsvcs/tests/EC_Throughput/ECT_Data.cpp: - * orbsvcs/tests/EC_Throughput/data.idl: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - Added an example on how to send C++ data across the wire. - - * orbsvcs/orbsvcs.dsw: - * orbsvcs/tests/EC_Throughput/EC_Throughput.dsw: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.dsp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.dsp: - Added MSVC++ project files for the new test. - - * tao/CDR.h: - Fixed typo in a extraction operator for InputCDR and strings, it - was declared as operator>>. - -Fri Jul 3 00:39:03 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}: - Added code to sort by preference the merged result sequence of a - federated query. - -Thu Jul 2 19:41:46 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * tests/Param_Test/Makefile: - * tests/Cubit/TAO/IDL_Cubit/Makefile: Added TAO_IDLFLAGS -P to enable - Perfect-hashed-operation-lookup strategy for the idl compiler. - -Thu Jul 2 19:22:24 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/Makefile: - * orbsvcs/tests/EC_Throughput/Makefile: - * orbsvcs/tests/EC_Throughput/svc.conf: - * orbsvcs/tests/EC_Throughput/data.idl: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.h: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - This test shows how to use the EC for custom marshalling, later - it will be adapted to measure throughput in the EC. - - * orbsvcs/orbsvcs/RtecEventComm.idl: - Added some padding so the payload (an encapsulated CDR) is - always properly aligned. - - * orbsvcs/tests/EC_Throughput/README: - * docs/releasenotes/ec.html: - Included some info about this new test. - -Thu Jul 2 14:28:01 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_array.cpp: We were generating incorrect code for - the out () and _retn () methods of the Array_var class. - - * TAO_IDL/be_include/be.h: Missing #include for Process.h added. - - * TAO_IDL/Makefile: Ran make depend - - * tests/Param_Test/README: Added description for the array tests. - -Thu Jul 2 12:36:28 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader[_T].{h,cpp}: - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.{h,cpp}: - For the 'in' operator in the standard OMG constraint language, the - Constraint Interpreter needs to identify and extract from Anys - sequences of primitive types, regardless of how many times the - sequence has been typedef'd. Added code to do this. - - * orbsvcs/tests/Trading/TTest.idl: - * orbsvcs/tests/Trading/TT_Info.cpp: - * orbsvcs/tests/Trading/Service_Type_Exporter.cpp: - * orbsvcs/tests/Trading/Offer_Exporter.cpp: - Now sends aliased sequences to the Trader to test the above - enhancement. - -Thu Jul 2 12:29:10 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - The Next round of changes for GPERF + TAO_IDL integration. NT - related stuff have been taken care of. attributes also should work - now. - * TAO_IDL/driver/drv_args.cpp: - * TAO_IDL/be_include/be_interface.h: - * TAO_IDL/be_include/be_codegen.h: - * TAO_IDL/be/be_interface.cpp: - * TAO_IDL/be/be_helper.cpp: - * TAO_IDL/be/be_codegen.cpp: - -Thu Jul 02 09:17:57 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/CDR/growth.cpp (main), - tests/OctetSeq/OctetSeq.cpp (run): replaced - ACE_hrtime_t-to-ACE_INT32 static casts with ACE_U64_TO_U32 - for compatibility with ACE_U_LongLong. - - * tests/NestedUpcall/Triangle_Test/Object_A_Impl.cpp: added - newline at end of file. - - * tests/POA/On_Demand_Activation/Servant_Locator.cpp (postinvoke): - added ACE_UNUSED_ARG (my_servant) to avoid compile warning about - unused variable with ACE_NDEBUG. - - * tests/Cubit/TAO/MT_Cubit/Task_Client (run_tests): use - ACE_OS::fprintf instead of fprintf, and fixed the format - specifier to match the argument type. - - * Makefile (release): use $(MAKE) instead of make for - recursive make. - -Thu Jul 02 01:50:58 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA: Renamed TAO_POA_Locking to Synchronization. Also - renamed the related enums to not use the USE_ prefix. - -Wed Jul 1 22:42:13 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/orbsvcs/CosTrading.idl: - Merged Sequences.idl into CosTrading.idl. - - * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{h,cpp}: - Addressed DEC cxx warnings/errors. Hopefully solved some, probbaly - introduced more. - -Wed Jul 01 21:14:11 1998 David L. Levine <levine@cs.wustl.edu> - - * tests/Param_Test/any.cpp: commented out unused static - any_table. - - * tests/Param_Test/fixed_array.cpp (check_validity): commented - out unused local ret. - - * tests/Param_Test/{bd,ub}_str_seq.cpp (init_parameters): - commented out unused local gen. - -Wed Jul 1 19:20:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * orbsvcs/LifeCycle_Service/Makefile: I hopefully - fixed the complains of the DEC cxx compiler. - -Wed Jul 1 15:50:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/ORB.cpp: Fixed a memory leak in the initial - references code. The pointers (name_service_ and trading_service_) - were not properly reused and not properly released. - - * tao/Operation_Table.h: Fixed a spelling problem with - TAO_operation_db_entry. - -Wed Jul 1 13:59:30 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * orbsvcs/LifeCycle_Service/Makefile: Removed STL flags. - - * tao/TAO.{h,cpp}: Passing in argc to the TAO_ORB_Manager by - reference, since ORB_init takes argc by reference. - - * orbsvcs/Trading_Service/Trading_Service.{h,cpp}: - * orbsvcs/Trading_Service/Makefile: - Made Trading Service app resemble other orbsvcs apps. Accepts -TS* - command line arguments. Has the ability to form a complete graph - federation with other traders on the same multicast network. - - * orbsvcs/tests/Trading/Offer_Exporter.{h,cpp}: - * orbsvcs/tests/Trading/Offer_Importer.{h,cpp}: - * orbsvcs/tests/Trading/Service_Type_Exporter.{h,cpp}: - * orbsvcs/tests/Trading/export_test.cpp: - * orbsvcs/tests/Trading/Makfile: - export_test will now export service types and offers to all - traders linked to the multicast-enabled trader, so import_test - will test federated queries. - - * orbsvcs/orbsvcs/IOR_Multicast.{h,cpp}: Added an init method for - initialization outside the constructor. - - * orbsvcs/orbsvcs/Makefile: Changed macro name from - TAO_HAS_DYNAMIC_PROPERTY_BUG to TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG. - - * orbsvcs/orbsvcs/Trader/*.*: - o Hopefully fixed DEC cxx errors/warnings. - o Added command-line configuration of trader policies, interfaces, - and multithreading support. - o Debugged link interface and federated queries. - o Added explicit template specialization. - -Wed Jul 1 1:55:23 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Cubit/TAO/DII_Cubit/Makefile: It works, at least with - SunCC. It builds the DII client and also the IDL server if - necessary (since we run it before running client.exe) -thanks - to David Levine for that. - * TAO/tests/Cubit/TAO/DII_Cubit/client.h, cpp: Now builds and - executes on Unix and NT. Also added some macros for the - environment checking inside the operations. - -Wed Jul 1 10:28:07 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/be_include/be_interface.h (be_type): Fixed the warnings - in g++. - -Wed Jul 1 06:36:11 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp: For the copying - version of the <<= operator, we were not doing a copy. Thanks to - Seth Widoff for pointing this out. - -Tue Jun 30 22:08:38 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp (lookup_strategy): added full - qualification of TAO_CodeGen::LOOKUP_STRATEGY return type. - -Tue Jun 30 18:27:49 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Sequence_T.i: - Another ACE_CAST_CONST problem, thanks to Seth Widoff - (sbw1@cs.wustl.edu) for catching this one. - -Tue Jun 30 18:21:04 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * tests/Quoter/Makefile: - Removed STL includes --- no longer needed for Trading Service. - -Tue Jun 30 16:50:12 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - First round of changes for GPERF + TAO_IDL integration. Execute - tao_idl with -P option to enable PERFECT_HASH operation lookup - strategy. - - IDL-Attributes are not supported yet. - - * TAO_IDL/driver/drv_args.cpp: Added option -P to enable - PERFECT_HASH operation lookup strategy. - - * TAO_IDL/be_include/be_interface.h: Added methods to generate - perfect hashing operation lookup table in the server skeleton - code. - - * TAO_IDL/be_include/be_helper.h (class TAO_OutStream): Added a - new stream type GPERF_INPUT to indicate the outstream is for - gperf's input file. - - * TAO_IDL/be_include/be_codegen.h (class TAO_CodeGen): Added <enum - LOOKUP_STRATEGY {...}> to indicate various lookup - strategies. Added the member and access methods that keeps track - of the TAO_OutStream that corresponds to the gperf's input file. - - * TAO_IDL/be_include/be.h: Included "ace/Process.h". - - * TAO_IDL/be/be_interface.cpp: - - * TAO_IDL/be/be_helper.cpp: - - * TAO_IDL/be/be_codegen.cpp: - - * tao/Operation_Table.h (TAO_Perfect_Hash_OpTable): - * tao/Operation_Table.cpp : - Defined the class TAO_Perfect_Hash_OpTable, the factory - class for Perfect_Hashing-Operation_Lookup strategy. - -Tue Jun 30 13:23:59 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - Workaround Sun/CC problem when compiling with -O (but not - -fast). Apparently it does not like to use static (file) scope - symbols in the definition of a template. - -Tue Jun 30 10:40:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * docs/configurations.html: Added documentation about the - -ORBiiopprofilelock switch. - - * tao/Client_Strategy_Factory.{h,cpp}: Added the create_iiop_profile_lock (void) - - * tao/GIOP.cpp: Use ACE_Lock instead of ACE_SYNCH_MUTEX. - - * tao/IIOP_Object.cpp: Added the initialization of the fwd_profile_lock_ptr to - the constructor. - - * tao/IIOP_Object.h: Changed the forward profile lock to a pointer to a lock. - - * tao/IIOP_Object.i: Added the initialization of the fwd_profile_lock_ptr to - the constructor. - - * tao/default_client.{h,cpp}: Added the parsing of "-ORBportiiopproflielock" to - the parse_args method. "thread" (default) means to use a mutex lock - on the access of the forwarding iiop profile. "null" means, use a null - mutex, which is faster, but does not provide any protection. - Added also the function create_iiop_profile_lock () to allow - others to create a new lock, depending on the above mentioned switch. - -Tue Jun 30 00:58:57 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.1.36 released. - -Mon Jun 29 14:43:17 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_array.cpp (gen_forany_defn): changed - declaration of friend CORBA::Any to friend class CORBA_Any, - to keep DEC cxx from complaining. Also, commented out - the declaration, because it doesn't appear to be necessary. - - * tests/OctetSeq/OctetSeq.cpp (main): cast sizeof to int - to avoid egcs warning about signed/unsigned comparison. - -Mon Jun 29 11:05:03 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/encode.cpp: - Removed unused variable. - -Mon Jun 29 11:00:26 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: - - After the call to do_static_call, we were not checking if some - exception was raised. This was causing major problems if there was - any post do_static_call processing such as narrowing to be - done. Thanks to Seth Widoff for reporting the problem. - -Sun Jun 28 21:33:48 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/GIOP.cpp: replaced ACE_SYNCH_RW_MUTEX with - ACE_SYNCH_MUTEX so that it will compile with g++ - (and be correct :-). - - * tests/OctetSeq/OctetSeq.cpp (main): changed loop index - i from u_int to int to avoid signed/unsigned comparison. - -Sun Jun 28 16:10:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tests/NestedUpcalls/Triangle_Test/Makefile: Added - this Makefile for use on Unix machines. - -Sun Jun 28 15:30:00 1998 Michael Kircher <mk1@cs.wustl.edu> - - * tao/GIOP.cpp: In method location_forwarding, removed - the explicit release of the IIOP_Object. It is implicitly - released by the release of the CORBA::OBject pointer. - - * tests/Quoter/Generic_Factory_Impl.{h,cpp}: Splitted - the create_object method into two parts. - -Sat Jun 27 18:13:05 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * TAO/tests/POA/Explicit_Activation/server.cpp (main): Changed - #include "ace/Timeprobes.h" to #include "tao/Timeprobes.h". diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c deleted file mode 100644 index dba65d73192..00000000000 --- a/TAO/ChangeLog-98c +++ /dev/null @@ -1,5511 +0,0 @@ -Thu Dec 31 16:28:27 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/tao_idl.dsp: - * TAO_IDL/tao_idl_static.dsp: Also write the executables to - $ACE_ROOT/bin. - - * orbsvcs/Naming_Service/Naming_Service.dsp: Dependency update. - - * orbsvcs/orbsvcs/orbsvcs.dsp: Added Corlos' new files for Event - Channel into the project. Cleaned up IDL configurations. - - * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp: - * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: - * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp: - * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp: Don't need to - specify relative path for header files reside in the same - directory. - - * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h: - * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h: - * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h: - * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.h: - * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h: Added - TAO_ORBSVCS_export decls. - -Thu Dec 31 15:28:49 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: - * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: - * orbsvcs/orbsvcs/Event/EC_Dispatching.h: - * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: - * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: - * orbsvcs/orbsvcs/Event/EC_Filter.h: - * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: - I'm prototyping a new version of the real-time Event Channel, - this version will be more efficient, more configurable and - (hopefully) easier to maintain. This initial commit is just for - backup purposes, it does not compile and it will suffer many - changes before it is usable. - -Thu Dec 31 15:34:47 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: - Removed temporary reference called _env, it is not needed - because we can use TAO_THROW_ENV() instead of TAO_THROW. - -Thu Dec 31 15:04:57 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - Added the CosEC files to the Makefile; it compiles with both - Sun/CC and egcs. - - * orbsvcs/orbsvcs/Time/Timer_Helper.cpp: - Removed template instantiations, they are in - orbsvcs-tmplinst.cpp already. - -1998-12-31 Seth Widoff <swidoff@cs.cmu.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: - Fixed another g++ error (assignment to an invalid narrower type). - -Thu Dec 31 13:20:17 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/CosTimeBase.idl: Updated the comments to say - that module TimeBase is a part of the TAO Time Service IDL. - -Thu Dec 31 12:39:24 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - * orbsvcs/Time_Service/Server_i.cpp (parse_args): Changed - the _env to TAO_TRY_ENV. - - * orbsvcs/Time_Service/Server_i.cpp (parse_args): Changed - the _env to TAO_TRY_ENV. Checked for invalid filename while - reading from the IOR file. Removed the unreferenced variables. - -Thu Dec 31 12:28:31 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): Changed - the _env to TAO_TRY_ENV. - - * orbsvcs/orbsvcs/Time/TAO_TIO.cpp : Changed the _env to TAO_TRY_ENV. - Removed the unreferenced variables as pointed out by IRIX compiler. - Thanks to Carlos for this. Fixed warnings like statement unreachable. - - * orbsvcs/orbsvcs/Time/TAO_UTO.cpp : Changed the _env to TAO_TRY_ENV. - - * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp : Changed the _env - to TAO_TRY_ENV. Removed some unreferenced variables. - - * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp :Changed the _env - to TAO_TRY_ENV. - -Thu Dec 31 11:56:47 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Fixed several errors and warnings detected by the IRIX - compiler. - - * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp: - Removed unused variable. - - * TAO_IDL/be/be_visitor_typedef/typedef.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_cs.cpp: - * TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp: - * TAO_IDL/be/be_visitor_argument/post_upcall_ss.cpp: - Removed unused variables and unreached statements. - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h: - * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h: - Added several forward declarations. - - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: - Removed unnecesary template instantiations. - -1998-12-31 Seth Widoff <swidoff@cs.cmu.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.{cpp,h}: - Fixed a crazy #include problem with g++. - -Thu Dec 31 09:46:12 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - Same change as Andy, but also added a dependency between - TimeService.idl and CosTimeBase.idl; this is safer and should - also work when running make -j 2 (or more). - -Thu Dec 31 09:27:05 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * orbsvcs/orbsvcs/Makefile: - - TimeService.idl includes CosTimeBase.idl. However, the - CosTimeBase.idl file was run through the IDL compiler after - TimeService.idl which was causing errors because the generated - files for TimeService were including the generated files for - CosTimeBase. - -Thu Dec 31 03:54:05 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/Loader/Servant_Activator.{h,cpp}: Added the - ServantActivator_i implementation files which load the dll on - creation and make object-servant associations on demand. - - * examples/POA/Loader/Servant_Locator.{h,cpp}: Added the - ServantLocator_i implementation files which load the dll on - creation and obtain and delete servants on demand per client - request. - - * examples/POA/Loader/Server_Manager.{h,cpp}: Helper class - implementation used by the server application. - - * examples/POA/Loader/server.cpp: The server application. - - * examples/POA/Loader/Makefile: Added to the repository. - - * examples/POA/Loader/README: Explains the example. - - * examples/POA/Loader/run_test.pl: Perl script for executing the - example. - - * examples/POA/Generic_Servant/MyFooServant.cpp (supply_servant): - Added this function. It will provide the appropriate servant - depending on the ObjectId passed to it. - - * examples/POA/Generic_Servant/MyFooServant.cpp (destroy_servant): - Added this function. It will terminate the servant. - -Thu Dec 31 00:11:32 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * performance-tests/POA/Object_Creation_And_Registration/registration.cpp (main): - Added timing stats for calls to servant_to_id(). - - * orbsvcs/tests/Time/Time.dsp: - * orbsvcs/Time_Service/Time_Service.dsp: - * orbsvcs/orbsvcs/orbsvcs.dsp: - - Added new Time Service files. - - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: Fixed comment typo. - - * performance-tests/POA/Object_Creation_And_Registration/registration.cpp (main): - Added code to check the effectiveness of the hashing of - servants. - - * tao/ORB_Core.cpp (root_poa): Reset the root_poa_reference_ when - the root_poa_ is changed. - - * tao/Servant_Base.cpp (_default_POA): Changed implementation to - use new ORB_Core::root_poa_reference() routine. - - * tao/ORB_Core.i (root_poa_reference): Added this method so that - we do not have to create a new reference every time the POA - reference is needed. - -Wed Dec 31 00:01:40 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading/server.cpp: Added support so that - the program can break out of main () in case of any exception/error. - - * examples/POA/On_Demand_Loading/Servant_Manager.h: - Made <dllname_> and <create_symbol_> as ACE_CString variables. - Thanks to Irfan for suggesting it. - - * examples/POA/On_Demand_Loading/Servant_Manager.cpp - (parse_string): Changed the method to implement simpler parsing - using ACE_CString methods. - - * examples/POA/On_Demand_Loading/Servant_Manager.cpp - (create_dll_object_id): Concatenation achieved very simply using - ACE_CString variable. - - * examples/POA/On_Demand_Loading/README: Thanks to Doug for - modifying it and making the concept used in the example much - clearer. - - * examples/POA/On_Demand_Loading/server.cpp: Removed unnecessary - TAO_TRY macros. - -Wed Dec 30 22:52:16 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Makefile: on ghs/VxWorks, removed -g suppression for - POA.cpp build. It no longer seems to be necessary, and - for some reason confused the make on SunOS 5.7 host. - -Wed Dec 30 20:45:42 1998 Pradeep Gore <pradeep@flamenco.cs.wustl.edu> - - * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h: - * orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp: - moved initialization from contructor to the init method. - added a shutdown method. - - * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h: - * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp: - moved initialization from contructor to the init method. - - * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h: - * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp: - moved initialization from contructor to the init method. - - * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h: - * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: - initialize the EventHeader using the SupplierQOS. - added <connected> method. - -Wed Dec 30 19:17:44 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading/Server_Manager.{h,cpp}: - Added these two files for the helper class Server_i used by the - server application. - - * examples/POA/On_Demand_Loading/server.cpp: - This file has been totally revamped and now uses the Server_i - class object. - - * examples/POA/On_Demand_Loading/Makefile: - Added an extra entry for Server_Manager used by the server - program. - -Wed Dec 30 17:25:51 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - The following files have been added to the newly created - Time directory under orbsvcs/orbsvcs - - * orbsvcs/orbsvcs/Time/TAO_TIO.cpp: This is the Time Interval - Object. It represents a time interval and has operations to - compare itself with a UTO or another TIO. It can also create - a UTO from the value of it's time interval. - - * orbsvcs/orbsvcs/Time/TAO_TIO.h: This is the Time Interval - Object. It represents a time interval and has operations to - compare itself with a UTO or another TIO. It can also create - a UTO from the value of it's time interval. - - * orbsvcs/orbsvcs/Time/TAO_UTO.cpp: Universal Time Object - Implementation. This is an encapsulation of time. It provides - the following operations on basic time. - - - Construction of a UTO from piece parts, and extraction - of the parts from a UTO. The piece parts are the readonly - attributes : - time - inaccuracy - time displacement factor - structure with all the above. - - - Comparison of time. - - - Conversion from relative to absolute time, and conversion - to an interval (TIO). - - * orbsvcs/orbsvcs/Time/TAO_UTO.h: Class definition for TAO_UTO.cpp - - * orbsvcs/orbsvcs/Time//TAO_Time_Service_Server.cpp:The server Object - implementation implements methods to retrieve current time as well - as secure current time. The times are retrieved as UTOs. The object - also allows creation of a TIO for a given time interval. The notion - of time returned here is the local time of the system. - - * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h: Class definition - for TAO_Time_Service_Server.cpp - - * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: The clerk Object - implementation implements methods to retrieve GLOBAL time as well as - secure GLOBAL time. The times are retrieved as UTOs. The object also - allows creation of a TIO for a given time interval. The notion of time - returned here is the globally synchronized time. - - * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h: Class definition - for TAO_Time_Service_Clerk.cpp - - * orbsvcs/orbsvcs/Time/Timer_Helper.cpp: This is the helper class used - by clerk to get globally syncronized time. This class is registered with - the reactor that calls the handle_timeout () on this preiodically. The - handle_timeout, in turn, gets time from the various servers in the network. - It then updates the clerks notion of time. - - * orbsvcs/orbsvcs/Time/Timer_Helper.h: Class definition for the - Timer_Helper.cpp - - -Wed Dec 30 17:03:16 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - * orbsvcs/orbsvcs/TimeService.idl (CosTime): This is the IDL - for the Time Service. It includes CosTimeBase.idl that - defines the module TimeBase. This module has the IDL definition - for the various data structures used in the time service. - The separation of the two modules is required because the - TimeBase module is being used in other TAO services. - - * orbsvcs/orbsvcs/Makefile : Updated the makefile to now make - the newly added Time Service to TAO. This includes generating - the IDL stubs in orbsvcs/orbsvcs and adding all the implementation - objects in /orbsvcs/orbsvcs/Time to liborbsvcs. - -Wed Dec 30 17:37:19 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - * orbsvcs/tests/EC_Mcast/EC_Mcast.h: - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - Detecting if a fragment comes from the current process is harder - than I thought: just using the local address of the seding - socket is not enough, because in some platform this address has - the ipaddr set to 0 (the source address is chosen by the kernel - after routing considerations). - We use the ACE facilities to find the list of local ipaddresses - to work around this problem. - - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - Adjusted the timeout value for the UDP fragments, it was too - low. - - * orbsvcs/tests/EC_Mcast/README: - Updated the documentation. - -Wed Dec 30 16:43:35 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - The following files have been added to the newly created - Time_Service directory under orbsvcs/ - - * orbsvcs/Time_Service/Server_i.h: This is the server driver - program for the Time Service. It registers the - TAO_Time_Service_Server with the orb and listens infinitely - within orb.run () for invocations from the clerk. - - * orbsvcs/Time_Service/Server_i.cpp: This is the server driver - program for the Time Service. It registers the - TAO_Time_Service_Server with the orb and listens infinitely - within orb.run () for invocations from the clerk. - - * orbsvcs/Time_Service/Clerk_i.h : This is the clerk driver - program for the Time Service. It registers the - TAO_Time_Service_Clerk with the orb. It also gets the IORs - of the various time servers in the network and passes them to - the TAO_Time_Service_Clerk. It listens for invocations from - the clients. - - * orbsvcs/Time_Service/Clerk_i.cpp: This is the clerk driver - program for the Time Service. It registers the - TAO_Time_Service_Clerk with the orb. It also gets the IORs - of the various time servers in the network and passes them to - the TAO_Time_Service_Clerk. It listens for invocations from - the clients. - - * orbsvcs/Time_Service/server.cpp: This is the server wrapper - program. - - * orbsvcs/Time_Service/clerk.cpp: This is the clerk wrapper - program. - - * orbsvcs/Time_Service/Makefile: This is the Makefile for this - directory that generates the server and the clerk binaries. - - -Wed Dec 30 16:26:51 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - The following files have been added to the newly created Time - directory under orbsvcs/tests. - - * orbsvcs/tests/Time/Makefile: This makefile compiles just the - client test in this directory. - - * orbsvcs/tests/Time/client.cpp: This is the client wrapper. - - * orbsvcs/tests/Time/Client_i.cpp: This class runs the various - tests for the Time Service. It calls the TimeService clerk - running on the same machine and asserts the correctness of the - various operations. - - * orbsvcs/tests/Time/Client_i.h: This class runs the various - tests for the Time Service. It calls the TimeService clerk - running on the same machine and asserts the correctness of the - various operations. - - -Wed Dec 30 16:19:06 1998 Pradeep Gore <pradeep@flamenco.cs.wustl.edu> - - * orbsvcs/tests/CosEC_Basic: - * orbsvcs/tests/CosEC_Basic/README: - * orbsvcs/tests/CosEC_Basic/CosECConsumer.cpp: - * orbsvcs/tests/CosEC_Basic/CosECConsumer.h: - * orbsvcs/tests/CosEC_Basic/CosECSupplier.cpp: - * orbsvcs/tests/CosEC_Basic/CosECSupplier.h: - * orbsvcs/tests/CosEC_Basic/CosEC_Basic.cpp: - * orbsvcs/tests/CosEC_Basic/CosEC_Basic.h: - * orbsvcs/tests/CosEC_Basic/Makefile: - Added the following files for the CosEC test to orbsvcs - -1998-12-30 Seth Widoff <swidoff@cs.cmu.edu> - - * orbsvcs/orbsvcs/Trader/Trader_T.{cpp,h}: - Fixed a couple of syntax errors in my last change that were - caught by NT, but missed by the more liberal SunCC - compiler. Ack! - -Wed Dec 30 12:22:58 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Any.cpp (CORBA_Any): Removed sharing of <value_> in the copy - constructor. It'd nice to have it but according to CORBA spec. - Any always performs a deep_copy and owns the object. - -Wed Dec 30 02:47:46 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/IIOP_Object (Profile): Removed the 1001 different - constructors and set() methods of the Profile class. We are now - down to a bare minimum. Also did a complete make-over of this - class to make it easier and simpler to use. - - The major change that improved the performance of creating new - objects was moving the calls to get_host_name() and - get_host_addr() out of the Profile class and into the ORB - initialization routine. This way these functions are only - called once per ORB and not once per object. - - In other words, these changes were necessary to improve the - performance of object creation in TAO. The change is fairly - simple in the sense that previously the IIOP::Profile was fed - the endpoint INET_Addr on creation by the ORB_Core and the - Profile figured out the host and port information from the - INET_Addr. The figuring out part was through the very expensive - gethostby{name,addr} routine. - - The change was to move the expensive gethostby{name,addr} - routine out of the Profile and into the ORB_Core and simply - provide the cached host and port information to the - IIOP::Profile when it is constructed. - - * tao/Servant_Base.cpp (_create_stub): Removed the creation of an - extra STUB_Object. - - * tao/params.h (TAO_ORB_Parameters): Did a complete make-over of - this class to make it easier and simpler to use (memory - management issues are now much simpler). - - * tao/ORB_Core.h (TAO_Resource_Factory): Removed the <addr_> from - the ORB_Core. It was already in the orb parameters. - - * tao/Active_Object_Map.i (TAO_Active_Object_Map): Added the - deletion of the reverse map. - - * performance-tests/POA/Object_Creation_And_Registration/registration.cpp: - New test to measure the time it takes to register and activate - an object in the POA. - - * examples/POA/DSI/run_test.pl: - * examples/POA/Default_Servant/run_test.pl: - * examples/POA/On_Demand_Loading/run_test.pl: - * examples/POA/On_Demand_Activation/run_test.pl: - * examples/POA/Explicit_Activation/run_test.pl: - - Unlink ior files before starting the server. - -Wed Dec 30 01:17:42 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/DynAny_Test/basic_test.dsp: Fixed project configurations. - - * tests/DynAny_Test/test_dynsequence.cpp (run_test): Don't delete - <out_str1>, it is owned by the any underneath. - - * tao/encode.cpp (TAO_Marshal_Any::encode): Try to reuse the cdr - string in an any as long as it has one, which is almost always - be the case. - - * tao/DynAny_i.cpp (from_any,to_any): The correct way of making - sure if an any contains any data is to check it's cdr ptr, not - it's value. - - * tao/Any.cpp: Cleaned up the code and fixed many discrepencies - between code and comments. Make sure ownerships are well kept. - (CORBA_Any): Always duplicates the cdr string. <any_owns_data_> - now only refers to ownership of <value_>. - (CORBA_Any): (Copy ctor) Always duplicates the cdr string. If - <src> owns its data, then we borrow it. Notice the copying any - doesn't own the object. - -Tue Dec 29 22:53:08 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/run_tests.pl: - removed # at beginning of first line of script. Thanks - to Nanbor and Andy for reporting that they couldn't - run it, because they use tcsh and set their LD_LIBRARY_PATH - after sourcing their .[t]cshrc. - -1998-12-29 Seth Widoff <swidoff@cs.cmu.edu> - - * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Constraint_Visitors.{h,cpp}: - For the "in" operator, the trader now uses Dynamic Anys to - access the values of service offer sequences rather than - the deprecated Any::value method. Thanks to Nanbor - <nanbor@cs.wustl.edu> for noticing this use of the deprecated - method. - -Tue Dec 29 14:29:22 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/try_macros.h: - Changed the definition of the TAO_TRY_ENV macro from __env to - _tao_try_environment. - - * tao/decode.cpp: - Removed another __ in a variable name. - - * tao/ORB.cpp: - * tao/DynAnyC.cpp: - * tao/Object_KeyC.cpp: - * tao/POAC.cpp: - Changed _tc__tc for _tc_TAO_tc - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Removed explicit use of __env. - -Tue Dec 29 15:18:09 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.46 released. - -Tue Dec 29 14:40:55 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading/README: Added changes to the - README so as to make it clear that the level of granualarity in - this example is at the object level, i.e. every object is - associated with an dll which is loaded on demand. - -Tue Dec 29 14:32:06 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.45 released. - -Tue Dec 29 13:16:08 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: - - We were generating variables with names that had two consecutive - underscores ('_'). However, as per the C++ standard, variables - with __ are reserved for the compiler. This happened with the - typecode variables with prefix _tc__tc. We now generate - _tc_TAO_tc. Thanks to Jonathan Biggar <jon@floorboard.com> for - noticing this. - -Mon Dec 28 16:44:18 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP: Fixed "used before it was - declared inline" problem. Also, made opertor== and opertor!= - class methods. - -Mon Dec 28 13:13:03 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * examples/Simple/time/Server_i.cpp (parse_args): Fixed an - incorrect return value. Thanks to Barry Hoggard - <hoggardb@panix.com> for reporting this. - -Mon Dec 28 11:49:04 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * */Makefile: - Updated dependencies. - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - Fixed egcs 1.1.1 warning, thanks to David for reporting this - one. - - * tao/ORB.h: - Removed _tc_alias and _tc_except from the list of TypeCode - constants, thanks to Jerry De Master <jdemaste@ipdinc.com> for - reporting this problem. - -Mon Dec 28 10:07:55 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: re-enabled sfp build. It - should be fixed now. - -Sun Dec 27 15:23:25 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: - * orbsvcs/orbsvcs/Trader/Trader.cpp: - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: Removed some - extra template instantiations. Thanks to Ben Eng - <ben@jetpen.com> for reporting this. - -Sun Dec 27 14:33:33 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/Makefile,fe/y.tab.{h,cpp,cpp.diff}: commented out - #pragma ident in generated parser, because some compilers - complain about it. Thanks to Barry Hoggard <hoggardb@panix.com> - for reporting this. - - * performance-tests/Cubit/TAO/DII_Cubit/Makefile: added - -ptr options for Sun CC, so that it uses the IDL_Cubit - template repository. - -Sun Dec 27 09:27:23 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: don't build sfp, even with - Sun CC, because the Makefile didn't handle it properly. - -Fri Dec 25 18:26:31 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Object_Table: Renamed all Object_Table classes to - Active_Object_Map. This makes the names consistent with the new - POA spec. Also renamed the files. - - The other major change was to add a reverse lookup table to the - active object map. This new table map servants to object ids. - This is used to find servants in the active object map when - _this() is called. The previous implementation was a simple, - but expensive, linear search. This made object registration and - activation very expensive when there are many objects in the - active object map. Note that this optimization is only relevant - in the UNIQUE_ID POA policy. - - Thanks to Jonathan Biggar <jon@floorboard.com> for suggesting - this optimization. - - * tao/orbconf.h: TAO_DEFAULT_SERVER_OBJECT_TABLE_SIZE is - deprecated. Please use - TAO_DEFAULT_SERVER_ACTIVE_OBJECT_MAP_SIZE. - - * tao/Server_Strategy_Factory, default_server and params: Added - the ability to change the default creation policy of reverse - active object map. - - * tao/Operation_Table: Removed template specialization and made - use of the new ACE_Hash_Map_Manager_Ex. - - * tao/Servant_Base.h (TAO_Servant_Hash): Added a new class so that - we can hash servants. - - * tao/Sequence.h (TAO_Base_Sequence): Removed the hash() method - from this class. It was a non-standard method that is not - required with the new Hash_Map_Manager_Ex design. - - Added TAO_ObjectId_Hash that will help us hash object ids. - - * tao/POA: Removed the second POA constructor which took the - active object map as a parameter. Since the user never gets to - call this function, this second constructor is extra. Anyway, - if the user does want to specific their own (custom) active - object map, they should use the -ORBsystemidpolicydemuxstrategy - user or -ORBuseridpolicydemuxstrategy user or - -ORBuniqueidpolicyreversedemuxstrategy user policy. - - This change also effected some functions in ORB.cpp, - ORB_Core.cpp, and poa_T.cpp. - - * tao/default_server.cpp (parse_args): Added new option - -ORBuniqueidpolicyreversedemuxstrategy. - -Fri Dec 25 18:27:21 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_array.cpp - TAO_IDL/be_include/be_array.h: - - Moved code generation of the var, out, and forany classes to the - visitor for arrays since there were some dependencies on the - information stored in the visitor context. In particular, this - was required to handle anonymous arrays in structs and unions. - - * TAO_IDL/be/be_type.cpp (nested_type_name) - TAO_IDL/be_include/be_type.h (nested_type_name): - - Added a third parameter for prefix. We need this for anonymous - array type names who have an underscore prepended to the field - name. - - * TAO_IDL/be/be_visitor_array/array_ch.cpp - TAO_IDL/be/be_visitor_array/array_ci.cpp - TAO_IDL/be/be_visitor_array/array_cs.cpp - TAO_IDL/be/be_visitor_array/cdr_ch.cpp - TAO_IDL/be/be_visitor_array/cdr_cs.cpp - TAO_IDL/be_include/be_visitor_array/array_ch.h - TAO_IDL/be_include/be_visitor_array/array_ci.h: - - Moved code generation of the var, out, and forany classes to the - visitors. In addition, fixed a number of problems with anonymous - arrays in structs and unions. Fixed CDR operators for anonymous - arrays. - - * TAO_IDL/be/be_visitor_field/field_ch.cpp - TAO_IDL/be/be_visitor_field/field_ci.cpp - TAO_IDL/be/be_visitor_field/field_cs.cpp - TAO_IDL/be/be_visitor_field/cdr_cs.cpp - - Fixed problems with anonymous arrays and sequences. - - * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp - TAO_IDL/be/be_visitor_union_branch/public_access.cpp - TAO_IDL/be/be_visitor_union_branch/public_assign.cpp - TAO_IDL/be/be_visitor_union_branch/public_ch.cpp - TAO_IDL/be/be_visitor_union_branch/public_ci.cpp - TAO_IDL/be/be_visitor_union_branch/public_cs.cpp - TAO_IDL/be/be_visitor_union_branch/public_reset.cpp: - - Fixed problems with anonymous arrays and sequences. - -Thu Dec 24 09:45:36 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.44 released. - -Thu Dec 24 09:22:02 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: only build sfp with Sun CC - for now. On some other platforms, the generated code - from sfp.idl doesn't compile. - -Wed Dec 23 23:55:25 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading/Servant_Manager.{h,cpp}: - New addition to the repository. These are the helper files - containing the common code between the ServantActivator and the - ServantLocator. - - * examples/POA/On_Demand_Loading/Servant_Activator.{h,cpp}: - * examples/POA/On_Demand_Loading/Servant_Locator.{h,cpp}: - Removed the superflous methods and added an object of - ServantManager which provides the helper methods. - - * examples/POA/On_Demand_Loading/Makefile: - It now contains a Servant_Manager entry. - -Wed Dec 23 15:16:00 CST 1998 Chris Gill <cdgill@cs.wustl.edu> - - * TAO/docs/events_tutorial.html: added tutorial on event channel. - Thanks to Carlos O'Ryan for ongoing help maintaining this, and to - Tim Harrison for providing the original version. - - * TAO/orbsvs/tests/EC_Throughput/ECT_Consumer.cpp - TAO/orbsvs/tests/EC_Throughput/ECT_Consumer_Driver.cpp - TAO/orbsvs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: - converted a number of places to use the TAO_CHECK_ENV_RETURN_VOID - macro consistently, added comments, etc. - -Wed Dec 23 14:44:04 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: - - Due to a bug in g++2.7.2.3 we were getting lots of link time - undefined symbol errors. This happened for sequences of objects - and interfaces for those platforms that do not support template - specializations or require explicit template - instantiations. Thanks to the efforts of David Levine, we were - able to pinpoint precisely where the problem occured. This was - fixed by moving the generated class declaration of the object - manager after the generated class declaration of the sequence. - - * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: - - In the generated code for _non_existent_skel, the - _tao_obj_reference parameter was unused. We were getting - warnings for this case. - - * tao/Sequence.h: - - A number of classes had their destructors protected. They are - now moved to the public section. - -Wed Dec 23 12:30:25 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/try_macros.h (TAO_RETHROW_RETURN_VOID): This macro was not - defined for platforms without native c++ exceptions. - - * tests/Param_Test/except.cpp (dii_req_invoke): Changed to use - TAO_RETHROW_SAME_ENV_RETURN_VOID. We are not throwing the - exception to another env here. - -Wed Dec 23 11:07:46 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_type.cpp (nested_type_name): - - We had forgotten to insert a "::" in the computation of the - nested type name. Thanks to Christian von Mueffling (cvm@aiss.de) - for sending the bug report. - -Wed Dec 23 03:41:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Param_Test/*.{h,cpp} (dii_req_invoke): Added a new mehtod - for all test classes. All of them but Test_Exception simply - invoke the passed-in DII request. But for Test_Exception, we - need to catch the exceptions from the server and check if the - exceptions are what we are waiting for. - - * tests/Param_Test/objref.cpp (init_parameters): Although - <out_courier_> and <ret_courier_> are pointers to return values, - they still need to be initialized to nil object reference. - Otherwise, any can't encode it. - -Tue Dec 23 02:07:14 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/Explicit_Activation/Makefile: - * examples/POA/On_Demand_Activation/Makefile: - * examples/POA/On_Demand_Loading/Makefile: - - Removed dependency on libserver.a from all the above Makefiles. - -Tue Dec 22 13:43:35 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_array/array_ch.cpp (visit_array): We - should use TAO_NAMESPACE_STORAGE_CLASS to decorate the array - memory management functions only when the array is directly - within a module. Otherwise, "static" should always be used. - -Tue Dec 22 09:13:06 1998 David L. Levine <levine@cs.wustl.edu> - - * examples/Simple/chat/README: updated VxWorks information. - - * examples/POA/Generic_Servant/Makefile: added LIBS=-lTAO to avoid - build warning on DU 4.0. - - * TAO_IDL/driver/drv_private.cpp: protected NFILES #define. - -Tue Dec 22 09:36:37 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_cs.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_cs.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_cs.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_cs.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_cs.cpp: - - Added these new files. Some compilers were giving lots of - problems when we had virtual methods inlined. So we have now - moved these methods (e.g., _allocate_buffer, _deallocate_buffer, - _shrink_buffer) to the implementation file. - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: - - The destructor is now defined "virtual" because there are - virtual methods. - - * TAO_IDL/be/be_visitor_sequence.cpp: - - Added #include statements for the newly added files. - - * TAO_IDL/be_include/be_visitor_sequence/sequence_cs.h: - - A bunch on new methods added to the visitor class. These methods - are defined in the five new files added above. - -Tue Dec 22 07:44:07 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Marshal.i (deep_free): commented out unused parameter - "source". - -Tue Dec 22 03:33:14 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Exception.{h,cpp}: If you try to catch the same exception - twice, VC will complain. Added a new TAO_DONT_CATCH class for - use when we want to disable catching all exceptions. - -Tue Dec 22 02:37:38 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading/Servant_Activator.h: - Added an ACE_HASH_MAP_MANAGER member which associates an - ObjectId with an dll. - - * examples/POA/On_Demand_Loading/Servant_Activator.cpp - (activate_servant): The dll object is bound to the ObjectId of - the servant. - - * examples/POA/On_Demand_Loading/Servant_Activator.cpp - (deactivate_servant): The dll object is removed from the servant - hash map. - -Tue Dec 22 01:12:16 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/try_macros.h: Defined TAO_CATCHANY as - TAO_CATCH (TAO_DONT_CATCH, ex) when building DEBUG library - (when ACE_NDEBUG is _not_ defined.) This will make un-expected - exception very out-standing and let debuggers have a chance to - catch these exceptions for us. - - * orbsvcs/orbsvcs/Trader/Trader_T.cpp (extract): Changed to use - any's >>= operator to extract a sequence. No need to decode it - yourself. - -Mon Dec 21 21:42:24 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp - (TAO_Literal_Constraint): Strings carried by any's are managed - by any's. They must be duplicated before assigned to others. - -Mon Dec 21 20:45:26 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * examples/POA/Generic_Servant/MyFooServant.cpp: Changed - ACE_Svc_Export to GENERIC_SERVANT_Export. - -Mon Dec 21 17:05:25 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO/TAO-INSTALL.html: Updated the installation notes to indicate - that all of TAO should be built. Thanks to Brian Wallis - <Brian.Wallis@sr.com.au> for reporting this. - -Mon Dec 21 17:05:25 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Marshal.i (deep_free): - * tao/decode.cpp: - * tao/encode.cpp: More memory management bug fixes for Any with - Any. - -Mon Dec 21 11:56:29 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_array/array_ch.cpp (visit_array): Fixed - the functions to use TAO_NAMESPACE_STORAGE_CLASS instead of - static. Thanks to Patrice Bensoussan <pbensoussan@amadeus.net> - for reporting this bug. - -Mon Dec 21 09:15:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/ECT_Driver.i: - Fixed some warnings reported by David. - -Mon Dec 21 08:30:09 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/DII_Cubit/Makefile: - for DEC cxx only, added IDL_Cubit template repository - location to CCFLAGS. That allows the linker to find - all necessary template instantiations. - -Sun Dec 20 20:28:36 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tests/Param_Test/param_test_i.cpp (test_any): Added tests for - array, struct, and sequence types. - - * tests/Param_Test/any.{h,cpp}: Added tests for more data types. - Restructured parameters setting routine so it will always test - all the types included in the test. - -Sun Dec 20 09:17:51 1998 David L. Levine <levine@cs.wustl.edu> - - * examples/Simple/chat/README: added VxWorks info. - -Sun Dec 20 04:34:58 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * examples/Simple/chat/Client_i.cpp: Couple of minor changes. - - * examples/Simple/chat: Added NT makefiles. - -Sat Dec 19 20:12:36 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Any.cpp (operator<<=): Added a missing "const" keyword. - Thanks to David for noticing this. - -Fri Dec 18 00:20:37 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading/Servant_Locator.{h,cpp}: - This interface of the Servant_Manager loads the servant per - client request. - - * examples/POA/On_Demand_Loading/run_test_pl: This script is used - to run this example. - - * examples/POA/On_Demand_Loading/server.cpp: Added changes to - incorporate the Servant Locator interface. - - * examples/POA/On_Demand_Loading/README: Added changes about the - Servant Locator. - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp (export): - commented out declaration/initialization of unused - local plength. - -Fri Dec 18 23:02:08 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading: Removed the following entries: - examples/POA/On_Demand_Loading/Dir_Service.idl - examples/POA/On_Demand_Loading/Dir_Sevice_i.{h,cpp} - examples/POA/On_Demand_Loading/Makefile.DirService - examples/POA/On_Demand_Loading/Makefile.Client - examples/POA/On_Demand_Loading/client.cpp - - Now this example uses the - examples/POA/Generic_Servant/MyFooServant as the servant which - will be loaded on demand. - - * examples/POA/Generic_Servant/Makefile: Added changes so that an - libMyFoo.so is created. - - * examples/POA/Generic_Servant/MyFooServant.cpp (create_MyFoo): - Added this extern "C" function which creates an MyFoo object. - - -Fri Dec 18 16:18:50 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Any.{i,cpp} (free_value): Moved it to cpp file. - - * be/be_visitor_interface/any_op_cs.cpp (>>=): - Fixed a memory management problem. - - * be/be_visitor_array/any_op_cs.cpp (>>=): - * be/be_visitor_enum/any_op_cs.cpp (>>=): - * be/be_visitor_exception/any_op_cs.cpp (>>=): - * be/be_visitor_sequence/any_op_cs.cpp (>>=): - * be/be_visitor_structure/any_op_cs.cpp (>>=): - * be/be_visitor_union/any_op_cs.cpp (>>=): Adopted the changes - made in Any. Some of them may still have memory management - problem. - - * tao/Any.{h,i,cpp}: The usage of <any_owns_data_> was not very - consistant. Sometime it meant any owns the cdr string, - sometimes it meant any owns the internal data stored in - <value_>. It is now changed to indicate whether any owns the - internal data. - (value): Now return the internal data if there's own, - otherwise, it return a pointer to the cdr string. - (free_value): A small helper function to free up the internal - data held by any. - (any_owns_data): Now return true when any owns a valid data. - - * tao/Connect.cpp: Fixed typo in error messages. - -Fri Dec 18 12:14:48 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/ECT_Scheduler_Info.h: - * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: - I'm starting to support a run-time scheduler for this test. - But it is still experimental and must be enabled at compile - time. - -Fri Dec 18 09:34:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/ECT_Driver.h: - * orbsvcs/tests/EC_Throughput/ECT_Driver.i: - * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - The test can easily measure latency as well as throughput, so I - added the necessary methods in the ECT_Driver class. - - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - Added missing template instantiations. - Fixed warnings reported by g++ 2.7.2.3 - -1998-12-17 Seth Widoff <swidoff@cs.cmu.edu> - - * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}: - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{cpp}: - My crazy attempt to save copying by passing around sequence - buffers backfired -- it worked on some platforms but not - others. So I've supplanted that approach with good, old - fashioned copying. Thanks to Sunil Kumar <skumar@sutmyn.com>'s - example program for helping me to pinpoint the problem. - -Thu Dec 17 16:11:58 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i: - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - Added support for fragmentation and reassembly to the UDP - gateway. This is still experimental, but seems to work OK. - Though I have payed attention to the first order optimizations: - no data copying, little or no memory allocation, reduced - locking; we have to systematically explore if there are any - performance bottlenecks or problems. - I still have to Purify/Quantify this code. - - * tao/ORB_Core.cpp: - By default the CDR allocators where TSS, but this was not safe - for certain applications. Thanks to Ron Barack - <r.barack@inobis.de> for pointing this out. - - * orbsvcs/tests/EC_Throughput/run_test.pl: - Updated the script. - -Thu Dec 17 14:09:33 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/DynAnyC.cpp: - Added some AHETI lines at the end to reflect what the updated - IDL compiler does. Should fix a build error reported on Dec - Alpha. - Builds ok on NT, doing further checking on Unix. - -Thu Dec 17 04:45:39 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * tao/IIOP_Object.cpp (constructor): - - We were missing the initialization of the forward profile and - forward profile success in the constructor with the following - signature. - - IIOP_Object::IIOP_Object (const char *host, - const CORBA::UShort port, - const char *objkey, - char *repository_id); - - Without the above initialization, we were getting segmentation - fault in the destructor of the underlying Profile as it tried to - delete the forward profile which pointed to an illegal address - in memory. - -Tue Dec 15 19:39:45 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB.h: - * tao/corba.h: Commented out "#pragma pack" directive NT used. - This fixed the mis-alignment problem specific on NT. - -Tue Dec 15 19:04:37 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/sfp.idl : Changed according to the version 1.1 - changes. - - * orbsvcs/orbsvcs/AV/sfp.{h,cpp}: Implemenation of the Simple Flow - Protocol specified in the Audio/Video Streaming - specification. This currently has support for sending simple - frames without fragmentation. - - * orbsvcs/tests/AVStreams/sfp/client.cpp: - * orbsvcs/tests/AVStreams/sfp/server.cpp: - client and server test files for sfp. - - * orbsvcs/orbsvcs/Makefile: Added sfp to the list of IDL_SRCS. - -Tue Dec 15 14:45:49 1998 David L. Levine <levine@cs.wustl.edu> - - * *.h,TAO_IDL/be/be_codegen.cpp (end_server_template_header): - removed () from #pragma implementation argument. Thanks to - Christian v. Mueffling <cvm@aiss.de> for reporting this. - -Tue Dec 15 14:29:33 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/EC_Throughput.ds[wp]: - * orbsvcs/tests/EC_Throughput/EC_Supplier.dsp: - * orbsvcs/tests/EC_Throughput/EC_Comsumer.dsp: Added/Updated - projects/workspace. - -Tue Dec 15 10:40:03 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/Makefile: - * orbsvcs/tests/EC_Throughput/ECT_Driver.h: - * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp: - Base class for the test drivers. - - * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.h: - * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.h: - * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.h: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - Moved the non-collocated test drivers to separate files. - - * orbsvcs/tests/EC_Throughput/ECT_Throughput.h: - * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: - This is a collocated version of the Event Channel Throughput - test. - -Mon Dec 14 20:38:54 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/be/be_init.cpp (BE_init): Changed to initialize tao_cg - to 0 and delay the actual initialization in BE_init. This avoid - the "order of initialization" problem and allow us to trace - TAO_IDL. The output if not pretty though. Thanks to Ulf - Jaehrig <jaehrig@desys.com> for reporting this. - -Mon Dec 14 16:16:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Environment.cpp: - Added the CORBA_Environment::exception_id() method, thanks to - diesel@dekwl.abb.com (sorry, your name was not in the message!) - for reporting this problem. - -1998-12-14 Seth Widoff <swidoff@cs.cmu.edu> - - * docs/releasenotes/trader.html: - Added instructions on using -TSdumpior to have the trader dump - its ior to a file for use by -ORBtradingserviceior and the - TradingServiceIOR environment variable. Removed the bit about - having the export_test use -ORBport 0 when run on the same - machine as the trader it's testing, since this is now the - default. Thanks to Carlos O'Ryan for pointing this out. - -Mon Dec 14 12:21:23 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO/performance-tests/Cubit/TAO/MT_Cubit/{client,server}.dsp: - * TAO/performance-tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: - * TAO/tao/TAO_Static.dsp: Removed "__ACE_INLINE__=0" from the - default static release build settings. - -Mon Dec 14 08:35:11 1998 David L. Levine <levine@cs.wustl.edu> - - * BUG-REPORT-FORM: added a few FMMs. - - * performance-tests/Cubit/TAO/MT_Cubit/Timer.cpp (get_elapsed_time): - removed VxWorks-conditional code. It was unnecessary, and - dangerous because it overwrote the measured usecs with a hard-coded - value of 2000. - - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (print_util_stats): - fixed printout to reflect whether -l option had been used or not. - - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: - moved ACE_OS::exit () call to run (), in the hope that we'll - eventually be able to run more than one iteration of the - utilization test before exiting. - -Mon Dec 14 08:08:32 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ci.cpp: - - The generated code was using inline functions such as allocbuf - and freebuf before their implementation. Some compilers were - issuing lots of warnings. Thanks to David Levine for sending me - a log of these warnings. In addition, when we use these static - methods, we now use their fully scoped name to avoid any - conflicts and/or ambiguities. - -Sun Dec 13 08:32:04 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Trading/Service_Type_Exporter.cpp (remove_all_types): - removed unused label "remove_type_label". - -1998-12-12 Seth Widoff <swidoff@cs.cmu.edu> - - * orbsvcs/tests/Trader/README: - * orbsvcs/tests/Trader/Service_Type_Exporter.cpp: - The trader test no longer prints an exception message in the - unexceptional case that the trader has unregistred test types - when the export_test first tries to remove them. Updated the - expected output in the README file to reflect the change. - -Sat Dec 12 11:29:38 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_object_manager_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ci.cpp: - - The generated signatures of various methods contained default - arguments which should only appear in the class definition. This - has been fixed. Thanks to David Levine for reporting the problem. - -Sat Dec 12 09:15:14 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp - (print_latency_stats): "microseconds" instead of "seconds". - Also, added a call to ACE_OS::exit (), for the utilization - test only. Otherwise, the program never terminates. - -Fri Dec 11 16:53:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - The UDP_Sender::init() method should only create the RT_Info if - it is not there already. Thanks to Dave Meyer - <dmeyer@std.saic.com> and J. Russell Noseworthy - <rnosewor@objectsciences.com> for providing this fix. - -Fri Dec 11 12:39:22 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/tao_idl.1: - * docs/compiler.html: Updated documentation for lookup - strategies. - -Fri Dec 11 11:11:27 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_sequence.cpp: - - For sequences of CORBA::Object, we were generating code such - that the base class was the Pseudo_Sequence class in - tao/sequence_T.h. However, these base template classes do not - provide the _upcast and _downcast methods since they are not - required for the pseudo objects. Thus, whenever the element type - of a sequence is AST_PredefinedType::PT_pseudo, we check if it - was a CORBA::Object or a true pseudo-object. If it is - CORBA::Object, then the managed type becomes MNG_OBJREF instead - of MNG_PSEUDO. Thus, now we generate the base template class to - be Object_Sequence which have the _upcast and _downcast - methods. - - Thanks to Ron Barack (rab@terminal.cz) for reporting that the - _upcast and _downcast methods were not available for sequences - of CORBA::Objects. - - -Fri Dec 11 08:54:42 1998 David L. Levine <levine@cs.wustl.edu> - - * VERSION: added ace-users/comp.soft-sys.ace info. - -Fri Dec 11 07:28:54 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_sequence.cpp: - - Added #include for newly added files described below. - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: - TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: - - We no longer generate all the code for the base sequence classes - in the header file itself (Recall that these base sequence - classes are used for platforms that do not support template - specialization OR require explicit template instantiation). - Instead, the implementation of all the methods of the - classes is now generated in the *.i (inlined) file. The reason - for doing this was to handle problems with sequences of forward - declared interfaces. Code for sequences of forward declared - interfaces would use operations such as _duplicate, _nil, and - others that get defined only when the actual interface - definition is seen. To circumvent this problem, we now generate - only the class definition in the header file and all the - implementation is moved to the inline file. Thanks to Ron Barack - (rab@terminal.cz) for submitting the bugreport. - - In addition, I realized that these base sequence classes were - used only when the platform requires explicit template - instantiation or does not support template specialization. For - the other cases, the code for these base classes was never used - and it was unnecessarily increasing the footprint. Hence, we now - generate these base sequence classes and its associated inlined - code inside conditional macro which we call AHETI (please see - generated code). - - * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: - TAO_IDL/be_include/be_visitor_sequence/sequence_ci.h: - - Added code and new methods so that code for the base sequence - classes can be generated in the *.i file. - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_object_manager_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp: - TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ci.cpp: - - Newly added files that generate code for the base sequences in - the *.i file. - -Thu Dec 10 21:48:08 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Consumer_Signal_Handler.h: - * examples/Callback_Quoter/Consumer_Input_Handler.h: - * examples/Callback_Quoter/Consumer_Handler.cpp: - - Replaced #include <signal.h> by #include "ace/OS.h" and also - changed all #include <ace/foo.h> to #include "ace/foo.h" wherever - applicable. Thanks to David for pointing out these discrepancies. - -Thu Dec 10 09:30:23 1998 David L. Levine <levine@cs.wustl.edu> - - * examples/Callback_Quoter/Consumer_Input_Handler.h: - replaced #include of OS.h with ACE.h. - - * examples/Callback_Quoter/Consumer_Signal_Handler.h: - inserted #include of ace/ACE.h. - - * tao/Invocation.cpp (invoke): added ACE_UNUSED_ARG (retval) - to avoid cxx compile warnings (with exceptions enabled). - - * VERSION: updated to match ACE VERSION file. - -Wed Dec 09 23:07:46 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.2.43 released. - -Wed Dec 09 22:43:19 1998 David L. Levine <levine@cs.wustl.edu> - - * examples/Callback_Quoter/Consumer_Input_Handler.h: - inserted #include of "ace/OS.h". - - * examples/POA/Forwarding/Makefile: removed hard-coded - -g DCFLAG. Not all platforms use -g, and DCFLAGS should - be set in $ACE_ROOT/include/makeinclude/platform_macros.GNU. - -Wed Dec 9 16:05:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Invocation.cpp (invoke): Fixed the memory leaks in preparing - new exceptions. Thanks to Terry Rosenbaum - <Terry.Rosenbaum@Radiology.MSU.edu> for sending us the patch. - Also applied more exception handling macros into this file. - - * tao/try_macros.h: Added TAO_THROW_ENV_RETURN_VOID. - -Wed Dec 9 13:26:50 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowser.java - orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowserApplet.java - orbsvcs/tests/Simulator/DOVEBrowser/DemoCore.java - orbsvcs/tests/Simulator/DOVEBrowser/NS_Resolve.java - orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java - orbsvcs/tests/Simulator/DOVEBrowser/PushConsumerFactory.java: - - Cleaned up some type names in that had changed when RtecScheduler.idl - was brought up to CORBA standard (type names and element names must - differ in more than just letter case). - - Added support for -ORBnameserviceport on command line of the - compiled DOVEBrowser version. Generalized command line option - handling, fixed bug with using == instead of .equals for string - comparison. - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsp - orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.dsp: added -I - switch with relative path to TAO\orbsvcs\orbsvcs to tao_idl - invocation in the custom build step. - -1998-12-09 Nagarajan Surendran <naga@polka.cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp : Fixed warnings with - TAO_ENDTRY after the return statements in functions. - -Wed Dec 9 11:03:13 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: - - In the visit_interface and visit_interface_fwd methods, we were - not generating the fully scoped name for code generated in the - *.i or *.cpp file. Thanks to Naga (naga@cs.wustl.edu) for - submitting the bugreport. - -Wed Dec 09 07:02:06 1998 David L. Levine <levine@cs.wustl.edu> - - * README, VERSION: expanded mention of BUG-REPORT-FORM. - - * performance-tests/Cubit/TAO/MT_Cubit/README.tests: removed - -s option, because it's no longer used with MT_Cubit. - -Wed Dec 9 02:34:33 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading/server.cpp : - * examples/POA/On_Demand_Loading/client.cpp : - Replaced env.exception () checks with the TAO_TRY,TAO_CHECK - macros. - - * examples/POA/On_Demand_Loading/Servant_Activator.cpp (incarnate): - Added TAO_THROW macro for OBJECT_NOT_EXIST exception. - -Tue Dec 08 21:39:16 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL_Makefile: enable DU 4.0 cxx 6.x warnings by default. - -Tue Dec 08 15:10:35 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: Added - static build configurations. - - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp (init): - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (init): - * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp (initialize_orb): - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (init_orb): - Hard-coded the orb initialization code to use the new - <open_services> function to setup resources when compiling - static linked versions on NT. Notice when building - static-linked version on NT, the svc.conf file is not used and - the configurations is hard-coded in these two files. - - * tao/TAO_Internal.{h,cpp} (open_services): Added a new - <open_services> method that simply takes the arguments for - TAO_Resource_Factory, TAO_Default_Client_Strategy_Factory and - TAO_Default_Server_Strategy_Factory directly and initializes - them. This eliminates the need of loading in a DLL when it is - not desirable. Removed <fake_service_entries_i> for this is now - covered by the new <open_services> method. - - Like the original <open_services>, the new method is also - one-shot. Once you call either <open_services>, all subsequence - calls to either functions become no-ops. - -Tue Dec 8 10:17:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/CDR.cpp: - Fixed a problem with the CDR::grow routine: it estimated the - size *before* alignment, after the alignment the object did not - fit anymore. Thanks to Dave Meyer <dmeyer@std.saic.com> for - providing an easy way to reproduce this problem, and for his - workmates at SAIC for finding the problem. - Also fixed a problem in the write_array() method when - SWAP_ON_WRITE is enabled, thanks to Istvan Buki - <istvan.buki@infoboard.be> for reporting this one. - -Tue Dec 8 07:22:42 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp : Fixed the template - instantiation problems. Thanks to Andy for reporting this. - -Tue Dec 8 02:09:47 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading/server.cpp (main): Changed the - ObjectID format. - - * examples/POA/On_Demand_Loading/client.cpp (main): Added the - end_note() request call on the object. - - * examples/POA/On_Demand_Loading/Servant_Activator.h: Changed the - dll object pointer from a pointer object to simply an - instantiation of ACE_DLL. - - * examples/POA/On_Demand_Loading/Servant_Activator.cpp (incarnate): - Added an dll object open() call explicitly which was done - implicitly before along with the dll object creation. - - * examples/POA/On_Demand_Loading/Servant_Activator.cpp (parse_string): - Updated the ObjectID format to dllname:factory_method. - - * examples/POA/On_Demand_Loading/Dir_Service_i.cpp: Added some ACE_DEBUG - statements to make the output clearer. - - * examples/POA/On_Demand_Loading/README: Added it to the repository. - -Tue Dec 8 00:49:23 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/CDR.i: Applied more exception handling macros. - -Mon Dec 7 22:00:50 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO_IDL/ast/ast_expression.cpp: - - Changed a few lines so the idl compiler will accept a value - of 65535 for a const unsigned short (it previously rejected - anything > 65534). - -Mon Dec 7 15:28:16 1998 Shawn Michael Atkins <sma1@lambada.cs.wustl.edu> - - * performance-tests/Thruput/TAO/utils.cpp (psecs): fixed another - warning that David was getting about an implicit cast from double - to int. - -Mon Dec 7 12:48:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/try_macros.h: Removed TAO_CHECK_CONDITION_ENV_RETURN[_VOID]. - - * tao/decode.cpp: Removed the use of TAO_CHECK_CONDITION_ENV_RETURN. - -Mon Dec 7 05:26:35 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * docs/compiler.html: - - Fixed the entry for -St (suppressing typecodes). It was - appearing as -Ge. Thanks to Ossama Othman for noticing this. - -Sun Dec 6 17:48:21 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/tests/ImplRepo/IR_Helper.cpp: - * orbsvcs/tests/ImplRepo/Repository_Test.cpp: - * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: - * orbsvcs/tests/ImplRepo/run_test.pl: - * orbsvcs/ImplRepo_Service/ImplRepo.cpp: - * orbsvcs/ImplRepo_Service/ImplRepo.idl: - * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: - * orbsvcs/ImplRepo_Service/ImplRepo_i.h: - * orbsvcs/ImplRepo_Service/Repository.cpp: - Redid all formating (mainly {} blocks) to be the common - ACE style. Checked and fixed the base member init - sections to be in the right order. Made sure that all - methods threw the exceptions (and only the exceptions) - that were specified. - - Also changed how the -d debug flag works. Unlike other - tests it now takes in a level with it (instead of the - additive property. This allows me to use a default of - 1 and lets the user use -d 0 to quiet the IR altogether. - -1998-12-06 Pradeep Gore <pradeep@flamenco.cs.wustl.edu> - - added the following files for the implementation of - the Cos Event Channel - - * orbsvcs/orbsvcs/CosEventChannelAdmin.idl - * orbsvcs/orbsvcs/CosEventComm.idl - * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h - * orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp - * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h - * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp - * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h - * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp - * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.h - * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp - * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h - * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp - -1998-12-06 Nagarajan Surendran <naga@polka.cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp : Fixed the TAO_THROW - compilation errors. Thanks to David for pointing this out. - -Sun Dec 6 14:13:52 1998 Ossama Othman <ossama@debian.org> - - * TAO_IDL/tao_idl.1: Created a man page for tao_idl based on - Carlos' HTML tao_idl compiler page. - -Sat Dec 6 13:30:50 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/tests/ImplRepo/server_impl.cpp: Forgot a - TAO_CHECK_ENV. - - * orbsvcs/tests/ImplRepo/IR_Helper.cpp: - * orbsvcs/tests/ImplRepo/IR_Helper.h: - * orbsvcs/ImplRepo_Service/ImplRepo.idl: - * orbsvcs/ImplRepo_Service/ImplRepo_i.h: - * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: - * orbsvcs/ImplRepo_Service/Repository.h: - * orbsvcs/ImplRepo_Service/Repository.cpp: - * orbsvcs/tests/ImplRepo/Repository_Test.cpp: - Changed the storage of the hostname from a number to a string. - -Sun Dec 6 03:23:21 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AVStreams.idl: Added the idl code for the - Audio/Video full profile implementation. - - * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: Added code for the full - profile implementation of the Audio/Video Streaming service. The - Audio/Video Streaming service now supports flows. - Defined new classes TAO_FlowConnection, TAO_FlowEndPoint, - TAO_FlowProducer, TAO_FlowConsumer, TAO_FlowConnection, TAO_FDev. - - Also added code to the existing A/V classes so that they now - behave according to the full profile. - -Sun Dec 6 00:43:46 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/POA/On_Demand_Loading/Dir_Service.idl: - * examples/POA/On_Demand_Loading/Dir_Service.{h,cpp}: - - The servant library idl interface and files. - - * examples/POA/On_Demand_Loading/Servant_Activator.{h,cpp}: - - This file is the servant_manager activator interface. - - * examples/POA/On_Demand_Loading/server.cpp: - - This is the server process. - - * examples/POA/On_Demand_Loading/client.cpp: - - This is the client process. - - * examples/POA/On_Demand_Loading/generic_servant_export.h: - - Generated and needed for the defining a servant class. - - * examples/POA/On_Demand_Loading/Makefile.Client: - * examples/POA/On_Demand_Loading/Makefile.DirService: - * examples/POA/On_Demand_Loading/Makefile: - - The makefiles needed for the test. - - Added the above files to the repository. This test example loads - an servant library on demand and associates a servant with an object. - -Sat Dec 5 22:10:13 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Typecode.cpp (private_equal_struct,private_equal_except): - (private_equal_sequence,private_equal_union,private_equal_union): - Changed to the use of TAO_CHECK_CONDITION_ENV_RETURN to - TAO_CHECK_ENV_RETURN and then check the condition explicitly. - This avoids warnings on some compiler. - (typecode_param): Fixed an error. - - Thanks to David for pointing these out. - -Fri Dec 04 19:35:56 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Typecode.cpp (typecode_param): Moved declaration of loop - counter up to avoid a skipping declaration warning from MSVC. - - * tao/try_macros.h (TAO_TRY_THROW[_EX]): Removed extra spaces in - definitions for native exceptions. - -Fri Dec 4 16:51:16 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * docs/exceptions.html: Added guidelines on throwing exceptions - from within try blocks and using - TAO_RETHROW_SAME_ENV_RETURN[_EX]. - - * tao/try_macros.h: Added TAO_TRY_THROW[_EX] which allow - exceptions beting thrown within try blocks be caught. - - Rename TAO_RETHROW_RETURN[_VOID]_SYS to - TAO_RETHROW_SAME_ENV_RETURN[_VOID]. - - * tao/IIOP_Object.cpp: - * tao/Invocation.cpp: Replaced TAO_RETHROW_RETURN[_VOID]_SYS with - TAO_RETHROW_SAME_ENV_RETURN[_VOID]. - - * tao/deep_free.cpp: - * tao/Typecode.cpp: Changed to handle exceptions with macros in - try_macros.h. - -Fri Dec 4 16:04:56 1998 Ossama Othman <ossama@debian.org> - - * TAO_IDL/util/utl_global.cpp(IDL_GlobalData constructor): - Added support for hardcoding a gperf default path other than - $ACE_ROOT/bin/gperf. This works by #defining the ACE_GPERF - macro at compile time to be the desired gperf. - - For example: -DACE_GPERF=\"/usr/local/bin/gperf-ace\" - - The actual gperf program must be included in the definition of - ACE_GPERF, not just the directory in which it is located. - -Fri Dec 04 12:45:01 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/README: added sample - of passing the IOR on the command line, on VxWorks. - -Fri Dec 4 12:28:06 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/try_macros.h (TAO_TRY_VAR[_EX]): Fixed unreferenced variable - warnings on platforms supporting native exceptions. - -Fri Dec 04 07:38:57 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB.cpp (perform_work): copied const ACE_Time_Value - arg to a non-const temporary, to pass to handle_events (). - -Thu Dec 3 22:41:35 1998 Shawn Michael Atkins <sma1@lambada.cs.wustl.edu> - - * performance-tests/Thruput/TAO/README: added info about the perl - scripts to the readme file (new_server_test, new_client_test, and new_run_test) - - * performance-tests/Thruput/TAO/ttcp_decl.h: changed psecs to take - in a double instead of a long - - * performance-tests/Thruput/TAO/utils.cpp: fixing more minor - things like things I was using for testing and never reference - anymore (taking them out). - -Thu Dec 3 17:58:32 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/ORB.h (CORBA_ORB): Changed perform_work() to take a default - value of ACE_Time_Value::zero to correspond to the intended - semantics of the CORBA spec. Thanks to Steve Vinoski for - clarifying this and for Loren Rittle <rittle@comm.mot.com> for - surfacing the issue in the first place. - -Thu Dec 03 14:23:03 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/try_macros.h: Removed macros TAO_TRY_SYS[_EX] - TAO_CHECK_ENV_SYS[_EX] and TAO_CATCH_SYS for they are covered by - Irfan's TAO_TRY_VAR[_EX]. Thanks to Irfan for reminding this. - - * docs/exceptions.html: Added guidelines for TAO_TRY_VAR and - TAO_TRY_VAR_EX. - - * tao/IIOP_Object.cpp: - * tao/Invocation.cpp: - * tao/Typecode.cpp: Replaced the uses to TAO_TRY_SYS and - TAO_TRY_SYS_EX with TAO_TRY_VAR and TAO_TRY_VAR_EX. - -Thu Dec 3 12:37:10 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Exception.cpp (make_standard_typecode): Changed the - operation name encoded in typecode to "completed". - -Thu Dec 03 12:33:53 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/Makefile: removed DynUnion_i_T from ORBCORE_SRCS, because - it just contains template members. Thanks to Ossama for - reporting this. - -Thu Dec 3 11:59:23 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/ast/ast_operation.cpp: - - Ensured that a oneway operation can never have a "raises" - clause. Thanks to Tom Ziomek (tomz@cc.comm.mot.com) for - reporting this. - - * TAO_IDL/util/utl_error.cpp: - - Improved the error message for EIDL_ILLEGAL_RAISES error code. - - * TAO_IDL/fe/(idl.yy, y.tab.cpp, y.tab.h}: - - Ensured that discriminant of type octet inside a union - declaration is flagged as an error. The OMG spec does not allow - discriminants of type octets. - -Thu Dec 3 10:31:12 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: - - We make sure that the upcast and downcast methods are now - generated only for CORBA::Object sequences and not for sequences - of CORBA::TypeCodes. In the latter case, the upcast and downcast - methods are not needed and furthermore, casting them to - CORBA::Object_ptr is totally incorrect. - -Thu Dec 3 07:09:07 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/README.tests: Added - instructions for utilization test. - -Thu Dec 03 01:24:41 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/try_macros.h: Added TAO_TRY_VAR and TAO_TRY_VAR_EX. These - macros are similar to TAO_TRY and TAO_TRY_EX, except that they - work with a user specified environment variable instead of - creating one for itself. - - * tao/Object.cpp (_non_existent): Added the use of exception - macros to this method. This will make this method work with - native exceptions. - - If the _non_existent() remote call succeeds, it return 0; if - CORBA::OBJECT_NOT_EXIST is thrown, it returns 1; and any other - (system) exception raised in making the remote call is passed - through to the user. Thanks to Sunil Kumar <skumar@sutmyn.com> - for reporting this. - -Thu Dec 03 01:00:47 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Environment.cpp: - * tao/Exception.cpp: - * tao/POAC.cpp: - * tao/debug.cpp: Changed the uses of "completion ()" to "completed - ()". - -Wed Dec 2 21:56:56 1998 Shawn Michael Atkins <sma1@lambada.cs.wustl.edu> - - * performance-tests/Thruput/TAO/ttcp_decl.h: commented out - RtiPackets since I haven't gotten that working yet: Was preventing - compilation for anyone but me (the variable isn't defined but in - my workspace at the moment). - - * performance-tests/Thruput/TAO/utils.cpp: fixed minor errors that - were preventing compilation on linux. - - -Wed Dec 02 18:33:08 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Exception (completed): The name of the function (both - accessor and modifier) should be completed(), not completion(). - - Thanks to Steve Totten <totten_s@ociweb.com> for pointing this - out. - -Wed Dec 2 17:40:54 1998 Shawn Michael Atkins <sma1@lambada.cs.wustl.edu> - - * performance-tests/Thruput/TAO/ttcp_decl.h: forgot to add this - along with the changes to utils.cpp. Changed the definition of - some of the methods in utils.cpp like prusage. - -Wed Dec 2 14:26:58 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp - TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: - - The upcast and downcast methods are now generated even for - sequences of CORBA::Objects and CORBA::TypeCodes. Thanks to Ron Barack - <rab@terminal.cz> for reporting the problem. - -Wed Dec 02 11:03:17 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - removed a few debugging printouts. - -Wed Dec 2 09:17:34 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_helper.cpp (TAO_OutStream::gen_ifdef_AHETI): - - We were checking if the TAO_LACKS_TEMPLATE_SPECIALIZATION macro - is defined or not. Such a macro is not defined anywhere in ACE - or TAO. The correct macro to be used here is - ACE_HAS_TEMPLATE_SPECIALIZATION. Thanks to Peter Nordlund - (petern@nada.kth.se) for noticing this. - - * TAO_IDL/be/be_visitor_union/union_ci.cpp: - - In the generated _reset (void) method, we now zero out the - underlying union. In some specific cases, without this zeroing - out, we were getting segmentation faults. Thanks to Ron Barack - (rab@terminal.cz) for reporting the problem and suggesting the - fix. - - * tao/DynAnyC.{h, cpp}: - - Used ACE_HAS_TEMPLATE_SPECIALIZATION in place of - TAO_LACKS_TEMPLATE_SPECIALIZATION. - - * tao/TypeCode.cpp (private_member_label): - - Used TAO_CATCHANY_SYS instead of TAO_CATCHANY. The latter was - giving "undefined __env" error. - - * tao/Exception.cpp (item): - - Used TAO_THROW_ENV_RETURN instead of TAO_THROW_ENV because a - return value was expected. - -Wed Dec 02 03:31:16 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/try_macros.h: Added TAO_CHECK_CONDITION_ENV_RETURN and - TAO_CHECK_CONDITION_ENV_RETURN_VOID macros. These two macros - work with TAO's simulated exception by checking the specified - CORBA_Exception for exception and also a user specified - condition. - - * CDR.i: - * Exception.cpp: - * Marshal.i: - * Typecode.cpp: - * decode.cpp: - * deep_free.cpp: Integrated exception handling macros into TAO in - order to document the code better and to unify TAO's behavior - with or without native exception support. The code got modified - according to how it would work with native exception enabled. - I don't expect to finish integrating the macros in a short - time. - -Wed Dec 2 01:48:54 1998 Shawn Michael Atkins <sma1@lambada.cs.wustl.edu> - - * performance-tests/Thruput/TAO/utils.cpp: fixed the problem with - the displaying of wierd numbers to the screen. utils.cpp now used - ACE_Profile_Timer instead of using struct rusage directly. - -Tue Dec 01 15:32:48 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: added - -r option to support thread-per-rate test. - -Tue Dec 1 14:35:51 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB.h: - * tao/IIOP_ORB.h: - * tao/IIOP_ORB.cpp: - * tao/POA.h: - * tao/POA.cpp: - CORBA::ORB::string_to_object() was taking a <char*> argument, - but it should be a <const char*>. - -Tue Dec 01 13:55:24 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * examples/POA/Generic_Servant/client.cpp: Changed to add native - exception handling. - -Tue Dec 1 12:33:50 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEMIB/Makefile - orbsvcs/tests/Simulator/Event_Supplier/Makefile: fixed problem with - tao_idl invocation in Makefiles, added TAO/orbsvcs/orbsvcs include - path switch to flags for tao_idl, modified rules to ensure flags were - used as part of rule. Thanks to Joe Loyall <jloyall@bbn.com> for - reporting this. - -Tue Dec 1 10:12:57 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: - Use an ACE_INET_Addr in recvfrom(); a plain ACE_Addr produces - problems on NT. Thanks to Dave Meyer <dmeyer@std.saic.com> for - reporting this and providing the fix. - - * tao/Typecode.cpp: - The size for a TypeCode field was not computed properly (it - should be sizeof(TypeCode_ptr)). - - * docs/releasenotes/TODO.html: - Added the blocking writes task. - -Tue Dec 01 10:16:02 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.2.42 released. - -Mon Nov 30 01:10:35 1998 Matt Braun <mjb2@cs.wustl.edu> - - * tests/Param_Test/ub_any_seq.cpp: Added test for const char* and - changed sequence length from 1 to 5 because the "random" choice - of types was only pseudo-random and the various test types - wern't being tested. Currently, the test segfaults, but I - believe this to be indicative of a deeper problem. - -Sun Nov 29 18:09:52 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB.{h,cpp} (resolve_initial_references): Allows this - function to pass back InvalidName exception. - (InvalidName): New CORBA::ORB exception type. - -Sat Nov 28 10:57:54 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/corba.h: Added TAO_Export to global variable <TC_opaque>. - - * tao/Typecode.h (CORBA_TypeCode): Added TAO_Export for Bounds and - BadKind excepiton classes. - - * tao/ORB.{h,cpp} (operator==,operator!=): Added comparison - operations for non-native long double. We also need other - comparison operators for our long double to work transparently. - -Thu Nov 26 11:37:23 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Invocation.cpp (invoke): Variable <tcp> must be - initialized to avoid g++ warnings. - -Thu Nov 26 01:08:00 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * orbsvcs/ImplRepo_Service/ImplRepo.idl: All methods are now - available. - - * orbsvcs/ImplRepo_Service/Repository.{h,cpp}: Only stores the - host/port of the server, not the entire object IOR. This - allows the use of more than one object in the same POA. - - * orbsvcs/ImplRepo_Service/ImplRepo_i.{h,cpp}: Support for all - methods and made switch to host/port instead of ior. - - * orbsvcs/tests/ImplRepo/Repository_Test.cpp: Tests with - host/port instead of IOR now. - - * orbsvcs/ImplRepo_Service/ImplRepo.{dsp,dsw}: Updated the - MSVC project files. Mainly cosmetic changes. - - * orbsvcs/tests/ImplRepo/svc.conf: - * orbsvcs/tests/ImplRepo/implrepo.conf: - Split the conf files up since IR needs -ORBpoalock null and - thread-per-connection, but the tests don't necessarily need it. - - * orbsvcs/tests/ImplRepo/IR_Helper.{h,cpp}: New helper class - that contains the logic for using the IR from a server. - - * orbsvcs/tests/ImplRepo/Airplane.idl: - * orbsvcs/tests/ImplRepo/airplane_client.cpp: - * orbsvcs/tests/ImplRepo/airplane_client.dsp: - * orbsvcs/tests/ImplRepo/airplane_client_i.cpp: - * orbsvcs/tests/ImplRepo/airplane_client_i.h: - * orbsvcs/tests/ImplRepo/airplane_i.cpp: - * orbsvcs/tests/ImplRepo/airplane_i.h: - * orbsvcs/tests/ImplRepo/airplane_server.cpp: - * orbsvcs/tests/ImplRepo/airplane_server.dsp: - * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: - * orbsvcs/tests/ImplRepo/airplane_server_i.h: - New Paper Airplane Server! The purpose is to show off the - IR_Helper class use and to have a different server to test - the IR with. - - * orbsvcs/tests/ImplRepo/ImplRepo_Test.dsw: Now includes the - Paper Airplane Server. - - * orbsvcs/tests/ImplRepo/run_test.pl: Updated to perform different - types of tests. - - * orbsvcs/tests/ImplRepo/server.dsp: Removed server.h, a file that - doesn't exist anymore. - - * orbsvcs/tests/ImplRepo/server_impl.cpp: Cleaned up a bit. - Removed unnecessary code. - -Wed Nov 25 20:50:55 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Invocation.cpp: The ORB was raising incorrect exceptions - when the connection to the server was broken, or if the client - was not able to create a new connection to the server. The - correct behavior in these (and some other) cases is to raise the - TRANSIENT exception; and not raise the COMM_FAILURE exception. - - TRANSIENT exception indicates that some (all) resources that the - client ORB requires to complete the remote method call are - unavailable. These resources includes the server ;) - - COMM_FAILURE exception indicates that a failure happened while - the client and server were in the middle of some communication. - - Thanks to Christa Schwanninger - <christa.schwanninger@mchp.siemens.de> for pointing out this - problem, and to Carlos for helping sort the exceptions. - -Mon Nov 23 17:45:16 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/IIOP_Object.cpp (do_static_call): <status> cannot be - initialized to zero. - -Wed Nov 25 18:20:55 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/Invocation.cpp: Added a couple of TAO_CHECK_ENV_SYS macros - to the check for thrown exceptions. - -Wed Nov 25 10:26:57 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * examples/Simple/echo: Reenabled the use of the Naming Service - for this example and then fixed the run_tests.pl script to not - use them ;-) - - * tao/TAO.h: Added a clarification on the role of the - TAO_ORB_Manager. Thanks to Christian Mueffling <cvm@aiss.de> - for motivating this. - - * tao/ORB: Added the rudiments of a way to keep track of the - "default ORB" using the Singleton pattern. Thanks to Irfan and - Carlos for uncovering the need for this, as well as Jon Biggar - and Steve Vinoski <vinoski@iona.com> for verifying this need. - -Wed Nov 25 00:47:33 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Invocation.cpp (invoke): Reordered error handling so - handle_close (of client side connection) happens in the right - places. - - * tao/GIOP.cpp (send_error): - * tao/Connect.cpp (handle_input): Prevent handle_close from being - called in here. Simply return -1 should do the trick. - Otherwise, servers may crash when communication errors occur. - -Tue Nov 24 15:03:19 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/Invocation.cpp (location_forward): Removed an unused - variable. Thanks to David for noticing this. - -Mon Nov 23 17:09:14 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/IIOP_Object.cpp (do_static_call): Explicitly initialize - <status> to avoid gcc warnings. - - * tao/try_macros.h: Fixed a typo. - -Mon Nov 23 07:56:09 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * tao/try_macros.h: - - Made enhancements to the macros added by anbor. In particular, - we now have TAO_TRY_SYS_EX (LABEL) and TAO_CHECK_ENV_SYS_EX - (LABEL) to overcome problems arising out of redefinition of - labels. This was happening in IIOP_Object.cpp file - - * tao/IIOP_Object.cpp: - - Use TAO_TRY_SYS_EX (LABEL) and TAO_CHECK_ENV_SYS_EX (LABEL) - macros to eliminate the multiple label declaration error. Also, - Nanbor had forgotten to use the TAO_CHECK_ENV macros to check if - an exception was thrown or not. - -Mon Nov 23 01:20:27 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: Changed - the default argument of Cubit_Client to not using collocation so - the client will not shutdown the server without being asked to - do so. - - * tao/IIOP_Object.cpp (do_static_call): Made the method native - exception safe so it will not return prematurely and will try - out all the forwarding profiles one by one. - - * tao/Invocation.cpp (invoke): Make sure all the invoke method - doesn't send back GIOP MessageError back to server. They should - be taken care of in TAO_GIOP::recv_request. Also made these - invoke methods native exception safe so the connections get - closed down properly and error messages gets generated as - directed. - - * tao/try_macros.h: Added more "exception" handling macros for - TAO's internal use. The motivation is to reuse the - CORBA_Environment passed in to TAO's internal function to avoid - declaring more env variables and copying exceptions between - these variables. - - * tao/GIOP.{h,cpp}: The following changes are needed to make sure - we differentiate receiving a GIOP MessageError from something - goes wrong when receiving a request. It also makes sure that - the ORB doesn't send out MessageError unnecessarily. - - (make_error): Removed unused method. - (GIOP::MessageType): Added CommunicationError to further - classify errors. - (send_error): Changed the server type from - <TAO_Client_Connection_Handler *&> to <TAO_SVC_HANDLER *&> - because this method is not used by clients only. - (recv_request): Made sure the proper error status get returned - in various stages. Prevented it from sending sendsuperfluous - MessageError back to its party. Only GIOP header receiving - errors can trigger that. - (parse_header_std): Changed from returning MessageError to -1. - If something goes wrong here, it doesn't mean we received a - MessageError message. - - * tao/Connect.cpp (handle_input): Made sure we differentiate the - real GIOP MessageError and other cases when errors occur in - receiving a request. Also make sure the server won't throw - unnecessary exception in any case when receiving requests. - Otherwise, the server may crash because of a rogue link. - -Sun Nov 22 18:20:11 1998 Torben Worm <tworm@cumbia.cs.wustl.edu> - - * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp: - Changed ACE_NEW_RETURN to ACE_NEW_THROW_RETURN in order to - support exceptions - - * orbsvcs/tests/Concurrency/test.basic: - Changed the exception to reflect new exception type - -Sat Nov 21 19:30:11 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/benchmark/{client,server}.cpp: Added - template class, #pragma instantiate for the templates. Thanks to - Leif Jakobsmeier" <leif@informatik.uni-frankfurt.de> for pointing - this out. - -Sat Nov 21 02:29:00 1998 Marina Spivak <marina@cs.wustl.edu> - - * TAO/orbsvcs/tests/Simple_Naming/run-test.pl: modified the - script to also run the newly added multithreaded test. - - * TAO/orbsvcs/tests/Simple_Naming/process-m-output.pl: added perl - script to analyze the output of the multithreaded test and print a - diagnostic message. - - * TAO/orbsvcs/tests/Simple_Naming/README: updated file to include - new test description. - -Fri Nov 20 19:07:44 1998 Marina Spivak <marina@cs.wustl.edu> - - * TAO/orbsvcs/tests/Simple_Naming/client.{h,cpp}: added two new - tests, MT_Test and Loop_Test for multiclient (concurrent) access - to the Naming Service. - -Fri Nov 20 17:46:40 1998 Marina Spivak <marina@cs.wustl.edu> - - * tao/Typecode.h: - * tao/Typecode.i: - * tao/Typecode.cpp: - Added locks for changes in the Typecode private state. We use - the Double Checked Lock pattern to minimize the run-time cost. - -Fri Nov 20 07:08:28 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Timer_Module.cpp (cancel_timer): changed - static_cast to const_cast + reinterpret_cast. - - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (output_latency): - shortened name of latency_file as much as possible. It appears - that VxWorks has a limitation of 100 characters for the full - path name to an NFS file. - - * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: removed -s from - force_argv because its no longer used. - -Fri Nov 20 07:48:54 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * tao/CDR.{h, i}: - - Added the missing <<, >> operators for long double. - -Thu Nov 19 15:12:06 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (output_latency): - changed underscores to dash in output file name. For some reason, - underscores confuse rsh/bash, so the output file couldn't be - closed. - - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp - (print_latency_stats): fixed printout on VxWorks, it was printing - usecs but said that the units were msecs. Also, changed summary - output to be in usecs in Unix, for consistency with VxWorks and - Chorus. And, it gets rid of the insidious conversion from - usec to msec using ACE_ONE_SECOND_IN_MSEC. It works, but it's BAD! - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): - on VxWorks, instead of calling ACE_OS::thr_exit (), call - the client Thread_Manager's exit (). That will allow the - main thread to determine when all the clients have finished, - because it calls wait () on the client Thread_Manager. - - (get_cubit): removed a couple of printouts that notified - of string_to_object () and _narrow () success. - - * performance-tests/Cubit/TAO/MT_Cubit/summarize: - added support for output in either usec or msec. - Added 0.5 to floating point inputs, to round instead of truncate. - -Thu Nov 19 14:51:29 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: - The CDR insertion and extraction operators for interfaces must - be declared inline before we emit the code for the members of - the interface. Otherwise code like this: - // IDL - interface Foo { - exception Bar {Foo where_it_failed;}; - }; - fails on some platforms. - -Thu Nov 19 10:15:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Timer_Module.h: - * orbsvcs/orbsvcs/Event/Timer_Module.i: - * orbsvcs/orbsvcs/Event/Timer_Module.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - If the event channel was configured with a reactive Timer_Module - the Event_Handler used for timeouts was destroyed with the EC, - but could still be registered with the Reactor dispatching the - timeouts. - The solution was to make the Timer_Module responsible for - mapping the Reactor timeouts Event dispatching, in this way the - Timer_Module::shutdown() method is able to cancel any timers - from the Reactor before getting destroyed. - Thanks to Dave Meyer <dmeyer@std.saic.com> and Russ - Noseworthy <rnosewor@objectsciences.com> for pointing this out. - - * orbsvcs/orbsvcs/Event/Module_Factory.h: - Fixed typo in forward declaration. - - * orbsvcs/Event_Service/Event_Service.cpp: - Added an option so we can choose a reactive event service from - the command line. - - * docs/releasenotes/TODO.html: - Updated. - -Wed Nov 18 15:49:52 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB_Strategies_T.cpp: added ifndef protection against - multiple inclusion. - - * *.cpp: changed include protection from #if !defined to ifndef. - Added #pragma once, if possible, i.e., after #include of - an ace/ header. It can only be done after ace/config.h - is included, because some platforms don't allow #pragma once. - -Tue Nov 17 22:00:26 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp: - Just fixed some cosmetic things, like indents. - - * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp: - Added const and non-const get_buffer() methods to generated code - -Tue Nov 17 21:34:13 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/ImplRepo_Service/Makefile: - * orbsvcs/tests/ImplRepo/Makefile: New makefiles for UNIX. - Notice that the second makefile depends on the first makefile. - -Tue Nov 17 20:10:41 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Sequence.{h,cpp}: - Added get_buffer methods (const and non-const) to - TAO_Unbounded_String_Sequence. - -Tue Nov 17 11:28:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/decode.cpp: - Fixed problems with Any demarshaling, the buffer allocated could - be misaligned and sometimes too small. Thanks to Arturo Montes - <mitosys@colomsat.com.co> for pointing this out. - - * orbsvcs/orbsvcs/Event/Dispatching_Modules.i: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - When dispatching events the push() method may raise an - exception, it is a oneway but it could raise a - CORBA::SystemException. - For debugging purpose we print the exception in case it is - raised, instead on the uninformative error message it was - there. - Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com> - for pointing this out. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Removed a few problems with invocations through nil references. - -Tue Nov 17 10:25:25 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: removed - obsolete client/server -s option. Added support for - -l, -n, and -t options to the script, see its usage message - for decriptions. - -Mon Nov 16 20:22:21 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/{server,client}.dsp: Added - static Debug/Release version settings. - - * tao/TAO_Static.dsp: A bunch of files were missing in the static - library project. - -Mon Nov 16 17:54:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Fixed Subscription_Module::unsubscribe, the consumer was added - to the type_subscriber list only when it subscribed with - source==0, hence it should be removed from the list in the same - circumstances. - Also fixed the generation of the observers QoS info (in - Consumer_Module::fill_qos), the source only susbscription case - was not working properly. - Thanks to Thomas Venturella <tventurell@mdc.com> - for pointing this out. - - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - We also had problems with source only subscriptions here. - Thanks to Thomas Venturella <tventurell@mdc.com> - for pointing this out. - - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - Fixed debug message. - -Sun Nov 15 09:52:14 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * tao/TypeCode.cpp: - - Added a default clause to a switch statement in the TypeCode - constructor to prevent g++ warnings. Thanks to David Levine for - pointing this out to me. - - * TAO_IDL/ast/ast_module.cpp: - - Modifications to allow reopening of modules. Thanks to Hamish - Friedlander (hamishf@usa.net) for providing this fix. - -Sat Nov 14 18:31:57 1998 Shawn Michael Atkins <sma1@lambada.cs.wustl.edu> - - * performance-tests/Thruput/TAO/new_run_test: new perl version of - the previous shell script (run_test) - - * performance-tests/Thruput/TAO/new_server_test: new perl version - of the previous shell script (run_server) - - * performance-tests/Thruput/TAO/new_client_test: new perl version - of the previous shell script (run_client) - - -Sat Nov 14 14:29:47 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.41 released. - -Fri Nov 13 18:26:24 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Typecode_Constants.cpp (init): Qualified CompletionStatus to - CORBA::CompletionStatus. - -Fri Nov 13 16:59:20 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: - - We now generate the size information for the typecodes by passing - the compiled time knowledge of the size of the data type and - storing it in the typecode. This will (hopefully) solve our - problems of trying to calculate the size of complex data - structures in an interpreted manner. - - * tao/Any.cpp - tao/DynAnyC.cpp - tao/Exception.cpp - tao/ORB.cpp - tao/Object_KeyC.cpp - tao/POAC.cpp - tao/TypeCode.{h, cpp} - tao/Typecode_Constants.cpp - tao/decode.cpp: - - The TypeCode constructor for complex types now takes an - additional parameter which is the size in bytes of the data - type. This statically known value is stored in the private_tc_ - section of the TypeCode. This will save us the size calculation - using the code in IIOP_Interpreter.cpp. Once we have verified - that everything works fine, we can start cleaning up the - unwanted code from IIOP_Interpreter.* files. - -Fri Nov 13 15:09:58 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): - on VxWorks, kill own task when done, to avoid memPartFree during - ORB cleanup. - - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (main): - changed comment to reflect that the memPartFree comes - from libTAO, I think. It certainly doesn't come from - liborbsvcs, because we no longer link that in to this test. - -Fri Nov 13 12:41:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: - Fixed problems in CDR extraction operator for Octet sequences - (compiled marshaling). - - * performance-tests/Thruput/TAO/run_client: - * performance-tests/Thruput/TAO/run_test: - Fixed some problems in the debugging messages. - - * performance-tests/Thruput/TAO/server.cpp: - The IOR file was created only if debugging was also enabled! - - * performance-tests/Thruput/TAO/utils.cpp: - * performance-tests/Thruput/TAO/client.cpp: - Fixed minor formating problems in the output. - -1998-11-13 Pradeep Gore <pradeep@flamenco.cs.wustl.edu> - - * examples/Simple/chat/README: added explaination - about how the IOR is used to locate the chat server. - - * examples/Event_Comm/Event_Comm_i.h (Notifier): added - a missing comment to ShutdownCallback::close. - -Fri Nov 13 11:51:21 1998 Matthew J Braun <mjb2@cs.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.cpp: Modified to reuse code a - little better - -Thu Nov 12 23:21:26 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/orbconf.h: Native exceptions seem to be working fine. I - have restored the TAO_HAS_EXCEPTIONS option in the configuration - file. Thanks to Tom Ziomek <tomz@cc.comm.mot.com> for bringing - this to our attention. - -Thu Nov 12 17:30:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Scheduler_Factory.cpp - orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp - orbsvcs/tests/EC_Mcast/EC_Mcast.{cpp, h} - orbsvcs/tests/EC_Multiple/EC_Multiple.{cpp, h} - orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h - orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h - orbsvcs/tests/EC_Multiple/Scheduler_Runtime_Dynamic.h - orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp - orbsvcs/tests/Event_Latency/Event_Latency.cpp: Fixed stray - compiler errors caused by RtecSceduler IDL portability changes. - -Thu Nov 12 14:21:41 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/tests/Logger/README: Made a few edits to reflect added - tests for the twoway methods and included sample output - * orbsvcs/tests/Logger/Logging_Test_i.cpp: Added tests for new - twoway methods log2() and logv2(). - * orbsvcs/orbsvcs/Log/Logger_i.cpp: Changed formating of messages - for log2() and logv2 (). - -Thu Nov 12 14:03:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/RtecScheduler.idl - orbsvcs/orbsvcs/Runtime_Scheduler.{cpp, h} - orbsvcs/orbsvcs/Scheduler_Factory.{cpp, h} - orbsvcs/orbsvcs/Scheduler_Utilities.{h, i} - orbsvcs/orbsvcs/Event/Dispatching_Modules.{cpp, h, i} - orbsvcs/orbsvcs/Event/Event_Channel.{cpp, i} - orbsvcs/orbsvcs/Event/RT_Task.cpp - orbsvcs/orbsvcs/Event/ReactorTask.{cpp, h} - orbsvcs/orbsvcs/Event/Timer_Module.{cpp, h, i} - orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp, h} - orbsvcs/orbsvcs/Sched/DynSched.{cpp, h} - orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h} - orbsvcs/orbsvcs/Sched/Scheduler.h - orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}: - Changed RtecScheduler type names to remove non-portable IDL - declarations like "Priority priority;" where identifiers only - differ by case. Thanks to Martin Renner (Martin.Renner@pp-ulm.de) - for pointing out the problem and the appropriate snippet of the - CORBA spec. - -Thu Nov 12 14:01:47 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/try_macros.h: Made the native exception macros fit - on one line so compilers don't get confused by the "try" - by itself. Thanks to Virginie Amar<vamar@amadeus.net> - for submitting this fix. - -Thu Nov 12 07:26:48 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/client.cpp: - removed code that shouldn't have been put in. - -Thu Nov 12 00:42:06 1998 Seth Widoff <swidoff@sophocles.cimds.ri.cmu.edu> - - * docs/releasenotes/trader.html: - Fixed a typo in the docs: CosTrading::Preferences should read - CosTrading::Lookup::Preferences. Thanks to Ivan Leong - <ivanl@pacific.net.sg> for detecting this. - -Wed Nov 11 22:11:32 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Consumer_Input_Handler.cpp (register_consumer): - added check for carriage return while getting string input. - * examples/Callback_Quoter/Consumer.dsp - * examples/Callback_Quoter/Notifier.dsp - * examples/Callback_Quoter/Supplier.dsp - * examples/Callback_Quoter/Callback_Quoter.dsw - The Callback_Quoter example project workspace created for Win32 - platform users and added to the repository. - -Wed Nov 11 17:44:10 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tests/NestedUpcall/MT_Client_Test/run_test.pl: - * tests/NestedUpcall/Reactor/run_test.pl: - * tests/NestedUpcall/Triangle_Test/run_test.pl: - * tests/CDR/run_test.pl: - * tests/DynAny_Test/run_test.pl: - * tests/Multiple_Inheritance/run_test.pl: - * tests/OctetSeq/run_test.pl: - * tests/Param_Test/run_test.pl: - * examples/POA/DSI/run_test.pl: - * examples/POA/Default_Servant/run_test.pl: - * examples/POA/Explicit_Activation/run_test.pl: - * examples/POA/FindPOA/run_test.pl: - * examples/POA/NewPOA/run_test.pl: - * examples/POA/On_Demand_Activation/run_test.pl: - * examples/Simple/echo/run_test.pl: - * examples/Simple/grid/run_test.pl: - * examples/Simple/time/run_test.pl: - * orbsvcs/tests/EC_Basic/run_test.pl: - * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: - * orbsvcs/tests/EC_Multiple/run_test.pl: - * orbsvcs/tests/EC_Throughput/run_test.pl: - * orbsvcs/tests/Event_Latency/run_test.pl: - * orbsvcs/tests/Logger/run_test.pl: - * orbsvcs/tests/Property/run_test.pl: - * orbsvcs/tests/Simple_Naming/run_test.pl: - - General updates, including switching to the ACE class - and using .\ or ./ before executable names. - -Wed Nov 11 14:47:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/DynSched.{cpp, h} - orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h} - orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies_Runtime.h: - Added reporting of specific RT_Info entry points with unresolved - local or remote dependencies in the generated schedule header file. - -Wed Nov 11 14:47:41 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/client.cpp,Cubit_Client.cpp: - commented out shutdown on VxWorks, until we figure out what causes - the memPartFree error. - - * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: - removed second (redundant) -ORBreactorlock null from - Resource_Factory_Service_Object. - -Wed Nov 11 13:56:15 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: - - Added code so that for octet sequences, we will now be able to - use the special optimizations that Carlos has developed. We - generate this code enclosed in #if defined (TAO_NO_COPY_SEQUENCES) - macros. - -Tue Nov 10 22:37:55 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.40 released. - -Tue Nov 10 17:53:42 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * orbsvcs/orbsvcs/Log/Logger_i.h - * orbsvcs/orbsvcs/Log/Logger_i.cpp - * orbsvcs/orbsvcs/Logger.idl - Added new methods log2() and logv2(). They are twoway versions - of the preexisting log() and logv() methods. Thanks to Sigg - Pascal <pascal.sigg@zkb.ch> for reporting this. - -Tue Nov 10 13:12:48 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp - orbsvcs/orbsvcs/Scheduler_Factory.cpp - orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp - orbsvcs/orbsvcs/Sched/DynSched.cpp - orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: Fixed compilation errors - and warnings from g++, Sun C++ for scheduling anomaly features. - - -Mon Nov 9 23:47:02 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Notifier_i.cpp - examples/Callback_Quoter/Notifier_i.h - examples/Callback_Quoter/Notifier_Input_Handler.cpp - examples/Callback_Quoter/Notifier_Input_Handler.h - examples/Callback_Quoter/Consumer_Input_Handler.cpp - examples/Callback_Quoter/Consumer_Input_Handler.h - examples/Callback_Quoter/Consumer_Signal_Handler.cpp - examples/Callback_Quoter/Consumer_Signal_Handler.h - examples/Callback_Quoter/Consumer_Handler.cpp - examples/Callback_Quoter/Consumer_Handler.h - examples/Callback_Quoter/Supplier_Signal_Handler.cpp - examples/Callback_Quoter/Supplier_Signal_Handler.h - examples/Callback_Quoter/Supplier_i.cpp - examples/Callback_Quoter/Supplier_i.h - examples/Callback_Quoter/supplier.cpp - examples/Callback_Quoter/consumer.cpp - examples/Callback_Quoter/notifier.cpp - examples/Callback_Quoter/README - - All the above files are added. - This version is a working Callback_Quoter example. - -Mon Nov 09 23:06:55 1998 David L. Levine <levine@cs.wustl.edu> - - * BUG-REPORT-FORM: added phase (compilation/linking/execution/other), - and ACE+TAO/application/both. - -Mon Nov 9 19:29:38 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB.h (CORBA::ExceptionType): Swapped the enum definition - order of USER_EXCEPTION and SYSTEM_EXCEPTION so it complies with - the CORBA spec. - - * tao/GIOP.h (TAO_GIOP_ReplyStatusType): Swapped the enum definition - order of TAO_GIOP_USER_EXCEPTION and TAO_GIOP_SYSTEM_EXCEPTION - so it complies with the CORBA spec. - - Thanks very much for Bob Price <Bob_Price@tssdc.saic.com> for - noticing this and send us the bug report. - -Mon Nov 09 18:12:48 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/RtecScheduler.idl - orbsvcs/orbsvcs/Runtime_Scheduler.{cpp, h} - orbsvcs/orbsvcs/Scheduler_Factory.{cpp, h} - orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp, h} - orbsvcs/orbsvcs/Sched/DynSched.{cpp, h} - orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h, i} - orbsvcs/orbsvcs/Sched/Scheduler.h - orbsvcs/orbsvcs/Sched/Scheduler_Generic.{cpp, h} - orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}: - Implemented anomaly recording in the strategized - scheduler so all warning and error level scheduling anomalies - can be propagated to generated runtime header file without - halting the scheduler (except for a fatal anomaly). Thanks to - Tom Venturella <thomas.e.venturella@boeing.com> for suggesting this. - - * orbsvcs/tests/Sched_Conf/Sched_Conf.{cpp, dsw} - orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies.{cpp, dsp} - orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies_Runtime.h - orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.h: - modified tests to validate anomaly logging and scheduler. - -Mon Nov 09 14:12:48 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/client.cpp (init): - * examples/Quoter/Quoter_i.cpp (copy): - * tests/Param_Test/ub_objref_seq.cpp (check_validity): - * tests/Param_Test/except.cpp (run_sii_test): - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp - (create_initial_propertysetdef): - (create_constrained_propertysetdef): - (create_initial_propertyset): - (create_constrained_propertyset): Changed to use - TAO_ENDTRY_RETURN. - - * tao/try_macros.h (TAO_ENDTRY_RETURN): Added a new macro - 'TAO_ENDTRY_RETURN(X)' to avoid compilation errors when a return - statement goes right after the TAO_ENDTRY macro. Thanks to - David for pointing this out. - - -Mon Nov 9 13:04:56 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Consumer_Input_Handler.cpp (handle_input): - added TAO try macro exceptions. - -Sun Nov 8 15:59:07 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Notifier_Input_Handler.cpp (handle_input): - Rectified an parse error due to an arbitary symbol ' in this - method. - -Mon Nov 09 09:59:45 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: changed some - ACE_NOTREACHED (return 0) statements to return 0, if - TAO_HAS_EXCEPTIONS is _not_ defined. There's got to be a - better way. - -1998-11-08 Pradeep Gore <pradeep@flamenco.cs.wustl.edu> - - * examples/Event_Comm/Event_Comm.idl: Added exceptions - CannotSubscribe and CannotUnSubscribe. - * examples/Event_Comm/Event_Comm_i.h: Modified ACE_Map_Manager, - ACE_Map_Iterator and ACE_Map_Entry to use Consumer_ptr. - Added the ShutdownCallback helper class. - * examples/Event_Comm/Event_Comm_i.cpp: Made changes to Notifier_i - to use Consumer_ptr instead of the previous "marker" for Orbix. - Added a warning message for platforms (e.g. Win32) that do not - support regular expression functions such as compile and step. - Added explicit template instantiation code for the egcs compiler. - * examples/Event_Comm/Notifier_Server.h: Added this new file. - * examples/Event_Comm/Notifier_Server.cpp: Added this new file. - * examples/Event_Comm/Notifier.cpp: Uses Notifier_Server class. - * examples/Event_Comm/consumer.cpp: Class consumer now derives - from ACE_Event_Handler and implements the ShutdownCallback. - * examples/Event_Comm/Consumer_Handler.h: Added the following - methods - - int init (int argc, char *argv[], - ShutdownCallback *_shutdowncallback); - int run (void); - void close (void); - void shutdown (void); - ACE_Reactor *reactor (void); - int get_notifier (void); - data members - - Consumer_i receiver_i_; - Event_Comm::Consumer_var receiver_; - Event_Comm::Notifier_var notifier_; - TAO_Naming_Client naming_services_client_; - * examples/Event_Comm/Consumer_Handler.cpp: Uses the naming service - to get hold of the Notifier object instead of using an IOR. - * examples/Event_Comm/Consumer_Input_Handler.h: - Class Consumer_Input_Handler derives from ACE_Event_Handler. - * examples/Event_Comm/Consumer_Input_Handler.cpp: handle_input - calls Consumer_Handler::shutdown to initiate a shutdown on - the "quit" command. - Uses register_stdin_handler and remove_stdin_handler to - register the input handler. - * examples/Event_Comm/supplier.cpp: Class Supplier derives from - ACE_Event_Handler and implements ShutdownCallback. - * examples/Event_Comm/Supplier_Input_Handler.h: Derives from - ACE_Event_Handler. - * examples/Event_Comm/Supplier_Input_Handler.cpp:handle_input - calls Supplier_Handler::shutdown to initiate a shutdown on - the "quit" command. - * Makefile: detects if the g++ compiler version is lesser than - 2.8.0 and if so, prints a warning message. - - -Sun Nov 08 14:55:53 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/orbconf.h: Please uncomment TAO_HAS_EXCEPTIONS and - TAO_USE_EXCEPTIONS once exceptions are working in TAO. For now, - they are not working properly. - - * tao/Object_Table.cpp (find): Fixed the find routine. It was - considering the is_free_ field in all cases, but this field is - not used when the dynamic hashing mechanism is used. - - * tao/orbconf.h: Please uncomment TAO_HAS_EXCEPTIONS and - TAO_USE_EXCEPTIONS once exceptions are working in TAO. For now, - they are not working properly. - - * tao/Object_Table.cpp (find): Fixed the find routine. It was - considering the is_free_ field in all cases, but this field is - not used when the dynamic hashing mechanism is used. - -Fri Nov 6 19:11:39 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Notifier_i.cpp: - Added exceptions handling to methods: - register_callback, unregister_callback, market_status. - -Fri Nov 6 17:09:52 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/mpeg/mpeg_shared/MMDevice_Exporter.idl: - The new idl defining the wrapper interface for exporting both - Audio and Video MMDevices. - -Fri Nov 06 10:59:43 1998 David L. Levine <levine@cs.wustl.edu> - - * VERSION: added reference to BUG-REPORT-FORM. Thanks to - Peter Nordlund <petern@nada.kth.se> for provided the new - text. - -Thu Nov 5 23:46:42 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/README (TIP): - Just added a line telling the users about the format for the - input file of the supplier market daemon. - -Thu Nov 05 15:52:50 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Object_Table.cpp (find): Added a check for is_free in the - find algorithm. Thanks to Frank Patz <frank@contact.de> for - sending the bug report. - -Thu Nov 05 04:03:01 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB.cpp (multicast_to_service): Make sure that the multicast - sockets are closed properly no matter how the function exits. - Thanks to Achim Stindt <stindt@inobis.de> for reporting this. - -Wed Nov 04 22:46:00 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Operation_Table.cpp: Added a timeprobe table. - -Wed Nov 4 15:31:29 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/IIOP_Object.h: Added TAO_Export to Profile so I can use - it in the Implementation Repository. - - * orbsvcs/ImplRepo_Service/*: The Implementation Repository - (which now supports DSI and Ping Objects) has been moved here. - - * orbsvcs/tests/ImplRepo/*: Updated the test to check DSI and - the Ping Object, and also added a test for just the Repository - class in ImplRepo_Service. - -Tue Nov 3 21:02:30 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Supplier_Timer_Handler.cpp - Added a change to Consumer_Input_Handler::quit_consumer_process - by which the consumer exits gracefully even on a communication - failure with the notifier. - Also, this is a working version of the Callback Quoter example. - -Tue Nov 3 19:57:03 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/README: - Added this file which explains the Callback Quoter example and - the way the execute it. - -Tue Nov 3 17:14:35 1998 Yamuna Krishnamurthy <yamuna@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/server_discovery/Trader_Client.{h,cpp}: - Bind to the mpeg client receiver to push the audio and video - device references to the AV mpeg client in load_movie (). The - references to the audio and video mmdevice are obtained from the - mmdevice exporter through the trading service. Added code to - hash the MMDevice_Exporter reference. - - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery.cpp: - Change the method names corresponding to the names generated in - the Server_0005fDiscovery_0005fUtil.h.Declare the jobject array - server_names as a class member and not within the get_server - method. Initilaize the _movie_class in the get_movie_info method - before allocation of buffer. Added code in load_movie (). - - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery_Selection.java: - Changed the way the movie tree was created and accessed. Do an - updateUI() on the table to display it. - - * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery_Util.java: - Change the second parameter passed to load_movie() from - movie_name of String type to movie of Movie class type to pass - the movie info - - * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.{h,cpp}: - Write a wrapper MMDevice_Exporter to export the audio and video - references and the machine and movie info properties.Add - AV_Video_MMDevice and AV_Audio_MMDevice. - - * orbsvcs/tests/AVStreams/mpeg/source/server/Video_Repository.idl: - Replace the member filename_ with audio_filename_ and - video_filename_. - -Tue Nov 3 16:10:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * docs/configurations.html: The macro - TAO_USE_DOTTED_DECIMAL_ADDRESSES was given as - TAO_USES_DOTTED_DECIMAL_ADDRESES in docs/configuration.html. - Thanks to Byron Harris for reporting this! - -Tue Nov 3 14:39:05 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/mpeg/mpeg_shared/Receiver.idl: - Added a video object reference and video file parameters to the - push_mmdevice method in the Receiver interface. - - * orbsvcs/tests/AVStreams/mpeg/mpeg_client/Command_Handler.{h,cpp}: - Changed the implementation of the Receiver interface to - implement code for the video reference and videofile parameters - to push_mmdevice method. - -Mon Nov 2 17:57:23 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.{h,cpp}: - * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp - Make sure the client instructs the server to shutdown no matter - we are using the collocation optimization or not. - - * performance-tests/Demux/demux_test_client.cpp (run_linear_test, - run_random_test, run_worst_test, run_best_test): Win32 doesn't - support conversion from unsigned __int64 to double directly. - Therefore, we must use the ACE_UINT64_DBLCAST_ADAPTER to convert - it to __int64 first. In this case, it'll be safer if we do the - substraction first before multiplying the constant factor. - - * performance-tests/Demux/{server,client}.cpp (main): Added - trailing return statements to avoid warnings from VC 6. - - * performance-tests/Demux/Demux.dsw: - * performance-tests/Demux/{server,client}.dsp: - * performance-tests/Demux/CodeGen/CodeGen.dsp: New - project/workspace files. - - * performance-tests/Demux/demux_test_client.cpp (run_random_test): - Replaced srand48 () and lrand48 () with ACE_OS::srand () and - ACE_OS::rand (). - - * performance-tests/Demux/demux_test_server.cpp - (~Demux_Test_Server): Removed unreferenced local variables. - - * performance-tests/Demux/CodeGen/client.cpp - (gen_client_incl_code): This function should return a value. - - * performance-tests/Demux/CodeGen/gen_names.cpp (is_present): - Fixed a syntax error. - (gen_rand): Changed lrand48 () to ACE_OS::rand (). - - * performance-tests/Demux/CodeGen/codegen.h: Removed inclusion of - <iostream.h> and <fstream.h>. They caused conflicts with - standard C++ library and should be included by ACE's header - files. - -1998-11-02 Kirthika Parameswaran <kirthika@macarena.cs.wustl.edu> - - * examples/Callback_Quoter/Supplier_Timer_Handler.h: - * examples/Callback_Quoter/Supplier_Timer_Handler.cpp: - Added these files, for implementing the timer handler for - the supplier. - -Sun Nov 01 19:53:15 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/TAO.h (TAO_ORB_Manager::run): Added default environment to - this method. Thanks to Terry Rosenbaum - <Terry.Rosenbaum@Radiology.MSU.edu> for suggesting this. - -Sun Nov 01 09:03:40 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.39 released. - -Sun Nov 01 08:24:19 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp - (calc_delta): removed fabs wrap of real_time with - ACE_LACKS_FLOATING_POINT, because real_time is unsigned - on those platforms. GHS complained about useless - check for < 0. - - (do_test): changed sleep_time - delta < 0 check to - sleep_time < delta, because GHS 1.8.8 complained (improperly) - that sleep_time - delta could never be less than 0. - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: - removed fabs () #define with ACE_LACKS_FLOATING_POINT, - because it's no longer used. - -Sat Oct 31 17:49:18 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.38 released. - -Sat Oct 31 17:14:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * performance-tests/Demux/CodeGen/gen_names.cpp: Cleaned up the - code a little bit and fixed a problem with ACE_CString -- it was - being passed the address of a character, which really confused - it! Thanks to Vishal for chasing this down. - -Sat Oct 31 13:03:58 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/CDR.i (operator<<): removed some return statements so that - returns at end of functions don't need to be wrapped with - ACE_NOTREACHED. That seems to be the only way to keep - both GHS and DEC cxx happy. - -Sat Oct 31 01:49:06 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp (main): - Added check for argv[0] to determine whether to use collocation - optimization or not. - -Fri Oct 30 23:04:20 1998 David L. Levine <levine@cs.wustl.edu> - - * examples/Callback_Quoter/Consumer_Handler.h (reactor_used): - removed superfluous class name qualification. - - * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp (add_type): - added ACE_UNUSED_ARG (inc_num). With native exceptions enabled, - it's never used, because it's a default return value. - -Fri Oct 30 15:21:52 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * performance_tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: - * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.{h,cpp}: - Fixed the collocation test. It was broken when we stop using - Naming Service with the test. Also, separate out the - shutdown_server method out since it needs to do more than an - ordinary shutdown call to the server when we are testing the - collocation. Notice that Irfan is currently fixing this and in - the future, we'll no longer need to treat collocated object - specially. - -Fri Oct 30 15:10:16 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * performance_tests/Demux/CodeGen - - Made modifications such that a new method called shutdown is - always generated for every interface. This method will be called - to shutdown the ORB on the server side. - - In addition, we now generate the poa-names.dat file with a POA - depth appaneded to it. Thus we shall have names like - poa_names_1.dat. This will enable us to create many executables - at the same time. Otherwise, everytime we ran the demux - executable, we were overwriting this file. In the servant - implementation, for the shutdown mehtod, we call the shutdown on - the ORB. - - Affected files are: - - codegen.cpp - codegen.h - gen_names.cpp - idl.cpp - servant_impl.cpp - - * performance_tests/Demux/demux_test_client.cpp - - The client now invokes the shutdown method on the very first obj - reference it holds. This will enable the ORB shutting down on - the other side. - -Fri Oct 30 13:50:21 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_array/any_op_cs.cpp, - TAO_IDL/be/be_visitor_exception/any_op_cs.cpp, - TAO_IDL/be/be_visitor_interface/any_op_cs.cpp, - TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp, - TAO_IDL/be/be_visitor_structure/any_op_cs.cpp, - TAO_IDL/be/be_visitor_union/any_op_cs.cpp (operator <<=): - removed "return 0" in TAO_TRY block in generated code, and - therefore the ACE_NOTREACHED wrapper around the "return 0" - at the end of the function. Thanks to Carlos for suggesting - this simplification. - -Fri Oct 30 09:35:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/orbconf.h: Changed TAO_USE_EXCEPTIONS to TAO_HAS_EXCEPTIONS - to be consistent with ACE_HAS_EXCEPTIONS. Thanks to - Terry.Rosenbaum@Radiology.MSU.edu <Terry Rosenbaum> for - suggesting this. - -Thu Oct 29 18:19:55 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.37 released. - -Thu Oct 29 18:02:36 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-INSTALL.html: Added a comment about enabling native - exceptions with TAO. - -Thu Oct 29 16:25:50 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/Makefile: - * TAO_IDL/be/be_visitor_interface_fwd/cdr_op_ci.cpp: - * TAO_IDL/be_include/be_visitor_interface_fwd/cdr_op_ci.h: - A forward declaration of an interface also generates the forward - declaration of its << and >> operators. - - * TAO_IDL/be_include/be_visitor_interface_fwd.h: - * TAO_IDL/be_include/be_interface_fwd.h: - * TAO_IDL/be_include/be_decl.h: - * TAO_IDL/be_include/be_codegen.h: - * TAO_IDL/be/be_visitor_root/root.cpp: - * TAO_IDL/be/be_visitor_root/cdr_op.cpp: - * TAO_IDL/be/be_visitor_module/module.cpp: - * TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp: - * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: - * TAO_IDL/be/be_visitor_scope.cpp: - * TAO_IDL/be/be_visitor_interface_fwd.cpp: - * TAO_IDL/be/be_visitor_factory.cpp: - * TAO_IDL/be/be_decl.cpp: - Some cleanup and added support for the new additions above. - -Thu Oct 29 07:49:51 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/DynUnion_i.cpp: added a bunch of .in () dereferences - so that it will compile with g++. - - * TAO_IDL/Makefile: strip $(CXX) to avoid odd behavior if had - trailing whitespace. Thanks to Steve Kay <slk1@icore.ih.lucent.com> - for providing the test case :-) - - * performance-tests/Cubit/TAO/MT_Cubit/summarize: reverted to - prior version, to use microsecond scaling. - - * performance-tests/Cubit/TAO/MT_Cubit/plot: support floating - point numbers. - -Wed Oct 28 22:22:44 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (new_context): - removed return statement in TAO_TRY block so that final - return statement will be reached, if an exception isn't thrown. - This avoids a cxx warning that the last statement is unreachable. - - * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp (visit_enum): removed - ACE_NOTREACHED wrapper fron final return statement, because it's - reachable. - -Wed Oct 28 21:47:32 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: - Fixed <<= operators (copying version) to be - leak-free and consistent (now all use ACE_NEW - and return immediately if it fails). - -Wed Oct 28 20:44:27 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Any.cpp: - Modified >>= (to_string) to get rid of a leak found with Purify. - * tao/DynAnyC.h: - * tao/POA_CORBA.h: - Added 'TAO_Export' to some classes I missed. - * tao/DynAny_i.cpp: - * tao/DynArray_i.cpp: - * tao/DynEnum_i.cpp: - * tao/DynSequence_i.cpp: - * tao/DynStruct_i.cpp: - * tao/DynUnion_i.cpp: - Fixed memory leaks. - * TAO/tests/DynAny_Test/data.cpp: - * TAO/tests/DynAny_Test/test_dynany.{h,cpp}: - * TAO/tests/DynAny_Test/test_dynarray.{h,cpp}: - * TAO/tests/DynAny_Test/test_dynenum.{h,cpp}: - * TAO/tests/DynAny_Test/test_dynsequence.{h,cpp}: - * TAO/tests/DynAny_Test/test_dynstruct.{h,cpp}: - * TAO/tests/DynAny_Test/test_dynunion.{h,cpp}: - Cleaned up dependencies, fixed leaks and added a few more - test cases. - -Wed Oct 28 07:35:20 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/util/utl_global.cpp (validate_included_idl_files): - Fixed the g++ warning. Thanks to David Levine for letting me - know this. - -Wed Oct 28 00:09:52 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/include/idl_global.h: - * TAO_IDL/driver/drv_preproc.cpp: - * TAO_IDL/util/utl_global.cpp (validate_included_idl_files): Fixed - the problem with generating #include statements for #include'd idl - files. - -Tue Oct 27 22:46:18 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Notifier_i.cpp (shutdown): - removed all the iterating sequence through the Hash map. - -Sun Oct 25 16:13:52 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/ - Consumer_Input_Handler.cpp (unregister_consumer): - -made changes to reinitialize variable unregistered_. - Consumer_Signal_Handler.h - Consumer_Input_Handler - -added friend class ShutupPlusPlus to stop g++ from cribbing - about having a private destructor and no friend methods. - -Tue Oct 27 22:22:05 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.2.36 released. - -Tue Oct 27 12:53:05 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp} : - * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp: - * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: - Fixed a few g++ warnings and added code to work properly with - property service. - -Tue Oct 27 08:39:38 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: - wrapped some final return 0 statements with ACE_NOTREACHED. - - * orbsvcs/tests/Simple_Naming/client.cpp (init): wrapped - final return 0 statement with ACE_NOTREACHED. - - * examples/Quoter/Quoter_i.cpp (copy): wrapped - final return 0 statement with ACE_NOTREACHED. - - * tests/Param_Test/ub_objref_seq.cpp (check_validity): wrapped - final return 0 statement with ACE_NOTREACHED. - - * tests/Param_Test/except.cpp (run_sii_test): wrapped - final return 0 statement with ACE_NOTREACHED. - - * TAO_IDL/driver/drv_preproc.cpp: reverted to version 1.29 - because 1.30 doesn't work. - -Tue Oct 27 06:00:38 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.35 released. - -1998-10-26 Seth Widoff <swidoff@cs.cmu.edu> - - * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: - * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: - * orbsvcs/tests/Trading/colocated_test.cpp: - In an effort to be efficient, in certain methods I was stealing - sequence buffers from 'in' parameters that would have otherwise - needed to have been copied. However, this doesn't work in the - colocated case, since those 'in' parameters are passed directly - rather than copied over the wire. This was causing the the trader's - colocated_test to fail. Thanks to Jim Penny - <jpenny@universal-fasteners.com> for reporting this. - -Mon Oct 26 18:53:49 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/performance-tests/Cubit/TAO/IDL_Cubit/README: - * TAO/performance-tests/Cubit/TAO/DII_Cubit/README: - Oops, forgot to update the README files pertaining to - the checkin below. - -Mon Oct 26 18:40:03 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp: - * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: - * TAO/performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: - Fixed a bug reported in the DII Cubit test. Removed -s option - from server (harmful), also from client (not harmful but - useless) and removed these args from the perl file. Thanks to - Jim Penny <jpenny@universal-fasteners.com> for reporting this. - Also fixed a typo in the perl file (thanks, Carlos). - -Mon Oct 26 18:28:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Updated dependencies for all the Makefiles. - -Mon Oct 26 16:01:27 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/DynAny_Test: Made the run_tests.pl script have - 755 permission. Thanks to Jim Penny - <jpenny@universal-fasteners.com> for reporting this. - -Mon Oct 26 14:22:18 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * examples/POA/DSI/README - * examples/POA/DSI/run_test.pl - * examples/POA/DSI/server.cpp - * examples/POA/DSI/client.cpp - * tests/Multiple_Inheritance/run_test.pl - * tests/Multiple_Inheritance/server.cpp - * tests/Multiple_Inheritance/client.cpp - Fixed command line arguments to conform to Irfan's - specifications. - -Mon Oct 26 12:01:30 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_array/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: - Replaced the final "return 0;", because other compilers, - such as g++, warned without it. But now, it's wrapped with - ACE_NOTREACHED. - -Mon Oct 26 09:57:29 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_array/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp: - * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: - Removed a redundant "return 0;" found on each >>= operator. This - was causing nasty warnings in some compilers. - -Mon Oct 26 09:34:32 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): While scanning - for #include'd idl file, we should also look for <file.idl> other - than "file.idl". Thanks to "John Geiss" <jtgb@eci-esyst.com> for - reporting this problem. - -Mon Oct 26 00:05:54 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB.cpp (multicast_to_service): Changed htons to ACE_HTONS. - This change allows TAO to have reduced dependencies to system - libraries. Thanks to Paul K. Fisher <pfisher@plexware.com> for - suggesting this change. - -Mon Oct 26 00:03:44 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.34 released. - -Sun Oct 25 20:26:59 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/DynArray_i.cpp: - * tao/DynSequence_i.cpp: - * tao/DynStruct_i.cpp: - * tao/DynUnion_i.cpp: - * TAO/tests/DynAny_Test/test_dynany.cpp: - * TAO/tests/DynAny_Test/test_dynarray.cpp: - * TAO/tests/DynAny_Test/test_dynenum.cpp: - * TAO/tests/DynAny_Test/test_dynsequence.cpp: - * TAO/tests/DynAny_Test/test_dynstruct.cpp: - * TAO/tests/DynAny_Test/test_dynunion.cpp: - Fixed some memory leaks - the ones that are left - are all similar, but I'm not sure how to approach - it yet. - - -Sun Oct 25 16:12:16 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO/examples/Simple/time/README: Rearranged and cleared - up some explanations of the options. - -Sun Oct 25 15:24:14 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/DynAny_Test/run_test.pl - Perl script to run one or all of the tests. Thanks to - Darrell for example file to cut and paste from, as - well as help getting Corrido set up correctly. - -Sun Oct 25 13:30:49 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/DynAny_Test/Makefile: - * TAO/tests/DynAny_Test/README: - Added Makefile and updated README. - -Sun Oct 25 12:45:17 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/DynAny_Test/driver.{h,cpp}: - * TAO/tests/DynAny_Test/data.cpp: - Just some minor changes to avoid CC and g++ warnings. - -Sat Oct 24 23:56:45 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/ - added files: - Consumer_Handler.h - Consumer_Handler.cpp - Consumer_Signal_Handler.h - Consumer_Signal_Handler.cpp - - Consumer_Handler creates the Consumer_Input_Handler and the - Consumer_Signal_Handler objects which are derived from - ACE_Event_Handler for managing events of input and signal type. - - -Sat Oct 24 14:51:29 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp (supplier_task): - wrapped shift of "byte_order" with CORBA::Any::from_boolean (), - because egcs 1.1b complained about ambiguous overload resolution. - Thanks to Carlos for this solution. - - * orbsvcs/tests/EC_Custom_Marshal/run_tests.pl: specify full path - to executables. That way, users don't need to have . in their - path. - -Fri Oct 23 18:45:43 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * examples/POA: - - ACE_wrappers/TAO/examples/POA/DSI/client.dsp - ACE_wrappers/TAO/examples/POA/DSI/server.dsp - ACE_wrappers/TAO/examples/POA/Default_Servant/client.dsp - ACE_wrappers/TAO/examples/POA/Default_Servant/server.dsp: - - Updated project files with the new IDL compiler location and new - bin/DLL directory location. - - ACE_wrappers/TAO/examples/POA/DSI/server.cpp: - - Fixed signed/unsigned problem. - - Thanks to John Morey<jmorey@tbi.com> for reporting them. - - -Fri Oct 23 18:23:07 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Simple/echo/README (Options): - Added explanation regarding ior. - -Fri Oct 23 17:54:16 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * Tao/tests/DynAny_Test/test_dynsequence.cpp: - Fixed a typo that was giving a false error. - -Fri Oct 23 16:31:50 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/DynAny_Test/da_tests.idl: - Removed da_tests.pidl and added above (same - file). My mistake. - -Fri Oct 23 15:54:13 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/DynAny_Test/data.{h,cpp}; - * TAO/tests/DynAny_Test/driver.{h,cpp}; - * TAO/tests/DynAny_Test/test_dynany.{h,cpp}; - * TAO/tests/DynAny_Test/test_dynarray.{h,cpp}; - * TAO/tests/DynAny_Test/test_dynenum.{h,cpp}; - * TAO/tests/DynAny_Test/test_dynsequence.{h,cpp}; - * TAO/tests/DynAny_Test/test_dynstruct.{h,cpp}; - * TAO/tests/DynAny_Test/test_dynunion.{h,cpp}; - * TAO/tests/DynAny_Test/test_wrapper.{h,cpp}; - * TAO/tests/DynAny_Test/da_tests.pidl; - * TAO/tests/DynAny_Test/DynAny_Test.dsw; - * TAO/tests/DynAny_Test/basic_test.dsp; - The basic DynAny test stuff. Makefile and README - file to come shortly. Only works on NT for now. - -Fri Oct 23 15:00:30 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Simulator/DOVEMIB/DOVEMIBx.dsp - orbsvcs/tests/Simulator/DOVEMIB/TestClient.dsp - orbsvcs/tests/Simulator/DOVEMIB/any_test_i.cpp: Modified custom - build step for .idl files to look for the TAO IDL compiler in - the $ACE_ROOT/bin directory, converted ostream output for which - compiler was complaining about an ambiguous << operator into - ACE_DEBUG output form. Thanks to Brian Gilstrap - <gilstrap_b@ociweb.com> for pointing this out. - -1998-10-23 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - * examples/Simple/bank/README (Options): Explained the [-o IOR_file_name] - option for the server more clearly. - -Fri Oct 23 12:41:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/Environment.cpp: - When using native C++ exceptions the - CORBA_Environment::default_environment() function clears the - environment every time it is called. This should fix some - problems reported by Goran Lowkrantz - <Goran.Lowkrantz@infologigruppen.se> - -Fri Oct 23 12:33:56 EDT 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: - - Modified the generated code sightly to make sure that we check - for exceptions. Thanks to Naga for pointing this out. - -Fri Oct 23 11:17:00 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/CDR.i (operator<<): wrapped several final return statements - with ACE_NOTREACHED to avoid unreachable statement warnings from - DEC cxx. - -Fri Oct 23 10:25:49 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp : Fixed the - problem with getting the suffix for a #include'd idl file. Use - strrchr instead of strstr. Thanks to Ron Barack - <r.barack@inobis.de> for tracking this down. - -Fri Oct 23 00:40:14 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.33 released. - -Thu Oct 22 23:28:52 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.32 released. - -Thu Oct 22 21:35:17 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-INSTALL.html: Since we've been successfully using MSVC 6.0 - for a while, might as well mention it here in the documentation, - -Thu Oct 22 20:43:06 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/DynAnyC.h: - Added 'TAO Export' to the DynAny utility classes - AnySeq and NameValuePairSeq so the linker could find them. - -Thu Oct 22 14:09:12 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/fe/fe_lookup.cpp: - TAO_IDL/Makefile: - - Since GPERF had issued a warning indicating collision of keys, I - used an additional -k1,2,$ option to GPERF. Thanks to Doug - Schmidt for suggesting this. The collisions are now resolved. - -Thu Oct 22 11:01:12 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp (visit_interface): - initialize _tao_obj_ptr to 0 to avoid g++ warnings about possible - use before initialization, in generated code. - - * examples/POA/Generic_Servant/Makefile: changed LSRC definition - to use $(IDL_SRC) instead of $(POA_CLT_SRCS), so that client.o - is not put into libserver.a. It caused link collisions on VxWorks. - - * orbsvcs/tests/Concurrency/lex.CC_command.cpp: forced CVS check-in - to avoid out-of-date warnings during builds, after new checkouts. - - * tao/orbconf.h: enable TAO_USE_EXCEPTIONS ifdef ACE_HAS_EXCEPTIONS. - -Thu Oct 22 11:26:34 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/include/fe_private.h: - - The hash and the lookup methods now use unsigned int as the type - for the second argument. - - * TAO_IDL/fe/fe_lookup.cpp: - - Regenerated the file since the prototype for the hash and lookup - methods had changed. - -Wed Oct 21 22:34:18 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.31 released. - -Wed Oct 21 22:49:09 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * examples/POA/DSI/server.dsp: - * examples/POA/DSI/client.dsp: - Just noticed that these were pointing to the old location - of tao_idl. Now fixed to look in /bin. - -Wed Oct 21 22:29:35 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp (TAO_CodeGen): Fixed the problem with - #include'ing the server skeleton header of the another #included - idl file. Thanks to Stach (t.stach@inobis.de) for tracking this - down. - -Wed Oct 21 15:01:23 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_array/any_op_cs.cpp - TAO_IDL/be/be_visitor_enum/any_op_cs.cpp - TAO_IDL/be/be_visitor_exception/any_op_cs.cpp - TAO_IDL/be/be_visitor_interface/any_op_cs.cpp - TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp - TAO_IDL/be/be_visitor_structure/any_op_cs.cpp - TAO_IDL/be/be_visitor_union/any_op_cs.cpp: - - Added an extra "return 0;" after the TAO_ENDTRY; in each >>= - operator. Thanks to David Levine for reporting the compiler - warnings requiring a return statement. - -Wed Oct 21 13:09:54 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/README: - * performance-tests/Cubit/TAO/IDL_Cubit/README: - Updated the instructions for running Cubit tests on CHORUS. - -Wed Oct 21 12:32:37 EDT 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_array/any_op_cs.cpp - TAO_IDL/be/be_visitor_enum/any_op_cs.cpp - TAO_IDL/be/be_visitor_exception/any_op_cs.cpp - TAO_IDL/be/be_visitor_interface/any_op_cs.cpp - TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp - TAO_IDL/be/be_visitor_structure/any_op_cs.cpp - TAO_IDL/be/be_visitor_union/any_op_cs.cpp: - - Added the TAO_TRY macros to the generated code for the <<= and - >>= operators. In addition, David Levine had reported warnings - because of the presence of an unnecessary, unreachable return - statement. This has been fixed. - - * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp - TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp - TAO_IDL/be/be_visitor_enum/cdr_op_cs.cpp - TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp - TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp - TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp - TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: - - For IDL types defining a scope (e.g., structure, intrfaces), we - were generating the inline CDR operators that used the CDR - operators for their children before defining them. This was - resulting in lots of compile errors. We now make sure that the - CDR operators for the children are available before their use in - the parent. - - * tao/IIOP_Interpreter.cpp (calc_key_union_attributes): There was - an error in the calculation of the padded size of the - discriminant. We were not taking inot account the size of the - Base_Union. Thanks to Kirk Ellett (kellett@mdc.com) for sending - me the bug report and a sample code that illustrated this - problem. His example used a sequence of unions in which one of - the member was double (size 8, alignment 8) that finally - pinpointed this error to me. - -Wed Oct 21 07:22:12 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/driver/drv_args.cpp (DRV_parse_args): initialized - local "s" to 0 to avoid g++ warning about possible - unitialized use. - -Tue Oct 20 18:04:30 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: - * TAO_IDL/driver/drv_args.cpp: Fixed the problem with separating - suffix from the mail file name. It was hard coded assuming that - all files will end with .cpp which may not be true when somebody - uses -sT or -st option to specify someother suffix like .cxx or - something. So, we now use "." to separate the main name from the - suffix. If . is also not there (sanity check), we just take the - whole name as it is. Thanks to - Terry.Rosenbaum@Radiology.MSU.edu <Terry Rosenbaum> for - reporting this problem. - -1998-10-20 Seth Widoff <swidoff@cs.cmu.edu> - - * orbsvcs/Trading_Service/Trading_Service.{h,cpp}: - * docs/releasenotes/trader.html: - Added a command line argument -TSdumpior to dump the trader's ior - to a file. Thanks to Sunil Kumar <skumar@sutmyn.com> for - noticing this was missing. - -Tue Oct 20 11:07:18 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/Param_Test/param_test_i.cpp: A re-check in... - -Tue Oct 20 11:17:01 EDT 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be: - - Introduced a small modification (read hack) so that all the CDR - operators are now generated in the *.i file and with the - ACE_INLINE keyword. Also, if ACE_INLINE is not defined, then we - take care of this by generating the prototypes in the header - enclosed within #ifndef .. #define .. #endif statements. This is - just a first attempt to reduce fuction call overhead for - compiled marshaling operators. However, an elegant solution to - do this on a selective basis is needed. At this time, we force - all <<, >> operators to be inlined. If the compiler decides not - to inline, then we are going to pay a penalty. - - Affected files are: - - be_visitor_root/root.cpp - be_visitor_root/cdr_op.cpp - - In addition, I found out that in a number of files, we were - tightly coupling the generated code to a specific output stream - e.g., the client stubs file. In the above scenario, when I moved - the generation of the CDR operators to the inline files in the - root.cpp file, I expected all the children nodes to generate - code in the inline file. However, since the code for the child - nodes were tightly coupled with the client stubs file, it - resulted in errors. - - The best way to hide which output stream we are currently - dealing with is to use the "stream" accessor of the - visitor_context class. The desired stream gets set at the root - level and this information is passed to all the children via the - context. - - Affected files are: - - be_visitor_array/any_op_ch.cpp - be_visitor_array/any_op_cs.cpp - be_visitor_array/cdr_op_ch.cpp - be_visitor_array/cdr_op_cs.cpp - be_visitor_enum/any_op_ch.cpp - be_visitor_enum/any_op_cs.cpp - be_visitor_enum/cdr_op_ch.cpp - be_visitor_enum/cdr_op_cs.cpp - be_visitor_exception/any_op_ch.cpp - be_visitor_exception/any_op_cs.cpp - be_visitor_exception/cdr_op_ch.cpp - be_visitor_exception/cdr_op_cs.cpp - be_visitor_interface/any_op_ch.cpp - be_visitor_interface/any_op_cs.cpp - be_visitor_interface/cdr_op_ch.cpp - be_visitor_interface/cdr_op_cs.cpp - be_visitor_sequence/any_op_ch.cpp - be_visitor_sequence/any_op_cs.cpp - be_visitor_sequence/cdr_op_ch.cpp - be_visitor_sequence/cdr_op_cs.cpp - be_visitor_structure/any_op_ch.cpp - be_visitor_structure/any_op_cs.cpp - be_visitor_structure/cdr_op_ch.cpp - be_visitor_structure/cdr_op_cs.cpp - be_visitor_typedef/any_op_ch.cpp - be_visitor_typedef/any_op_cs.cpp - be_visitor_typedef/cdr_op_ch.cpp - be_visitor_typedef/cdr_op_cs.cpp - be_visitor_union/any_op_ch.cpp - be_visitor_union/any_op_cs.cpp - be_visitor_union/cdr_op_ch.cpp - be_visitor_union/cdr_op_cs.cpp - - * performance-tests/Demux: - performance-tests/Demux/CodeGen: - - Completely rewrote the entire test suite using proper ACE - programming guidelines. The older version was written to work - with the SunSoft's IIOP code. the current one is now fully CORBA - compliant and works with TAO. - - A bunch of files have been deleted and new ones added. In - particular, we now generate an interface definition and rely on - TAO_IDL compiler to generate the stubs and skeletons (rather - than we generating them as we did before). In addition, we have - added an additional parameter i.e., POA depth. - - Read the README files in both the directories to see how to use - this test suite. We need to experiment with this to see how TAo - performs. - - Newly added files are: - - ./demux_test_client.{h, cpp} - ./demux_test_macros.h - ./demux_test_server.{h, cpp} - ./CodeGen/codegen.{h, cpp} - ./CodeGen/debug.cpp - ./CodeGen/demux.cpp - ./CodeGen/gen_names.cpp - ./CodeGen/idl.cpp - ./CodeGen/servant_hdr.cpp - ./CodeGen/servant_impl.cpp - - Files removed are: - - ./CodeGen/gen.cpp - ./CodeGen/impl.cpp - ./CodeGen/objcreate.cpp - ./CodeGen/perf.cpp - ./CodeGen/impl.cpp - ./CodeGen/skel.cpp - ./CodeGen/stub.cpp - ./CodeGen/tao.{h, cpp} - - -Mon Oct 19 21:40:56 1998 David L. Levine <levine@cs.wustl.edu> - - * *.h: changed include protection from #if !defined to ifndef. - Added #pragma once, if possible, i.e., after #include of - an ace/ header. It can only be done after ace/config.h - is included, because some platforms don't allow #pragma once. - - * tests/Param_Test/Makefile: don't build with g++ versions prior - to 2.8, because they can't handle nested classes. Thanks to - JM Strauss <jms97@club-internet.fr> for confirming this. - - * examples/Quoter/Makefile: don't build with g++ versions prior - to 2.8, because they can't handle nested classes. - - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp (disconnect_push_supplier): - added ACE_UNUSED_ARG (_env). - - * utils/catior/catior.cpp: added #include of ace/streams.h - because this file uses ifstreams. - - * tao/DynUnion_i.cpp (get_extractor): moved return statement - inside of ACE_LACKS_LONGLONG_T protection to avoid compiler - warning about unreachable statement. - -Mon Oct 19 15:37:53 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp (create_B): Fixed a - warning for using TAO_TRY_ENV with no TAO_CHECK_ENV.Thanks to - David for reporting this. - -Mon Oct 19 15:37:30 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsp - orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.dsp: - Modified custom build step for NavWeap.idl to look for - the TAO IDL compiler in the $ACE_ROOT/bin directory. - -Mon Oct 19 14:28:30 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * examples/POA/NewPOA/run_test.pl: Runs the test. Not exactly a - difficult task, since there's one executable with no arguments. - -Mon Oct 19 11:24:40 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/client.cpp (already_bound_test, - already_bound_test2): added .in () dereference of "obj" arg. - - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp (open_receiver): added - .in () reference of "addr_server" arg. - - * orbsvcs/tests/EC_Basic/EC_Basic.cpp (run): added - .in () reference of several args. - - * orbsvcs/tests/EC_Basic/EC_Basic.cpp: added a bunch of - ACE_UNUSED_ARG's. Thanks to JM Strauss <jms97@club-internet.fr> - for reporting these. - - * test/Param_Test/driver.cpp: added - Param_Test_Client<Test_Unbounded_Struct_Sequence> instantiation. - - * TAO/rules.tao.GNU: added -Wno-uninitialized with egcs 2.91.x. - It seems to be overly aggressive: - - DynAny_i.cpp:565: warning: `class TAO_DynAny_i * this' might be - used uninitialized in this function - - * TAO_IDL/Makefile: added include of rules.tao.GNU, to pick up - -Wno-unused and -Wno-uninitialized with g++/egcs. - -Sun Oct 18 22:05:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp - orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.cpp - orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp - orbsvcs/orbsvcs/Sched/DynSched.cpp - orbsvcs/orbsvcs/Sched/SchedEntry.{cpp,h,i} - orbsvcs/orbsvcs/Sched/Scheduler.h: - Propagated warnings for unresolved remote RT_Info dependencies - throughout the call graph in the strategized scheduler, enabled - schedule table generation even when there are unresolved remote - dependencies or the utilization bound is exceeded. These changes - allow iterative development of a schedule with useful scheduler - warnings in debug mode. - -Sun Oct 18 21:40:23 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: - * performance-tests/Cubit/TAO/MT_Cubit/client.h: - * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: Fixed some - unreferenced variables that caused warnings. Deleted some - variables that were not being used. Cleaned up the code a bit. - -Sun Oct 18 15:59:36 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/Param_Test/param_test_i.cpp: Changed use of "TRUE" to 1 - for a Boolean value. Thanks David! - -Sun Oct 18 14:20:35 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/DynAny_i.h: - * tao/DynArray_i.h: - * tao/DynEnum_i.h: - * tao/DynSequence_i.h: - * tao/DynStruct_i.h: - * tao/DynUnion_i.h: - * tao/DynUnion_i_T.h: - Edited files to conform to TAO layout style. - -Sun Oct 18 09:32:38 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/Event_Latency/Event_Latency.cpp (push, - start_generating_events): fixed a couple of 64-to-32 - bit casts so that it will compile for VxWorks. - - * examples/Callback_Quoter/Supplier_i.cpp (Supplier): - reordered initializers to match declaration order. - - * utils/IOR_Parser/ior-handler.cpp (getString,getIdlInterface): - declared char arrays that are used for return values as static. - -Sat Oct 17 13:04:50 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.30 released. - -Sat Oct 17 10:34:01 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/Sequence: Added a hash() method to TAO_Base_Sequence(). - This makes it possible to use TAO bounded and unbounded - sequences in the ACE_Hash_Map_Manager. Thanks to David Levine - and John Geiss for reporting this. - -Sat Oct 17 00:44:10 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.29 released. - -Fri Oct 16 15:48:48 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao: Replaced all #if !defined (TAO_FOO_H) with #ifndef - TAO_FOO_H since many C++ preprocessors can recognize this idiom - and optimize for it. - - * tao/POA.cpp: Changed from operator++ to ++operator to be more - efficient. Thanks to Irfan for suggesting this change. - -Fri Oct 16 17:00:47 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp: - be_visitor_enum/cdr_op_cs.cpp: - be_visitor_exception/cdr_op_cs.cpp: - be_visitor_interface/cdr_op_cs.cpp: - be_visitor_sequence/cdr_op_cs.cpp: - be_visitor_structure/cdr_op_cs.cpp: - be_visitor_union/cdr_op_cs.cpp: - - The generated <<, >> operators now have the C++ "inline" keyword - before them. Thanks to Chris Cleeland for suggesting this. - -Fri Oct 16 04:16:19 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Object_Table and POA: Changed the object table and POA/TAO - options such that the POA now supports linear, active, and - dynamic lookup strategies with the system id policy and supports - linear, and dynamic lookup strategies with the user id policy. - The default lookup strategy for the system id policy is active, - while the default lookup strategy for the user id policy is - dynamic. - - Note that the active lookup strategy is only supported with the - system id policy. This is so because the user cannot decide the - id for the active lookup strategy. It must be generated by the - system. - - Also, added the ability for TAO_Dynamic_Hash_ObjTable and - TAO_Linear_ObjTable to create object ids. This makes them - usable with the system id policy. - - * tao/default_server.cpp (parse_args): Replaced -ORBdemuxstrategy - with -ORBsystemidpolicydemuxstrategy and - -ORBuseridpolicydemuxstrategy. - - * tao/params.h (TAO_Demux_Strategy): Removed TAO_NONE. It was not - being used. - -Fri Oct 16 01:52:01 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.28 released. - -Fri Oct 16 01:25:43 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp - * performance-tests/Cubit/TAO/MT_Cubit/Makefile - * performance-tests/Cubit/TAO/MT_Cubit/README - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp - * performance-tests/Cubit/TAO/MT_Cubit/server.cpp - * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: Fixed a bug - with the utilization test, updated the README file, and some - aesthetic changes to the help. - -Fri Oct 16 00:45:22 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Notifier_Input_Handler.h - * examples/Callback_Quoter/Notifier_Input_Handler.cpp - added Event mechanism in the Notifier_Input_Handler. - - * examples/Callback_Quoter/Notifier_i.h - * examples/Callback_Quoter/Notifier_i.cpp - added close call in the shutdown method. - - -Thu Oct 15 23:00:35 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/DynAny_i.h: - * tao/DynArray_i.h: - * tao/DynEnum_i.h: - * tao/DynSequence_i.h: - * tao/DynStruct_i.h: - * tao/DynUnion_i.h: - Added TAO_Export to the class declarations (ouch!) - -Thu Oct 15 22:10:48 1998 Sergio Flores <sergio@tango.cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: - * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp: - * performance-tests/Cubit/TAO/MT_Cubit/README: Synchronized the - README file with the actual options in the source files. Cleaned - up the wording for the help in the README and source files. - Thanks to Brian Gilstrap <gilstrap_b@ociweb.com> for pointing this - out. - -Thu Oct 15 22:06:48 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/driver/drv_args.cpp: Fixed the help message to print the - new options -H linear_search and -H binary_search. - -Thu Oct 15 21:20:56 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AVStreams.idl: Uncommented the previously - commented out code that uses Property. - -Thu Oct 15 20:08:36 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp} : - * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.{h,cpp}: - * performance-tests/Cubit/TAO/MT_Cubit/Globals.{h,cpp}: - * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: - * performance-tests/Cubit/TAO/MT_Cubit/server.h: - Removed Naming service code from all the files. MT_Cubit - uses only files to share iors of servants to clients. So -s option - is also removed. - - * performance-tests/Cubit/TAO/MT_Cubit/Makefile: - Removed liborbsvcs from the LD_LIBS. - - * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: - Removed -s option for server and client. - -Thu Oct 15 17:29:42 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs[_static].dsp: Added EC_UDP_Admin.cpp. - Thanks to Russell L. Carter <rcarter@dnstoo.consys.com> for - reporting this. - - -Thu Oct 15 13:54:23 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Supplier_i.cpp: - examples/Callback_Quoter/Supplier_i.h - Changed the names as they conflicted with (lowercase) - supplier.cpp on NT. - -Thu Oct 15 13:22:39 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO/tests/Param_Test/param_test_i.cpp: - Added a Param_Test:: qualifier to declaration of - PathSpec_var rPathSpec - got rid of a compile error. - -Thu Oct 15 10:49:58 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.2.27 released. - -Wed Oct 14 23:33:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.26 released. - -Wed Oct 14 20:10:00 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: - This test uses the Reactive version of the EC, just to show how - to configure the EC in that mode (this test does not attempt to - preserve priorities, so it is good place to put this). - - * tao/encode.cpp: - Fixed encoding for Any when both cdr_ and value_ are zero - (usually when the Any is holding a tk_null). - -Wed Oct 14 18:35:26 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * TAO/examples/Callback_Quoter/ - Consumer.idl Consumer_Input_Handler.cpp - Consumer_Input_Handler.h Consumer_i.cpp Consumer_i.h Makefile - Notifier.idl Notifier_Input_Handler.cpp - Notifier_Input_Handler.h Notifier_i.cpp Notifier_i.h - Supplier.cpp Supplier.h consumer.cpp notifier.cpp supplier.cpp - - Renamed and added above files. - - * TAO/examples/Callback_Quoter/ - Client_i.cpp Consumer.dsp Consumer.idl Consumer_i.cpp - Consumer_i.h Makefile MarketFeed.dsp MarketFeed_i.cpp - MarketFeed_i.h Server_i.cpp Server_i.h Supplier.dsp Supplier.idl - Supplier_i.cpp Supplier_i.h consumer_client.cpp - marketfeed_client.cpp server.cpp - - Removed these files. - -Wed Oct 14 12:05:37 1998 Matthew J Braun <mjb2@cec.wustl.edu> - - * tests/Param_Test/ub_struct_seq.h - * tests/Param_Test/ub_struct_seq.cpp - * tests/Param_Test/param_test_i.h - * tests/Param_Test/param_test_i.cpp - * tests/Param_Test/param_test.idl - * tests/Param_Test/helper.h - * tests/Param_Test/helper.cpp - * tests/Param_Test/driver.cpp - Added test for unbounded sequence of structs. This is in - response to a bug report from Seung-Lee Hoon - <tarjan@lgsoft.com>. Thanks to Andy and Carlos for help. - -Wed Oct 14 11:20:26 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.25 released. - -Wed Oct 14 10:47:47 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB_Core.cpp: - Fixed template instantiations. - -Wed Oct 14 00:42:25 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.24 released. - -Tue Oct 13 23:03:24 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB_Core.h: - * tao/ORB_Core.i: - * tao/ORB_Core.cpp: - * tao/Invocation.i: - * tao/Connect.cpp: - * tao/CDR.h: - * tao/CDR.cpp: - The input CDR can be created using a user provided data block, - this is used to select the right kind of locking for the - Data_Block reference count. The ORB_Core acts as a Factory of - Data_Blocks, selecting the right type according to the - -ORBinputcdrallocator option. - - * orbsvcs/Event_Service/svc.conf: - Use the appropiate allocator for the EC, because it shares the - CDR buffers between several threads (to minimize data copying). - -Tue Oct 13 22:15:53 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp (svc): Must set the - wr_ptr correctly. Otherwise, the ORB doesn't know how much to - data to encode. - - * orbsvcs/orbsvcs/Event/Event_Manip.cpp (_create): event_set - length must be calculated before the call to get_buffer() since - that call will change the length. - -Tue Oct 13 17:04:15 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/Any.cpp: Modified copy constructor and assignment operator - to avoid encoding the value of the source Any when it is 0 - (which it is if the Any was constructed from just a typecode). - Perhaps this sequence of calls should never be made, but this - guards against it anyway. - -Tue Oct 13 10:51:10 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB.cpp: Thread ids in some platforms (ex: HP-UX) are - structures, so they cannot be initialized to 0. Thanks to David - Janello <David.Janello@abnamro.com> for reporting this. - -Tue Oct 13 09:16:20 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Sched/DynSched.cpp: changed a handful - of == to =. Thanks, g++ :-) - - * orbsvcs/tests/EC_Basic/EC_Basic.cpp (dump_results): - changed type of static array elements from int to - CORBA::ULong to avoid signed/unsigned comparisons. - -Mon Oct 12 18:55:00 1998 Chris Gill <cdgill@cs.wustl.edu> - - * orbsvcs/orbsvcs/RtecScheduler.idl - orbsvcs/orbsvcs/Event/EC_Gateway.cpp - orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp - orbsvcs/orbsvcs/Sched/DynSched.{cpp, h} - orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, i}: Added a new kind RT_Info - type for EC_Gateway RT_Infos that depend on remote invocations. This - change facilitates building a distributed schedule without requiring - the use of a single global scheduling service. Thanks to Tom - Venturella <thomas.e.venturella@boeing.com> for this idea. - - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp - orbsvcs/orbsvcs/Scheduler_Factory.cpp - orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp - orbsvcs/tests/EC_Multiple/EC_Multiple.cpp - orbsvcs/tests/Sched_Conf/Sched_Conf.{cpp, dsp} - orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.{cpp, dsp, h} (NEW): - Fixed a number of problems with correctness and usability of the - config and runtime schedulers, and the scheduler factory. Thanks - to Amir Bahmanyari <abahmany@teknowledge.com> for providing detailed - debugging reports. - -Mon Oct 12 18:32:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/try_macros.h: - Added new macros to support multiple TRY blocks in the same - function. Andy is going to test them. - - * performance-tests/Cubit/TAO/IDL_Cubit/README: - The file still made references to the -s option. - -Mon Oct 12 14:55:41 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (TAO_NamingContext): Made - a mistaken with my Naming_Context change for the - Hash_Map_Manager. We need to use the argument to set the size - of the table, not the data member since it hasn't been assigned - yet. Thanks to Chris Gill and Kirthika for reporting this. - -Mon Oct 12 11:30:38 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: - Removed some template instantiations that were not used anymore. - Moved the template instantiations related to memory pool from - Event_Channel.cpp into Memory_Pools.cpp - Added a comparison operator for the TAO_EC_Event class, this is - needed to complete the instantiation of ACE_Array<TAO_EC_Event>. - - * orbsvcs/orbsvcs/Event/Event_Manip.h: - The constructor was private, making some g++ variants very - angry. - -Mon Oct 12 10:31:35 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i: Removed the need to allocate - HASH_MAP dynamically. This helps improve performance and also - eliminates another point of failure in the constructor. - -Mon Oct 12 09:52:46 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (TAO_NamingContext ctor): - reordered initializers to match declaration order. - - * performance-tests/Cubit/TAO/MT_Cubit/run_tests.pl: - put ./ in front of executable names. That way, users - don't need to have . in their path. - -Sun Oct 11 23:18:19 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Manip.h: - * orbsvcs/orbsvcs/Event/Event_Manip.i: - * orbsvcs/orbsvcs/Event/Event_Manip.cpp: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.i: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/orbsvcs/Event/CORBA_Utils_T.h: - * orbsvcs/orbsvcs/Event/CORBA_Utils_T.i: - * orbsvcs/orbsvcs/Event/CORBA_Utils_T.cpp: - * orbsvcs/orbsvcs/Event/Memory_Pools.h: - * orbsvcs/orbsvcs/Event/Memory_Pools.i: - * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: - Implemented a new class to manage event life time. There are - two components to the new strategy: a reference counted version - of the EventSet buffer and a smart pointer to a single event in - the buffer. - This new strategy allowed us to go down from 6 memory copies to - 1 copies for events received remotely (and 2 for local events). - Since the copies were nested and the Event structure can be - quite complicated this reduced the number of memory allocations - significantly. - The old CORBA_Utils classes are no longer needed. - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.i: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Fixed a problem with correlation, if a consumer was expecting - A&B and a supplier sent A, A, B the consumer received two copies - of A. - - * orbsvcs/tests/EC_Basic/EC_Basic.h: - * orbsvcs/tests/EC_Basic/EC_Basic.i: - * orbsvcs/tests/EC_Basic/EC_Basic.cpp: - Added a new correlation test. - - * orbsvcs/orbsvcs/Makefile: - * orbsvcs/Event_Service/Makefile: - * orbsvcs/tests/EC_Multiple/Makefile: - * orbsvcs/tests/EC_Basic/Makefile: - * orbsvcs/tests/EC_Mcast/Makefile: - * orbsvcs/tests/EC_Custom_Marshal/Makefile: - Updated the dependencies. - - * orbsvcs/tests/EC_Basic/README: - * orbsvcs/tests/EC_Mcast/README: - The README file was out of date. - - * docs/releasenotes/TODO.html: - Updated the task corresponding to this change. - -1998-10-11 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.{h, cpp}, README: Added a - command line option to specify how long a service should run - before shutting down. This is useful for running purify, - quantify, or avoiding having explicitly kill the process. - - * orbsvcs/orbsvcs/CosNaming_i.{h,cpp}: - Removed several memory allocations (in <get_context>, and - <resolve>). - Factored some common code out into <populate_binding> function. - Cleaned up some code and got rid of <bind_new_context_helper>. - Changed TAO_NamingContext to contain a pointer to the hash map - rather than actual object to allow command line option of choosing - the size of hash map allocated upon creation (rather than using - the default size). - -Sun Oct 11 17:59:32 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Client_i.cpp (CLient_i::run ()): - changed the argument wrongly passed to the unregister_callback - from Consumer_var to Consumer_var.in (). - -Sun Oct 11 17:09:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: - * tao/POAC.cpp: - * tao/PolicyC.cpp: - * tao/DynAnyC.cpp: - * tao/CurrentC.cpp: - Optimized _narrow() it does not need to call _create_stub() on - the collocated case, using the CORBA::Object stub is good - enough. - -1998-10-11 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * orbsvcs/Naming_Service/Naming_Service.h : change the order of - data member declarations to match initialization order in - constructors in .cpp file. - -1998-10-10 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/Naming_Utils.{h, cpp}: Updated - TAO_Naming_Server to take in and pass on a parameter specifying - the size for the naming cotexts' hash tables. - - * orbsvcs/Naming_Service/Naming_Service.{h, cpp}, README: Added a - command line option to specify size of hash tables - allocated upon creation of naming contexts. - -Sat Oct 10 22:31:00 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Client_i.cpp: - added the part where the consumer keys in information. - -Sat Oct 10 16:19:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/CDR/tc.cpp: - This file was still referencing CORBA::_tc_Bounds and - CORBA::_tc_BadKind - -1998-10-10 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/client.cpp: Added parenthesis to - avoid warnings when compiling on NT. - -Sat Oct 10 00:51:52 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.23 released. - -Fri Oct 09 23:48:40 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Server_Request.cpp (set_exception and set_result): Used the - Any copy constructor to copy the user provided any. - -Fri Oct 9 17:13:32 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Used the host and - pid to get a unique names for the vdev and streamendpoint objects - to register with the Naming Service while using the Process - Endpoint strategy. This will avoid name clashes between the audio and - video process. - - * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp: Used the child's host - and pid to lookup for Vdev and streamendpoint for the process - endpoint strategy. - - * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Removed the code that used - _out variable to pacify sun_CC warnings. Sun_CC doesn't complain - anymore. - -Fri Oct 9 16:44:14 1998 Nagarajan Surendran <naga@cs.wustl.edu> - - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Receiver.idl: - Added this new interface for the Trader Agent to push the server - mmdevice and the filenames to the mpeg client. - - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.{h,cpp}: - Added code to implement the Receiver interface. - Fixed memory leaks. - Fixed the code so that it works for multiple movies i.e - tears down the stream after every movie and starts a new - connection. - Also made code robust by using suspend and resume - handlers for the video client to wait for the initial frame from - the server. - Added an option to specify the data host to bind for - the data which can be used for specify an ATM interface. - Fixed the problem of Play command not playing from where - fastforward/rewind stopped. - - * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ctr.cpp: - - Removed some unnecessary and redundant code and moved them into - classes in Command_Handler.cpp. - - * orbsvcs/tests/AVStreams/mpeg/source/client/vcr.cpp: - - Fixed the code so that it passes the command line arguments - properly to the command_handler. - -Fri Oct 9 16:27:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/ECT_Supplier.h: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - We measure and report the elapsed time for the test (in the case - of the consumer the time since we receive the first event). - We use this to measure throughput (in events per second). - - * orbsvcs/orbsvcs/Event/Memory_Pools.h: - * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: - * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: - We do not overload operator new and operator delete anymore. The - allocators we were using were problematic for this use case and - we believe that a better speed up can be obtained by reducing - the number of allocations. Thanks to "Mark Hyett" - <mhyett@std.saic.com>, "Mark L. Boriack" - <mboriack@std.saic.com>, "J. Russell Noseworthy" - <rnosewor@objectsciences.com> for helping us with this bug. - -Fri Oct 09 15:27:17 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.cpp (~App_Allocated): Free up the memory pool - before deleting the allocators. - -Fri Oct 9 13:42:47 1998 Shawn Michael Atkins <sma1@lambada.cs.wustl.edu> - - * performance-tests/Thruput/TAO/results/REMOTE/README: added this - file so cvs won't erase these empty directories for storing - results of the thruput test. Note: also added the empty - directories ./results/REMOTE. - - * performance-tests/Thruput/TAO/run_client: run_client now checks - for the testname directory and if it doesn't exist, it will - create a directory to put the results. - -Fri Oct 09 02:19:09 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/IIOP_Object.cpp (Profile): Added new constructor. - -Fri Oct 9 01:15:54 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * tao/Operation_Table.cpp: - * tao/Operation_Table.h: - * TAO_IDL/be/be_interface.cpp: - - Integrated Linear Search operation lookup strategy option to - TAO_IDL. We use again GPERF for generating lookup method for - this. Thanks to great work by Vishal (vishal@cs), GPERF has an - option to generate linear search code. - -Thu Oct 8 17:37:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/ORB.h: - * tao/Typecode.h: - * tao/Typecode.cpp: - * tao/Typecode_Constants.h: - * tao/Typecode_Constants.cpp: - Moved the CORBA::TypeCode::_tc_Bounds and - CORBA::TypeCode::_tc_Kind typecodes to their proper namespace. - - * docs/releasenotes/TODO.html: - Updated some tasks related to the last change. - - * tao/Connect.cpp: - If an exception is thrown while handling a oneway request we - just ignore it, unless the debugging flags in the ORB are - enabled, in that case we print an informative message and the - exception. - - * tao/ORB_Core.h: - * tao/ORB_Core.cpp: - The App_Allocated class does not own the CDR allocators all the - time, sometimes they are global and shared by all the - App_Allocated objects. - -Thu Oct 08 16:14:04 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/ORB_Core.{h,cpp} (~App_Allocated): Added a destructor for - this class. Some of its members are now allocated from the heap - and they need to be deleted. - -Thu Oct 8 12:15:38 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Throughput/ECT_Supplier.h: - * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: - * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: - The new test sends "bursts" of events, without any pause between - each event. Multiple burst can be sent with small pauses in - between. - Shutdown works now, even if multiple suppliers and multiple - consumers are beign used. The ECT_Consumer program only needs to - know the number of suppliers beign used. - -Thu Oct 08 09:50:18 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: Added #progma - to disable VC "inheritance via dominance" warnings. - - * docs/releasenotes/orbcore.html (Miscellany): Fixed a dead link. - Thanks to Mark Weel <weel@lucent.com> for reporting this. - -Wed Oct 07 23:27:07 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.22 released. - -Wed Oct 7 22:27:48 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp - (delete_property): Fixed the double deletion case. Thanks to - "Ulf Jhrig" <jaehrig@desys.com> for reporting this. - -Wed Oct 7 21:44:52 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/try_macros.h: - Some compilers (MSVC++ 5.0) will complain about throwing an - exception and not returning a value. - - * tao/Object_Table.cpp: - The find() method on the object table was asserting that the - entry ought to be in use, in fact if the entry was free the - object was not found and we just have to return -1. - -Wed Oct 07 14:49:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * orbsvcs/orbsvcs/orbsvcs[_static].dsp: Added property service - files. Thanks to Ulf Jaehrig <jaehrig@desys.com> for noticing - this. - -Wed Oct 07 11:33:37 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/POA.cpp (state): Fully qualified the enums of the - POA_Manager's Processing_State. Thanks to John Morey - <jmorey@tbi.com> for helping with this. - -Wed Oct 7 10:53:45 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * examples/Callback_Quoter/Supplier_i.cpp: - Added missing template instantiations. - -Wed Oct 7 09:19:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/try_macros.h (TAO_RETHROW): Added a return to - TAO_THROW_ENV_RETURN. Thanks to John Morey for reporting this. - -Wed Oct 7 08:39:59 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * tao/try_macros.h: - - Added a backslash in a the TAO_TRY macro definition. Thanks to - John Morey (jmorey@tbi.com) for sending the bug fix. - -Wed Oct 7 08:29:51 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * doc/compiler.html: - - Updated the documentation for the -Ge, -Gt options. Thanks to - Tom Dobridge <dobridge@persimmon.com> for pointing this out. - -Wed Oct 07 02:50:39 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.21 released. - -Wed Oct 7 000:13:19 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * presentations/TAO/dynany.tex: - New file for use whenever the nexr presentation comes around. - -Wed Oct 07 00:07:43 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tests/Param_Test/server.cpp: - * performance-tests/Thruput/TAO/server.cpp: - * orbsvcs/tests/Simulator/DOVEMIB/svr.cpp: - - Changed "RootPOA_is_BAD" to "child_poa". It was sending - negative POA vibes ;-) - -Tue Oct 06 22:49:27 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/Connect.cpp (handle_close): Replaced this->shutdown() with - explicit removal from the reactor and explicit closing of the - socket. this->shutdown() also doing too much since it was also - purging the recycling act from the recycler. We need the - recycling act to be available until all the reference to the - Svc_Handlers are removed and the Svc_Handler is destroyed since - we need the recycling act to check the hint. - - Thanks to Mark L. Boriack <mboriack@std.saic.com> for helping in - tracking down this problem. - -Tue Oct 6 22:12:30 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * examples/Simple/grid/Grid_i.cpp: Fixed bugs with exceptions. - Thanks to Tom Dobridge <dobridge@persimmon.com> for pointing - this out. - -Tue Oct 6 21:25:22 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-INSTALL.html: Added an extra note about compiling the - release version. Care has to be taken since conflicts - between the two tao_idl compilers can occur. - -Tue Oct 6 21:02:24 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> - - * examples/Simple/bank/AccountManager_i.cpp (close): Changed - TAO_TRY_ENV to _env to avoid duplicate definition. Thanks to - Tom Dobridge <dobridge@persimmon.com> for pointing this out. - -Tue Oct 6 20:28:10 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tao/try_macros.h: The TAO_TRY macro generates a new do/while - block even for the native C++ exception case, this is more - consistent with the alternative mapping. Thanks to Tom Dobridge - <dobridge@persimmon.com> for pointing this out. - - * examples/Callback_Quoter/MarketFeed_i.cpp: * - examples/Callback_Quoter/Client_i.cpp: Removed instantiations of - TAO_TRY_ENV because TAO_TRY does it for us. Thanks to Tom - Dobridge <dobridge@persimmon.com> for pointing this out. - - -Tue Oct 6 20:05:55 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Supplier_i.cpp (unregister_callback): - removed a variable which was defined unnecessarily. Thanks to - David Levine for reporting this. - -Tue Oct 6 17:16:46 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/DynUnion_i.cpp: Another try at making VxWorks happy without - using memcmp in DynUnion_i_T.cpp. This should do it. - -Tue Oct 6 13:01:24 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_sunsoft.cpp: Fixed some problems with char and - octet constants. Thanks to Anders W. Tell - <anderst@toolsmiths.se> for reporting this. - -Tue Oct 06 11:23:32 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: added - support for server and client on different machines, using - -r option. It assumes that the user's shell is Bourne - shell-compatible. I'll try to fix that soon. - - * performance-tests/Cubit/TAO/MT_Cubit/plot: plot high - priority in blue, low in light green. - -Tue Oct 6 10:26:06 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Dummy initialization for "observer_handler" to give compilers - some peace of mind about its use. - - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - Assigning an _var to a _ptr is ambiguous, we have to use .in(). - -Tue Oct 6 08:06:33 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/driver/drv_args.cpp: - - Added a -Gi option to enable interpretive marshaling. More work - needs to be done here such that we can selectively generate - compiled or interpretive marshaling based on some pragmas. - - * docs/compiler.html: - - Added documentation for the new options for the IDl compiler. - -Tue Oct 06 03:56:05 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.20 released. - -Tue Oct 06 03:12:38 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.19 released. - -Tue Oct 6 02:58:35 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * docs/compiler.html: Updated documentation for the new Binary - Search operation lookup stratetgy. - -Tue Oct 06 00:11:11 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.18 released. - -Mon Oct 5 22:12:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - Added some template instantiations. - - * docs/Options.html: - * docs/configurations.html: - Added a few comments for the latest options. - -Mon Oct 05 21:43:26 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.17 released. - -Mon Oct 5 20:35:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/EC_Gateway.h: - * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: - The IIOP Gateways were not preserving the remote supplier IDs - properly. The current implementation uses a map of - ProxyPushConsumer on the "local" EC, using a different entry for - each supplier ID the local consumers show interest in. - At run-time the events are dispatched to the corresponding entry - in the map. - A special consumer is used for all the other events. - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - Fixed a dead-lock during shutdown. - Also fixed some problems while updating the Observers; we held - the EC lock during the complete process, but it is fairly common - to make changes to the EC while the observers are beign updated. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: - Some improvements on shutdown. - - * docs/releasenotes/TODO.html: - Updated the tasks corresponding to the changes in this ChangeLog - entry. - -Mon Oct 5 21:16:53 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Supplier_i.cpp (unregister_callback): - The code to perform the unregistration of the consumer was added. - -Mon Oct 05 18:54:31 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Naming/CosNaming_i: Fixed the POA id generation - to take into account the name of the parent. Otherwise everyone - was using the same "namespace". - - * performance-tests/Cubit/TAO/IDL_Cubit: Added the testing of - sequences of structs. - -Mon Oct 5 18:07:38 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * examples/Makefile: Changed the Makefile so that it'll now also - build the new Callback_Quoter test. - -Mon Oct 5 18:15:31 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * tests/Param_Test/Makefile: - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Simple_Naming/Makefile: - * examples/Quoter/Makefile: - * examples/POA/Forwarding/Makefile: - * examples/POA/Generic_Servant/Makefile: - * orbsvcs/orbsvcs/Makefile: - * performance-tests/Cubit/TAO/IDL_Cubit/Makefile: - Removed the -Gc options for the IDL compiler, if wanted the - option can be added on the command line when invoking make, as: - $ make TAO_IDLFLAGS=-Gc - -Mon Oct 5 17:29:14 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/DynUnion_i.cpp: - * tao/DynUnion_i_T.cpp: - Put a preprocessor conditional around the case that - instantiates the longlong type of template class - in get_extractor(). Because of this, the memcmp in - DynUnion_i_T.cpp has been removed - no need for it - now and VxWorks and Chorus should still be happy. - -Mon Oct 05 16:39:44 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/corba.h: Removed duplicated macro definitions that are - defined in try_macros.h. - - * tao/try_macros.h (TAO_CATCH): Added ACE_UNUSED_ARG (VAR) for - this when TAO_USE_EXCEPTIONS and removed ACE_UNUSED_ARG (VAR) - when !TAO_USE_EXCEPTIONS. - - * tao/Dyn{Any,Array,Enum,Sequence,Struct,Union}_i.cpp: Changed - exceptions CORBA::NO_MEMORY to CORBA::NO_MEMORY () to avoid - compilation errors when TAO_USE_EXCEPTIONS is enabled. - -Mon Oct 05 16:13:48 1998 David L. Levine <levine@cs.wustl.edu> - - * TAO version 0.2.16 released. - -Mon Oct 05 15:37:26 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.2.15 released. - -Mon Oct 5 14:56:03 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> - - * examples/Callback_Quoter/Consumer_i.cpp (push): - Since I was checking whether the stock_value was greater - than the threshold desired, I changed the consumer's reaction - to selling shares rather than buying them. - -Mon Oct 05 13:52:17 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/DynAnyC.cpp,DynArray_i.cpp,DynEnum_i.cpp,DynSequence_i.cpp, - DynStruct_i.cpp,DynUnion_i.cpp,DynUnion_i_T.cpp: - added ACE_LACKS_LONG_LONG_T support. - - * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (print_priority_info): - use ACE_OS::getpid () instead of getpid (). - -Mon Oct 5 11:28:02 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - MSVC++ does not like - auto_ptr<Foo> x = new Foo; - but it does like - auto_ptr<Foo> x (new Foo); - Thanks to Nanbor for catching this problem and commiting the - fix. - -Mon Oct 5 10:47:52 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: - - Had to remove the code that Carlos had added to propagate the - exception from the _tao_skel_env to the _tao_env parameter. This - was necessary since we no longer use the _tao_skel_env parameter. - -Mon Oct 5 07:54:21 EDT 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp: - - There was a bug in the generated code. Thanks to David Levine - for sending me the bug report. - - * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: - TAO_IDL/be/be_visitor_interface/interface_ss.cpp: - - We no longer need the _tao_skel_environment variable in the - skeletons. These modifications were necessary to maintain - support for both the compiled as well as interpretive - marshaling. The _is_a_skel now generates a proper - TAO_CHECK_ENV_RETURN_VOID statement. - - Also made sure that unused local variables are not generated. - - * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp - TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_ss.h: - - Added a new visitor for compiled marshaling for the generation - of return type variable in the server skeleton code. - - * TAO_IDL/be/be_visitor_factory.cpp: - - For compiled marshaling we now invoke a new visitor for the - return val variable in the skeleton. The reason we do this is - since the interpreted version uses an OBject_var. - - * tao/{CurrentS, POAS, PolicyS}.cpp: - - Since we no longer use the _tao_skel_environment, we had to make - the necessary modifications. - - * tao/Server_Request.{h, cpp}: - - The marshal method no longer takes in the _skel_env parameter - -Mon Oct 05 06:44:11 1998 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/tests/EC_Basic/EC_Basic.cpp (run): declare loop - index "i" outside of loop because it is used again. - -Sun Oct 4 19:48:25 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: - Exceptions were not beign transmitted from the server back to - the client. We need to rethink the use of two environments in - the skeleton. - -Sun Oct 4 16:37:23 1998 Carlos O'Ryan <coryan@tango.cs.wustl.edu> - - * orbsvcs/orbsvcs/Event/Event_Channel.h: - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: - It is now possible to have several suppliers with the same ID on - the same Event Channel. - I also fixed a bug with the supplier reconnections: if a - consumer was filtering by source it wouldn't receive the events - if the supplier disconnected and connected again. Thanks to - Thomas Venturella <tventurell@mdc.com> for some his hints on how - to fix this. - Fixed some problems with exception handling and propagation. - - * orbsvcs/tests/Makefile: - * orbsvcs/tests/EC_Basic/Makefile: - * orbsvcs/tests/EC_Basic/README: - * orbsvcs/tests/EC_Basic/run_test.pl: - * orbsvcs/tests/EC_Basic/EC_Basic.h: - * orbsvcs/tests/EC_Basic/EC_Basic.i: - * orbsvcs/tests/EC_Basic/EC_Basic.cpp: - Added a new test for the Event Channel, this will grow to become - the main regression test for the EC, at this point it only tests - the use of several suppliers with the same ID. - - * docs/releasenotes/TODO.html: - Update the file. - -Sun Oct 4 15:40:05 1998 Balachandra Natarajan <bala@lambada.cs.wustl.edu> - - * Any.cpp - Anticipated fix for break in build. The TypeCode_ptr was not - completely qualified (as CORBA::TypeCode_ptr). - -Sun Oct 04 08:40:12 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp,client.cpp, - server.cpp,run_tests.pl: used IIOP instead of URL style obj - refs for maximum performance. - -Sat Oct 3 20:20:14 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp (gen_gperf_lookup_methods): Added - code to handle Binary Search operation lookup strategy. Not yet - tested with GPERF. - - * tao/Operation_Table.cpp: Added class for Binary Search operation - lookup strategy. s - - * TAO_IDL/be_include/be_codegen.h: New LOOKUP_STRATEGY enum for - Binary search. - - * tao/Operation_Table.h (TAO_Active_Demux_OpTable): Added class - for Binary Search operation lookup strategy. - - * TAO_IDL/be_include/be_interface.h (be_type): Added private - methods to generate code for binary searh and linear search. Not - yet tested with GPERF. Doesnt harm using the old operation lookup - strategies. - - * TAO_IDL/include/idl_global.h (class IDL_GlobalData): Renamed - perfect_hasher by gperf_path. gperf is going to be used for binary - search and linear search as well. So it is not specific to perfect - hashing. - - * TAO_IDL/driver/drv_args.cpp (DRV_parse_args): Changed the option - <-H dynamic> to <-H dynamic_hash>. Added options - <-H perfect_hash>, <-H binary_search> and <-H linear_search>. Do - NOT try these *_search options yet. It is yet to be tested with - GPERF. Also extended testing for GPERF's existance in the case of - Binary Search strategy also. - -Sat Oct 3 19:35:05 1998 Balachandra Natarajan <bala@lambada.cs.wustl.edu> - - * Any.cpp - Fix for memeory leaks in extraction. - -Sat Oct 3 15:16:05 1998 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> - - * orbsvcs/tests/Simple_Naming/client.cpp - * orbsvcs/tests/Simple_Naming/README - * orbsvcs/tests/Simple_Naming/run_test.pl - Added destroy test to the set of tests already there. - -Sat Oct 03 09:54:14 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Thruput/Orbix/Makefile: removed - Quantify/Purify relics. - - * performance-tests/Thruput/Orbix/ttcp_decl.h,ttcp_i.cpp, - Client.cpp,Srv_Main.cpp: replace USE_QUANTIFY with - ACE_HAS_QUANTIFY. - - * TAO_IDL/be/be_visitor_scope.cpp (next_elem): initialized - local "node" to 0 to avoid g++ warning about possible - uninitialized used. - -Fri Oct 2 23:03:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * docs/releasenotes/ec.html: - Added an entry to explain the differences between the TAO event - service and the standard CORBA event service. - -Fri Oct 2 20:16:35 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/DynAnyC.cpp: - David got a couple of warnings with Dec cxx that led me to - some lines that I had commented out to find a bug and - forgot to uncomment. - -Fri Oct 2 20:02:42 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * TAO_IDL/be/be_sunsoft.cpp: - IDL compiler will now generate correct code for - a constant char that is an escape sequence. - -Fri Oct 02 16:49:59 1998 David L. Levine <levine@cs.wustl.edu> - - * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp}, - client.cpp,server.cpp: replaced NO_ACE_QUANTIFY with - ACE_HAS_QUANTIFY. - - * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: - kill with -15 instead of -1, because HUP no longer - kills TAO processes. - -Fri Oct 2 16:09:24 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/IIOP_Object.i (use_locate_requests): Changed the 1s to 0s so - they would work correctly. Thanks to Michael Kircher - <mlkirche@trick.informatik.uni-stuttgart.de> for reporting this. - -Fri Oct 02 09:02:54 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Removed an - unused local variable, not the one Andy just added. ;) - -Fri Oct 2 08:18:28 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: - - There was a local variable that got removed by mistake while - removing all unused locals. It has been reincluded. - -Thu Oct 1 23:31:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> - - * Updated the dependencies in all the Makefiles due to the DynAny - changes. - -Thu Oct 1 22:05:39 1998 Jeff Parsons <jp4@cs.wustl.edu> - - * tao/DynAny.pidl: - * tao/InconsistentTypeCode.pidl: - * tao/DynAnyC.{h,i,cpp}: - * tao/DynAnyS.cpp: - * tao/DynAny_i.{h,cpp}: - * tao/DynArray_i.{h,cpp}: - * tao/DynEnum_i.{h,cpp}: - * tao/DynSequence_i.{h,cpp}: - * tao/DynStruct_i.{h,cpp}: - * tao/DynUnion_i.{h,cpp}: - * tao/DynUnion_i_T.{h,cpp}: - * tao/InconsistentTypeCode.{h,cpp}: - * tao/corba.h: - * tao/ORB.{h,i,cpp}: - * tao/POA_CORBA.h: - * tao/Makefile: - * tao/TAO.dsp: - All the DynAny stuff, plus the necessary additions to - other TAO files, plus mods to Unix Makefile and VC - project file. Builds were successful using VC5, Sun cc - and GNU g++. - -Thu Oct 01 21:21:19 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_operation/operation_ss.cpp - (gen_raise_exception): - (gen_check_exception): - (gen_demarshal_params): Removed unused local variable(s) to - avoid warnings from VC5. - -Thu Oct 1 20:51:39 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: Added trailing - return statements to supress warnings from g++. - -Thu Oct 1 16:03:55 1998 Darrell Brunsch <brunsch@cs.wustl.edu> - - * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: - * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: - * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: - Removed orbsvcs reference. - -Thu Oct 01 14:22:35 1998 Nanbor Wang <nanbor@cs.wustl.edu> - - * tao/CDR.i (operator<<): Changed to use TAO_CHECK_ENV for Any, - Object and TypeCode operations and added trailing return - statement to avoid warnings from MSVC. - - * TAO/TAO_IDL/tao_idl.dsp: - * TAO/TAO_IDL/tao_idl_static.dsp: Updated project based on Andy's - changes. (by Darrell.) - - * TAO/TAO_IDL/be/be_visitor_array/any_op_cs.cpp: - * TAO/TAO_IDL/be/be_visitor_enum/any_op_cs.cpp: - * TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp: - * TAO/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp: - * TAO/TAO_IDL/be/be_visitor_structure/any_op_cs.cpp: - * TAO/TAO_IDL/be/be_visitor_union/any_op_cs.cpp: Added trailing - "return 0;" for generated code for operator>>= of these to avoid - MSVC warnings. - -Thu Oct 1 12:42:58 EDT 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - - * TAO_IDL/be/be_factory.cpp - /be_include/be_factory.h - /be_stream - - Renamed to be_factory.{h, cpp} to be_stream_factory.{h, cpp}, - respectively. We removed the visitor factory related classes and - code from these files and created new files. - - * TAO_IDL/be/be_interpretive.cpp - /be_include/be_interpretive.h: - - Removed. Instead we now have the be_visitor_factor.{h, cpp} file - described next. - - * TAO_IDL/be/be_visitor_factory.cpp - /be_include/be_visitor_factory.h: - - Added the abstract base class visitor factory called - "TAO_Visitor_Factory" that provides the "make_visitor" factory - method. Special concrete visitor factories called - "TAO_Interpreted_Visitor_Factory", - "TAO_Compiled_Visitor_Factory", and "TAO_Common_Visitor_Factory" - are now available as Singleton concrete factories. - - The TAO_Common_Visitor_Factory is never used directly by the - client (i.e., the tao_cg object). There are several visitors - that are common to both the interpretive as well as the compiled - approaches e.g., interface code generation, any operators, - etc. Thus, the two primary factories (interpretive or compiled) - will internally delegate code generation to the common factory - based on the state. - - * TAO_IDL/be/be_codegen.cpp - /be_include/be_codegen.h: - - Removed a large number of unused enumerations for the - CG_STATE. Also, renamed all the *DOCALL* states to *INVOKE* - states to make it look generic and applicable to both - interpretive as well as compiled marshaling. - - Added a new method called "config_visitor_factory (void)". This - allows the TAO_CODEGEN Singleton object to be strategized with - the desired visitor factory which can be either the interpretive - or the compiled visitor factory, but never the common - factory. The common factory gets invoked internally by the other - two factories as described before. This strategy is fixed based on - the command line option provided to the compiler. - - We no longer create a new factory and own it. Instead, as - described before, we simply hold a pointer to the abstract base - factory. This is initialized to either the interpretive or - compiled factory objects using the config_visitor_factory - method. - - * TAO_IDL/be_include/be.h: - - Made the necessary changes due to the addition and renaming of - files described above. - - * TAO_IDL/be/be_produce.cpp: - - We call the config_visitor_factory method on our TAO_CODEGEN - singleton, strategy object. It will configure itself with the - right visitor factory. - - * TAO_IDL/be/be_visitor_argument.cpp - /be_include/be_visitor_argument.h: - - Added new include *.{h, cpp} files described next. - - * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp - /compiled_marshal_ss.cpp - /pre_invoke_cs.cpp - /be_include/be_visitor_argument/compiled_marshal_cs.h - /compiled_marshal_ss.h - /pre_invoke_cs.h: - - New files with new visitors added for compiled marshaling - support. The compiled_marshal_{cs,ss}.{h,cpp} has visitors that - generates the code for marshaling and demarshaling parameters - using the CDR <<, >> operators. The pre_invoke_cs is a visitor - that inherits from the pre_docall_cs. Its sole purpose is to - override the visit_interface and visit_interface_fwd - methods. The reason we need to do this is because for compiled - marshaling, we do not need to deal with the base - CORBA_Object_ptr types and do the necessary _narrow inside the - stub/skel. This is all done in the code for the <<, >> - operators. - - * TAO_IDL/be/be_visitor_argument/docall_cs.cpp - /pre_docall_cs.cpp - /marshal_ss.cpp - /post_upcall_ss.cpp - /upcall_ss.cpp: - - For all the variable sized types, especially the out parameters, - we were declaring the _var, _out, and the ptr type for the - parameter. We no londer need to instantiate so many - variables. We can deal with just the _var types. All actions - including memory allocation, passing it to the do_static_call or - the upcall, is handled using the _var parameter. This reducs - code size as well as the activation record size since the number - of local variables is significantly reduced. - - * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp - /be_include/be_visitor_argument/vardecl_ss.h: - - We define an addition class called - be_compiled_visitor_args_vardecl_ss that inherits from the base - be_visitor_args_vardecl_ss. Its only purpose is to override the - base class's visit_interface methods. The overridden methods - avoid the generation of the extra local variables of the - CORBA::Object_ptr type. - - * TAO_IDL/be/be_visitor_array/any_op_cs.cpp: - TAO_IDL/be/be_visitor_enum/any_op_cs.cpp: - TAO_IDL/be/be_visitor_structure/any_op_cs.cpp: - - The code for <<=, and >>= now uses the TAO_TRY macros so that - they can work with real C++ exceptions also. - - This is not yet done for all types since this is under testing. - - * TAO_IDL/{be, be_include}/be_visitor_enum/enum_ch.{h, cpp} - TAO_IDL/{be, be_include}/be_visitor_exception/cdr_op_cs.{h, cpp} - TAO_IDL/{be, be_include}/be_visitor_exception/exception_ctor.{h, cpp} - TAO_IDL/{be, be_include}/be_visitor_interface/cdr_op_cs.{h, cpp}: - TAO_IDL/{be, be_include}/be_visitor_operation/argument.{h, cpp}: - TAO_IDL/{be, be_include}/be_visitor_union/cdr_op_cs.{h, cpp}: - - Modifications were necessary due to the change in the - "post_process" signature and semantics. - - * TAO_IDL/be/be_visitor_interface/interface.cpp: - - Removed some commented-out code. - - * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: - - The skeleton code now uses the TAO_TRY macros for seamless exception - support between the real C++ exceptions and the alternate mapping. - - * TAO_IDL/be/be_visitor_operation.cpp - /be_include/be_visitor_operation.h: - - Added new include *.{h, cpp} files described below. - - * TAO_IDL/be/be_visitor_operation/operation.cpp - TAO_IDL/be/be_visitor_operation/argument_invoke.cpp - TAO_IDL/be/be_visitor_operation/argument_marshal.cpp - TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp - TAO_IDL/be/be_visitor_operation/rettype_preinvoke_cs.cpp - TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp - TAO_IDL/be/be_visitor_operation/rettype_marshal_ss.cpp - TAO_IDL/be_include/be_visitor_operation/operation.h - TAO_IDL/be_include/be_visitor_operation/argument_invoke.h - TAO_IDL/be_include/be_visitor_operation/argument_marshal.h - TAO_IDL/be_include/be_visitor_operation/compiled_marshal.h - TAO_IDL/be_include/be_visitor_operation/rettype_preinvoke_cs.h: - - For all the variable sized return types we were declaring the - _var, _out, and the ptr type for the parameter. We no londer - need to instantiate so many variables. We can deal with just the - _var types. All actions including memory allocation, passing it - to the do_static_call is handled using the _var parameter. This - reduces code size as well as the activation record size since - the number of local variables is significantly reduced. - - Some other visitors such as the asrgument_invoke and - argument_marshal are needed to generate the right number of && - operator at the right place in the large "if" statement that is - generated for marshaling or unmarshaling parameters. This is - useful only for the compiled approach. - - The base class operation visitor was added to the operation.{h, - cpp} files. It provides a number of helper classes used commonly - by inherited visitors. - - * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp: - TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_ss.h: - - Define a new class for compiled marshaling approach that - overrides the visit_interface method over its base class. This - way we avoid generation of extra variables. - - * TAO_IDL/{be, be_include}/be_visitor_operation/operation_ch.{h,cpp} - TAO_IDL/{be, be_include}/be_visitor_operation/operation_cs.{h,cpp} - TAO_IDL/{be, be_include}/be_visitor_operation/operation_sh.{h,cpp} - TAO_IDL/{be, be_include}/be_visitor_operation/operation_ss.{h,cpp}: - - All these now inherit from the base operation visitor. - - For the client side stubs (operation_cs.{h, cpp}) and server - side skeletons (operation_ss.{h, cpp}), we now factor out all - the code that is common to both the interpreted and compiled - stubs/skels. Thus, the visit_operation method is now a template - method. It calls operations that are implemented only by - derived classes. These methods e.g., gen_pre_stub_info, - gen_marshal_and_invoke, and others will generate the code that - is different for the interpreted vs compiled approaches.. - - We define derived classes called - "be_interpretive_visitor_operation_cs" and - "be_compiled_visitor_operation_cs" (similarly for the skeletons) - that provide the implementation for the pure virtual methods - called by the template method "visit_operation". - - * TAO_IDL/be/be_visitor_scope.cpp - /be_include/be_visitor_scope.cpp: - - Added a new "pre_process" method. Both the pre_process and - post_process methods now take the "be_decl *" as an - argument. This was the change made to the post_process. - - In addition, post_process is always invoked irrespective of the - node being the last one in the scope or not. - - To test if the node being processed is the last one, we have - added a new method called "last_node" returning a boolean - value. Similarly, we have added "next_elem" method that gives us - our successor and the "elem_number" that gives us our number in - the list. - - * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: - - For bounded vs unbounded strings, we generate different code for - the CDR operators. - - I need to check if this policy is strictly followed for all - aggregate types that can have a string member. - - * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: - - For sequences of arrays, there were some weird problems using - the ACE_reinterpret_cast which is now fixed. - - * TAO_IDL/be/be_visitor_typedef/typedef.cpp: - - Removed lots of cases in the switch statement since we removed - those enumerations from the CG_STATE of the TAO_CODEGEN object. - - * TAO_IDL/Makefile: - - ran make depend. - - * TAO_IDL/driver/drv_args.cpp: - - ACEified the code. - - Updated the usage_error message with new command line options. - - Handled the new options. - - -Gc - generate compiled marshaled code - -Ge - enable C++ exception support (unimplemented) - -Gt - generate optimized typecodes (unimplemented) - -Sa - suppress any operators - -St - suppress typecode generation - - The default is to always generate all the Any operators, - TypeCodes and to use the Interpretive marshaling. - - * TAO_IDL/include/idl_global.h - /utils/utl_global.cpp: - - Added a number of mutator and accesor methods for the newly - added command line options. - - * performance_tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: - - Commented out the RTI and the Union tests since the CDR - operators are not yet done for the unions. - - * tao/Any.{h, i} - tao/ORB.{h, i} - tao/Object.{h, i} - tao/Typecode.{h, i}: - - The parameter to the copy ctor and assignment operator of the - _out class is now "const". This resolves the weird warnings we - were getting about a temporary being created. We were also - required to instantiate the _out type explicitly to overcome - this. However, we no londer need to write this non-compliant - code. - - * tao/CDR.i: - - Code for <<, >> operators for objref, typecode, and Anys had a - bug. - - * tao/corba.h: - - Moved the inclusion of the try_macros.h before the CDR.h since - we us the macros in the code - -Thu Oct 1 11:18:35 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * examples/Simple/bank/AccountManager_i.cpp: Removed the unneeded - ';' at the end of the #pragmas. Thanks to Margherita Vittone - Wiersma <vittone@fndaub.fnal.gov> for reporting this. - -Thu Oct 01 10:39:44 1998 David L. Levine <levine@cs.wustl.edu> - - * tao/ORB_Core.cpp (input_cdr_dblock_allocator): wrapped - break following return with ACE_NOTREACHED, in two places. - - * orbsvcs/orbsvcs/Event/Event_Channel.cpp: removed - ACE_Malloc<ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX> - instantiation because it's now in tao/ORB_Core.cpp. - -Thu Oct 01 00:17:17 1998 Irfan Pyarali <irfan@cs.wustl.edu> - - * tao/ORB_Core.h: Removed template specialization for - INET_Addr.hash(). Also changed/fixed explicit template - instantiations. diff --git a/TAO/TAOACE.dsw b/TAO/TAOACE.dsw deleted file mode 100644 index 7884ff2f764..00000000000 --- a/TAO/TAOACE.dsw +++ /dev/null @@ -1,131 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "ACE dynamic library"=..\ace\ace_dll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Naming_Service"=.\orbsvcs\Naming_Service\Naming_Service.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name orbsvcs
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TAO"=.\tao\TAO.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE dynamic library
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TAO_IDL Compiler"=.\TAO_IDL\tao_idl.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE dynamic library
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name gperf
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "gperf"=..\apps\gperf\src\gperf.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE dynamic library
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name gperf_lib
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "gperf_lib"=..\apps\gperf\src\gperf_lib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE dynamic library
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "orbsvcs"=.\orbsvcs\orbsvcs\orbsvcs.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name TAO
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name tao_idl
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name TAO_IDL Compiler
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/TAO/TAOACE_Static.dsw b/TAO/TAOACE_Static.dsw deleted file mode 100644 index f18dc05ea5b..00000000000 --- a/TAO/TAOACE_Static.dsw +++ /dev/null @@ -1,79 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "ACE static library"=..\ace\ace_lib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ORB Services Static"=.\orbsvcs\orbsvcs\orbsvcs_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE static library
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name TAO Static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name TAO_IDL Compiler Static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TAO Static"=.\tao\TAO_Static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE static library
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TAO_IDL Compiler Static"=.\TAO_IDL\tao_idl_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE static library
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
diff --git a/TAO/announcement b/TAO/announcement deleted file mode 100755 index f9d33c28e9e..00000000000 --- a/TAO/announcement +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -VERSION=`cat VERSION` -URL="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO.tar.gz" - - -cat <<@EOM - -The first official beta release of The ACE ORB (TAO) has been released -by the Distributed Object Computing (DOC) Group at Washington -University in St. Louis. TAO is a freely available CORBA -2.x-compliant ORB with real-time extensions that can be downloaded -from the Internet at - -http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO.tar.gz - -$VERSION - -TAO uses IIOP 1.0 as its inter-ORB communication protocol and provides -the first implementation of the OMG's Portable Object Adapter (POA) -specification and latest IDL->C++ mappings. For more information -about the POA, please see - -http://www.cs.wustl.edu/~schmidt/C++-report-col11.ps.gz -http://www.cs.wustl.edu/~schmidt/C++-report-col12.ps.gz - -For more information on TAO, please see - -http://www.cs.wustl.edu/~schmidt/TAO.html - -TAO has been ported to a range of OS platforms including Windows NT -4.x using MSVC++ 4.x and 5.x, several versions of UNIX (e.g., Solaris -2.x, SGI IRIX 6.x, Linux, SCO, NetBSD, and FreeBSD), and Real-Time -OS's (RTOSs) (e.g., VxWorks and Chorus). Ultimately, TAO will be -ported to all OS platforms on which ACE runs. We have used TAO to -interwork with other ORBs (e.g., Orbix, COOL, CORBAPlus, and -VisiBroker), so we're confident that its IIOP implementation is robust -and interoperable. - -For information on installation and system requirements, please see -http://www.cs.wustl.edu/~schmidt/TAO-INSTALL.html (or INSTALL) in the -root directory of the unpacked tar file. - -Note that ACE is required to build TAO. Typically the most recent -beta release is required, which you can obtain at - -http://www.cs.wustl.edu/~schmidt/ACE.html - -Please see the installation notes for more details. - -Other HTML documentation is available in the '$TAO_ROOT/docs/' -directory. - -We welcome suggestions for improvement, bug fixes, portability -enhancements, etc. If you have any questions or problems with TAO, -please post them to the ACE mailing list (ace-users@cs.wustl.edu) or -send email to Douglas C. Schmidt (schmidt@cs.wustl.edu) and Chris -Cleeland (cleeland@cs.wustl.edu). - -The TAO Team -@EOM diff --git a/TAO/orbsvcs/orbsvcs/AVStreams_Full.idl b/TAO/orbsvcs/orbsvcs/AVStreams_Full.idl deleted file mode 100644 index 952301d7091..00000000000 --- a/TAO/orbsvcs/orbsvcs/AVStreams_Full.idl +++ /dev/null @@ -1,250 +0,0 @@ -// $Id$ - -// IDL for Control and Management of Audio/Video Streams -// Revised Submission - -// Additional IDL for full profile -#include "AVStreams.idl" - -module AVStreams_Full -{ - exception protocolNotSupported{}; - exception formatNotSupported{}; - exception formatMismatch{}; - exception FEPMismatch{}; - exception alreadyConnected{}; - exception invalidSettings{string settings;}; - exception notConnected{}; - exception deviceQosMismatch{}; - exception failedToConnect{string reason;}; - exception failedToListen{string reason;}; - - - interface FlowProducer; - interface FlowConsumer; - interface FlowEndPoint; - interface FDev; - - interface FlowConnection : PropertyService::PropertySet - { - void stop(); - void start(); - void destroy(); - - boolean modify_QoS( - - inout AVStreams::QoS new_qos) - raises (AVStreams::QoSRequestFailed); - - boolean use_flow_protocol( - in string fp_name, - in any fp_settings) - raises (AVStreams::FPError, AVStreams::notSupported); - - oneway void push_event(in AVStreams::streamEvent the_event); - - boolean connect_devs(in FDev a_party, in FDev b_party, - inout AVStreams::QoS the_qos) - raises (AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::QoSRequestFailed); - - boolean connect( - in FlowProducer flow_producer, - in FlowConsumer flow_consumer, - inout AVStreams::QoS the_qos) - raises (formatMismatch, FEPMismatch, alreadyConnected); - - boolean disconnect(); - - // The notSupported exception is raised where - // flow cannot have multiple producers - boolean add_producer(in FlowProducer flow_producer, - inout AVStreams::QoS the_qos) - raises (alreadyConnected, AVStreams::notSupported); - - boolean add_consumer(in FlowConsumer flow_consumer, - inout AVStreams::QoS the_qos) - raises (alreadyConnected); - - boolean drop(in FlowEndPoint target) - raises (notConnected); - }; - - interface FlowEndPoint : PropertyService::PropertySet - { - boolean lock(); - void unlock(); - - void stop(); - void start(); - void destroy(); - - // Default is a nil object reference - attribute AVStreams::StreamEndPoint related_sep; - attribute FlowConnection related_flow_connection; - - FlowEndPoint get_connected_fep() - raises (notConnected, - AVStreams::notSupported); - - // syntax of fp_name is <flowProtocol> - boolean use_flow_protocol(in string fp_name, - in any fp_settings) - raises (AVStreams::FPError, AVStreams::notSupported); - - // set_format() initializes 'format' - // as current media format e.g. MPEG. - void set_format(in string format) - raises (AVStreams::notSupported); - - void set_dev_params( - in PropertyService::Properties new_settings) - raises (PropertyService::PropertyException, - AVStreams::streamOpFailed); - - void set_protocol_restriction(in AVStreams::protocolSpec - the_spec) - raises (AVStreams::notSupported); - - boolean is_fep_compatible(in FlowEndPoint fep) - raises (formatMismatch, deviceQosMismatch); - - boolean set_peer( - in FlowConnection the_fc, - - in FlowEndPoint the_peer_fep, - inout AVStreams::QoS the_qos) - raises (AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed); - - boolean set_Mcast_peer( - in FlowConnection the_fc, - in AVStreams::MCastConfigIf a_mcastconfigif, - inout AVStreams::QoS the_qos) - raises (AVStreams::QoSRequestFailed); - - }; - - interface FlowProducer : FlowEndPoint - { - boolean connect_to_peer(inout AVStreams::QoS the_qos, - in string address, - - in string use_flow_protocol) // syntax <flowProtocol> - raises(failedToConnect, - AVStreams::FPError, AVStreams::QoSRequestFailed); - - string connect_mcast(inout AVStreams::QoS the_qos, - out boolean is_met, - in string address, - in string use_flow_protocol) - raises (failedToConnect, - AVStreams::notSupported, - AVStreams::FPError, - AVStreams::QoSRequestFailed); - - string get_rev_channel(in string pcol_name); - - void set_key(in AVStreams::key the_key); - void set_source_id(in long source_id); - }; - - interface FlowConsumer : FlowEndPoint - { - - - // Needs to know its peer to choose its protocol correctly - // Also to ask for a reverse channel for credit-based flow - // control, if one is required - string go_to_listen( - inout AVStreams::QoS the_qos, - in boolean is_mcast, - in FlowProducer peer, - inout string flowProtocol)// syntax <flowProtocol> - raises(failedToListen, AVStreams::FPError, - AVStreams::QoSRequestFailed); - }; - - interface FDev : PropertyService::PropertySet { - FlowProducer create_producer( - in FlowConnection the_requester, - inout AVStreams::QoS the_qos, - out boolean met_qos, - inout string named_fdev) - raises(AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed); - - FlowConsumer create_consumer( - in FlowConnection the_requester, - inout AVStreams::QoS the_qos, - out boolean met_qos, - inout string named_fdev) - raises(AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed); - - FlowConnection bind(in FDev peer_device, - inout AVStreams::QoS the_qos, - out boolean is_met) - raises (AVStreams::streamOpFailed, - AVStreams::QoSRequestFailed); - - FlowConnection bind_mcast(in FDev first_peer, - inout AVStreams::QoS the_qos, - out boolean is_met) - raises (AVStreams::streamOpFailed, - AVStreams::QoSRequestFailed); - - void destroy(in FlowEndPoint the_ep, in string fdev_name) - // ie FDev not found - raises (AVStreams::notSupported); - }; - - enum PositionOrigin { - AbsolutePosition, RelativePosition, ModuloPosition - }; - - enum PositionKey { - ByteCount, SampleCount, MediaTime - }; - - struct Position { - PositionOrigin origin; - PositionKey key; - long value; - }; - - exception PostionKeyNotSupported { PositionKey key;}; - exception InvalidPosition { PositionKey key;}; - - // MediaControl interface is similar to - // ControlledStream interface in MSS. - // It can be inherited by flow endpoints or - // FlowConnection interfaces. - interface MediaControl{ - - exception PostionKeyNotSupported { PositionKey key;}; - - Position get_media_position( - in PositionOrigin an_origin, - in PositionKey a_key) - raises (PostionKeyNotSupported); - - void set_media_position(in Position a_position) - raises (PostionKeyNotSupported, InvalidPosition); - - void start(in Position a_position) - raises(InvalidPosition); - void pause(in Position a_position) - raises(InvalidPosition); - void resume(in Position a_position) - raises(InvalidPosition); - void stop(in Position a_position) - raises(InvalidPosition); - }; -}; - diff --git a/TAO/release.pl b/TAO/release.pl deleted file mode 100755 index 28c741f69e1..00000000000 --- a/TAO/release.pl +++ /dev/null @@ -1,91 +0,0 @@ -# $Id$ -# -# Takes over some of the release work rather than having it all -# inline in the Makefile. - -$date = `/usr/bin/date +"%a %b %d %T %Y"`; -chop $date; -$VERSION = "VERSION"; -$CHANGELOG = "ChangeLog"; -$TAO_VERSION = ''; -$MODNAME = 'TAO'; - -# Range of values on this is "alpha", "beta", or "major", -# in which case the 3rd, 2nd, or 1st digit. -$BUMP_WHICH = $ENV{'RELEASE_TYPE'}; - -sub inplace { - my($ext, @files) = @_; - my(@nfiles) = (); - my($nfile); - $ext = '~' if ($ext eq ''); - foreach $file (@files) { - $nfile = $file . $ext; - if (rename ($file, $nfile)) { - push(@nfiles, $nfile); - } - else { - warn "Unable to rename $files[$i] for in-place editing: $!\n"; - } - } - @nfiles; -} - -@inplace = inplace('.del', $VERSION, $CHANGELOG); - -open (VERSION, $inplace[0]) - || die "Unable to open file $inplace[0] for inplace edit: $!\n"; -open (VERSIONOUT, ">$VERSION") - || die "Unable to open file $VERSION for writing: $!\n"; - -undef $version_number; -while (<VERSION>) { - if ($BUMP_WHICH =~ m/major/i) { - $bump_expr = 'sprintf("$1%d.0.0", $2+1)'; - } - elsif ($BUMP_WHICH =~ m/beta/i) { - $bump_expr = 'sprintf("$1$2.%d.0", $3+1)'; - } - else { - $bump_expr = 'sprintf("$1$2.$3.%d", $4+1)'; - } - $subst = 's/(TAO version )(\d+)\.(\d+)\.(\d+)/' . $bump_expr . '/e'; - eval $subst; - ($version_number = $_) =~ s/.*(\d+\.\d+\.\d+).*/$1/ if (!defined($version_number)); - if (s/(, released ).*/$1$date./) { - ($TAO_VERSION = $_) =~ s/^This is //; - } - print VERSIONOUT $_; -} - -close (VERSIONOUT); -close (VERSION); -chmod 0644, $VERSION; - -$message = $date." ".$ENV{"SIGNATURE"}." <".$ENV{"LOGNAME"}."\@cs.wustl.edu>\n\n\t* ".$TAO_VERSION."\n"; -$message_printed = 0; - -open (CHANGELOG, $inplace[1]) - || die "Unable to open file $inplace[1] for inplace edit: $!\n"; -open (CHANGELOGOUT, ">$CHANGELOG") - || die "Unable to open file $CHANGELOG for writing: $!\n"; - -while (<CHANGELOG>) { - print CHANGELOGOUT "$message" if ( ! $message_printed++ ); - print CHANGELOGOUT $_; -} - -close (CHANGELOG); -close (CHANGELOGOUT); -chmod 0644, $CHANGELOG; - -# Morph the version number -chop $version_number; -($version_tag = $MODNAME."-".$version_number) =~ s/\./_/g; - -$CVSCOM = 'cvs'; -$COM = qq/$CVSCOM commit -m'$TAO_VERSION' $VERSION $CHANGELOG && $CVSCOM rtag $version_tag $MODNAME && $CVSCOM rtag -F Current $MODNAME/; -print $COM; -system $COM; - -unlink @inplace; diff --git a/TAO/tao/CORBA.cpp b/TAO/tao/CORBA.cpp deleted file mode 100644 index 46ccc7c2033..00000000000 --- a/TAO/tao/CORBA.cpp +++ /dev/null @@ -1,177 +0,0 @@ -// $Id$ - -#include "tao/corba.h" - -// String utility support; this can need to be integrated with the -// ORB's own memory allocation subsystem. - -CORBA::String -CORBA::string_copy (const CORBA::Char *str) -{ - if (!str) - return 0; - - CORBA::String retval = - CORBA::string_alloc (ACE_OS::strlen (str)); - - // clear the contents of the allocated string - ACE_OS::memset(retval, '\0', ACE_OS::strlen (str)); - - return ACE_OS::strcpy (retval, str); -} - -CORBA::String_var & -CORBA::String_var::operator= (char *p) -{ - if (this->ptr_ != p) - { - if (this->ptr_ != 0) - CORBA::string_free (this->ptr_); - this->ptr_ = p; - } - return *this; -} - -CORBA::String_var & -CORBA::String_var::operator= (const char *p) -{ - if (this->ptr_ != 0) - CORBA::string_free (this->ptr_); - - this->ptr_ = CORBA::string_dup (p); - return *this; -} - -CORBA::String_var & -CORBA::String_var::operator= (const CORBA::String_var& r) -{ - if (this != &r) - { - if (this->ptr_ != 0) - CORBA::string_free (this->ptr_); - this->ptr_ = CORBA::string_dup (r.ptr_); - } - return *this; -} - -// Wide Character string utility support; this can need to be -// integrated with the ORB's own memory allocation subsystem. - -CORBA::WString -CORBA::wstring_alloc (CORBA::ULong len) -{ - return new CORBA::WChar [(size_t) (len + 1)]; -} - -static -inline -CORBA::WChar * -wscpy (CORBA::WChar *dest, - const CORBA::WChar *src) -{ - CORBA::WChar *retval = dest; - - while ((*dest++ = *src++) != 0) - continue; - return retval; -} - -CORBA::WString -CORBA::wstring_copy (const CORBA::WChar *const str) -{ - if (*str) - return 0; - - CORBA::WString retval = CORBA::wstring_alloc (ACE_WString::wstrlen (str)); - return wscpy (retval, str); -} - -void -CORBA::wstring_free (CORBA::WChar *const str) -{ - delete [] str; -} - -// ORB initialisation, per OMG document 94-9-46. -// -// XXX in addition to the "built in" Internet ORB, there will be ORBs -// which are added separately, e.g. through a DLL listed in the -// registry. Registry will be used to assign orb names and to -// establish which is the default. - -CORBA::ORB_ptr -CORBA::ORB_init (int &argc, - char *const *argv, - const char * /* orb_name */, - CORBA::Environment &env) -{ - // Using ACE_Static_Object_Lock::instance() precludes ORB_init from - // being called within a static object CTOR. - ACE_MT (ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, guard, - *ACE_Static_Object_Lock::instance (), 0)); - - env.clear (); - - // @@ We need to make sure it's ok for the following 3 - // initialization routines to be called multiple times. Or better - // yet, ensure that we just call them the first time, e.g., by - // putting them in some type of TAO_Object_Manager, along with the - // Typecode_Constants... - - // Put these initializations here so that exceptions are enabled - // immediately. - TAO_Marshal::initialize (); - TAO_Exceptions::init_standard_exceptions (env); - TAO_IIOP_Interpreter::init_table (); - - if (env.exception () != 0) - return 0; - - // Verify some of the basic implementation requirements. This test - // gets optimized away by a decent compiler (or else the rest of the - // routine does). - // - // NOTE: we still "just" assume that native floating point is IEEE. - - if (sizeof (CORBA::Short) != 2 - || sizeof (CORBA::Long) != 4 - || sizeof (CORBA::LongLong) != 8 - || sizeof (CORBA::Float) != 4 - || sizeof (CORBA::Double) != 8 - || sizeof (CORBA::LongDouble) != 16 - || sizeof (CORBA::WChar) < 2 - || sizeof (void *) != ACE_SIZEOF_VOID_P) - { - ACE_DEBUG ((LM_DEBUG, "%s; ERROR: unexpected basic type size; " - "s:%d l:%d ll:%d f:%d d:%d ld:%d wc:%d v:%d\n", - sizeof (CORBA::Short), - sizeof (CORBA::Long), - sizeof (CORBA::LongLong), - sizeof (CORBA::Float), - sizeof (CORBA::Double), - sizeof (CORBA::LongDouble), - sizeof (CORBA::WChar), - sizeof (void *))); - - env.exception (new CORBA::INITIALIZE (CORBA::COMPLETED_NO)); - return 0; - } - - // Initialize the ORB Core instance. - int result = TAO_ORB_Core_instance ()->init (argc, (char **)argv); - - // check for errors and return 0 if error. - if (result == -1) - { - env.exception (new CORBA::BAD_PARAM (CORBA::COMPLETED_NO)); - return 0; - } - - return TAO_ORB_Core_instance()->orb (); -} - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class TAO_Unbounded_Sequence<CORBA::Octet>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate TAO_Unbounded_Sequence<CORBA::Octet> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/tao/factories.h b/TAO/tao/factories.h deleted file mode 100644 index 496dae62ed2..00000000000 --- a/TAO/tao/factories.h +++ /dev/null @@ -1,141 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- - -// ============================================================================ -// -// = LIBRARY -// TAO -// -// = FILENAME -// factories.h -// -// = AUTHOR -// Chris Cleeland -// -// = VERSION -// $Id$ -// ============================================================================ - -#if !defined (TAO_FACTORIES_H) -# define TAO_FACTORIES_H - -#if 0 -# include "ace/SOCK_Acceptor.h" -# include "ace/SOCK_Connector.h" -# include "ace/Strategies_T.h" -# include "ace/Connector.h" -# include "ace/Synch.h" - -# include "tao/params.h" -# include "tao/connect.h" -# include "tao/objtable.h" -#endif - -class TAO_Client_Connection_Handler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> - // = TITLE - // <Svc_Handler> used on the client side and returned - // by the <TAO_Client_Factory::CONNECTOR>. -{ -public: - TAO_Client_Connection_Handler (ACE_Thread_Manager* = 0); - // Do-nothing constructor - - virtual int open (void*); - // Initialization hook - - void in_use (CORBA::Boolean); - // Set the in-use flag. - - CORBA::Boolean in_use (void); - // Return state of the in-use flag. - -private: - CORBA::Boolean in_use_; - // True value indicates that something is using this handler. -}; - -class TAO_Client_Factory - // = TITLE - // Abstract factory used by the client to turn out various - // strategies used on the client side. -{ -public: - typedef ACE_Strategy_Connector<TAO_Client_Connection_Handler, ACE_SOCK_CONNECTOR> - CONNECTOR; - typedef ACE_NOOP_Creation_Strategy<TAO_Client_Connection_Handler> - NULL_CREATION_STRATEGY; - typedef ACE_Cached_Connect_Strategy<TAO_Client_Connection_Handler, - ACE_SOCK_CONNECTOR, - ACE_SYNCH_RW_MUTEX> - CACHED_CONNECT_STRATEGY; - -#if defined (TAO_HAS_CLIENT_CONCURRENCY) - CONCURRENCY_STRATEGY *concurrency_strategy (void); -#endif - - CONNECTOR *connector (void); - // Return a pointer to a connector using appropriate strategies. - - TAO_Client_Factory (void); - ~TAO_Client_Factory (void); - -private: -#if defined (TAO_HAS_CLIENT_CONCURRENCY) - CONCURRENCY_STRATEGY *concurrency_strategy_; -#endif - CONNECTOR connector_; - NULL_CREATION_STRATEGY null_creation_strategy_; - CACHED_CONNECT_STRATEGY caching_connect_strategy_; -}; - -class TAO_Server_Factory - // = TITLE - // Abstract factory used by the server side to turn out various - // strategies of special utility to it. -{ -public: - // = SERVER-SIDE - typedef ACE_Creation_Strategy<TAO_OA_Connection_Handler> CREATION_STRATEGY; - typedef ACE_Accept_Strategy<TAO_OA_Connection_Handler, ACE_SOCK_ACCEPTOR> ACCEPT_STRATEGY; - typedef ACE_Concurrency_Strategy<TAO_OA_Connection_Handler> CONCURRENCY_STRATEGY; - typedef ACE_Scheduling_Strategy<TAO_OA_Connection_Handler> SCHEDULING_STRATEGY; - - CREATION_STRATEGY *creation_strategy (void); - // return concrete creation strategy - - ACCEPT_STRATEGY *accept_strategy (void); - // return concrete acceptor strategy - - CONCURRENCY_STRATEGY *concurrency_strategy (void); - // return the concurrency strategy used - - SCHEDULING_STRATEGY *scheduling_strategy (void); - // return the scheduling strategy used - - TAO_Object_Table *object_lookup_strategy (void); - // return the concrete object lookup strategy - - TAO_Server_Factory (void); - // constructor - -private: - // = COMMON - ACE_Thread_Strategy<TAO_OA_Connection_Handler> threaded_strategy_; - // The threaded strategy used for passively establishing connections. - ACE_Reactive_Strategy<TAO_OA_Connection_Handler> reactive_strategy_; - // A strategy for passively establishing connections which utilizes the Reactor. - - // = SERVER - CONCURRENCY_STRATEGY *concurrency_strategy_; - // concrete concurrency strategy - - TAO_Object_Table *objtable_; - // instance of object table -#if 0 - // Someday we'll need these! - CREATION_STRATEGY *creation_strategy_; - ACCEPT_STRATEGY *accept_strategy_; - SCHEDULING_STRATEGY *scheduling_strategy_; -#endif -}; - -#endif /* TAO_FACTORIES_H */ diff --git a/TAO/tests/Quoter/FactoryFinder.exe b/TAO/tests/Quoter/FactoryFinder.exe Binary files differdeleted file mode 100755 index 2d5a2b39e7a..00000000000 --- a/TAO/tests/Quoter/FactoryFinder.exe +++ /dev/null diff --git a/TAO/tests/Quoter/ns.btm b/TAO/tests/Quoter/ns.btm deleted file mode 100644 index ebe5b49ad5d..00000000000 --- a/TAO/tests/Quoter/ns.btm +++ /dev/null @@ -1,4 +0,0 @@ -set nsiorfile=%temp%\qns_ior -REM Naming Service must have been built or else this will fail -start "Naming Service" /K ..\..\orbsvcs\Naming_Service\Naming_Service.exe -ORBport 10042 -ORBobjrefstyle url -o %nsiorfile - diff --git a/TAO/tests/Quoter/run_test.btm b/TAO/tests/Quoter/run_test.btm deleted file mode 100644 index a0e2ed1be86..00000000000 --- a/TAO/tests/Quoter/run_test.btm +++ /dev/null @@ -1,161 +0,0 @@ -@echo off - -REM This is a 4NT Batch file. To use, just type run_test and it will start the -REM server, wait for a second, and then start the client. At the end, it will -REM clean up. - -setlocal - -set nsiorfile=%temp%\qns_ior -set del=2 - -REM variables for parameters - -set nsport=20002 -set clport=20003 -set svport=20004 -set ffport=20005 -set lcport=20006 -set gfport=20007 -set n=1 -set leave=/C -set ior=0 -set done= - -:get_args - -if %1 == /h goto is_h -if %1 == /? goto is_h -goto no_h -:is_h -echo run_test [/n num] [/leave] [/h] [/ns, /sv, /ff, /cl, /gf] -echo. -echo /n num -- runs the client num times -echo /leave -- leaves the servers running and their windows open -echo /h -- prints this information -echo /ns /sv /ff /cl /gf -- Runs only one of the executables -quit -:no_h - -if not %1 == /ns goto no_ns -set done=quit -goto run_name_server -:no_ns - -if not %1 == /sv goto no_sv -set done=quit -goto run_server -:no_sv - -if not %1 == /ff goto no_ff -set done=quit -goto run_finder -:no_ff - -if not %1 == /lc goto no_lc -set done=quit -goto run_lifecycle_service -:no_lc - -if not %1 == /gf goto no_gf -set done=quit -goto run_generic_factory -:no_gf - - -if not %1 == /cl goto no_cl -set done=quit -goto run_client -:no_cl - -if not %1 == /n goto no_n -set n=%2 -shift -shift -goto get_args -:no_n - -if not %1 == /leave goto no_leave -set leave=/K -shift -goto get_args -:no_leave - -:run_name_server -REM Naming Service must have been built or else this will fail -start "Naming Service" %leave ..\..\orbsvcs\Naming_Service\Naming_Service.exe -ORBport %nsport -ORBobjrefstyle url -o %nsiorfile -rem -ORBnameserviceior %temp\qns_ior - -%done - -REM Delay some to let the Naming Service get set up -DELAY %del - -:run_server -REM read in the IOR from the file -for %%d in (@%nsiorfile) do set ior=%%d - -REM Start the server -start "Quoter Server" %leave server.exe -ORBport %svport -ORBobjrefstyle url -ORBnameserviceior %ior -ORBsvcconf server.conf - -%done - -REM Delay some to let the server get set up -DELAY %del - -:run_finder -REM read in the IOR from the file -for %%d in (@%nsiorfile) do set ior=%%d - -REM Start the factory finder -start "Quoter Factory Finder" %leave Factory_Finder.exe -ORBport %ffport -ORBobjrefstyle url -ORBnameserviceior %ior -ORBsvcconf svc.conf - -%done - -REM Delay some to let the Factory Finder get set up -DELAY %del - -:run_lifecycle_service -REM read in the IOR from the file -REM for %%d in (@%nsiorfile) do set ior=%%d - -REM Start the Lifecycle Service -REM start "Quoter LifeCycle Service" %leave LifeCycle_Service.exe -ORBport %lcport -ORBobjrefstyle url -ORBnameserviceior %ior -ORBsvcconf svc.conf - -%done - -REM Delay some to let the LifeCycle Service get set up -REM DELAY %del - -:run_generic_factory -REM read in the IOR from the file -for %%d in (@%nsiorfile) do set ior=%%d - -REM Start the factory finder -start "Quoter Generic Factory" %leave Generic_Factory.exe -ORBport %gfport -ORBobjrefstyle url -ORBnameserviceior %ior -ORBsvcconf svc.conf - - -%done - -REM Delay some to let the Generic Factory get set up -DELAY %del - -:run_client -REM read in the IOR from the file -for %%d in (@%nsiorfile) do set ior=%%d - -REM And now start the client -for /l %x in (1,1,%n) do client.exe -ORBobjrefstyle url -ORBport %clport -ORBnameserviceior %ior -ORBsvcconf client.conf - -%done - -REM We don't really need to delete this -REM del %temp%\qns_ior - -REM Remove any running servers -if %leave==/C activate "Naming Service" CLOSE -if %leave==/C activate "Quoter Server" CLOSE -if %leave==/C activate "Quoter Factory Finder" CLOSE -if %leave==/C activate "Quoter Generic Factory" CLOSE - -endlocal
\ No newline at end of file diff --git a/TAO/tests/Quoter/sv.btm b/TAO/tests/Quoter/sv.btm deleted file mode 100644 index dff9cf19039..00000000000 --- a/TAO/tests/Quoter/sv.btm +++ /dev/null @@ -1,7 +0,0 @@ -set nsiorfile=%temp%\qns_ior -REM read in the IOR from the file -for %%d in (@%nsiorfile) do set ior=%%d - -REM Start the server -echo %ior -start "Quoter Server" /k Quoter_Server.exe -ORBport 10041 -ORBobjrefstyle url -ORBnameserviceior %ior -ORBsvcconf server.conf |