My interface definition (Observant) is nearly as simple as possible. Have a look at the attached screen shots.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
The generated IDL file looks as follows:
- Code: Select all
#ifndef OBSERVATION_OBSERVANT_H
#define OBSERVATION_OBSERVANT_H
#include <orbsvcs/CosNotifyComm.idl>
module Observation {
//An Observant may be observated by a, possibly remote, Observer.
//Each Observant has an id unique in the entire applications operation domain
//which may be asked for using id(). The Observer uses it internally to filter the
//observated objects Observation events.
interface Observant : CosNotifyComm::StructuredPushSupplier
{
readonly attribute ObservantId id;
ObservantId get_id();
} /* Observant */;
}; // module Observation
#endif
As you’ll see: The typedef statement is missing.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
The generators log output is:
IDL generator release 5.0.3
Generate code for Observant in /Users/tcs/src/CORBA/Observation/idl/Observant.idl
Embedded class ObservantId not generated
/Users/tcs/src/CORBA/Observation/idl/Observant.idl not modified
Generation done : 1 warnings, 0 errors
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
As a temporary fix I’ve added an "extra member“ defining the type.
I’m using Bouml 6.8.6
Thanks
Thomas