Ronald Garcia wrote:
>
> howdy folks,
>
> I've been poking and prodding at ocpp here and there, and i was
> wondering if in a nutshell someone could explain the current stubs
> model...at least:
>
> - why are there two classes (_orbitcpp::stubs::xxx and ::xxx) for an
> object?
>
The ::xxx class provides the static methods for a corba object of that
type. (_duplicate(), _narrow(), _nil()) and must be there because they
are specified.
The actual object stub is a completely unconnected class
(_orbitcpp::stubs::xxx). I don't why it's done like this (Andreas?), but
it is perfectly legal as long as the user can reference the stubs using
the _ptr and _var types declared in the xxx namespace.
Logically it's a nice seperation. The 'stubs' are a different thing from
the 'corba object'. Having the stubs in a different namespace physically
represents this.
> - does anything go in xxx-cpp-common.cc?
>
Exception packing functions. (Exceptions are the only type which isn't
marshalled via a reinterpret_cast, and so must be built out of a C
exception type by copying the members.
> - is there an updated list of features that are already implemented
> and features that still need work?
>
I think language mapping types wise, everything in CORBA 2.2 is
implemented apart from arrays, unions, fixed and any.
Also, we lack wrapping for the majority of the POA functionality. This
should be a simple task, but neither me or Andreas have got round to it.
We don't have any of the dynamic stuff yet: dii, dsi, dynany etc..
The only supported service is naming so far...
Cheers,
Phil.
|