6.20.1 IDLの定義

interface InterfaceDef:Container,Contained,IDLType {
   attribute InterfaceDefSeq base_interfaces;
   boolean is_a(in RepositoryId interface_id);

   struct FullInterfaceDescription {
       Identifier name;
       RepositoryId id;
       RepositoryId defined_in;
       VersionSpec version;
       OpDescriptionSeq operations;
       AttrDescriptionSeq attributes;
       RepositoryIdSeq base_interfaces;
       TypeCode type;
   };
   FullInterfaceDescription describe_interface( );
   AttributeDef create_attribute(
       in RepositoryId id,
       in Identifier name,
       in VersionSpec version,
       in IDLType type,
       in AttributeMode mode);
   OperationDef create_operation(
       in CORBA::RepositoryId id,
       in Identifier name,
       in VersionSpec version,
       in IDLType result,
       in OperationMode mode,
       in ParDescriptionSeq params,
       in ExceptionDefSeq exceptions,
       in ContextIdSeq contexts);
};