Re: [orbitcpp-list] Destroying CORBA objects
Status: Beta
Brought to you by:
philipd
From: Phil D. <ph...@us...> - 2000-10-20 13:01:38
|
Sam Couter writes: > Phil Dawes <ph...@us...> wrote: > > > > <The bad news> > > Unfortunately orbitcpp doesn't have the poa infrastructure to do this > > right now, but I am currently working on it. Expect the code to be in > > cvs within the next 2 weeks. I'll keep you posted. > > </The bad news> > > I need this ability (and some others) ASAP. Is there any help I could offer > to speed up the development process? > Yes please! > When you say 2 weeks, does that mean reasonably stable support, or is > bugstomping an additional time? > Time includes testing (i.e. includes a unit test in the /test dir) > The other funcionality I need is: > Support for the 'any' type (I could work around this if I had to, but it'd > be nasty) hmmmm... Both 'typecode' and 'any' are missing from orbitcpp (any relies on typecode to work). And union. > Thread-safety (I *think* I could work around this, but I'm not sure - it > would involve using fork() to provide each CORBA object with its own > single-threaded ORB) > orbitcpp *should* be thread safe. (I removed the last (I think) thread unsafe construct before the 0.29 release). I've never tested it with ORBit-mt though. Has anybody else? > If anyone can give me pointers towards helping implement any of these > things, I'd be willing to put in some time and effort to do so. My only > alternative to using ORBit-C++ is to write C wrappers around the C++ library > I need to use, and write in C using ORBit. Yuck. I'd prefer to avoid that. If you're willing, you could do a lot here to help. The majority of the work in implementing support for Typecode and Any is in wrapping the C constructs in C++ classes which conform to the C++ corba spec. The actual compiler should be fairly easy (and for speed probably best left to me or Andreas to implement). Here's a brief rundown of what I think is required: - create orbitcpp_any.hh/orbitcpp_any.cc and orbitcpp_typecode.hh/orbitcpp_typecode.cc files in the orb directory. - Write a TypeCode class which wraps the C ORBit typecode struct. Note that these need to be binary compatible, so the only datamember in the class should be the 'value' (not pointer) of the C struct. - Do the same for the Any class - write a couple of test functions in the test/everything/client.cc file to confirm that values can be inserted into and extracted from anys etc... - Pester me or andreas to write the compiler bit. (Or alternatively spend some time reading the HACKING file and familiarising yourself with the compiler design). Does this sound reasonable? Cheers, Phil |