[omniORB] omniidl and 'missing' _ptr type

Duncan Grisby duncan at grisby.org
Fri Jul 11 20:26:32 BST 2003


On Thursday 10 July, Tomasz Bech wrote:

> Visibroker for each union and stuct in the .idl generated also the 
> structname_ptr type (which is structname*).
> Omniorb doesn't do it.
> I have thousand of places where such _ptr are used, so I must solve it 
> rather in omniidl.
> 
> 1. How to tell omniidl to generate such types?

There is no option to do it, since it is not a standard thing.

> 2. How to extend the the backend cxx generation in omniidl to generate 
> such types (such very simple lines for every structure in idl). Where to 
> begin to implement such thing?

Edit src/lib/omniORB/omniidl_be/cxx/header/template.py . In there you
will find simple template strings that drive the IDL compiler output.
After the struct and union definitions, add the obvious lines to
generate the _ptr types.

> 3. Just curious: Is it a choice or it is against the OMG corba 
> specification?

The C++ mapping does not mention _ptr types for structs and unions, so
it is a non-standard feature in Visibroker. It isn't illegal for
Visibroker to extend the spec in that way, but any application code
using the extension is non-compliant.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list