determine type of an ident in libIDL



Hi,

I'm working on the ORBit C++ bindings and need to determine the type of 
and ident using libIDL. I have the following test case which doesn't 
work. The problem is when the parser gets to method return type and 
arguments for the C interface it gets an _IDL_IDENT and assumes it is an 
interface. To generate the correct stub/skel code the parser needs to 
know whether the ident identifies an interface, a struct, union, array, 
primitive type, and so on. Is there some way to determine the type of an 
ident from an _IDL_IDENT?

#pragma inhibit push
module foo {
  typedef long Integer;
  struct S { long i; };
  interface bar {
  };
  exception eep { };
};
#pragma inhibit pop

module B {
  interface C {
    foo::bar get_foo() raises (foo::eep);
    foo::S the_s();
    foo::Integer the_integer();
  };
};



-- 
Bowie Owens

CSIRO Mathematical & Information Sciences
phone  : +61 3 9545 8055
fax    : +61 3 9545 8080
mobile : 0425 729 875
email  : Bowie.Owens@csiro.au






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]