1.3.6:

2003-06-05 Bowie Owens <bowie.owens@csiro.au>
	* orbitcpp/idl-compiler/pass_xlate.cc
	* orbitcpp/idl-compiler/types/IDLElement.h
	* orbitcpp/idl-compiler/types/IDLElement.cc:
	Added _is_a check to _narrow to ensure that a nil reference is
	returned when trying to narrow an object to a type it does not
	inherit from.

	* orbitcpp/orb-cpp/orbitcpp_types.h:
	Changed RepositoryId from Char* to Char const* to allow the return
	value of TypeCode::id to be passed directly to Object::_is_a.

	* orbitcpp/idl-compiler/types/IDLSequence.cc:
	Member sequences should be stored by value not by reference.
	According to the C++ Language Mapping June 1999 page 27 under
	Mapping For Struct Types: "With the exception of strings and
	object references, the type of the C++ struct member is the
	normal mapping of the OMG IDL member's type."

	* orbitcpp/idl-compiler/pass_xlate.cc:
	Avoid use of reinterpret_cast as this causes segmentation faults
	with objects that use multiple inheritance.

	* orbitcpp/idl-compiler/pass_xlate.h
	* orbitcpp/idl-compiler/pass_xlate.cc:
	Emit more comprehensive forward declarations by sharing code
	between doInterface and doForwardDcl.

2003-06-03 Bowie Owens <bowie.owens@csiro.au>
	* orbitcpp/idl-compiler/pass_xlate.cc:
	Need to initialise data members in copy constructor (as well as
	default constructor).
	
	* orbitcpp/orb-cpp/smartpointers/data_var.h:
	Reinstate const conversion operator to allow const access to
	data in a Data_var.
	
	* orbitcpp/orb-cpp/smartpointers/objectptr_var.h: 
	Eliminate non-const conversion operator to avoid G++ warnings.

2003-06-02 Bowie Owens <bowie.owens@csiro.au>
	* orbitcpp/idl-compiler/types/IDLInterface.cc
	* orbitcpp/orb-cpp/orbitcpp_object.h
	* orbitcpp/orb-cpp/orbitcpp_object.cc
	* orbitcpp/orb-cpp/orbitcpp_typecode.h
	* orbitcpp/orb-cpp/orbitcpp_typecode.cc:
	Close #114031. Fix idl compiler generated code
	for typecodes. Replaced detach_cobj_guarded with
	duplicate_cobj_guarded and implemented an overload for TypeCodes.

2003-05-29  Murray Cumming  <murrayc@usa.net>

	* orbitcpp/orb-cpp/smartpointers/objectptr_var.h:
	Fixed the const operator->() warning temporarily - I think the const
	was misplaced before. When O_ptr is O*, a const O_ptr is not the same 
	as a const O*. 
	Added comments explaining how we probably need to fix this properly.

2003-05-26 Bowie Owens <bowie.owens@csiro.au>

	* orbitcpp/idl-compiler/pass_skels.cc:
	Fix memory leak in generated _this methods.

2003-05-23 Bowie Owens <bowie.owens@csiro.au>

	* orbitcpp/idl-compiler/types/IDLInterface.cc:
	Need to duplicate unowned object before putting into a _var.
	
	* orbitcpp/idl-compiler/pass_stubs.cc:
	Make stub objects inherit from all their base classes, not just
	the first one. This is necessary to support widening.

2003-05-22 Bowie Owens <bowie.owens@csiro.au>

	* orbitcpp/idl-compiler/pass_xlate.cc
	* orbitcpp/idl-compiler/types/IDLElement.h
	* orbitcpp/idl-compiler/types/IDLEnum.cc
	* orbitcpp/idl-compiler/types/IDLInterface.{h,cc}
	* orbitcpp/idl-compiler/types/IDLStruct.{h,cc}
	* orbitcpp/idl-compiler/types/IDLUnion.{h,cc}
	* orbitcpp/idl-compiler/types/IDLUserDefScopeType.h
	* orbitcpp/idl-compiler/types/Makefile.am
	* orbitcpp/idl-compiler/types/IDLCompoundSeqElem.{h,cc}
	* orbitcpp/orb-cpp/orbitcpp_compound_seq.h
	* orbitcpp/orb-cpp/orbitcpp_sequence.h
	* orbitcpp/orb-cpp/orbitcpp_simple_seq.h:
	Close #113407. Replace nested SeqTraits classes with type_seq_traits.
	type_seq_traits is a class template similar to seq_seq_traits.
	To generate the necessary output for sequence typedefs IDLInterface,
	IDLStruct, and IDLUnion were revised to share a common base class
	IDLCompoundSeqElem which provides get_seq_typename based on the
	functions get_c_typename and get_cpp_typename from IDLElement.

	* test/cpp/sequences/atomic_types/test.idl:
	Test for bug #113407. Forward declared interfaces not working
	with sequences.

	* test/cpp/sequences/Makefile.am:
	sequences is not a sub-directory of test/cpp/sequences.
	Or am I missing something?

2003-05-21  Murray Cumming  <murrayc@usa.net>

	* Makefile.am: Undid my previous change because we can not run the
	tests until after install.

2003-05-21 Bowie Owens <bowie.owens@csiro.au>

	* orbitcpp/idl-compiler/pass_xlate.h
	* orbitcpp/idl-compiler/pass_xlate.cc:
	Redefine doForwardDcl(IDL_tree, IDLScope &) in IDLPassXlate
	to output forward declarations.

2003-05-18  Murray Cumming  <murrayc@usa.net>

	* Makefile.am: Added test directory to SUBDIRS so everyone sees whether
	changes break them.

2003-05-01 Bowie Owens <bowie.owens@csiro.au>

	* orbitcpp/idl-compiler/pass_skels.cc:
	Simplify generated _this methods and avoid double activation
	problem. static bool activated doesn't correctly record if
	an object is activated, especially if object is activated
	with a call to POA::activate_object().

	* orbitcpp/orb-cpp/Makefile.am
	* orbitcpp/orb-cpp/orbitcpp_poaexceptionlist.h
	* orbitcpp/orb-cpp/orbitcpp_exception.cc
	* orbitcpp/orb-cpp/orbitcpp_exception.h
	* orbitcpp/orb-cpp/orbitcpp_poa.cc
	* orbitcpp/orb-cpp/orbitcpp_poa.h:
	Added orbitcpp_poaexceptionlist.h which enumerates
	the PortableServer/POA exceptions the same way
	orbitcpp_exceptionlist.h enumerates the system exceptions.
	Made use of this file to implement POA exception classes
	and CEnvironment::propage_poaex().

	* orbitcpp/idl-compiler/pass_skels.cc:
	Use fully qualified class name in base list so that compiler can
	properly resolve interfaces in other modules. 
	

2003-04-22 Bowie Owens <bowie.owens@csiro.au>
	
	* orbitcpp/idl-compiler/types/IDLInterface.cc:
	Fix skeleton output, need to dereference inout interface argument
	for wrappering.

	* orbitcpp/idl-compiler/types/IDLInterface.cc
	* orbitcpp/orb-cpp/orbitcpp_object.h
	* orbitcpp/orb-cpp/orbitcpp_object.cc:
	Use _var instead of _ptr in skeleton code to avoid leaking C++
	wrapper objects. 
	

	* orbitcpp/orb-cpp/orbitcpp_object.h
	* orbitcpp/orb-cpp/smartpointers/objectptr_var.h:
	Make memory management of CORBA::Object's consistent with
	memory management of CORBA::Orb and PortableServer::POA. That
	is, CORBA::release(Object_ptr) should delete the object. This
	avoids leaks in the ObjectPtr_var assignment operator. (closes
	#110727)

2003-04-17 Bowie Owens <bowie.owens@csiro.au>
	* orbitcpp/orb-cpp/orbitcpp_object.h
	* orbitcpp/orb-cpp/orbitcpp_object.cc:
	Added _orbitcpp::cobj_guarded which checks for a null pointer
	before trying to call _orbitcpp_cobj on a CORBA::Object_ptr.

	* orbitcpp/idl-compiler/types/IDLInterface.cc:
	Use _orbitcpp::cobj_guarded in generated code to avoid
	dereferencing null pointer if an exception is thrown in
	method returning an interface.

	* orbitcpp/orb-cpp/orbitcpp_orb.cc:
	Don't duplicate C ORB since we already own it.
	Implement CORBA::ORB::_duplicate.

2003-04-14 Bowie Owens <bowie.owens@csiro.au>
	* orbitcpp/idl-compiler/types/IDLInterface.cc:
	Avoid leaking memory in IDLInterface::member_pack_to_c() by
	duplicating only C object (not C++).

	* orbitcpp/orb-cpp/orbitcpp_poa.cc:
	Ensure ORB reference is release'd in
	PortableServer::ServantBase::_default_POA.
	
	* orbitcpp/orb-cpp/smartpointers/objectptr_var.h:
	Uncommented const conversion operator for objectptr_var. This
	operator is necessary for efficient/const-correct programs.
	(closes #110235)

	* orbitcpp/idl-compiler/pass_skels.cc:
	Removed unecessary include of sstream. std::stringstream doesn't
	seem to be used anywhere and sstream is not available under G++ 2.95.   


2003-04-10 Bowie Owens <bowie.owens@csiro.au>
	* orbitcpp/idl-compiler/main.cc:
	G++ 3.2 on OSF1 needs exception to be qualified with std::. 

	* orbitcpp/idl-compiler/pass_xlate.cc:
	Output member typedefs _var_type and _ptr_type. (closes #109834)

	* orbitcpp/orb-cpp/orbitcpp_sequence.h:
	Implemented get_buffer() const on SequenceBase. (closes #110339)


2003-04-04  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/orb-cpp/orbitcpp_poa.h: Removed overfluous overloading
	of CORBA::is_nil

2003-04-02 Bowie Owens <bowie.owens@csiro.au>
	
	* orbitcpp/idl-compiler/pass_xlate.cc:
	* orbitcpp/orb-cpp/orbitcpp_object.cc:
	Avoid dereferncing null pointer in _duplicate and
	CORBA::is_nil. (closes #109752 and #109835)
 
2003-04-01 Bowie Owens <bowie.owens@csiro.au>
	
	* orbitcpp/orb-cpp/orbitcpp_orb.h
	* orbitcpp/orb-cpp/orbitcpp_orb.cc:
	Implemented CORBA::ORB::destroy.
	
	* orbitcpp/orb-cpp/orbitcpp_poa.cc:
	Destroy orb in PortableServer::ServantBase::_default_POA to keep
	init_level in ORBit src/orb/orb-core/corba-orb.c balanced. (closes
	#109659)
	
2003-04-01  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/pass_xlate.cc (doStruct): Create _var_type
	typedef in structs as required by the CORBA/C++ standard

	* orbitcpp/orb-cpp/smartpointers/objectptr_var.h (_orbitcpp):
	Plugged a memory leak in CORBA::Object_var

	* orbitcpp/orb-cpp/orbitcpp_orb.cc: Ref (duplicate) ORB before
	returning it, since otherwise the final unref of the ORB (when
	ORB_var goes out of scope) will fail horribly

	* orbitcpp/idl-compiler/types/IDLString.cc (member_init_cpp):
	Removed unnecessary member initialization

2003-03-28 Bowie Owens <bowie.owens@csiro.au>
	
	* orbitcpp/idl-compiler/types/IDLSequence.cc
	* orbitcpp/orb-cpp/orbitcpp_compound_seq.h:
	Implemented IDLSequence::get_seq_typename using sequence traits
	class template seq_seq_traits. Fixes most of #108644.
	
	* orbitcpp/idl-compiler/types/IDLEnum.h
	* orbitcpp/idl-compiler/types/IDLEnum.cc
	* orbitcpp/orb-cpp/orbitcpp_simple_seq.h:
	Implemented IDLEnum::get_seq_typename using sequence traits
	class template enum_seq_traits. Closes #109212.

	* test/cpp/sequences/atomic_types/client.cc
	* test/cpp/sequences/atomic_types/server.cc
	* test/cpp/sequences/atomic_types/test-impl.h
	* test/cpp/sequences/atomic_types/test-impl.cc:
	Extended sequences/atomic_types test to exercise the new code.

1.3.5:

2003-03-15  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/types/IDLSequence.cc (member_init_cpp):
	Fixed to allow sequences without a typedef to be members of
	structures

2003-03-10  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/types/IDLSequence.cc (member_init_cpp):
	Implemented
	(member_decl_arg_get): Implemented (closes #106320)

2003-03-09  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/pass_stubs.cc (create_method_stub): When
	stubs are re-implemented for classes that inherit from more than
	one interface, make sure the correct parent class is used (closes #108047 )

2003-02-12  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/types.cc (get_default_value): Oops,
	removed infinite loop

2003-02-11  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/types/IDLInterface.cc (typedef_decl_write): Implemented

2003-02-11  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/IDLCompund.cc: 
	* orbitcpp/idl-compiler/pass_xlate.cc: 
	* orbitcpp/idl-compiler/types.cc: Removed usage of deprecated
	strstream (closes #104527)

2003-02-10  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/types/IDLUnion.cc (stub_impl_arg_pre):
	Fixed to work with fixed-size unions (and also some optimizations
	that make some _alloc() calls unneccesary)

2003-02-08  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/orb-cpp/*.h:
	* orbitcpp/orb-cpp/orbitcpp_sequence.h:
	* orbitcpp/idl-compiler/types/IDLSimpleType.cc (get_seq_typename): 
	* orbitcpp/orb-cpp/orbitcpp_simple_seq.h (ORBITCPP_CREATE_SIMPLE_TRAITS): 
	Removed identifiers beginning with a double underscore
	
1.3.4:

2003-02-07  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/orb-cpp/orbitcpp_*_seq.h: Yippie! Finally a working
	length/_length/__length combination!
	
	* orbitcpp/orb-cpp/orbitcpp_object.cc: Fixed typo of
	CORBA::Object::Object where CORBA::Object was meant (fixes
	#104528)

2003-02-06  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/pass_xlate.cc (union_create_copier): Use
	member setters instead of trying to access members of the copy
	source directly

2003-02-05  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/types/IDLUnion.cc: Implemented union
	return values

	* orbitcpp/idl-compiler/pass_xlate.cc (union_create_internal):
	Wrote assignment constructor and operator=

	* orbitcpp/idl-compiler/types/IDLUnion.cc: Implemented INOUT and
	OUT union arguments

	* orbitcpp/idl-compiler/pass_xlate.cc (union_create_members):
	Implemented 'default' branch of union type trees

1.3.3:

2003-01-28  Murray Cumming  <murrayc@usa.net>

	* Corrected the last fix properly - by specifying the correct
        include paths in the Makefiles and using full paths for #includes
        in the source code.

1.3.2:
	
2003-01-27  Murray Cumming  <murrayc@usa.net>

	* orbitcpp/orb-cpp/smartpointers/*.h: Use #include path start
	starts in orbitcpp/orb-cpp. Fixes distcheck.
	
2003-01-22  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/orb-cpp/orbitcpp_compound_seq.h: Use the correct
	__length name for the internal implementation of Sequence::length

2003-01-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* orbitcpp/idl-compiler/pass_xlate.{cc,h} (element_write_typecode):
	New auxilary method to generate static data members of the form
	`static const ::CORBA::TypeCode_ptr _tc_InterfaceNotFound;' plus
	the initializer in the .cc file.  Previously the initializer was
	put into the class body, causing my compiler (GCC 3.2.2 prerelease)
	to choke.  Apparently only constant initializers of integral type
	are allowed in the class body.

	(doTypedef): Use the new helper method.
	(doEnum): ditto
	(struct_create_any): ditto
	(union_create_any): ditto
	(exception_create_any): ditto.

1.3.1:

2003-01-07  Murray Cumming  <murrayc@usa.net>

	* Added docs directory, with the website files. Just type
	make post-html to upload the documents. This directory is not
	distributed.

2003-01-06  Murray Cumming  <murrayc@usa.net>

	* test/cpp/any/simple/client.cc, test_impl.cc: Used CORBA::Any instead
	of CORBA::Any_var where that's what I'm supposed to do, because
	CORBA_Any_var() has a null underlying instance.
	But test_out() still throws a refcounting error exception.
	configure.in: mentioned test/cpp/any/simple/generated/Makefile

2003-01-06  Murray Cumming  <murrayc@usa.net>

	* orbitcpp/orb-cpp/: Split orbitcpp_smartptr.h into individual files in
	a smartpointers directory.

2002-12-28  Murray Cumming  <murrayc@usa.net>

	* orbitcpp/idl-compiler/types/IDLAny.cc: Implemented
	the declarations and definitions.
	* test/cpp/: Added any directory, with a simple example of the use of
	CORBA::Any. The client segfaults at the moment, while a value is being
	inserted into the CORBA::Any.

2002-12-27  Murray Cumming  <murrayc@usa.net>

	* Moved orbitcpp/idl-compiler/types/IDLMethod.[h|cc] to 
	orbitcpp/idl-compiler/ because it's not a type.

2002-12-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* autogen.sh: Force use of aclocal-1.4 and automake-1.4.  Later
	releases have a bug that makes config.status generate broken .deps
	file names.

1.3.0:

2002-11-02  Murray Cumming  <murrayc@usa.net>

	* configure.in: Use ORBITCPP_VERSION in AM_INIT_AUTOMAKE() instead of
	non-defined ORBIT_VERSION.
	* Makefile.am: Distribute the orbitcpp source directory.
	* tests: Define the idlname in the Makefile.am files so that the 
	idl files are distributed.
	* orbitcpp/types/*[.h|cc]: Use full "orbicpp/idl-compiler/" include 
	paths, needed by make distcheck.
	
2002-11-01  Murray Cumming  <murrayc@usa.net>

	* configure.in: Change AM_INTI_AUTOMAKE() name from ORBit to orbitcpp, 
	so it generates the correct tarball names.

2002-11-01  Murray Cumming  <murrayc@usa.net>

	* configure.in: Check for ORBit2 version 2.5.0, as that's what seems 
	to be used by GNOME 2.1.x, so I guess it's what we need.

2002-10-02  Murray Cumming  <murrayc@usa.net>

	* Added missing test/cpp/structs/Makefile.am file.
	* orbitcpp/idl-compiler/main.cc: Removed my debug g_warnings.
	* tests/cpp: Changed all #includes of *.hh to *.h.

2002-10-02  ERDI Gergo  <cactus@cactus.rulez.org>

	* orbitcpp/idl-compiler/ChangeLog: Added new CChangeLog for C++
	IDL compiler-specific changes

2002-09-30  ERDI Gergo  <cactus@cactus.rulez.org>

	* ORBit-2.0-cpp.pc.in (Cflags): Added location of headers

2002-09-17  Murray Cumming  <murrayc@usa.net>

	* tests/Makefile.am_fragment_generated:
	Use -l cpp argument to orbit-idl-2 instead of -l c++, because it
	now looks for a library with that suffix, and I can't use c++ in a
	library name in Makefile.am, because it complains about invalid
	characters in a variable.
	

