3.2.5. RTI Ada Language Support

The following issues affect backward compatibility in Ada Language Support starting in Release 6.0.0.

3.2.5.1. APIs

3.2.5.1.1. Write_W_Params requires its DDS.WriteParams_T argument to be modifiable

Starting in 6.0.0, the third parameter of the Write_W_Param DataWriters method has changed from “in” to “in out”, meaning the argument can be modified.

This is a backwards-incompatible API change. Previously, a constant DDS.WriteParams_T record could be used as the argument, but this will no longer be possible.

This change aligns the Ada API with its C counterpart, which has always required a non-const pointer to a DDS_WriteParams_t structure.

3.2.5.1.2. Wide character representation change

Release 6.0.0 changes the size of wide characters from 32 bits to 16 bits. Several names, APIs, and types in Ada Language Support have been modified, in backwards-incompatible ways, to reflect this change and avoid possible confusion:

  • DDS.Wchar is now 16-bits wide.
  • DDS.Wwchars_Ptr has been replaced with DDS.Wchars_Ptr.
  • DDS.WValue now receives a Wchars_Ptr and returns an Interfaces.C.char16_array.
  • Function DDS.“+” related to wide character pointer arithmetic now uses Wchar_Ptr.
  • Function DDS.Peek now receives a Wchars_Ptr and returns a Standard.Wide_Character.
  • Function DDS.To_DDS_Wide_String now receives a Standard.Wide_String argument.
  • Function DDS.To_Standard_Wide_Wide_String has been replaced with DDS.To_Standard_Wide_String.
  • DDS.Copy procedures related to wide strings now use Standard.Wide_Strings instead of Standard.Wide_Wide_Strings.