Previous Table of Contents Next


10.5.14 PrimitiveDef


   A PrimitiveDef represents one of the OMG IDL primitive types. As primitive types are unnamed, this interface is not derived from TypedefDef or Contained.

   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, pk_longlong, pk_ulonglong, pk_longdouble, pk_wchar, pk_wstring, pk_value_base

   };

   interface PrimitiveDef: IDLType { readonly attribute PrimitiveKind kind; }; };

   The kind attribute indicates which primitive type the PrimitiveDef represents. There are no PrimitiveDefs with kind pk_null. A PrimitiveDef with kind pk_string represents an unbounded string. A PrimitiveDef with kind pk_objref represents the IDL type Object. A PrimitiveDef with kind pk_value_base represents the IDL type ValueBase.

   The inherited type attribute describes the primitive type.

   All PrimitiveDefs are owned by the Repository. References to them are obtained using Repository::get_primitive.