A PrimitiveDef represents one of the IDL primitive types, such as short or long. Primitive types are unnamed; therefore, this interface is not derived from TypedefDef or Contained. You cannot create objects of type PrimitiveDef. If needed, you must obtain a reference to a PrimitiveDef through a call to the operation CORBA::Repository::get_primitive( ).
module CORBA {
enum PrimitiveKind {
pk_null, pk_void, pk_short, pk_long, pk_ushort, pk_ulong,
pk_float, pk_double, pk_boolean, pk_char, pk_octet,
pk_any, pk_TypeCode, pk_Principal, pk_string, pk_objref
};
interface PrimitiveDef: IDLType {
readonly attribute PrimitiveKind kind;
};
};
The inherited type attribute describes the primitive type.
All PrimitiveDefs are owned by the Repository. References to them are obtained using Repository::get_primitive.
The kind attribute indicates which primitive type the PrimitiveDef represents.
A PrimitiveDef with kind pk_string represents an unbounded string. A bounded string is represented by the interface StringDef. A PrimitiveDef with kind pk_objref represents the IDL type Object.
readonly attribute PrimitiveKind kind;