--- dds-xtypes-rtf4_typeobject_issue-36_52_68_35_80_142_46_24_87.idl 2025-11-18 11:53:37 +++ dds-xtypes-rtf4_typeobject_issue-36_52_68_35_80_142_46_24_87_28.idl 2025-12-04 15:07:08 @@ -52,6 +52,8 @@ const octet TK_SEQUENCE = 0x60; const octet TK_ARRAY = 0x61; const octet TK_MAP = 0x62; + + // ---------- TypeKinds (end) ------------------- // ---------- Extra TypeIdentifiers (begin) ------------ @@ -61,6 +63,8 @@ const octet TI_STRING16_SMALL = 0x72; const octet TI_STRING16_LARGE = 0x73; + const octet TI_FIXED_POINT = 0x78; + const octet TI_PLAIN_SEQUENCE_SMALL = 0x80; const octet TI_PLAIN_SEQUENCE_LARGE = 0x81; @@ -167,7 +171,15 @@ // Forward declaration union TypeIdentifier; - + + // 3 Bytes + @extensibility(FINAL) @nested + struct FixedPointDefn { + uint8 total_digits; + uint8 fraction_digits; + uint8 base; // 10 => decimal + }; + // 1 Byte @extensibility(FINAL) @nested struct StringSTypeDefn { @@ -301,6 +313,10 @@ case TI_STRING8_LARGE: case TI_STRING16_LARGE: StringLTypeDefn string_ldefn; + + // ============ Parameterized Scalar - use TypeIdentifierKind =================== + case TI_FIXED_POINT: + FixedPointDefn fixed_point_defn; // ============ Plain collectios - use TypeIdentifierKind ========= case TI_PLAIN_SEQUENCE_SMALL: @@ -1062,7 +1078,7 @@ CompleteEnumeratedType enumerated_type; case TK_BITMASK: CompleteBitmaskType bitmask_type; - + // =================== Future extensibility ============ default: CompleteExtendedType extended_type; @@ -1098,7 +1114,7 @@ MinimalEnumeratedType enumerated_type; case TK_BITMASK: MinimalBitmaskType bitmask_type; - + // =================== Future extensibility ============ default: MinimalExtendedType extended_type;