Re: [orbitcpp-list] problem with the type_container approach...
Status: Beta
Brought to you by:
philipd
From: Andreas K. <ak...@ix...> - 2000-04-13 21:07:18
|
Why not send the type_container to hell then and have an _orbitcpp::stubs namespace instead? what do you think? cya andy Phil Dawes wrote: > > Hi Andreas, Hi all, > > Not really a problem, just an oversight which means the servant may be > forced to link with the stubs. > > With the current approach, any types declared in the idl interface: > > e.g. > > interface foo { > exception bah { > }; > }; > > go in the type_container class, i.e.: > > foo-cpp-common.hh > ----------------- > namespace _orbitcpp { namespace type_container { > class Foo { > class bahException : public UserException { > ... > }; > ... > }; > }} > > foo-cpp-stubs.hh > ---------------- > class Foo : public CORBA::Object, > public _orbitcpp::type_container::Foo { > } > > This means that the poa servant cannot reference the exception using the > fully qualified ::Foo::BahException without linking with the stubs, > since otherwise the compiler doesn't know that Foo inherits from > _orbitcpp::type_container::Foo. If I understand the spec correctly, the > servant doesn't have to inherit from the interface class, and so > referenceing the exception using its fully-qualified name is the only > way to portably reference it. > > Instead I propose that we do the following to fix the above problem: > > foo-cpp-common.hh > ----------------- > class Foo { > class BahException : public UserException { > ... > }; > ... > }; > > and in foo-cpp-stubs.hh > ----------------------- > class Foo_stub : public CORBA::Object, > public Foo { > } > > i.e. the type_container class becomes the named corba interface class, > and a seperate stub class is used for the stub. > > I wrote the code to do this on the train back from London today, but > I'll need to merge it with your checked in code (and get the inheritance > stuff working with the new scheme). I thought I'd wait and see if you > have any thoughts before checking it in. > > Sorry if the above is a little hard to follow - I wrote this in a hurry, > > Cheers, > > Phil. > > _______________________________________________ > orbitcpp-list mailing list > orb...@li... > http://lists.sourceforge.net/mailman/listinfo/orbitcpp-list |