OARIS 2.0 FTF Avatar
  1. OMG Issue

OARIS2 — UNKNOWN enumeration literal appears twice

  • Key: OARIS2-2
  • Status: closed   Implementation work Blocked
  • Source: Raytheon Technologies ( David Bainbridge)
  • Summary:

    I used RTI's DDS tool to transform the OARIS 2.0 beta 1 IDL into C++ and Java and tried to compile it. I got errors involving the enumeration types identity_type in Common_Types.idl and health_state_type in Subsystem_Control.idl. Both have an enumeration literal named UNKNOWN. The generated C++ and Java have these in the same namespace so the code does not compile.

    The full error when compiling C++ is below
    ./Subsystem_Control.h:436:5: error: redeclaration of 'UNKNOWN'
    UNKNOWN
    ^
    In file included from ./Subsystem_Control.h:23:0,
    from ./Control_Battle_Override.h:24,
    from ./Control_Battle_Override.cxx:31:
    ./Common_Types.h:133:5: note: previous declaration 'org_omg_c4i_Domain_Model_Common_Types_identity_type UNKNOWN'

    I'm using rtiddsgen version 5.3.1.14 to transform IDL into C++ and Java. I don't know if this is a problem with the specification or if I need to find a way to transform the IDL into C++ and Java that uses separate namespaces for enumeration types. But I felt someone should know about this anyway.

    This was the only issue preventing compilation of the generated C++ and Java. I changed one of the literals to something else and it transformed and built with no errors.

  • Reported: OARIS 2.0b1 — Tue, 23 Mar 2021 14:27 GMT
  • Disposition: Resolved — OARIS 2.0
  • Disposition Summary:

    Change health UNKNOWN enum to UNKNOWN_HEALTH

    Change to disambiguate the Health enumerate as this does not impact known implementations of the standard. And the values of the Identity enumerate reflect standard usage for identification.

  • Updated: Tue, 27 Sep 2022 12:48 GMT
  • Attachments: