[omniORB] Generating seperate stubs for structs and sequences

Mike Mascari mascarm at mascari.com
Tue Feb 10 14:54:34 GMT 2004


Hello.

I have IDL which looks like:

module MyModule {
 
 struct Employee {
  string first_name;
  string last_name;
 };

 typedef sequence<Employee> Employees;

 interface Manager {
 
  void addEmployee(in Employee employee);

 };

};

I have a code generation utility, which, examining relation variables 
and/or query result, will generate IDL like the above and a C++ wrapper 
class. The problem is that I have a large number of such structs that 
all belong to the same interface. omniidl generates a 28,000 line header 
file as its output. My Makefile compiles each C++ wrapper class, which, 
unfortunately must include the MyModule.hh 28,000 line (808KB) header. 
To rebuild the project from scratch takes 2 hours. Even using gcc 3.4's 
precompiled header directive improves compilation time to about 1 hour.

Is there any way to have C++ class headers generated for structs and 
sequences as their own file? I'd like to have this:

Employee.hh
Employees.hh
MyModule.hh

so that:

MyEmployeesDerivedClass.hh

need only include Employees.hh instead of MyModule.hh. Kinda like the 
Java idl generator does. ;-)

Thanks for any tips,

Mike Mascari







More information about the omniORB-list mailing list