code generated by omniidl2 for msvc.

Matthew Newhook matthew_newhook@stratos.ca
Fri, 27 Jun 1997 20:09:32 -0230


Hi,

  Not being satisfied with either the prospect of hand editing
  generated code or using a different compiler under NT I modified the
  code generator to compile code that both SUN C++ 4.2 and MSVC 4.1 can
  deal with.

  The changes I made to the generated code were:

  - in headers don't fully specify types that are currently within scope.
  ie.
  for
  interface a
  {
	struct b
	{
		long c;
	};
	void xxx(in b c);

  };

  this used to generate code 
  virtual void xxx(const a::b& c) = 0;

  it now generates:
  virtual void xxx(const b& c) = 0;

  - In source, for the naming service, we used to see in the dispatch
  method of _sk_NamingContext

  CosNaming::NamingContext::list ...

  This is changed to:
  NamingContext::list ...
  for some reason the former tickled a bug in the microsoft compiler.

  I have the code written to generate code that compiles under both NT
  and under Solaris (with SUN C++ 4.2).  I'm going to beat on the
  generator a little more to make sure that I've got all the cases.
  Currently it will generate correct, working code for all of the .idl
  files that we have (~ 4k lines of .idl)

  I'll release the code within the next few days.  Any comments would be
  more than welcome.

  Matthew
-- 
Matthew Newhook.  matthew_newhook@stratos.ca, http://www.engr.mun.ca/~matthew
Software Designer, Stratos Network Research.
w: (709) 364-5950, h: (709)-745-4346