Resources | Resources |



Relationship to OMG IDL

The IDL supported by the compiler is based on the InformationTechnology Open Distributed Processing Interface Definition Language ITU-TX.920, but differs in a few respects. The following are the changes specific to the IDL supported by qidlc:

  • All non-local interfaces must inherit, directly or indirectly, from the root interface. By default, the root interface is IQI.
  • All non-local interfaces must be accompanied by a constant of type AEEIID and AEEIID_, where name is the interface name. For example, the interface IFoo would have a constant named AEEIID_IFoo.

    Note: Each IID constant must be defined at the same scope as its corresponding interface.

  • All interface methods must have an IDL return type of AEEResult. The value returned must be AEE_SUCCESS if the method is successful, or an error code on failure. Standard error codes are defined in AEEStdErr.idl.
  • Interfaces may not directly inherit from more than one base interface.